Not sure if this is the same, but it sounds similar to something I have experienced in recent squeaks. See if this helps at all:
'From Squeak5.1 of 23 August 2016 [latest
update: #16548] on 3 November 2018 at 9:50:50 pm'!
!TextMorphForEditView methodsFor: 'event handling' stamp: 'raa
11/3/2018 21:50'!
keyStroke: evt
| view |
editView deleteBalloon.
(editView scrollByKeyboard: evt) ifTrue: [^self].
[(evt controlKeyPressed
and: [evt commandKeyPressed]
and: [evt keyValue = 28 or: [evt keyValue = 29]]
) ifTrue: [
^self "funky trackpad code scrolls - yecch"
].] on: Error do: [ :ex | ].
self editor model: editView model. "For evaluateSelection"
view := editView. "Copy into temp for case of a
self-mutating doit"
(acceptOnCR and: [evt keyCharacter = Character cr])
ifTrue: [^ self editor accept].
super keyStroke: evt.
view scrollSelectionIntoView.
"Make a cheap check and guess editing. (Alternative would be
to copy the old contents and then compare them against the new
ones. Maybe add a better hook in the TextEditor."
(self readOnly not and: [evt keyCharacter isAlphaNumeric or:
[evt keyCharacter isSeparator]])
ifTrue: [view textEdited: self contents].! !
Hi Eliot and all, I have just noticed in Squeak 5.2 that attempting to scroll a text pane beyond its scroll limit causes the text cursor to start moving. So, for example, when I have a selected expression in the debugger, and I simply scroll the text pane, I hit the end and lose the selection, which is incredibly annoying. Does anyone know why this is and how to fix it? Thanks