summaryrefslogtreecommitdiff
path: root/lisp/term
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-12-25 08:18:29 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-12-25 08:18:29 +0000
commit40cacec2b3ecbc6142b4f24b0870683a161a6cd2 (patch)
tree5ca14e78f611d4d450a2a0128be201959ec0b50f /lisp/term
parentd3f4ab736a79aa886c6f744fcbe79b04edbec01f (diff)
downloademacs-40cacec2b3ecbc6142b4f24b0870683a161a6cd2.tar.gz
(mac-keyboard-translate-char, mac-unread-string):
New functions. (mac-ts-update-active-input-area, mac-ts-unicode-for-key-event): Use mac-unread-string.
Diffstat (limited to 'lisp/term')
-rw-r--r--lisp/term/mac-win.el28
1 files changed, 18 insertions, 10 deletions
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el
index cba4985ccb3..d9454a0499e 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1964,6 +1964,22 @@ the echo area or in a buffer where the cursor is not displayed."
(mac-split-string-by-property-change string)
""))
+(defun mac-keyboard-translate-char (ch)
+ (if (and (char-valid-p ch)
+ (or (char-table-p keyboard-translate-table)
+ (and (or (stringp keyboard-translate-table)
+ (vectorp keyboard-translate-table))
+ (> (length keyboard-translate-table) ch))))
+ (or (aref keyboard-translate-table ch) ch)
+ ch))
+
+(defun mac-unread-string (string)
+ ;; Unread characters and insert them in a keyboard macro being
+ ;; defined.
+ (apply 'isearch-unread
+ (mapcar 'mac-keyboard-translate-char
+ (mac-replace-untranslated-utf-8-chars string))))
+
(defun mac-ts-update-active-input-area (event)
"Update Mac TSM active input area according to EVENT.
The confirmed text is converted to Emacs input events and pushed
@@ -2042,11 +2058,7 @@ either in the current buffer or in the echo area."
(point) (point) (current-buffer))
(overlay-put mac-ts-active-input-overlay 'before-string
active-input-string))
- ;; Unread confirmed characters and insert them in a keyboard
- ;; macro being defined.
- (apply 'isearch-unread
- (append (mac-replace-untranslated-utf-8-chars
- (funcall decode-fun confirmed coding)) '())))
+ (mac-unread-string (funcall decode-fun confirmed coding)))
;; The event is successfully processed. Sync the sequence number.
(setq mac-ts-update-active-input-area-seqno (1+ seqno))))
@@ -2059,11 +2071,7 @@ either in the current buffer or in the echo area."
(coding (or (cdr (assq (car script-language)
mac-script-code-coding-systems))
'mac-roman)))
- ;; Unread characters and insert them in a keyboard macro being
- ;; defined.
- (apply 'isearch-unread
- (append (mac-replace-untranslated-utf-8-chars
- (mac-utxt-to-string text coding)) '()))))
+ (mac-unread-string (mac-utxt-to-string text coding))))
;; kEventClassTextInput/kEventTextInputUpdateActiveInputArea
(define-key mac-apple-event-map [text-input update-active-input-area]