# HG changeset patch # User Kenichi Handa # Date 912067932 0 # Node ID 45f1d511e726421b9d2d75e0ab77bb1b71de001f # Parent b922cc2b350afb0533fa557f92e3c3b05f72f2e0 (define-translation-table): Fix bug of setting incorrect translation-table-id. If the first element of ARGS is a translation table, just register it. diff -r b922cc2b350a -r 45f1d511e726 lisp/international/mule.el --- 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))