From c57f3328cd5c0f49f009026b5aa5c9f508d45105 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Fri, 26 Jul 2002 06:20:29 +0000 Subject: [PATCH] (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. --- src/ChangeLog | 2 ++ src/character.c | 25 ++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 679f9bc440a..6514a978463 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -11,6 +11,8 @@ * ccl.c (Fccl_execute_on_string): Add `const' to local variables. + * character.h (Vchar_script_table): Extern it. + * character.c (Vscript_alist): This variable deleted. (Vchar_script_table, Qchar_script_table): New variable. (syms_of_character): Declare Vchar_script_table as a lisp variable diff --git a/src/character.c b/src/character.c index 6af2698d6b0..eb0f8c84d04 100644 --- a/src/character.c +++ b/src/character.c @@ -77,8 +77,11 @@ Lisp_Object Vchar_direction_table; 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 @@ A char-table for width (columns) of each character. */); 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 */ -- 2.39.5