Levente Uzonyi uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ul.679.mcz
==================== Summary ====================
Name: Monticello-ul.679
Author: ul
Time: 22 March 2018, 7:32:51.372118 pm
UUID: 7f5a3bf7-0cda-4200-b035-d9ce789f19d5
Ancestors: Monticello-ul.678
- enable #useSharedWebClientInstance by default when WebClient is present
=============== Diff against Monticello-ul.678 ===============
Item was changed:
----- Method: MCHttpRepository class>>useSharedWebClientInstance (in category 'preferences') -----
useSharedWebClientInstance
<preference: 'Use shared WebClient instance'
category: 'Monticello'
description: 'When true, use a shared WebClient instance to speed up downloads from MCHttpRepositories. Requires WebClient to be present.'
type: #Boolean>
+ ^UseSharedWebClientInstance ifNil: [ Smalltalk hasClassNamed: #WebClient ]!
- ^UseSharedWebClientInstance ifNil: [ false ]!
In my seemingly never ending quest to clean out nasty misuse of FileList and descendants and StandardFileMenu etc I keep coming across place where it is clear some serious problems have occurred during the life of the code. Apparently the approach of CASE NIGHTMARE APRICOT has lead to trans-dimensional leakage of deviant bytes from the realms of the Soul Eater.
Let's look at an example or two -
FileList2 class>>#projectOnlySelectionMethod:
This has nothing much to do with actual FileLists; it is a messy way to find files with certain filename extensions. It gets used in contexts completely unrelated to a File List. FileDirectory>entriesForProjectFiles would probably be a little less obnoxious?
SugarNavigatorBar>>#publishSexp is rather fun, too. I *think* al that messing with the FileList2 instance near the bottom is to remove a button, though since there is also an interaction with the Project>>#storeOnServerInnards code and the interesting usage of #saveLocalOnlyHit and the Preference.
Then there is SugarNavigatorBar class>>#findAnythingMorph. The only findable use relates to putting a non-functional example instance into the 'objects' morph. And QuickGuideGenerator>>#makeInputDirList.
Comments on any known history of why, or what is supposed to happen etc welcomed. They're yet more excellent examples of why some hint of documentation is nice. Sure, code tells you what actually happens, assuming you can actually make any sense of it, but not about what is *meant* to happen, or what is not yet included, or why.
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Useful Latin Phrases:- Utinam barbari spatium proprium tuum invadant! = May barbarians invade your personal space!
So thinking about things related to Subbu's questions it suddenly came to me that we might be able to make a much nicer C editor than most seem to be.
Caution - I use TextWrangler on my iMac when I have to mess with C. This may well bias my opinion.
Seems to me that most so called IDEs that let you handle C code are pretty pathetic. You load a file and scroll up and down it. If you're lucky it scans the file and makes sort of bookmark of function locations etc. You might get a half decent comparison tool to compare different versions.
Now, we have a useful but in need of improvement tool for reading source code files without actually loading them in the FileContentsBrowser. A variant of that could read C source, split it up, parse the bits and bobs and maybe provide a decent structured view of the code.
Yes, I remember ObjectWorks C++ and the debacle of C++ programmers not wanting anything more advanced than vi.
There's also a possible value for this in the Python world where they at least pretend to have a clue about objects.
tim
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Law of Logical Argument: Anything is possible if you don't know what you are talking about.
tim Rowledge uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-tpr.208.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-tpr.208
Author: tpr
Time: 22 March 2018, 5:11:45.931652 pm
UUID: f88f9d36-8005-46ef-96e8-1dadd3301370
Ancestors: ToolBuilder-Morphic-tpr.207
Correct a couple of FileChooserDialog example comments to actually work
=============== Diff against ToolBuilder-Morphic-tpr.207 ===============
Item was changed:
----- Method: FileChooserDialog class>>openOn:suffixList:label: (in category 'instance creation') -----
openOn: aDirectory suffixList: patternList label: labelString
"Open a modal dialog to choose a file. Start the dialog with aDirectory selected
and files matching the file name suffixes in patternList. Set the user message
to labelString."
+ "FileChooserDialog openOn: FileDirectory default suffixList: { 'changes' . 'image' } label: 'Do something with the selected files' "
- "FileChooserDialog openOn: FileDirectory default suffixList: { '*.changes' . '*image' } label: 'Do something with the selected files' "
^self new
directory: aDirectory;
suffixList: patternList;
message: labelString;
getUserResponse!
Item was changed:
----- Method: FileChooserDialog class>>openOnSuffixList:label: (in category 'instance creation') -----
openOnSuffixList: patternList label: labelString
"Open a modal dialog to choose a file. Start the dialog with a default directory
selected and with files matching the file name suffixes in patternList. Set the
user message to labelString."
+ "FileChooserDialog openOnSuffixList: { 'changes' . 'image' } label: 'Do something with the selected files' "
- "FileChooserDialog openOnSuffixList: { '*.changes' . '*image' } label: 'Do something with the selected files' "
^self openOn: nil suffixList: patternList label: labelString
!
Is there a facility in Morphic to display and fade out (e.g. "CTRL+C")
when command/control keys are pressed? This is to facilitate screen
captures and lecture demonstrations.
Thanks .. Subbu
A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-cbc.1163.mcz
==================== Summary ====================
Name: Kernel-cbc.1163
Author: cbc
Time: 21 March 2018, 9:09:20.773568 pm
UUID: 45d9dad8-7c81-034e-b578-b9ccd291cab6
Ancestors: Kernel-dtl.1162, Kernel-fn.1152
Update #xor: to work with argument being a block as well.
=============== Diff against Kernel-dtl.1162 ===============
Item was added:
+ ----- Method: Boolean>>xor: (in category 'logical operations') -----
+ xor: aBoolean
+ "Exclusive OR. Answer true if the receiver is not equivalent to aBoolean."
+
+ ^(self == aBoolean) not!
Item was changed:
----- Method: False>>xor: (in category 'logical operations') -----
xor: aBoolean
+ "aBoolean is either a boolean, or an object who's #value returns a boolean (usually a block)."
+ ^aBoolean value ifTrue: [ true ] ifFalse: [ false ]!
- "Posted by Eliot Miranda to squeak-dev on 3/24/2009"
-
- ^aBoolean!
Item was changed:
----- Method: True>>xor: (in category 'logical operations') -----
xor: aBoolean
+ "aBoolean is either a boolean, or an object who's #value returns a boolean (usually a block)."
+ ^aBoolean value ifTrue: [ false ] ifFalse: [ true ]!
- "Posted by Eliot Miranda to squeak-dev on 3/24/2009"
-
- ^aBoolean not!