551 |
((eq coding-type 'utf-16) |
((eq coding-type 'utf-16) |
552 |
'(:bom |
'(:bom |
553 |
:endian)) |
:endian)) |
554 |
|
;; Fixme: CCL definition is broken. |
555 |
((eq coding-type 'ccl) |
((eq coding-type 'ccl) |
556 |
'(:ccl-decoder |
'(:ccl-decoder |
557 |
:ccl-encoder |
:ccl-encoder |
698 |
;; coding systems (if necessary). |
;; coding systems (if necessary). |
699 |
(while (cdr tail) |
(while (cdr tail) |
700 |
(let* ((coding (car (cdr tail))) |
(let* ((coding (car (cdr tail))) |
701 |
(aliases (coding-system-get coding 'alias-coding-systems))) |
(aliases (coding-system-aliases coding))) |
702 |
(if (or |
(if (or |
703 |
;; CODING is an eol variant if not in ALIASES. |
;; CODING is an eol variant if not in ALIASES. |
704 |
(not (memq coding aliases)) |
(not (memq coding aliases)) |
874 |
|
|
875 |
(setq next-selection-coding-system coding-system)) |
(setq next-selection-coding-system coding-system)) |
876 |
|
|
877 |
|
;; Fixme: |
878 |
(defun set-coding-priority (arg) |
(defun set-coding-priority (arg) |
879 |
"Set priority of coding categories according to ARG. |
"Set priority of coding categories according to ARG. |
880 |
ARG is a list of coding categories ordered by priority. |
ARG is a list of coding categories ordered by priority. |
1379 |
Each argument is a list of elements of the form (FROM . TO), where FROM |
Each argument is a list of elements of the form (FROM . TO), where FROM |
1380 |
is a character to be translated to TO. |
is a character to be translated to TO. |
1381 |
|
|
|
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). |
|
|
|
|
1382 |
The arguments and forms in each argument are processed in the given |
The arguments and forms in each argument are processed in the given |
1383 |
order, and if a previous form already translates TO to some other |
order, and if a previous form already translates TO to some other |
1384 |
character, say TO-ALT, FROM is also translated to TO-ALT." |
character, say TO-ALT, FROM is also translated to TO-ALT." |
1401 |
(if (and (/= from-i to-i) (/= to-i 0)) |
(if (and (/= from-i to-i) (/= to-i 0)) |
1402 |
(error "Invalid character pair (%d . %d)" from to)) |
(error "Invalid character pair (%d . %d)" from to)) |
1403 |
;; If we have already translated TO to TO-ALT, FROM should |
;; If we have already translated TO to TO-ALT, FROM should |
1404 |
;; also be translated to TO-ALT. But, this is only if TO |
;; also be translated to TO-ALT. |
|
;; is a generic character or TO-ALT is not a generic |
|
|
;; character. |
|
1405 |
(let ((to-alt (aref table to))) |
(let ((to-alt (aref table to))) |
1406 |
(if (and to-alt |
(if (and to-alt (> to-i 0)) |
|
(or (> to-i 0) (not (generic-char-p to-alt)))) |
|
1407 |
(setq to to-alt))) |
(setq to to-alt))) |
1408 |
(if (> from-i 0) |
(if (> from-i 0) |
1409 |
(set-char-table-default table from to) |
(set-char-table-default table from to) |
1488 |
|
|
1489 |
(defmacro with-category-table (category-table &rest body) |
(defmacro with-category-table (category-table &rest body) |
1490 |
"Execute BODY like `progn' with CATEGORY-TABLE the current category table." |
"Execute BODY like `progn' with CATEGORY-TABLE the current category table." |
1491 |
`(let ((current-category-table (category-table))) |
(let ((current-category-table (make-symbol "current-category-table"))) |
1492 |
(set-category-table ,category-table) |
`(let ((,current-category-table (category-table))) |
1493 |
(unwind-protect |
(set-category-table ,category-table) |
1494 |
(progn ,@body) |
(unwind-protect |
1495 |
(set-category-table current-category-table)))) |
(progn ,@body) |
1496 |
|
(set-category-table ,current-category-table))))) |
1497 |
|
|
1498 |
;;; Initialize some variables. |
;;; Initialize some variables. |
1499 |
|
|