summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2003-06-05 23:21:22 +0000
committerKenichi Handa <handa@m17n.org>2003-06-05 23:21:22 +0000
commitff563fced507c7615f93dd0c9ea847776a2fa91a (patch)
tree869dd304095e44c08265d9356226d97b81a89169
parent5d75f46fcaeca06eadbce0c7719ad490511ef5c9 (diff)
downloademacs-ff563fced507c7615f93dd0c9ea847776a2fa91a.tar.gz
(Fset_coding_system_priority): Doc fix. Update values
of codng-category-XXX, and coding-category-list. (syms_of_coding): Set all elements of Vcoding_category_table and their symbol values.
-rw-r--r--src/coding.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/coding.c b/src/coding.c
index 7fc2a007ad7..c9f5837e191 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -7763,7 +7763,8 @@ usage: (find-operation-coding-system OPERATION ARGUMENTS ...) */)
DEFUN ("set-coding-system-priority", Fset_coding_system_priority,
Sset_coding_system_priority, 0, MANY, 0,
doc: /* Assign higher priority to the coding systems given as arguments.
-usage: (set-coding-system-priority CODING-SYSTEM ...) */)
+If multiple coding systems belongs to the same category,
+all but the first one are ignored. */)
(nargs, args)
int nargs;
Lisp_Object *args;
@@ -7791,6 +7792,7 @@ usage: (set-coding-system-priority CODING-SYSTEM ...) */)
if (coding_categories[category].id >= 0
&& ! EQ (args[i], CODING_ID_NAME (coding_categories[category].id)))
setup_coding_system (args[i], &coding_categories[category]);
+ Fset (AREF (Vcoding_category_table, category), args[i]);
}
/* Now we have decided top J priorities. Reflect the order of the
@@ -7807,6 +7809,14 @@ usage: (set-coding-system-priority CODING-SYSTEM ...) */)
}
bcopy (priorities, coding_priorities, sizeof priorities);
+
+ /* Update `coding-category-list'. */
+ Vcoding_category_list = Qnil;
+ for (i = coding_category_max - 1; i >= 0; i--)
+ Vcoding_category_list
+ = Fcons (AREF (Vcoding_category_table, priorities[i]),
+ Vcoding_category_list);
+
return Qnil;
}
@@ -8633,6 +8643,8 @@ syms_of_coding ()
intern ("coding-category-utf-8"));
ASET (Vcoding_category_table, coding_category_utf_16_be,
intern ("coding-category-utf-16-be"));
+ ASET (Vcoding_category_table, coding_category_utf_16_auto,
+ intern ("coding-category-utf-16-auto"));
ASET (Vcoding_category_table, coding_category_utf_16_le,
intern ("coding-category-utf-16-le"));
ASET (Vcoding_category_table, coding_category_utf_16_be_nosig,
@@ -8954,6 +8966,13 @@ character.");
setup_coding_system (Qno_conversion, &keyboard_coding);
setup_coding_system (Qno_conversion, &terminal_coding);
setup_coding_system (Qno_conversion, &safe_terminal_coding);
+
+ {
+ int i;
+
+ for (i = 0; i < coding_category_max; i++)
+ Fset (AREF (Vcoding_category_table, i), Qno_conversion);
+ }
}
char *