# HG changeset patch # User Stefan Monnier # Date 1271783849 14400 # Node ID 9d210d83ed6908352031cab8c3717502e12c29c5 # Parent 4b71850034e6c0839e461ab6a3e01f9ff2edc6e2 * font.c (syms_of_font): Make the style table vars read-only. diff -r 4b71850034e6 -r 9d210d83ed69 src/ChangeLog --- a/src/ChangeLog Tue Apr 20 13:01:39 2010 -0400 +++ b/src/ChangeLog Tue Apr 20 13:17:29 2010 -0400 @@ -1,5 +1,7 @@ 2010-04-20 Stefan Monnier + * font.c (syms_of_font): Make the style table vars read-only. + * buffer.h (struct buffer): Remove unused var `direction_reversed'. * buffer.c (init_buffer_once, syms_of_buffer): Remove its initialization. diff -r 4b71850034e6 -r 9d210d83ed69 src/font.c --- a/src/font.c Tue Apr 20 13:01:39 2010 -0400 +++ b/src/font.c Tue Apr 20 13:17:29 2010 -0400 @@ -5376,22 +5376,30 @@ gets the repertory information by an opened font and ENCODING. */); Vfont_encoding_alist = Qnil; + /* FIXME: These 3 vars are not quite what they appear: setq on them + won't have any effect other than disconnect them from the style + table used by the font display code. So we make them read-only, + to avoid this confusing situation. */ + DEFVAR_LISP_NOPRO ("font-weight-table", &Vfont_weight_table, doc: /* Vector of valid font weight values. Each element has the form: [NUMERIC-VALUE SYMBOLIC-NAME ALIAS-NAME ...] NUMERIC-VALUE is an integer, and SYMBOLIC-NAME and ALIAS-NAME are symbols. */); Vfont_weight_table = BUILD_STYLE_TABLE (weight_table); + XSYMBOL (intern_c_string ("font-weight-table"))->constant = 1; DEFVAR_LISP_NOPRO ("font-slant-table", &Vfont_slant_table, doc: /* Vector of font slant symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector. */); Vfont_slant_table = BUILD_STYLE_TABLE (slant_table); + XSYMBOL (intern_c_string ("font-slant-table"))->constant = 1; DEFVAR_LISP_NOPRO ("font-width-table", &Vfont_width_table, doc: /* Alist of font width symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector. */); Vfont_width_table = BUILD_STYLE_TABLE (width_table); + XSYMBOL (intern_c_string ("font-width-table"))->constant = 1; staticpro (&font_style_table); font_style_table = Fmake_vector (make_number (3), Qnil);