diff options
Diffstat (limited to 'lisp/international/quail.el')
-rw-r--r-- | lisp/international/quail.el | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 5828d0f550c..01ec42109de 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -1274,28 +1274,16 @@ The returned value is a Quail map specific to KEY." (defun quail-input-string-to-events (str) "Convert input string STR to a list of events. -Do so while interleaving with the following special events: -\(compose-last-chars LEN COMPONENTS) -\(quail-advice INPUT-STRING)" - (let* ((events (mapcar - (lambda (c) - ;; This gives us the chance to unify on input - ;; (e.g. using ucs-tables.el). - (or (and translation-table-for-input - (aref translation-table-for-input c)) - c)) - str)) - (len (length str)) - (idx len) - composition from to) - (while (and (> idx 0) - (setq composition (find-composition idx 0 str t))) - (setq from (car composition) to (nth 1 composition)) - (setcdr (nthcdr (1- to) events) - (cons (list 'compose-last-chars (- to from) - (and (not (nth 3 composition)) (nth 2 composition))) - (nthcdr to events))) - (setq idx (1- from))) +If STR has `advice' text property, append the following special event: +\(quail-advice STR)" + (let ((events (mapcar + (lambda (c) + ;; This gives us the chance to unify on input + ;; (e.g. using ucs-tables.el). + (or (and translation-table-for-input + (aref translation-table-for-input c)) + c)) + str))) (if (or (get-text-property 0 'advice str) (next-single-property-change 0 'advice str)) (setq events @@ -2499,7 +2487,7 @@ physical keyboard layout as specified with that variable. (when (> num 0) (insert " KEY SEQUENCE ------------ +------------ ") (if (quail-show-layout) (insert "You can also input more characters") @@ -2964,8 +2952,8 @@ of each directory." ;; At last, write out LEIM list file. (with-current-buffer list-buf - (setq buffer-file-coding-system 'iso-2022-7bit) - (save-buffer 0)) + (let ((coding-system-for-write 'iso-2022-7bit)) + (save-buffer 0))) (kill-buffer list-buf) (message "Updating %s ... done" leim-list))) |