Mercurial > emacs
changeset 23770:45f1d511e726
(define-translation-table): Fix bug of
setting incorrect translation-table-id. If the first element of
ARGS is a translation table, just register it.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Thu, 26 Nov 1998 08:12:12 +0000 |
parents | b922cc2b350a |
children | 0ed776e14a50 |
files | lisp/international/mule.el |
diffstat | 1 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule.el Thu Nov 26 08:12:12 1998 +0000 +++ b/lisp/international/mule.el Thu Nov 26 08:12:12 1998 +0000 @@ -1181,13 +1181,20 @@ (defun define-translation-table (symbol &rest args) "Define SYMBOL as a name of translation table made by ARGS. -See the documentation of the function `make-translation-table' for the -meaning of ARGS. +If the first element of ARGS is a char-table of which purpose is +translation-table, just define SYMBOL as the name of it. + +In the other case, ARGS are the same as arguments to the function +`make-translation-table' (which see). This function sets properties `translation-table' and `translation-table-id' of SYMBOL to the created table itself and identification number of the table respectively." - (let ((table (apply 'make-translation-table args)) + (let ((table (if (and (char-table-p (car args)) + (eq (char-table-subtype (car args)) + 'translation-table)) + (car args) + (apply 'make-translation-table args))) (len (length translation-table-vector)) (id 0) (done nil)) @@ -1201,8 +1208,8 @@ (eq (car slot) symbol)) (progn (aset translation-table-vector id (cons symbol table)) - (setq done t)))) - (setq id (1+ id))) + (setq done t)) + (setq id (1+ id))))) (put symbol 'translation-table-id id) id))