A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.119.mcz
==================== Summary ====================
Name: SystemEditor-mtf.119
Author: mtf
Time: 20 September 2008, 7:26:37 am
UUID: c8f1811a-f1e6-4af7-af54-10534bf55d77
Ancestors: SystemEditor-mtf.118
fixed subclass handling in expandEditors
The bug where metaclasses had the wrong superclass came back during the ClassDescriptionEditor refactor. Fixed again
=============== Diff against SystemEditor-mtf.118 ===============
Item was added:
+ ----- Method: ClassEditor>>superclass: (in category 'editing') -----
+ superclass: aClassOrEditor
+ super superclass: aClassOrEditor.
+ self class superclass: aClassOrEditor class!
Item was changed:
----- Method: ClassEditor>>edExpand (in category 'building') -----
edExpand
^ self edRequiresSubclassRebuild
+ ifTrue: [self subclasses]
- ifTrue:
- [self subject subclasses collect:
- [:subclass | (system edEditorFor: subclass) superclass: self]]
ifFalse: [#()]!
A new version of PackageInfo-Base was added to project Monticello Public:
http://www.squeaksource.com/mc/PackageInfo-Base-cds.53.mcz
==================== Summary ====================
Name: PackageInfo-Base-cds.53
Author: cds
Time: 20 September 2008, 1:10:23 am
UUID: f881e06a-f5ba-481a-adc5-5fd85b0c5bca
Ancestors: PackageInfo-Base-kph.52
Added PackageInfo class>>allPackages which existed in earlier versions and many class browsers rely on.
=============== Diff against PackageInfo-Base-kph.52 ===============
Item was added:
+ ----- Method: PackageInfo class>>allPackages (in category 'packages access') -----
+ allPackages
+ ^PackageOrganizer default packages!
A new version of Monticello.impl was added to project Monticello Public:
http://www.squeaksource.com/mc/Monticello.impl-cds.573.mcz
==================== Summary ====================
Name: Monticello.impl-cds.573
Author: cds
Time: 19 September 2008, 7:43:04 am
UUID: 23a5a8b7-3e13-4f40-929f-9d6f9c0af9a5
Ancestors: Monticello.impl-kph.572
Patched MCHttpRepository>>writeStreamForFileNamed:replace:do: to consider any "2xx" HTTP status code to indicate success. This is needed, for example, since many WebDAV servers answer 204 (NO CONTENT) to PUT requests which are updating an existing file. See http://www.w3.org/Protocols/HTTP/HTRESP.html.
=============== Diff against Monticello.impl-kph.572 ===============
Item was changed:
----- Method: MCHttpRepository>>writeStreamForFileNamed:replace:do: (in category 'required') -----
writeStreamForFileNamed: aString replace: ignoreBoolean do: aBlock
| stream response statusLine code |
stream := RWBinaryOrTextStream on: String new.
aBlock value: stream.
response := HTTPSocket
httpPut: stream contents
to: (self urlForFileNamed: aString)
user: self user
passwd: self password.
statusLine := response copyUpTo: Character cr.
code := (statusLine findTokens: ' ') second asInteger.
+ (code >= 200 and: [code < 300])
- (#(200 201) includes: code)
ifFalse: [self error: response].!
A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.117.mcz
==================== Summary ====================
Name: SystemEditor-mtf.117
Author: mtf
Time: 18 September 2008, 11:06:01 am
UUID: 4a548d30-0c97-4225-b51d-bd1ec559e348
Ancestors: SystemEditor-mtf.116
MethodDictionaryEditor had Dictionary as its superclass, rather than DictionaryEditor; fixed.
Made MetaclassEditor>>isDebuggingAsEditor runtime, rather than compile-time, configurable (just send debug: true to the SystemEditor)
=============== Diff against SystemEditor-mtf.116 ===============
Item was changed:
+ DictionaryEditor subclass: #MethodDictionaryEditor
- Dictionary subclass: #MethodDictionaryEditor
instanceVariableNames: 'classEditor'
classVariableNames: ''
poolDictionaries: ''
category: 'SystemEditor-Editors'!
Item was added:
+ ----- Method: SystemEditor>>debug: (in category 'debugging') -----
+ debug: aBoolean
+ "see MetaclassEditor>>isDebuggingAsEditor"
+
+ debug := aBoolean!
Item was changed:
----- Method: OldMetaclassEditor>>isDebuggingAsEditor (in category 'debugging') -----
isDebuggingAsEditor
"To be transparent enough to fool most existing software,
MetaclassEditors must answer their subject's instance variables when
sent the message allInstVarNames. However, this message is also used by
the debugger, inspector, and explorer, when inspecting ClassEditors, and
an inspector should see the real instance variables of ClassEditor rather
than those of the MetaclassEditor's subject. So there is a conflict of
interest already.
But it gets worse. If you do open an inspector on an object that is
reporting wrong information about it's instance variables, Bad things
happen. Specifically, the inspector calls instVarAt: on an instance
variable that does not exist, leading to an error every time the display
is updated. Less severe, instVarAt: will answer nonsensical.
So I took the instance variable proxying behavior all the way so that it
successfully fools the debugger, inspector, and explorer into seeing
proxied instance variables (see the senders af this message if you want
to know how). But there is still the original problem that you, the
programmer want to see the real state of ClassEditor. That is where this
method comes in.
If this method returns false, everybody sees the proxied instance
variables. This is the correct behavior. If this method returns false,
everyone sees the true instance variables of ClassEditor. This is
incorrect behavior, and breaks the Unit tests, but it is invaluable if
+ you are debugging ClassEditor"
+
+ ^ self environment debug!
- you are debugging ClassEditor.
-
- Just be sure to make sure this returns false whenever making a release"
- ^ false!
Item was changed:
DictionaryEditor subclass: #SystemEditor
+ instanceVariableNames: 'organization showProgress debug'
- instanceVariableNames: 'organization showProgress'
classVariableNames: ''
poolDictionaries: ''
category: 'SystemEditor-Editors'!
Item was added:
+ ----- Method: SystemEditor>>debug (in category 'accessing') -----
+ debug
+ "see MetaclassEditor>>isDebuggingAsEditor"
+
+ ^ debug ifNil: [false]!
Item was changed:
----- Method: MetaclassEditor>>isDebuggingAsEditor (in category 'debugging') -----
isDebuggingAsEditor
"To be transparent enough to fool most existing software,
MetaclassEditors must answer their subject's instance variables when
sent the message allInstVarNames. However, this message is also used by
the debugger, inspector, and explorer, when inspecting ClassEditors, and
an inspector should see the real instance variables of ClassEditor rather
than those of the MetaclassEditor's subject. So there is a conflict of
interest already.
But it gets worse. If you do open an inspector on an object that is
reporting wrong information about it's instance variables, Bad things
happen. Specifically, the inspector calls instVarAt: on an instance
variable that does not exist, leading to an error every time the display
is updated. Less severe, instVarAt: will answer nonsensical.
So I took the instance variable proxying behavior all the way so that it
successfully fools the debugger, inspector, and explorer into seeing
proxied instance variables (see the senders af this message if you want
to know how). But there is still the original problem that you, the
programmer want to see the real state of ClassEditor. That is where this
method comes in.
If this method returns false, everybody sees the proxied instance
variables. This is the correct behavior. If this method returns false,
everyone sees the true instance variables of ClassEditor. This is
incorrect behavior, and breaks the Unit tests, but it is invaluable if
+ you are debugging ClassEditor"
+
+ ^ self environment debug!
- you are debugging ClassEditor.
-
- Just be sure to make sure this returns false whenever making a release"
- ^ false!
A new version of MonticelloConfigurations was added to project Monticello Public:
http://www.squeaksource.com/mc/MonticelloConfigurations-cds.51.mcz
==================== Summary ====================
Name: MonticelloConfigurations-cds.51
Author: cds
Time: 17 September 2008, 4:00:46 pm
UUID: 42d2d929-e186-446c-be79-4e4802b5cab2
Ancestors: MonticelloConfigurations-cds.50
Undoing change from .49 and .50. These had a negative impact on the order of class initialization during package loading.
=============== Diff against MonticelloConfigurations-cds.50 ===============
Item was changed:
----- Method: MCConfiguration>>load (in category 'actions') -----
load
+ ^self depsSatisfying: [:dep | dep isCurrent not]
+ versionDo: [:ver | ver load]
+ displayingProgress: 'loading packages'
+ !
- MCVersionLoader new in: [ :loader |
-
- self depsSatisfying: [:dep | dep isCurrent not]
- versionDo: [:ver | loader addVersion: ver ]
- displayingProgress: 'loading packages'.
-
- loader load
-
- ].!