Mercurial > emacs
changeset 88651:ddc129ce7bc1
(with-category-table): Use make-symbol.
(coding-system-list): Use coding-system-aliases.
(make-translation-table): Don't deal with generic characters.
author | Dave Love <fx@gnu.org> |
---|---|
date | Sun, 26 May 2002 22:41:07 +0000 |
parents | 5283691b80bf |
children | 8b4e3bbe01d4 |
files | lisp/international/mule.el |
diffstat | 1 files changed, 11 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule.el Sun May 26 17:23:53 2002 +0000 +++ b/lisp/international/mule.el Sun May 26 22:41:07 2002 +0000 @@ -551,6 +551,7 @@ ((eq coding-type 'utf-16) '(:bom :endian)) + ;; Fixme: CCL definition is broken. ((eq coding-type 'ccl) '(:ccl-decoder :ccl-encoder @@ -697,7 +698,7 @@ ;; coding systems (if necessary). (while (cdr tail) (let* ((coding (car (cdr tail))) - (aliases (coding-system-get coding 'alias-coding-systems))) + (aliases (coding-system-aliases coding))) (if (or ;; CODING is an eol variant if not in ALIASES. (not (memq coding aliases)) @@ -873,6 +874,7 @@ (setq next-selection-coding-system coding-system)) +;; Fixme: (defun set-coding-priority (arg) "Set priority of coding categories according to ARG. ARG is a list of coding categories ordered by priority. @@ -1377,12 +1379,6 @@ Each argument is a list of elements of the form (FROM . TO), where FROM is a character to be translated to TO. -FROM can be a generic character (see `make-char'). In this case, TO is -a generic character containing the same number of characters, or an -ordinary character. If FROM and TO are both generic characters, all -characters belonging to FROM are translated to characters belonging to TO -without changing their position code(s). - The arguments and forms in each argument are processed in the given order, and if a previous form already translates TO to some other character, say TO-ALT, FROM is also translated to TO-ALT." @@ -1405,12 +1401,9 @@ (if (and (/= from-i to-i) (/= to-i 0)) (error "Invalid character pair (%d . %d)" from to)) ;; If we have already translated TO to TO-ALT, FROM should - ;; also be translated to TO-ALT. But, this is only if TO - ;; is a generic character or TO-ALT is not a generic - ;; character. + ;; also be translated to TO-ALT. (let ((to-alt (aref table to))) - (if (and to-alt - (or (> to-i 0) (not (generic-char-p to-alt)))) + (if (and to-alt (> to-i 0)) (setq to to-alt))) (if (> from-i 0) (set-char-table-default table from to) @@ -1495,11 +1488,12 @@ (defmacro with-category-table (category-table &rest body) "Execute BODY like `progn' with CATEGORY-TABLE the current category table." - `(let ((current-category-table (category-table))) - (set-category-table ,category-table) - (unwind-protect - (progn ,@body) - (set-category-table current-category-table)))) + (let ((current-category-table (make-symbol "current-category-table"))) + `(let ((,current-category-table (category-table))) + (set-category-table ,category-table) + (unwind-protect + (progn ,@body) + (set-category-table ,current-category-table))))) ;;; Initialize some variables.