Munging around with old mailing lists sounds like work. ;-)

What I have done is to take each of the old changes files, subtract the previous changes file and treat the result as if it were a single update. These files will be identified as '**v1' '*113' '*115' etc so that they will sort better.

This is now available on the /diffs page:

http://69.251.218.6:9116/diffs

I'll see about adding this data to the /browse and /time pages.

Cheers,
Bob

sample:



rootForGrabOf:


*119
rootForGrabOf: aMorph
    "Like root, but can be overridden by a morph that wants to allow its submorphs to be extracted just by picking them up."

    (owner = nil or: [owner isWorldOrHandMorph]) ifTrue: [↑ self].
    owner allowSubmorphExtraction
        ifTrue: [↑ self]
        ifFalse: [↑ owner rootForGrabOf: aMorph].

*131
rootForGrabOf: aMorph
    "Like root, but can be overridden by a morph that wants to allow its submorphs to be extracted just by picking them up."

    (owner = nil or: [owner isWorldOrHandMorph]) ifTrue: [↑ self].
    owner allowSubmorphExtraction
        ifTrue: [↑ self]
        ifFalse: [↑ owner rootForGrabOf: aMorph].
    "Be sticky if sticky property is set. Normally this would be recompiled in the unique subclass of each morph, so this is a backstop only, and for development."
    ↑ self isSticky
        ifTrue:
            [nil]
        ifFalse:
            [(owner = nil or: [owner isWorldOrHandMorph])
                ifTrue:
                    [self]
                ifFalse:
                    [owner allowSubmorphExtraction
                        ifTrue: [self]
                        ifFalse: [owner rootForGrabOf: aMorph]]]


0149Flood-sw.cs
rootForGrabOf: aMorph
    "Be sticky if sticky property is set. Normally this would be recompiled in the unique subclass of each morph, so this is a backstop only, and for development."
    ↑ self isSticky
    ↑ (self isSticky and: [self isPartsDonor not])
        ifTrue:
            [nil]
        ifFalse:
            [(owner = nil or: [owner isWorldOrHandMorph])
                ifTrue:
                    [self]
                ifFalse:
                    [owner allowSubmorphExtraction
                        ifTrue: [self]
                        ifFalse: [owner rootForGrabOf: aMorph]]]

2776TruthAndBeauty.cs
rootForGrabOf: aMorph
    self flag: #arNote. "TODO: Remove the entire rootForGrabOf: logic"
    ↑ (self isSticky and: [self isPartsDonor not])
        ifTrue:
            [nil]
        ifFalse:
            [(owner = nil or: [owner isWorldOrHandMorph])
                ifTrue:
                    [self]
                ifFalse:
                    [owner allowSubmorphExtraction
                        ifTrue: [self]
                        ifFalse: [owner rootForGrabOf: aMorph]]]

2783DnD-Day.cs
rootForGrabOf: aMorph
    self flag: #arNote. "TODO: Remove the entire rootForGrabOf: logic"
    ↑ (self isSticky and: [self isPartsDonor not])
        ifTrue:
            [nil]
        ifFalse:
            [(owner = nil or: [owner isWorldOrHandMorph])
                ifTrue:
                    [self]
                ifFalse:
                    [owner allowSubmorphExtraction
                        ifTrue: [self]
                        ifFalse: [owner rootForGrabOf: aMorph]]]
** explicitly removed **

On 10/27/13 2:53 PM, Jecel Assumpcao Jr. wrote:
Bob Arning wrote:

Morphic right from the start? As far as these change set go Morphic is
there, but they represent additions to Squeak 1.31. Not sure about
earlier versions. So the question is

Was there ever a version of Squeak without Morphic? Jecel, you know?
Juan has already replied that Morphic was added to 1.19 (the versions I
remember before that were 1.13, 1.16, 1.17 and 1.18). Note that even
1.31 started up in a MVC project and you had to open a new Morphic one
to play around with that. This was inverted in 2.0, I think.

One issue is that 1998 is not "the start" at all. You might think that
not much is missing when you lack under two years, but it is important
to remember that the rate of development of the Squeak project was
amazing in the beginning compared to what we are now used to. That is
actually common for a low of projects. So one version doesn't have
networking at all, and then next you have a web browser that tries to
play Flash pages.

In terms of lines of code, on the other hand, the rate of development
got faster as time went on rather than slower. This isn't so obvious if
you do some statistics on the various images because there were several
times when a lot of code was removed from the official images. So if you
look at one image and it has 40% more classes/methods/lines of code than
an older one but the older one can sing "Silent Night" and the new one
can't, then the number is smaller than it should be.

Sam Adam asked about extending this back in time (I guess it would have
to be through Apple Smalltalk-80 and then back through Xerox Smalltalks)
and I mentioned a two year gap. It might be a neat idea to convert the
earlier changes into the same format (a lot of the needed information
can be found in the archives for this mailing list) and number them -1,
-2, etc...

-- Jecel