mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-08 20:58:58 +00:00
Don't register a coding system into
non-iso-charset-alist more than once. (cp-make-coding-system): Likewise.
This commit is contained in:
parent
5e2ad10b99
commit
848613f869
@ -193,15 +193,18 @@ Return an updated `non-iso-charset-alist'."
|
||||
;; a separate table that only translates the coding
|
||||
;; system's safe-chars.
|
||||
(cons 'translation-table-for-input 'ucs-mule-to-mule-unicode)))
|
||||
(push (list ',name
|
||||
nil ; charset list
|
||||
',decoder
|
||||
(let (l) ; code range
|
||||
(dolist (elt (reverse codes))
|
||||
(push (cdr elt) l)
|
||||
(push (car elt) l))
|
||||
(list l)))
|
||||
non-iso-charset-alist))))
|
||||
(let ((slot (assq ',name non-iso-charset-alist))
|
||||
(elt (list nil ; charset list
|
||||
',decoder
|
||||
(let (l) ; code range
|
||||
(dolist (elt (reverse codes))
|
||||
(push (cdr elt) l)
|
||||
(push (car elt) l))
|
||||
(list l)))))
|
||||
(if (not slot)
|
||||
(push (cons ',name elt) non-iso-charset-alist)
|
||||
(setcdr slot elt)
|
||||
non-iso-charset-alist)))))
|
||||
|
||||
(eval-when-compile (defvar non-iso-charset-alist))
|
||||
|
||||
@ -4502,11 +4505,14 @@ Return an updated `non-iso-charset-alist'."
|
||||
;; Define cp125* as aliases for all windows-125*, so on Windows
|
||||
;; we can just concat "cp" to the ANSI codepage we get from the system
|
||||
;; and not have to worry about whether it should be "cp" or "windows-".
|
||||
(if (coding-system-p w)
|
||||
(define-coding-system-alias c w))
|
||||
;; Compatibility with codepage.el, though cp... are not the
|
||||
;; canonical names.
|
||||
(push (assoc w non-iso-charset-alist) non-iso-charset-alist)))
|
||||
(when (coding-system-p w)
|
||||
(define-coding-system-alias c w)
|
||||
;; Compatibility with codepage.el, though cp... are not the
|
||||
;; canonical names.
|
||||
(if (not (assq c non-iso-charset-alist))
|
||||
(let ((slot (assq w non-iso-charset-alist)))
|
||||
(if slot
|
||||
(push (cons c (cdr slot)) non-iso-charset-alist)))))))
|
||||
|
||||
(provide 'code-pages)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user