Folks -
I have just distributed 8 new updates to Squeak 2.3.
Many thanks for your useful contributions.
Here follows a summary list...
- Dan ------------------- 603share-rename-tkIV
604FindAgain-tkIU
605diffInChangeList-sw -- Scott Wallace -- 27 January 1999 Deploys Andreas's diff function in changelist & versions browsers. For a versions browser, each version shows its diffs from the preceding version. For a changelist browser, diffs from the in-memory versions, if any, are shown. New preference #showDiffsInChangeList governs whether or not the diff feature should be used."
606ThreeChanges-di -- Dan Ingalls -- 28 January 1999 Changes the response of 'browse versions' commands when there is only one version. A recent change made it simply say 'No older versions', but this was bad if you wanted to see, eg, the version stamp, or just a clean copy of the method. The new reponse is similar, but offers the option to see the only version anyway. Limits the speed of the zoom transistion (between projects) to 500 ms. Machines are getting fast enough that you can't see a full-speed zoom. Increases the composition box of a textMorph with no container. The previous limits had caused a false end in very long paragraphs, as when examining a megabyte long file in the FileList. The new limit is still finite, but corresponds to the practical limit of single paragraphs. Also updates the text of the command-key help window.
607Time-class-readFrom -- Bert Freudenberg --
608ServerDirectory-entries -- Leandro Caniglia --
609IPaddress-mdr -- Michael Rutenberg (mdr@scn.org) -- 27 January 1999 Corrects a small bug that prevented the lookup of host names which begin with a digit, such as 100000jobs.de Host names lookup will now be fully compliant with RFC 1123 section 2.1"
610ScamperFixes -- Tim Olson -- 22 January 1999 Fixes for 2 bugs discovered when browsing various web pages with Scamper PluggableListMorph>>selectionIndex: This fix prevents an out-of-bounds error when a ListMorph with a non-zero default index is initialized without initializing the list at the same time. HTTPSocket class>>httpGetDocument:args:accept:request: Added missing parenthesis around (self argString:args) when concatenating to the page string.
611DigitBufferNot -- Dan Ingalls -- 28 January 1999 Removes the unused class variable 'DigitBuffer' from SmallInteger. Suggested by Luciano Notarfrancesco
Dan Ingalls wrote:
611DigitBufferNot -- Dan Ingalls -- 28 January 1999 Removes the unused class variable 'DigitBuffer' from SmallInteger. Suggested by Luciano Notarfrancesco
There I was, looking at this change set in a change sorter... selected SmallInteger class initialize, and it says "Method has been removed (see versions)". That inspired me to take a peek, so I selected Versions and got "No older version of this method -- OK". But wait! Wasn't there a change ...
606ThreeChanges-di -- Dan Ingalls -- 28 January 1999 Changes the response of 'browse versions' commands when there is only one version. A recent change made it simply say 'No older versions', but this was bad if you wanted to see, eg, the version stamp, or just a clean copy of the method. The new reponse is similar, but offers the option to see the only version anyway.
Turns out this change was to: ChangeList browseVersionsOf:class:meta:category:selector: but the versions in the ChangeSorter was going through: ChangeList browseVersionsOf:class:meta:category:selector:lostMethodPointer: .... the same method duplicated with an extra parameter.
So the change to the first method needs to be replicated in the second. But this is definitely violating the "OnceAndOnlyOnce". It looks like the first can be implemented in terms of the second by passing a nil sourcePointer for #lostMethodPointer:, but maybe someone with a better understanding of the linking and management of the source code could confirm this?
But actually for my own use, I think I'll just cut out the test for listHasSingleEntry all together. My thinking goes like this. If I really want to see it, the extra menu popping up to confirm that I want to see it, just gets in the way. And on the flip side, I find it just as effective to have a browser pop up with a single version of the method showing as it is to have a menu telling me there are no older versions. It's let cognitively jarring when I'm asking about the versions of a method to simply see... "ah yes, there's just the one version, and here's its author, date and time" or... "there are the n versions of the method with these authors, etc.", as opposed to sometimes seeing the versions that I asked for and sometimes getting a 'no older versions' menu instead. But that's just my $0.02 worth.
Regards, -Bill.
------------------------------------------- Bill Dargel wdargel@shoshana.com Shoshana Technologies 100 West Joy Road, Ann Arbor, MI 48105 USA
"William O. Dargel" wDargel@shoshana.com wrote...
So the change to the first method needs to be replicated in the second. But this is definitely violating the "OnceAndOnlyOnce". It looks like the first can be implemented in terms of the second by passing a nil sourcePointer for #lostMethodPointer:, but maybe someone with a better understanding of the linking and management of the source code could confirm this?
But actually for my own use, I think I'll just cut out the test for listHasSingleEntry all together. My thinking goes like this. If I really want to see it, the extra menu popping up to confirm that I want to see it, just gets in the way. And on the flip side, I find it just as effective to have a browser pop up with a single version of the method showing as it is to have a menu telling me there are no older versions. It's let cognitively jarring when I'm asking about the versions of a method to simply see... "ah yes, there's just the one version, and here's its author, date and time" or... "there are the n versions of the method with these authors, etc.", as opposed to sometimes seeing the versions that I asked for and sometimes getting a 'no older versions' menu instead. But that's just my $0.02 worth.
Sigh.
We basically agree. This particular clever tweak has become an archetype of the "if it ain't broke dont fix it" situation. It was proffered as an improvement and we didn't live with it long enough before sending it out to all. In fact there is yet another fix that answers your further concerns (more snickering), but I agree it was better where it started -- same response all the time, and probably easier to click close than to shift gears and deal with a menu.
- D
On Thu 28 Jan, Dan Ingalls wrote:
This particular clever tweak has become an archetype of the "if i t ain't broke dont fix it" situation. It was proffered as an improvement and we didn' t live with it long enough before sending it out to all.
I find it immensely annoying to have a window pop up with just the one version - it causes a significant portion of that 'whydidthatidiotdothat' frustration mainly produced by commuting. Perhaps an answer more universally acceptable would be for the 'version' entry in the menu to be greyed out for methods with no previous versions? Of course that would involve making cleverer menus (yes, Carl has done that before and should get it out again) that can handle greying out, hierarchical doohickeys, etc etc. Another possibility might be for a menu to popup with a list of the versions plus a last option to open a window with them all:- 10/12/98 di 12/12/98 tk 13/12/98 tpr open all sort of thing.
On a related vein, it might be wise to allow auto-diffing in the version browser to be either an option or conveniently halted; some methods can take a _long_ time to diff and you don't always want that info. Perhaps a button somewhere in the browser?
tim
squeak-dev@lists.squeakfoundation.org