David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.512.mcz
==================== Summary ====================
Name: System-dtl.512
Author: dtl
Time: 17 January 2013, 8:12:00.656 pm
UUID: 3e96758d-c221-4b54-bc03-b8a66e2ca3cd
Ancestors: System-fbs.511
Only the instance of SystemOrganizer that is the global SystemOrganization should send change notifications to the singleton SystemChangeNotifier.
Addresses the case of a FileContentsBrowser that uses a new SystemOrganization to load code for browsing and should not initiate a system change notification for the class being browsed, as reported by Bob Arning on squeak-dev http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167941.…
=============== Diff against System-fbs.511 ===============
Item was changed:
----- Method: SystemOrganizer>>addCategory:before: (in category 'accessing') -----
addCategory: catString before: nextCategory
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ doSilently: [super addCategory: catString before: nextCategory];
+ classCategoryAdded: catString]!
- SystemChangeNotifier uniqueInstance
- doSilently: [super addCategory: catString before: nextCategory];
- classCategoryAdded: catString!
Item was changed:
----- Method: SystemOrganizer>>classify:under: (in category 'accessing') -----
classify: element under: newCategory
| oldCategory class |
oldCategory := self categoryOfElement: element.
super classify: element under: newCategory.
class := Smalltalk at: element ifAbsent: [^ self].
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ class: class
+ recategorizedFrom: oldCategory
+ to: newCategory]!
- SystemChangeNotifier uniqueInstance
- class: class
- recategorizedFrom: oldCategory
- to: newCategory !
Item was changed:
----- Method: SystemOrganizer>>removeCategory: (in category 'accessing') -----
removeCategory: cat
| r |
r := super removeCategory: cat.
+ self == SystemOrganization
+ ifTrue: [SystemChangeNotifier uniqueInstance classCategoryRemoved: cat].
- SystemChangeNotifier uniqueInstance classCategoryRemoved: cat.
^ r!
Item was changed:
----- Method: SystemOrganizer>>renameCategory:toBe: (in category 'accessing') -----
renameCategory: oldCatString toBe: newCatString
| r |
r := super renameCategory: oldCatString toBe: newCatString.
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ classCategoryRenamedFrom: oldCatString to: newCatString].
- SystemChangeNotifier uniqueInstance
- classCategoryRenamedFrom: oldCatString to: newCatString.
^ r!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.512.mcz
==================== Summary ====================
Name: System-dtl.512
Author: dtl
Time: 17 January 2013, 8:12:00.656 pm
UUID: 3e96758d-c221-4b54-bc03-b8a66e2ca3cd
Ancestors: System-fbs.511
Only the instance of SystemOrganizer that is the global SystemOrganization should send change notifications to the singleton SystemChangeNotifier.
Addresses the case of a FileContentsBrowser that uses a new SystemOrganization to load code for browsing and should not initiate a system change notification for the class being browsed, as reported by Bob Arning on squeak-dev http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167941.…
=============== Diff against System-fbs.511 ===============
Item was changed:
----- Method: SystemOrganizer>>addCategory:before: (in category 'accessing') -----
addCategory: catString before: nextCategory
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ doSilently: [super addCategory: catString before: nextCategory];
+ classCategoryAdded: catString]!
- SystemChangeNotifier uniqueInstance
- doSilently: [super addCategory: catString before: nextCategory];
- classCategoryAdded: catString!
Item was changed:
----- Method: SystemOrganizer>>classify:under: (in category 'accessing') -----
classify: element under: newCategory
| oldCategory class |
oldCategory := self categoryOfElement: element.
super classify: element under: newCategory.
class := Smalltalk at: element ifAbsent: [^ self].
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ class: class
+ recategorizedFrom: oldCategory
+ to: newCategory]!
- SystemChangeNotifier uniqueInstance
- class: class
- recategorizedFrom: oldCategory
- to: newCategory !
Item was changed:
----- Method: SystemOrganizer>>removeCategory: (in category 'accessing') -----
removeCategory: cat
| r |
r := super removeCategory: cat.
+ self == SystemOrganization
+ ifTrue: [SystemChangeNotifier uniqueInstance classCategoryRemoved: cat].
- SystemChangeNotifier uniqueInstance classCategoryRemoved: cat.
^ r!
Item was changed:
----- Method: SystemOrganizer>>renameCategory:toBe: (in category 'accessing') -----
renameCategory: oldCatString toBe: newCatString
| r |
r := super renameCategory: oldCatString toBe: newCatString.
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ classCategoryRenamedFrom: oldCatString to: newCatString].
- SystemChangeNotifier uniqueInstance
- classCategoryRenamedFrom: oldCatString to: newCatString.
^ r!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.512.mcz
==================== Summary ====================
Name: System-dtl.512
Author: dtl
Time: 17 January 2013, 8:12:00.656 pm
UUID: 3e96758d-c221-4b54-bc03-b8a66e2ca3cd
Ancestors: System-fbs.511
Only the instance of SystemOrganizer that is the global SystemOrganization should send change notifications to the singleton SystemChangeNotifier.
Addresses the case of a FileContentsBrowser that uses a new SystemOrganization to load code for browsing and should not initiate a system change notification for the class being browsed, as reported by Bob Arning on squeak-dev http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/167941.…
=============== Diff against System-fbs.511 ===============
Item was changed:
----- Method: SystemOrganizer>>addCategory:before: (in category 'accessing') -----
addCategory: catString before: nextCategory
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ doSilently: [super addCategory: catString before: nextCategory];
+ classCategoryAdded: catString]!
- SystemChangeNotifier uniqueInstance
- doSilently: [super addCategory: catString before: nextCategory];
- classCategoryAdded: catString!
Item was changed:
----- Method: SystemOrganizer>>classify:under: (in category 'accessing') -----
classify: element under: newCategory
| oldCategory class |
oldCategory := self categoryOfElement: element.
super classify: element under: newCategory.
class := Smalltalk at: element ifAbsent: [^ self].
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ class: class
+ recategorizedFrom: oldCategory
+ to: newCategory]!
- SystemChangeNotifier uniqueInstance
- class: class
- recategorizedFrom: oldCategory
- to: newCategory !
Item was changed:
----- Method: SystemOrganizer>>removeCategory: (in category 'accessing') -----
removeCategory: cat
| r |
r := super removeCategory: cat.
+ self == SystemOrganization
+ ifTrue: [SystemChangeNotifier uniqueInstance classCategoryRemoved: cat].
- SystemChangeNotifier uniqueInstance classCategoryRemoved: cat.
^ r!
Item was changed:
----- Method: SystemOrganizer>>renameCategory:toBe: (in category 'accessing') -----
renameCategory: oldCatString toBe: newCatString
| r |
r := super renameCategory: oldCatString toBe: newCatString.
+ self == SystemOrganization ifTrue: [
+ SystemChangeNotifier uniqueInstance
+ classCategoryRenamedFrom: oldCatString to: newCatString].
- SystemChangeNotifier uniqueInstance
- classCategoryRenamedFrom: oldCatString to: newCatString.
^ r!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.731.mcz
==================== Summary ====================
Name: Kernel-nice.731
Author: nice
Time: 17 January 2013, 11:33:08.076 pm
UUID: c4663029-f1b5-48e3-ae29-402076e50f8f
Ancestors: Kernel-bf.730, Kernel-nice.730
merge nice+bf 730
=============== Diff against Kernel-bf.730 ===============
Item was changed:
----- Method: Integer>>/ (in category 'arithmetic') -----
/ aNumber
"Refer to the comment in Number / "
| quoRem |
aNumber isInteger ifTrue:
+ [quoRem := self digitDiv: aNumber neg: self negative ~~ aNumber negative.
- [quoRem := self digitDiv: aNumber abs "*****I've added abs here*****"
- neg: self negative ~~ aNumber negative.
(quoRem at: 2) = 0
ifTrue: [^ (quoRem at: 1) normalize]
ifFalse: [^ (Fraction numerator: self denominator: aNumber) reduced]].
^ aNumber adaptToInteger: self andSend: #/!
Item was changed:
----- Method: Integer>>quo: (in category 'arithmetic') -----
quo: aNumber
"Refer to the comment in Number quo: "
| ng quo |
aNumber isInteger ifTrue:
[ng := self negative == aNumber negative == false.
+ quo := (self digitDiv: aNumber neg: ng) at: 1.
- quo := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 1.
^ quo normalize].
^ aNumber adaptToInteger: self andSend: #quo:!
Item was changed:
----- Method: LargePositiveInteger>>\\ (in category 'arithmetic') -----
\\ aNumber
"Primitive. Take the receiver modulo the argument. The result is the
remainder rounded towards negative infinity, of the receiver divided
by the argument. Fail if the argument is 0. Fail if either the argument
or the result is not a SmallInteger or a LargePositiveInteger less than
2-to-the-30th (1073741824). Optional. See Object documentation whatIsAPrimitive."
<primitive: 31>
aNumber isInteger
ifTrue:
[| neg qr q r |
neg := self negative == aNumber negative == false.
+ qr := self digitDiv: aNumber neg: neg.
- qr := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: neg).
q := qr first normalize.
r := qr last normalize.
^(q negative
ifTrue: [r isZero not]
ifFalse: [q isZero and: [neg]])
ifTrue: [r + aNumber]
ifFalse: [r]].
^super \\ aNumber
!
Item was removed:
- ----- Method: LargePositiveInteger>>primitiveQuo: (in category 'private') -----
- primitiveQuo: anInteger
- "Primitive. Divide the receiver by the argument and return the result.
- Round the result down towards zero to make it a whole integer. Fail if
- the argument is 0. Fail if either the argument or the result is not a
- SmallInteger or a LargePositiveInteger less than 2-to-the-30th (1073741824). Optional. See
- Object documentation whatIsAPrimitive."
-
- <primitive: 33>
- ^nil!
Item was changed:
----- Method: LargePositiveInteger>>rem: (in category 'arithmetic') -----
rem: aNumber
"Remainder defined in terms of quo:. See super rem:.
+ This is defined only to speed up case of large integers."
- This is defined only to speed up case of very large integers."
+ <primitive: 20>
- (self primitiveQuo: aNumber)
- ifNotNil: [:quo | ^self - (quo * aNumber)].
aNumber isInteger
ifTrue:
[| ng rem |
ng := self negative == aNumber negative == false.
+ rem := (self digitDiv: aNumber neg: ng) at: 2.
- rem := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 2.
^ rem normalize].
^super rem: aNumber!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.731.mcz
==================== Summary ====================
Name: Kernel-nice.731
Author: nice
Time: 17 January 2013, 11:33:08.076 pm
UUID: c4663029-f1b5-48e3-ae29-402076e50f8f
Ancestors: Kernel-bf.730, Kernel-nice.730
merge nice+bf 730
=============== Diff against Kernel-bf.730 ===============
Item was changed:
----- Method: Integer>>/ (in category 'arithmetic') -----
/ aNumber
"Refer to the comment in Number / "
| quoRem |
aNumber isInteger ifTrue:
+ [quoRem := self digitDiv: aNumber neg: self negative ~~ aNumber negative.
- [quoRem := self digitDiv: aNumber abs "*****I've added abs here*****"
- neg: self negative ~~ aNumber negative.
(quoRem at: 2) = 0
ifTrue: [^ (quoRem at: 1) normalize]
ifFalse: [^ (Fraction numerator: self denominator: aNumber) reduced]].
^ aNumber adaptToInteger: self andSend: #/!
Item was changed:
----- Method: Integer>>quo: (in category 'arithmetic') -----
quo: aNumber
"Refer to the comment in Number quo: "
| ng quo |
aNumber isInteger ifTrue:
[ng := self negative == aNumber negative == false.
+ quo := (self digitDiv: aNumber neg: ng) at: 1.
- quo := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 1.
^ quo normalize].
^ aNumber adaptToInteger: self andSend: #quo:!
Item was changed:
----- Method: LargePositiveInteger>>\\ (in category 'arithmetic') -----
\\ aNumber
"Primitive. Take the receiver modulo the argument. The result is the
remainder rounded towards negative infinity, of the receiver divided
by the argument. Fail if the argument is 0. Fail if either the argument
or the result is not a SmallInteger or a LargePositiveInteger less than
2-to-the-30th (1073741824). Optional. See Object documentation whatIsAPrimitive."
<primitive: 31>
aNumber isInteger
ifTrue:
[| neg qr q r |
neg := self negative == aNumber negative == false.
+ qr := self digitDiv: aNumber neg: neg.
- qr := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: neg).
q := qr first normalize.
r := qr last normalize.
^(q negative
ifTrue: [r isZero not]
ifFalse: [q isZero and: [neg]])
ifTrue: [r + aNumber]
ifFalse: [r]].
^super \\ aNumber
!
Item was removed:
- ----- Method: LargePositiveInteger>>primitiveQuo: (in category 'private') -----
- primitiveQuo: anInteger
- "Primitive. Divide the receiver by the argument and return the result.
- Round the result down towards zero to make it a whole integer. Fail if
- the argument is 0. Fail if either the argument or the result is not a
- SmallInteger or a LargePositiveInteger less than 2-to-the-30th (1073741824). Optional. See
- Object documentation whatIsAPrimitive."
-
- <primitive: 33>
- ^nil!
Item was changed:
----- Method: LargePositiveInteger>>rem: (in category 'arithmetic') -----
rem: aNumber
"Remainder defined in terms of quo:. See super rem:.
+ This is defined only to speed up case of large integers."
- This is defined only to speed up case of very large integers."
+ <primitive: 20>
- (self primitiveQuo: aNumber)
- ifNotNil: [:quo | ^self - (quo * aNumber)].
aNumber isInteger
ifTrue:
[| ng rem |
ng := self negative == aNumber negative == false.
+ rem := (self digitDiv: aNumber neg: ng) at: 2.
- rem := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 2.
^ rem normalize].
^super rem: aNumber!
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.731.mcz
==================== Summary ====================
Name: Kernel-nice.731
Author: nice
Time: 17 January 2013, 11:33:08.076 pm
UUID: c4663029-f1b5-48e3-ae29-402076e50f8f
Ancestors: Kernel-bf.730, Kernel-nice.730
merge nice+bf 730
=============== Diff against Kernel-bf.730 ===============
Item was changed:
----- Method: Integer>>/ (in category 'arithmetic') -----
/ aNumber
"Refer to the comment in Number / "
| quoRem |
aNumber isInteger ifTrue:
+ [quoRem := self digitDiv: aNumber neg: self negative ~~ aNumber negative.
- [quoRem := self digitDiv: aNumber abs "*****I've added abs here*****"
- neg: self negative ~~ aNumber negative.
(quoRem at: 2) = 0
ifTrue: [^ (quoRem at: 1) normalize]
ifFalse: [^ (Fraction numerator: self denominator: aNumber) reduced]].
^ aNumber adaptToInteger: self andSend: #/!
Item was changed:
----- Method: Integer>>quo: (in category 'arithmetic') -----
quo: aNumber
"Refer to the comment in Number quo: "
| ng quo |
aNumber isInteger ifTrue:
[ng := self negative == aNumber negative == false.
+ quo := (self digitDiv: aNumber neg: ng) at: 1.
- quo := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 1.
^ quo normalize].
^ aNumber adaptToInteger: self andSend: #quo:!
Item was changed:
----- Method: LargePositiveInteger>>\\ (in category 'arithmetic') -----
\\ aNumber
"Primitive. Take the receiver modulo the argument. The result is the
remainder rounded towards negative infinity, of the receiver divided
by the argument. Fail if the argument is 0. Fail if either the argument
or the result is not a SmallInteger or a LargePositiveInteger less than
2-to-the-30th (1073741824). Optional. See Object documentation whatIsAPrimitive."
<primitive: 31>
aNumber isInteger
ifTrue:
[| neg qr q r |
neg := self negative == aNumber negative == false.
+ qr := self digitDiv: aNumber neg: neg.
- qr := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: neg).
q := qr first normalize.
r := qr last normalize.
^(q negative
ifTrue: [r isZero not]
ifFalse: [q isZero and: [neg]])
ifTrue: [r + aNumber]
ifFalse: [r]].
^super \\ aNumber
!
Item was removed:
- ----- Method: LargePositiveInteger>>primitiveQuo: (in category 'private') -----
- primitiveQuo: anInteger
- "Primitive. Divide the receiver by the argument and return the result.
- Round the result down towards zero to make it a whole integer. Fail if
- the argument is 0. Fail if either the argument or the result is not a
- SmallInteger or a LargePositiveInteger less than 2-to-the-30th (1073741824). Optional. See
- Object documentation whatIsAPrimitive."
-
- <primitive: 33>
- ^nil!
Item was changed:
----- Method: LargePositiveInteger>>rem: (in category 'arithmetic') -----
rem: aNumber
"Remainder defined in terms of quo:. See super rem:.
+ This is defined only to speed up case of large integers."
- This is defined only to speed up case of very large integers."
+ <primitive: 20>
- (self primitiveQuo: aNumber)
- ifNotNil: [:quo | ^self - (quo * aNumber)].
aNumber isInteger
ifTrue:
[| ng rem |
ng := self negative == aNumber negative == false.
+ rem := (self digitDiv: aNumber neg: ng) at: 2.
- rem := (self digitDiv:
- (aNumber class == SmallInteger
- ifTrue: [aNumber abs]
- ifFalse: [aNumber])
- neg: ng) at: 2.
^ rem normalize].
^super rem: aNumber!