diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-06-28 08:28:38 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-06-28 08:28:38 +0000 |
commit | f9b6d85f7668fc3ead1fb05cccb5cee30c922d5a (patch) | |
tree | 4976b4f362ef9525459c42c7be5768ca55c98482 | |
parent | 506d2f9a542b2dcdc4dc918abd0524f29e22a2a6 (diff) | |
download | emacs-f9b6d85f7668fc3ead1fb05cccb5cee30c922d5a.tar.gz |
(mac-handle-font-selection): Change keys of
mac-atsu-font-table from strings to numbers.
(mac-ts-caret-position): Use also when cursor-type is nil.
(mac-ts-update-active-input-area): Add Mac OS Classic support.
Relax condition for using overlay strings. Use
mac-ts-caret-position face when cursor-type is nil.
-rw-r--r-- | lisp/term/mac-win.el | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 7ab9ac9481f..f1f66b1d4df 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el @@ -1784,7 +1784,7 @@ With numeric ARG, display the font panel if and only if ARG is positive." (interactive "e") (let* ((ae (mac-event-ae event)) (fm-font-size (mac-ae-number ae "fmsz")) - (atsu-font-id (cdr (mac-ae-parameter ae "auid"))) + (atsu-font-id (mac-ae-number ae "auid")) (attribute-values (gethash atsu-font-id mac-atsu-font-table))) (if fm-font-size (setq attribute-values @@ -1815,8 +1815,8 @@ With numeric ARG, display the font panel if and only if ARG is positive." (defface mac-ts-caret-position '((t :inverse-video t)) "Face for caret position in Mac TSM active input area. -This is used only when the active input area is displayed in the -echo area." +This is used when the active input area is displayed either in +the echo area or in a buffer where the cursor is not displayed." :group 'mac) (defface mac-ts-raw-text @@ -1963,7 +1963,10 @@ into `unread-command-events'. The unconfirmed text is displayed either in the current buffer or in the echo area." (interactive "e") (let* ((ae (mac-event-ae event)) - (text (or (cdr (mac-ae-parameter ae "tstx" "utxt")) "")) + (type-text (mac-ae-parameter ae "tstx")) + (text (or (cdr type-text) "")) + (decode-fun (if (equal (car type-text) "TEXT") + 'mac-TEXT-to-string 'mac-utxt-to-string)) (script-language (mac-ae-script-language ae "tssl")) (coding (or (cdr (assq (car script-language) mac-script-code-coding-systems)) @@ -1985,22 +1988,27 @@ either in the current buffer or in the echo area." (or isearch-mode (and cursor-in-echo-area (current-message)) ;; Overlay strings are not shown in some cases. - (get-char-property (point) 'display) (get-char-property (point) 'invisible) - (get-char-property (point) 'composition))) + (and (not (bobp)) + (or (and (get-char-property (point) 'display) + (eq (get-char-property (1- (point)) 'display) + (get-char-property (point) 'display))) + (and (get-char-property (point) 'composition) + (eq (get-char-property (1- (point)) 'composition) + (get-char-property (point) 'composition))))))) active-input-string caret-seen) ;; Decode the active input area text with inheriting faces and ;; the caret position. (setq active-input-string (mapconcat (lambda (str) - (let ((decoded (mac-utxt-to-string str coding))) + (let ((decoded (funcall decode-fun str coding))) (put-text-property 0 (length decoded) 'face (get-text-property 0 'face str) decoded) (when (and (not caret-seen) (get-text-property 0 'cursor str)) (setq caret-seen t) - (if use-echo-area + (if (or use-echo-area (null cursor-type)) (put-text-property 0 1 'face 'mac-ts-caret-position decoded) (put-text-property 0 1 'cursor t decoded))) @@ -2030,7 +2038,7 @@ either in the current buffer or in the echo area." ;; macro being defined. (apply 'isearch-unread (append (mac-replace-untranslated-utf-8-chars - (mac-utxt-to-string confirmed coding)) '()))) + (funcall decode-fun confirmed coding)) '()))) ;; The event is successfully processed. Sync the sequence number. (setq mac-ts-update-active-input-area-seqno (1+ seqno)))) |