[BUG] Methods have linefeeds in squeakland updates (5765-5781)

Scott Wallace scott.wallace at squeakland.org
Fri Mar 26 23:44:55 UTC 2004


Hi, Doug and Bert,

The fileouts that led to the updates in question had gotten handed 
around several times in the form of zip files, and somewhere along 
the way, someone's zip utility, trying to be "helpful" I guess, 
seemingly added a linefeed at the end of every line of every file.

This went unnoticed until Doug's automatically-generated announcement 
about these updates turned out to have unexpected (and unwanted) 
lineskips in their preambles.

I think that it is only those methods that have *multiline string 
literals* within them that are adversely affected in a *substantive* 
way.  There turn out to have been six such methods among the q01-q19 
updates.

I could easily produce and send out a small update that simply fixes 
up those six methods.   Which I'll be glad to do unless there is 
another strategy afoot to deal with the general linefeeds-in-source 
issue in 3.7a...

Because many *other* methods also have linefeeds in their source -- 
not just the methods in the q01-q19 updates.  I just freshly 
downloaded a copy of 3.7a/5816 from squeak.org and evaluated 
"Smalltalk removeAllLineFeeds" within it and found that 546 methods 
had LFs that were part of CR/LF pairs in their source strings, and 
additionally 85 method(s) had bare linefeeds in their source that 
were not coupled to adjacent CR's.

The methods that have linefeeds in them seemingly include everything 
in VersionHistory, and all the PackageInfo work, and most or all of 
the methods in the Chronology updates, and bits and pieces from other 
updates as well.

Cheers,

   -- Scott

PS:  Formerly, if a file that one tried to publish had linefeeds in 
it, this would be detected at update-publishing time -- see 
ServerDirectory>>putUpdate:, which contains the check:

     (fileStrm contentsOfEntireFile includes: Character linefeed)
         ifTrue: [self notifyWithLabel:  'That file contains 
linefeeds.  Proceed if you know that this is okay (e.g. the file 
contains raw binary data).'].

The fact that so many updates that turned out to contain linefeeds 
were allowed to be published suggests that somehow that logic is now 
being bypassed???


At 11:47 AM +0100 3/23/04, Bert Freudenberg wrote:
>See, for example, Player>>addInstanceVariable:
>
>- Bert -

At 5:18 PM -0500 3/26/04, Doug Way wrote:
>Btw, someone noted that the earlier already-incorporated bundle of 
>19 squeakland updates somehow has linefeeds embedded in the methods, 
>unfortunately.  It may be an artifact of them being included in a 
>.zip file, I'm not sure.  (Your new bundle does not have this 
>problem.)  I'd like to fix these somehow.  I suppose the easiest way 
>might just be to "remove linefeeds" from the original 19 changesets 
>and re-add them to the update stream.
-------------- next part --------------
Skipped content of type multipart/appledouble


More information about the Squeak-dev mailing list