changeset 88913:76074dea1258

(Vscript_alist): This variable deleted. (Vchar_script_table, Qchar_script_table): New variable. (syms_of_character): Declare Vchar_script_table as a lisp variable and initialize it.
author Kenichi Handa <handa@m17n.org>
date Fri, 26 Jul 2002 06:19:03 +0000
parents 8392c10256e6
children 6d9bb23ad1e9
files src/character.c
diffstat 1 files changed, 16 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/character.c	Fri Jul 26 06:18:44 2002 +0000
+++ b/src/character.c	Fri Jul 26 06:19:03 2002 +0000
@@ -77,8 +77,11 @@
 unsigned char *_fetch_multibyte_char_p;
 int _fetch_multibyte_char_len;
 
-/* Alist of scripts vs character ranges.  */
-Lisp_Object Vscript_alist;
+/* Char table of scripts.  */
+Lisp_Object Vchar_script_table;
+
+static Lisp_Object Qchar_script_table;
+
 
 
 
@@ -920,13 +923,17 @@
 	       doc: /* A char-table for each printable character.  */);
   Vprintable_chars = Fmake_char_table (Qnil, Qnil);
 
-  DEFVAR_LISP ("script-alist", &Vscript_alist,
-	       doc: /* Alist of scripts vs the corresponding character ranges.
-Each element has this form:
-	( SCRIPT (FROM-1 . TO-1) (FROM-2 . TO-2) ...)
-SCRIPT is a symbol representing a script name.
-FROM-n and TO-n specifies ranges of characters that belongs to SCRIPT.  */);
-  Vscript_alist = Qnil;
+  DEFVAR_LISP ("char-script-table", &Vchar_script_table,
+	       doc: /* Char table of script symbols.
+It has one extra slot whose value is a list of script symbols.  */);
+
+  /* Intern this now in case it isn't already done.
+     Setting this variable twice is harmless.
+     But don't staticpro it here--that is done in alloc.c.  */
+  Qchar_table_extra_slots = intern ("char-table-extra-slots");
+  DEFSYM (Qchar_script_table, "char-script-table");
+  Fput (Qchar_script_table, Qchar_table_extra_slots, make_number (1));
+  Vchar_script_table = Fmake_char_table (Qchar_script_table, Qnil);
 }
 
 #endif /* emacs */