[squeak-dev] The Trunk: Tools-cmm.649.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 11 21:54:18 UTC 2015


Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.649.mcz

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

Name: Tools-cmm.649
Author: cmm
Time: 11 November 2015, 3:53:53.467 pm
UUID: beec1181-1635-40c7-b6d9-dcec70347f01
Ancestors: Tools-mt.648

- Fix "Key not found: nil" when saving method from method template.
- We now have two annotation pane preferences, use language which allows the user to know which is which.

=============== Diff against Tools-mt.648 ===============

Item was changed:
  ----- Method: Browser>>defineMessageFrom:notifying: (in category 'message functions') -----
  defineMessageFrom: aString notifying: aController
  	"Compile the expressions in aString. Notify aController if a syntax error occurs. Install the compiled method in the selected class classified under  the currently selected message category name. Answer the selector obtained if compilation succeeds, nil otherwise."
  	| selectedMessageName selector category oldMessageList selectedClassOrMetaClass |
  	selectedMessageName := self selectedMessageName.
  	oldMessageList := self messageList.
  	selectedClassOrMetaClass := self selectedClassOrMetaClass.
  	contents := nil.
  	selector := (selectedClassOrMetaClass newParser parseSelector: aString).
  	(self metaClassIndicated
  		and: [(selectedClassOrMetaClass includesSelector: selector) not
  		and: [Metaclass isScarySelector: selector]])
  		ifTrue: ["A frist-time definition overlaps the protocol of Metaclasses"
  				(self confirm: ((selector , ' is used in the existing class system.
  Overriding it could cause serious problems.
  Is this really what you want to do?') asText makeBoldFrom: 1 to: selector size))
  				ifFalse: [^nil]].
  	selector := selectedClassOrMetaClass
  				compile: aString
+ 				classified: (selectedMessageName ifNotNil: [category := (selectedClassOrMetaClass >> selectedMessageName) methodReference ifNotNil: [ : ref | ref category ]])
- 				classified: (category := (selectedClassOrMetaClass >> selectedMessageName) methodReference category)
  				notifying: aController.
  	selector == nil ifTrue: [^ nil].
  	contents := aString copy.
  	selector ~~ selectedMessageName
  		ifTrue: 
  			[category = ClassOrganizer nullCategory
  				ifTrue: [self changed: #classSelectionChanged.
  						self changed: #classList.
  						self messageCategoryListIndex: 1].
  			self setClassOrganizer.  "In case organization not cached"
  			(oldMessageList includes: selector)
  				ifFalse: [self changed: #messageList].
  			self messageListIndex: (self messageList indexOf: selector)].
  	^ selector!

Item was changed:
  ----- Method: Debugger class>>wantsAnnotationPane (in category 'preferences') -----
  wantsAnnotationPane
+ 	<preference: 'Show annotation pane in the debugger.'
- 	<preference: 'Wants annotation pane'
  		categoryList: #(debugger tools)
+ 		description: 'If true, a thin, horizontal annotation pane shows information about the selected method.'
- 		description: 'If true, show annotation for selected method.'
  		type: #Boolean>
  	^ WantsAnnotationPane ifNil: [false]!



More information about the Squeak-dev mailing list