From c76826d98c8f890d8877c9ed5e7738d3268a70af Mon Sep 17 00:00:00 2001 From: Dmitry Antipov Date: Mon, 26 Aug 2013 09:20:59 +0400 Subject: [PATCH] * syntax.c (init_syntax_once): Adjust comment and do an early initialization of Qchar_table_extra_slots just once... * casetab.c (init_casetab_once): * category.c (init_category_once): * character.c (syms_of_character): * coding.c (syms_of_coding): * xdisp.c (syms_of_xdisp): ...and omit it here. --- src/ChangeLog | 10 ++++++++++ src/casetab.c | 9 +-------- src/category.c | 8 -------- src/character.c | 4 ---- src/coding.c | 5 ----- src/syntax.c | 6 +++--- src/xdisp.c | 4 ---- 7 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 70d722a02a4..f2bb1feb2c2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2013-08-26 Dmitry Antipov + + * syntax.c (init_syntax_once): Adjust comment and do an early + initialization of Qchar_table_extra_slots just once... + * casetab.c (init_casetab_once): + * category.c (init_category_once): + * character.c (syms_of_character): + * coding.c (syms_of_coding): + * xdisp.c (syms_of_xdisp): ...and omit it here. + 2013-08-24 Eli Zaretskii * xdisp.c (get_next_display_element): Don't apply to characters diff --git a/src/casetab.c b/src/casetab.c index 5f3c8db2869..b6b1c99c39f 100644 --- a/src/casetab.c +++ b/src/casetab.c @@ -247,15 +247,8 @@ init_casetab_once (void) { register int i; Lisp_Object down, up, eqv; - DEFSYM (Qcase_table, "case-table"); - - /* 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_c_string ("char-table-extra-slots"); - /* Now we are ready to set up this property, so we can - create char tables. */ + DEFSYM (Qcase_table, "case-table"); Fput (Qcase_table, Qchar_table_extra_slots, make_number (3)); down = Fmake_char_table (Qcase_table, Qnil); diff --git a/src/category.c b/src/category.c index 30ffbd0890f..b28978fb721 100644 --- a/src/category.c +++ b/src/category.c @@ -460,14 +460,6 @@ init_category_once (void) { /* This has to be done here, before we call Fmake_char_table. */ DEFSYM (Qcategory_table, "category-table"); - - /* 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_c_string ("char-table-extra-slots"); - - /* Now we are ready to set up this property, so we can - create category tables. */ Fput (Qcategory_table, Qchar_table_extra_slots, make_number (2)); Vstandard_category_table = Fmake_char_table (Qcategory_table, Qnil); diff --git a/src/character.c b/src/character.c index 1bde2364e37..6fefb6e8824 100644 --- a/src/character.c +++ b/src/character.c @@ -1072,10 +1072,6 @@ A char-table for width (columns) of each character. */); 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_c_string ("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); diff --git a/src/coding.c b/src/coding.c index 5b637627763..c10fb375672 100644 --- a/src/coding.c +++ b/src/coding.c @@ -10814,11 +10814,6 @@ syms_of_coding (void) Fput (Qcoding_system_error, Qerror_message, build_pure_c_string ("Invalid coding system")); - /* 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_c_string ("char-table-extra-slots"); - DEFSYM (Qtranslation_table, "translation-table"); Fput (Qtranslation_table, Qchar_table_extra_slots, make_number (2)); DEFSYM (Qtranslation_table_id, "translation-table-id"); diff --git a/src/syntax.c b/src/syntax.c index f5b37303a4a..31eb86faed8 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -3486,9 +3486,9 @@ init_syntax_once (void) /* This has to be done here, before we call Fmake_char_table. */ DEFSYM (Qsyntax_table, "syntax-table"); - /* Intern_C_String 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. */ + /* This variable is DEFSYMed in alloc.c and not initialized yet, so + intern it here. NOTE: you must guarantee that init_syntax_once + is called before all other users of this variable. */ Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots"); /* Create objects which can be shared among syntax tables. */ diff --git a/src/xdisp.c b/src/xdisp.c index 3ff4603b727..6257add2f4e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -29731,10 +29731,6 @@ cursor shapes. */); DEFSYM (Qzero_width, "zero-width"); DEFSYM (Qglyphless_char_display, "glyphless-char-display"); - /* 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_c_string ("char-table-extra-slots"); Fput (Qglyphless_char_display, Qchar_table_extra_slots, make_number (1)); DEFVAR_LISP ("glyphless-char-display", Vglyphless_char_display, -- 2.39.2