X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/cd1ed48ddbbb487a40bbf2ecc55ca1d8377c1819..13c8f29ce361e3aad71cf2b44e76d5cfdaf7dda3:/src/chartab.c diff --git a/src/chartab.c b/src/chartab.c index bfbbf798f0..6cf8fea0b6 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -7,8 +7,8 @@ This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. +the Free Software Foundation, either version 3 of the License, or (at +your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -23,7 +23,6 @@ along with GNU Emacs. If not, see . */ #include "lisp.h" #include "character.h" #include "charset.h" -#include "ccl.h" /* 64/16/32/128 */ @@ -57,9 +56,6 @@ static const int chartab_bits[4] = /* Preamble for uniprop (Unicode character property) tables. See the comment of "Unicode character property tables". */ -/* Purpose of uniprop tables. */ -static Lisp_Object Qchar_code_property_table; - /* Types of decoder and encoder functions for uniprop values. */ typedef Lisp_Object (*uniprop_decoder_t) (Lisp_Object, Lisp_Object); typedef Lisp_Object (*uniprop_encoder_t) (Lisp_Object, Lisp_Object); @@ -866,13 +862,11 @@ map_char_table (void (*c_function) (Lisp_Object, Lisp_Object, Lisp_Object), Lisp_Object function, Lisp_Object table, Lisp_Object arg) { Lisp_Object range, val, parent; - struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; uniprop_decoder_t decoder = UNIPROP_GET_DECODER (table); range = Fcons (make_number (0), make_number (MAX_CHAR)); parent = XCHAR_TABLE (table)->parent; - GCPRO4 (table, arg, range, parent); val = XCHAR_TABLE (table)->ascii; if (SUB_CHAR_TABLE_P (val)) val = XSUB_CHAR_TABLE (val)->contents[0]; @@ -923,8 +917,6 @@ map_char_table (void (*c_function) (Lisp_Object, Lisp_Object, Lisp_Object), } } } - - UNGCPRO; } DEFUN ("map-char-table", Fmap_char_table, Smap_char_table, @@ -1034,10 +1026,8 @@ map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object), { Lisp_Object range; int c, i; - struct gcpro gcpro1; range = Fcons (Qnil, Qnil); - GCPRO1 (range); for (i = 0, c = 0; i < chartab_size[0]; i++, c += chartab_chars[0]) { @@ -1068,8 +1058,6 @@ map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object), else call2 (function, range, arg); } - - UNGCPRO; } @@ -1258,8 +1246,10 @@ uniprop_encode_value_numeric (Lisp_Object table, Lisp_Object value) break; value = make_number (i); if (i == size) - set_char_table_extras (table, 4, Fvconcat (2, ((Lisp_Object []) { - XCHAR_TABLE (table)->extras[4], Fmake_vector (make_number (1), value) }))); + set_char_table_extras (table, 4, + CALLN (Fvconcat, + XCHAR_TABLE (table)->extras[4], + Fmake_vector (make_number (1), value))); return make_number (i); } @@ -1300,11 +1290,8 @@ uniprop_table (Lisp_Object prop) table = XCDR (val); if (STRINGP (table)) { - struct gcpro gcpro1; - GCPRO1 (val); AUTO_STRING (intl, "international/"); result = Fload (concat2 (intl, table), Qt, Qt, Qt, Qt); - UNGCPRO; if (NILP (result)) return Qnil; table = XCDR (val); @@ -1378,6 +1365,7 @@ CHAR-TABLE must be what returned by `unicode-property-table-internal'. */) void syms_of_chartab (void) { + /* Purpose of uniprop tables. */ DEFSYM (Qchar_code_property_table, "char-code-property-table"); defsubr (&Smake_char_table);