diff options
| author | Richard M. Stallman | 1998-03-06 21:33:37 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-03-06 21:33:37 +0000 |
| commit | 171666af2dcfc455cb1f69d0ad9ce85919e441cc (patch) | |
| tree | 6d6af78c4296c757420a1dff9fbda02d0c2775b5 | |
| parent | ecd57ad40f7c73c39e80656cd14191add2f9040c (diff) | |
| download | emacs-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.el | 8 |
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. |