comparison leim/quail/indian.el @ 79211:348da3bab27a

(quail-indian-update-preceding-char): Don't mark the variable as frame-local; it wasn't used as such.
author Juanma Barranquero <lekktu@gmail.com>
date Wed, 24 Oct 2007 11:47:41 +0000
parents 2904684117d6
children 3ca83a726835
comparison
equal deleted inserted replaced
79210:6277ff95f884 79211:348da3bab27a
45 (car prec-composed) 45 (car prec-composed)
46 (1- position)) 46 (1- position))
47 nil))) 47 nil)))
48 48
49 (defvar quail-indian-update-preceding-char nil) 49 (defvar quail-indian-update-preceding-char nil)
50 (make-variable-frame-local 'quail-indian-update-preceding-char)
51 50
52 ;; Input value :: 51 ;; Input value ::
53 ;; CONTROL-FLAG is integer `n' 52 ;; CONTROL-FLAG is integer `n'
54 ;; quail-current-key :: keyboard input. 53 ;; quail-current-key :: keyboard input.
55 ;; Only first `n' can be translated. 54 ;; Only first `n' can be translated.
56 ;; quail-current-str :: corresonding string. 55 ;; quail-current-str :: corresonding string.
57 ;; jobs :: (1) put last (len-n) char to unrread-command-event. 56 ;; jobs :: (1) put last (len-n) char to unrread-command-event.
58 ;; (2) put translated string to quail-current-str. 57 ;; (2) put translated string to quail-current-str.
59 ;; 58 ;;
60 ;; CONTROL-FLAG is t (terminate) or nil (proceed the translation) 59 ;; CONTROL-FLAG is t (terminate) or nil (proceed the translation)
61 ;; quail-current-key :: keyboard input. 60 ;; quail-current-key :: keyboard input.
62 ;; quail-current-str :: corresponding string. 61 ;; quail-current-str :: corresponding string.
63 ;; jobs :: (1) put modified translated string to quail-current-str. 62 ;; jobs :: (1) put modified translated string to quail-current-str.
64 ;; 63 ;;
65 ;; When non-nil value is returned from quail-translation-update-function, 64 ;; When non-nil value is returned from quail-translation-update-function,
66 ;; the quail-current-str is split to characters and put into event queue, 65 ;; the quail-current-str is split to characters and put into event queue,
67 ;; with `compose-last-char' event with composition info at the end. 66 ;; with `compose-last-char' event with composition info at the end.
68 67
69 (defun quail-indian-update-translation (control-flag) 68 (defun quail-indian-update-translation (control-flag)
70 ;; make quail-current-str string when possible. 69 ;; make quail-current-str string when possible.
71 (if (char-valid-p quail-current-str) 70 (if (char-valid-p quail-current-str)
77 (if (= (overlay-start quail-overlay) (overlay-end quail-overlay)) 76 (if (= (overlay-start quail-overlay) (overlay-end quail-overlay))
78 (setq quail-indian-update-preceding-char nil)) 77 (setq quail-indian-update-preceding-char nil))
79 ;; Check the preceding character of the quail region. If the 78 ;; Check the preceding character of the quail region. If the
80 ;; preceding character can be composed with quail-current-str, then 79 ;; preceding character can be composed with quail-current-str, then
81 ;; grab that preceding character into the quail-current-str and 80 ;; grab that preceding character into the quail-current-str and
82 ;; remove that char from the region. 81 ;; remove that char from the region.
83 (let* (prec-char-position composition-regexp 82 (let* (prec-char-position composition-regexp
84 prec-char-str candidate-str match-pos match-end) 83 prec-char-str candidate-str match-pos match-end)
85 (when (and quail-current-str 84 (when (and quail-current-str
86 (null quail-indian-update-preceding-char) 85 (null quail-indian-update-preceding-char)
87 (null input-method-use-echo-area) 86 (null input-method-use-echo-area)
101 match-end (match-end 0)) 100 match-end (match-end 0))
102 (> match-end (length prec-char-str))) 101 (> match-end (length prec-char-str)))
103 (setq quail-indian-update-preceding-char prec-char-str) 102 (setq quail-indian-update-preceding-char prec-char-str)
104 (delete-region prec-char-position 103 (delete-region prec-char-position
105 (overlay-start quail-overlay)))) 104 (overlay-start quail-overlay))))
106 (setq quail-current-str 105 (setq quail-current-str
107 (indian-compose-string 106 (indian-compose-string
108 (concat quail-indian-update-preceding-char 107 (concat quail-indian-update-preceding-char
109 quail-current-str))) 108 quail-current-str)))
110 (if (numberp control-flag) 109 (if (numberp control-flag)
111 (setq unread-command-events 110 (setq unread-command-events
112 (string-to-list 111 (string-to-list
113 (substring quail-current-key control-flag)))) 112 (substring quail-current-key control-flag))))