diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-12-25 08:18:29 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-12-25 08:18:29 +0000 |
commit | 40cacec2b3ecbc6142b4f24b0870683a161a6cd2 (patch) | |
tree | 5ca14e78f611d4d450a2a0128be201959ec0b50f /lisp/term | |
parent | d3f4ab736a79aa886c6f744fcbe79b04edbec01f (diff) | |
download | emacs-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.el | 28 |
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] |