[BUG] re-defining class in HierarchyBrowser leads to DNU in classListIndex:

ned at squeakland.org ned at squeakland.org
Wed Mar 10 20:50:30 UTC 2004


CS 5749setClassSelPackagePane-avi (and/or CS 5487selectNewClass-ls)
apparently broke the ability to re-define a class from within the
HierarchyBrowser.

The attached debug log happened when I tried to add an instance variable
to SimpleButtonMorph.

10 March 2004 12:47:02 pm

VM: unix - a SmalltalkImage
Image: Squeak3.7alpha [latest update: #5816]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/ned/Squeak/3.7atest/connectorsDistro/test
Trusted Dir /home/ned/Squeak/3.7atest/connectorsDistro/test/secure
Untrusted Dir /home/ned/Squeak/3.7atest/connectorsDistro/test/untrusted

OrderedCollection(Object)>>error:
	Receiver: an OrderedCollection('ProtoObject' '  Object' '    Morph' '  
   BorderedMorph' '        R...etc...
	Arguments and temporary variables: 
		aString: 	'attempt to index non-existent element in an ordered
collection'
	Receiver's instance variables: 
		array: 	#('ProtoObject' '  Object' '    Morph' '      BorderedMorph' '
       Re...etc...
		firstIndex: 	1
		lastIndex: 	13

OrderedCollection>>errorNoSuchElement
	Receiver: an OrderedCollection('ProtoObject' '  Object' '    Morph' '  
   BorderedMorph' '        R...etc...
	Arguments and temporary variables: 

	Receiver's instance variables: 
		array: 	#('ProtoObject' '  Object' '    Morph' '      BorderedMorph' '
       Re...etc...
		firstIndex: 	1
		lastIndex: 	13

OrderedCollection>>at:
	Receiver: an OrderedCollection('ProtoObject' '  Object' '    Morph' '  
   BorderedMorph' '        R...etc...
	Arguments and temporary variables: 
		anInteger: 	28
	Receiver's instance variables: 
		array: 	#('ProtoObject' '  Object' '    Morph' '      BorderedMorph' '
       Re...etc...
		firstIndex: 	1
		lastIndex: 	13

HierarchyBrowser>>classListIndex:
	Receiver: a HierarchyBrowser
	Arguments and temporary variables: 
		newIndex: 	28
		newClassName: 	nil
		ind: 	nil
	Receiver's instance variables: 
		dependents: 	#(a SystemWindow(299) a PluggableListMorph(1269) a
PluggableListMor...etc...
		contents: 	nil
		currentCompiledMethod: 	nil
		contentsSymbol: 	#source
		systemOrganizer: 	('Kernel-Objects' Boolean DependentsArray False
MessageSend Mo...etc...
		classOrganizer: 	('accessing' actionSelector actionSelector: arguments
arguments...etc...
		metaClassOrganizer: 	('as yet unclassified' newWithLabel:)
('printing' defaultNa...etc...
		systemCategoryListIndex: 	77
		classListIndex: 	6
		messageCategoryListIndex: 	0
		messageListIndex: 	0
		editSelection: 	#editClass
		metaClassIndicated: 	false
		classList: 	an OrderedCollection('ProtoObject' '  Object' '    Morph'
'      Bor...etc...
		centralClass: 	SimpleButtonMorph


--- The full stack ---
OrderedCollection(Object)>>error:
OrderedCollection>>errorNoSuchElement
OrderedCollection>>at:
HierarchyBrowser>>classListIndex:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HierarchyBrowser(Browser)>>setClass:selector:
HierarchyBrowser(Browser)>>defineClass:notifying:
HierarchyBrowser(Browser)>>contents:notifying:
PluggableTextMorph>>accept
TextMorphForEditView>>acceptContents
TextMorphEditor>>accept
[] in TextMorphEditor(ParagraphEditor)>>save: {[self accept]}
TextMorphEditor(Controller)>>terminateAndInitializeAround:
TextMorphEditor(ParagraphEditor)>>save:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor
readKeyboard]}
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. 
ActiveEvent := anEvent.  result := focusHolder     han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
processEvents.  capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor
terminateActive]}
...etc...



More information about the Squeak-dev mailing list