I've noticed this recursion a few times. I chose a method in a RB and asked the RB to "rename method", and got this. I have the RB and Skins packages loaded.
20 May 2003 12:16:08 pm
VM: Win32 - Squeak3.4 of 1 March 2003 [latest update: #5170] Image: Squeak3.6alpha [latest update: #5184]
PluggableTextMorph>>extent: Receiver: a PluggableTextMorph(2667) Arguments and temporary variables: newExtent: 296@18 Receiver's instance variables: bounds: 2@20 corner: 298@38 owner: a SystemWindow(2881) submorphs: #(a TransformMorph(1395)) fullBounds: nil color: Color transparent extension: a MorphExtension (1334) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2786) scroller: a TransformMorph(1395) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1183) getTextSelector: #selector setTextSelector: #selector: getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph>>resetExtent Receiver: a PluggableTextMorph(2667) Arguments and temporary variables: tempSelection: (1 to: 0) Receiver's instance variables: bounds: 2@20 corner: 298@38 owner: a SystemWindow(2881) submorphs: #(a TransformMorph(1395)) fullBounds: nil color: Color transparent extension: a MorphExtension (1334) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2786) scroller: a TransformMorph(1395) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1183) getTextSelector: #selector setTextSelector: #selector: getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph(ScrollPane)>>showScrollBar Receiver: a PluggableTextMorph(2667) Arguments and temporary variables:
Receiver's instance variables: bounds: 2@20 corner: 298@38 owner: a SystemWindow(2881) submorphs: #(a TransformMorph(1395)) fullBounds: nil color: Color transparent extension: a MorphExtension (1334) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2786) scroller: a TransformMorph(1395) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1183) getTextSelector: #selector setTextSelector: #selector: getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar Receiver: a PluggableTextMorph(2667) Arguments and temporary variables:
Receiver's instance variables: bounds: 2@20 corner: 298@38 owner: a SystemWindow(2881) submorphs: #(a TransformMorph(1395)) fullBounds: nil color: Color transparent extension: a MorphExtension (1334) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(2786) scroller: a TransformMorph(1395) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1183) getTextSelector: #selector setTextSelector: #selector: getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
--- The full stack --- PluggableTextMorph>>extent: ...etc...
This is still a problem in 3.6.
Bringing up a browser. Squeak hangs, eventually crashes because it's out of memory. Preferences for inboard scrollbars and hidden scrollbars are set. The problem is that the scrollbar keeps getting alternately hidden and shown, and there's a possible recursion:
PluggableTextMorph>>extent: PluggableTextMorph>>resetExtent PluggableTextMorph(ScrollPane)>>hideScrollBar PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar PluggableTextMorph(ScrollPane)>>setScrollDeltas PluggableTextMorph>>extent: PluggableTextMorph>>resetExtent PluggableTextMorph(ScrollPane)>>showScrollBar PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar PluggableTextMorph(ScrollPane)>>setScrollDeltas PluggableTextMorph>>extent: PluggableTextMorph>>resetExtent PluggableTextMorph(ScrollPane)>>showScrollBar PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar PluggableTextMorph(ScrollPane)>>setScrollDeltas PluggableTextMorph>>extent:
[ etc... ]
PluggableTextMorph>>resetExtent PluggableTextMorph(ScrollPane)>>showScrollBar PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar PluggableTextMorph(ScrollPane)>>setScrollDeltas PluggableTextMorph>>extent: PluggableTextMorph(Morph)>>bounds: PluggableTextMorph(Morph)>>layoutInBounds: PluggableTextMorph(Morph)>>layoutProportionallyIn:
14 August 2003 8:50:05 am
VM: unix - Squeak3.6beta of '4 July 2003' [latest update: #5373] Image: Squeak3.6beta [latest update: #5395]
PluggableTextMorph>>extent: Receiver: a PluggableTextMorph(3921) Arguments and temporary variables: newExtent: 296@18 Receiver's instance variables: bounds: 2@144 corner: 298@162 owner: a SystemWindow(827) submorphs: #(a TransformMorph(28)) fullBounds: nil color: Color transparent extension: a MorphExtension (2581) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(807) scroller: a TransformMorph(28) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1320) getTextSelector: #methodPreview setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph>>resetExtent Receiver: a PluggableTextMorph(3921) Arguments and temporary variables: tempSelection: (1 to: 0) Receiver's instance variables: bounds: 2@144 corner: 298@162 owner: a SystemWindow(827) submorphs: #(a TransformMorph(28)) fullBounds: nil color: Color transparent extension: a MorphExtension (2581) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(807) scroller: a TransformMorph(28) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1320) getTextSelector: #methodPreview setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph(ScrollPane)>>hideScrollBar Receiver: a PluggableTextMorph(3921) Arguments and temporary variables:
Receiver's instance variables: bounds: 2@144 corner: 298@162 owner: a SystemWindow(827) submorphs: #(a TransformMorph(28)) fullBounds: nil color: Color transparent extension: a MorphExtension (2581) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(807) scroller: a TransformMorph(28) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1320) getTextSelector: #methodPreview setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
PluggableTextMorph(ScrollPane)>>hideOrShowScrollBar Receiver: a PluggableTextMorph(3921) Arguments and temporary variables:
Receiver's instance variables: bounds: 2@144 corner: 298@162 owner: a SystemWindow(827) submorphs: #(a TransformMorph(28)) fullBounds: nil color: Color transparent extension: a MorphExtension (2581) [other: (layoutFrame -> a LayoutFrame) (lay...etc... borderWidth: 2 borderColor: #inset model: a MethodNameEditor slotName: nil open: false pinSpecs: nil scrollBar: a ScrollBar(807) scroller: a TransformMorph(28) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: nil getMenuTitleSelector: nil scrollBarHidden: nil hasFocus: false textMorph: a TextMorphForEditView(1320) getTextSelector: #methodPreview setTextSelector: nil getSelectionSelector: nil hasUnacceptedEdits: false askBeforeDiscardingEdits: true selectionInterval: (1 to: 0) hasEditingConflicts: false
--- The full stack --- PluggableTextMorph>>extent: ...etc...
squeak-dev@lists.squeakfoundation.org