oops - replace-by-keyboard-entry got corrupted by
last change (characterencoding).
--- a/EditTextView.st Wed Feb 25 17:13:43 2004 +0100
+++ b/EditTextView.st Wed Feb 25 17:14:23 2004 +0100
@@ -2625,7 +2625,7 @@
insertMode value ifTrue:[
self insertStringAtCursor:something
] ifFalse:[
- self replaceStringAtCursor
+ self replaceStringAtCursor:something
]
].
keep ifTrue:[
@@ -3629,14 +3629,16 @@
].
!
-handleNonCommandKey:key
- |selStartLine selStartCol selEndLine selEndCol sel keyString|
+handleNonCommandKey:keyArg
+ |selStartLine selStartCol selEndLine selEndCol sel key|
self isReadOnly ifTrue:[
self flash.
^ self.
].
+ key := keyArg.
+
typeOfSelection == #paste ifTrue:[
"pasted selection will NOT be replaced by keystroke"
self unselect
@@ -3648,24 +3650,23 @@
selEndCol := self selectionEndCol.
sel := self selection.
- keyString := key asString.
(characterEncoding ? #'unicode') ~= 'unicode' ifTrue:[
- keyString := CharacterEncoder encodeString:keyString from:'unicode' into:characterEncoding.
+ key := CharacterEncoder encode:key from:'unicode' into:characterEncoding.
].
"replace selection by what is typed in -
if word was selected with a space, keep it"
(selectStyle == #wordLeft) ifTrue:[
- self replaceSelectionBy:(' ' , keyString)
+ self replaceSelectionBy:(' ' , key asString)
] ifFalse:[
(selectStyle == #wordRight) ifTrue:[
- self replaceSelectionBy:(keyString , ' ').
+ self replaceSelectionBy:(key asString , ' ').
self cursorLeft
] ifFalse:[
- self replaceSelectionBy:keyString
+ self replaceSelectionBy:key
]
- ].
+ ].
selectStyle := nil.
sel size > 0 ifTrue:[
@@ -5696,5 +5697,5 @@
!EditTextView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.335 2004-02-24 21:34:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.336 2004-02-25 16:14:23 cg Exp $'
! !