summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-06-28 08:28:38 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2006-06-28 08:28:38 +0000
commitf9b6d85f7668fc3ead1fb05cccb5cee30c922d5a (patch)
tree4976b4f362ef9525459c42c7be5768ca55c98482
parent506d2f9a542b2dcdc4dc918abd0524f29e22a2a6 (diff)
downloademacs-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.el26
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))))