[squeak-dev] Squeak File Glitch

ReliableRobots.com reliablerobots at gmail.com
Fri Jul 21 18:40:05 UTC 2017


> When you check for file contents for the "in" file to know it has no
content
how do you do that?

Using the halt walkback, window, I look at the variable inFile using
inspect then look at contents which all show up as a few lines of empty
squares, whatever that character is.  Using the File List Tool the file his
an HTML file filled with ordinary ASCII words and html tags.

Again the OS is Win10, the Squeak is 5.1


On Fri, Jul 21, 2017 at 11:07 AM, Paul DeBruicker <pdebruic at gmail.com>
wrote:

> this entire article might be helpful but especially:
> http://www.catb.org/esr/faqs/smart-questions.html#beprecise
>
>
> Which file has no contents?
>
>
> Your halt is placed before the out file stream should have any content
> because the file processing loop has not been entered.  When you send
> #newFileNamed: a new empty file is created.
>
>
> When you check for file contents for the "in" file to know it has no
> content
> how do you do that?
>
>
> When you follow senders and implementors of the methods you're using how
> are
> they used?
>
>
> As for John, I think he's just highlighting this point in the above
> article:
> http://www.catb.org/esr/faqs/smart-questions.html#courtesy and
> http://www.catb.org/esr/faqs/smart-questions.html#keepcool
>
>
> Good luck sorting out the myriad issues you've raised in these messages.
>
>
>
>
> ReliableRobots.com wrote
> > Thanks for the ] catch, but that did not solve the problem.  The halt
> > still
> > shows no contents in the file.  The reason I know it's not a file name
> > problem is I copied it from the File List Tool - Change Title display.
> >
> > do
> > "Read a Bible file, reformat for beter readability and html standards."
> > | inPath ootPath inFIle outFile line words |
> > inPath := 'C:\Users\Owner\Desktop\Website\Jesus Words\Matthew.html'.
> > ootPath := 'C:\Users\Owner\Desktop\Website\Jesus Words\Matthew2.html'.
> > inFIle := FileStream oldFileNamed: inPath.
> > outFile := FileStream newFileNamed: ootPath.
> > self halt.
> > [(line := inFIle nextLine) notNil]
> > whileTrue:[
> > words := line substrings.
> > words size >0 ifTrue:[
> > outFile nextPutAll: line, '
> > <br>
> > '; cr; lf].
> > ].
> > inFIle close.
> > outFile close.
> >
> >
> > Could it be you have a malware writer among the system release
> developers?
> > I'd suspect John Pfersich.  Even if it's not him, the likelihood of such
> a
> > person in an open developer community is so high I'm looking at JAVA for
> > reliability.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Fri, Jul 21, 2017 at 12:07 AM, John Pfersich <
>
> > smalltalker2@
>
> > >
> > wrote:
> >
> >> No, he always blames Smalltalk for his mistakes (like Donnie DDD Trump,
> >> just blame someone else).
> >>
> >> Sent from my iPhone
> >>
> >> > On Jul 20, 2017, at 23:44, Paul DeBruicker <
>
> > pdebruic@
>
> > > wrote:
> >> >
> >> > Hi -
> >> >
> >> >
> >> > You've misplaced the ending ]  of the block that you send #whileTrue:
> >> to.
> >> >
> >> >
> >> > Try:
> >> >
> >> >
> >> > [(line := inFIle nextLine) notNil]
> >> > whileTrue:[
> >> > words := line substrings.
> >> > self halt.
> >> > words size >0 ifTrue:[
> >> > outFile nextPutAll: line, '
> > <br>
> > '; cr; lf].
> >> > ].
> >> > inFIle close.
> >> > outFile close.
> >> >
> >> > Also you probably want to wrap those file close  method sends in an
> >> #ensure:
> >> > block so it all looks like this:
> >> >
> >> > [
> >> >   [(line := inFIle nextLine) notNil]
> >> >    whileTrue:[
> >> >    words := line substrings.
> >> >    self halt.
> >> >    words size >0
> >> >        ifTrue:[outFile nextPutAll: line, '
> > <br>
> > '; cr; lf].
> >> >    ]  ensure:
> >> > [
> >> >    inFIle close.
> >> >    outFile close.]
> >> >
> >> > So that when there is an error (or a halt) in the file processing code
> >> the
> >> > files are closed properly.  (And of course assuming nobody pulls the
> >> power
> >> > cord).
> >> >
> >> >
> >> >
> >> > Also here is the terse guide to Squeak
> >> >
> >> > http://squeak.org/documentation/terse_guide/
> >> >
> >> > On that page the Iteration section shows how to use the #whileTrue:
> >> idiom
> >> > and in the File section has an example like you attempted to make.
> >> >
> >> >
> >> >
> >> > And there are some free Smalltalk books available here:
> >> >
> >> >
> >> > http://stephane.ducasse.free.fr/FreeBooks.html
> >> >
> >> >
> >> > Often when I'm writing code  (often bugs :/ ) it helps me to find the
> >> > senders and implementors of methods and read how the methods I'm
> trying
> >> to
> >> > use are used canonically.
> >> >
> >> >
> >> > Are you trying to interact with Python from your image?  I think you'd
> >> have
> >> > to use FFI if so.  I'm not sure.  Hopefully someone else can chime in.
> >> >
> >> >
> >> > Hope this helps
> >> >
> >> >
> >> > Paul
> >> >
> >> >
> >> >
> >> > ReliableRobots.com wrote
> >> >> I ran this program and nothing happened so I added self halts and
> >> learned
> >> >> it can't even read the input file!  Yet the File List tool reads it.
> >> Such
> >> >> dichotomy in behavior might be covered by a preference?  I know MS
> >> >> Notepad,
> >> >> the simplest editor now allows one to store a file in ones's choice
> of
> >> >> formats.  Does Squeak have a simple choice for input treatments that
> >> works
> >> >> in Win10?
> >> >>
> >> >> do
> >> >> "Read a Bible file, reformat for beter readability and html
> >> standards."
> >> >> | inPath ootPath inFIle outFile line words |
> >> >> inPath := 'C:\Users\Owner\Desktop\Website\Jesus Words\Matthew.html'.
> >> >> ootPath := 'C:\Users\Owner\Desktop\Website\Jesus
> Words\Matthew2.html'.
> >> >> inFIle := FileStream oldFileNamed: inPath.
> >> >> outFile := FileStream newFileNamed: ootPath.
> >> >> self halt.
> >> >> [(line := inFIle nextLine) notNil
> >> >> whileTrue:[
> >> >> words := line substrings.
> >> >> self halt.
> >> >> words size >0 ifTrue:[
> >> >> outFile nextPutAll: line, '
> >> >>
> > <br>
> >> >> '; cr; lf].
> >> >> ]].
> >> >> inFIle close.
> >> >> outFile close.
> >> >>
> >> >>
> >> >> It is my observation that Squeak is the last gasp uttered by a mouse
> >> when
> >> >> it fears death.  It is not a normal sound they make unless they are
> >> being
> >> >> eaten by a Python!   I hope the Python people don't release code that
> >> >> simply doesn't work.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > View this message in context: http://forum.world.st/Squeak-
> >> File-Glitch-tp4955993p4956002.html
> >> > Sent from the Squeak - Dev mailing list archive at Nabble.com.
> >> >
> >>
> >>
>
>
>
>
>
> --
> View this message in context: http://forum.world.st/Squeak-
> File-Glitch-tp4955993p4956131.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170721/db557e97/attachment.html>


More information about the Squeak-dev mailing list