aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1998-03-06 21:33:37 +0000
committerRichard M. Stallman1998-03-06 21:33:37 +0000
commit171666af2dcfc455cb1f69d0ad9ce85919e441cc (patch)
tree6d6af78c4296c757420a1dff9fbda02d0c2775b5
parentecd57ad40f7c73c39e80656cd14191add2f9040c (diff)
downloademacs-171666af2dcfc455cb1f69d0ad9ce85919e441cc.tar.gz
emacs-171666af2dcfc455cb1f69d0ad9ce85919e441cc.zip
(quail-defrule-internal): New arg REPLACE.
(quail-defrule): Call quail-defrule-internal with REPLACE t.
-rw-r--r--lisp/international/quail.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 69b8982a7bd..ded94b76d02 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -798,7 +798,7 @@ If TRANSLATION is a Quail map or a function symbol which returns a Quail map,
798 ',(let ((l rules) 798 ',(let ((l rules)
799 (map (list nil))) 799 (map (list nil)))
800 (while l 800 (while l
801 (quail-defrule-internal (car (car l)) (car (cdr (car l))) map) 801 (quail-defrule-internal (car (car l)) (car (cdr (car l))) map t)
802 (setq l (cdr l))) 802 (setq l (cdr l)))
803 map))) 803 map)))
804 804
@@ -841,7 +841,7 @@ current Quail package."
841 (quail-defrule-internal key translation (quail-map))) 841 (quail-defrule-internal key translation (quail-map)))
842 842
843;;;###autoload 843;;;###autoload
844(defun quail-defrule-internal (key trans map) 844(defun quail-defrule-internal (key trans map &optional append)
845 "Define KEY as TRANS in a Quail map MAP." 845 "Define KEY as TRANS in a Quail map MAP."
846 (if (null (stringp key)) 846 (if (null (stringp key))
847 "Invalid Quail key `%s'" key) 847 "Invalid Quail key `%s'" key)
@@ -891,7 +891,9 @@ current Quail package."
891 (error "Quail key %s is too short" key) 891 (error "Quail key %s is too short" key)
892 (setcdr entry trans)) 892 (setcdr entry trans))
893 (setcdr entry (append trans (cdr map))))) 893 (setcdr entry (append trans (cdr map)))))
894 (setcar map trans))))) 894 (if (and append (stringp (car map)) (stringp trans))
895 (setcar map (concat (car map) trans))
896 (setcar map trans))))))
895 897
896(defun quail-get-translation (def key len) 898(defun quail-get-translation (def key len)
897 "Return the translation specified as DEF for KEY of length LEN. 899 "Return the translation specified as DEF for KEY of length LEN.