aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2002-05-21 04:22:33 +0000
committerKenichi Handa2002-05-21 04:22:33 +0000
commit4f65af013ec650af933680f93313486591aa7dcb (patch)
tree78a986d2fba3846d9b146d43461a55a038601953
parent7996eb7819e260efd81613c03a498d3e3de99678 (diff)
downloademacs-4f65af013ec650af933680f93313486591aa7dcb.tar.gz
emacs-4f65af013ec650af933680f93313486591aa7dcb.zip
(Fdefine_charset_internal): Fix bug for the case of re-defining a
charset. If the charset has :emacs-mule-id, setup emacs_mule_bytes.
-rw-r--r--src/charset.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/charset.c b/src/charset.c
index 51fc28c588a..11dd4b82b72 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -888,6 +888,7 @@ usage: (define-charset-internal ...) */)
888 if (charset.hash_index >= 0) 888 if (charset.hash_index >= 0)
889 { 889 {
890 new_definition_p = 0; 890 new_definition_p = 0;
891 id = XFASTINT (CHARSET_SYMBOL_ID (args[charset_arg_name]));
891 HASH_VALUE (hash_table, charset.hash_index) = attrs; 892 HASH_VALUE (hash_table, charset.hash_index) = attrs;
892 } 893 }
893 else 894 else
@@ -903,11 +904,10 @@ usage: (define-charset-internal ...) */)
903 sizeof (struct charset) * charset_table_size)); 904 sizeof (struct charset) * charset_table_size));
904 } 905 }
905 id = charset_table_used++; 906 id = charset_table_used++;
906 ASET (attrs, charset_id, make_number (id));
907 new_definition_p = 1; 907 new_definition_p = 1;
908 } 908 }
909 909
910 910 ASET (attrs, charset_id, make_number (id));
911 charset.id = id; 911 charset.id = id;
912 charset_table[id] = charset; 912 charset_table[id] = charset;
913 913
@@ -923,6 +923,8 @@ usage: (define-charset-internal ...) */)
923 if (charset.emacs_mule_id >= 0) 923 if (charset.emacs_mule_id >= 0)
924 { 924 {
925 emacs_mule_charset[charset.emacs_mule_id] = CHARSET_FROM_ID (id); 925 emacs_mule_charset[charset.emacs_mule_id] = CHARSET_FROM_ID (id);
926 if (charset.emacs_mule_id < 0xA0)
927 emacs_mule_bytes[charset.emacs_mule_id] = charset.dimension + 1;
926 if (new_definition_p) 928 if (new_definition_p)
927 Vemacs_mule_charset_list = nconc2 (Vemacs_mule_charset_list, 929 Vemacs_mule_charset_list = nconc2 (Vemacs_mule_charset_list,
928 Fcons (make_number (id), Qnil)); 930 Fcons (make_number (id), Qnil));