[squeak-dev] The Trunk: Tools-ul.387.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 9 11:25:53 UTC 2011


Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.387.mcz

==================== Summary ====================

Name: Tools-ul.387
Author: ul
Time: 9 December 2011, 11:23:52.89 am
UUID: 1b789c14-63ee-5e4b-b977-1385ae741570
Ancestors: Tools-ul.386

- no need to log the class creation doIt in Browser >> #defineClass:notifying:, because it's already logged by SmalltalkImage >> #event:

=============== Diff against Tools-ul.386 ===============

Item was changed:
  ----- Method: Browser>>defineClass:notifying: (in category 'class functions') -----
  defineClass: defString notifying: aController  
  	"The receiver's textual content is a request to define a new class. The
  	source code is defString. If any errors occur in compilation, notify
  	aController."
  	| oldClass class newClassName defTokens keywdIx envt |
  	oldClass := self selectedClassOrMetaClass.
  	defTokens := defString findTokens: Character separators.
  	
  	((defTokens first = 'Trait' and: [defTokens second = 'named:'])
  		or: [defTokens second = 'classTrait'])
  		ifTrue: [^self defineTrait: defString notifying: aController].
  		
  	keywdIx := defTokens findFirst: [:x | x beginsWith: 'category'].
  	envt := Smalltalk.
  	keywdIx := defTokens findFirst: [:x | '*subclass*' match: x].
  	newClassName := (defTokens at: keywdIx+1) copyWithoutAll: '#()'.
  	((oldClass isNil or: [oldClass theNonMetaClass name asString ~= newClassName])
  		and: [envt includesKey: newClassName asSymbol]) ifTrue:
  			["Attempting to define new class over existing one when
  				not looking at the original one in this browser..."
  			(self confirm: ((newClassName , ' is an existing class in this system.
  Redefining it might cause serious problems.
  Is this really what you want to do?') asText makeBoldFrom: 1 to: newClassName size))
  				ifFalse: [^ false]].
  	"ar 8/29/1999: Use oldClass superclass for defining oldClass
  	since oldClass superclass knows the definerClass of oldClass."
  	oldClass ifNotNil:[oldClass := oldClass superclass].
  	class := oldClass subclassDefinerClass
  				evaluate: defString
  				notifying: aController
+ 				logged: false.
- 				logged: true.
  	(class isKindOf: Behavior)
  		ifTrue: [self changed: #systemCategoryList.
  				self changed: #classList.
  				self clearUserEditFlag.
  				self setClass: class selector: nil.
  				"self clearUserEditFlag; editClass."
  				^ true]
  		ifFalse: [^ false]!




More information about the Squeak-dev mailing list