Mercurial > emacs
changeset 74892:b064bb685ef7
(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.
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Mon, 25 Dec 2006 08:18:17 +0000 |
parents | 181210a9cef5 |
children | 0140b806eb69 |
files | lisp/term/mac-win.el |
diffstat | 1 files changed, 18 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/term/mac-win.el Mon Dec 25 08:18:09 2006 +0000 +++ b/lisp/term/mac-win.el Mon Dec 25 08:18:17 2006 +0000 @@ -1964,6 +1964,22 @@ (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 @@ (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 @@ (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]