projects
/
chise
/
xemacs-chise.git.1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
XEmacs 21.2.34 "Molpe".
[chise/xemacs-chise.git.1]
/
src
/
chartab.c
diff --git
a/src/chartab.c
b/src/chartab.c
index
43f7849
..
c2d1324
100644
(file)
--- a/
src/chartab.c
+++ b/
src/chartab.c
@@
-37,7
+37,6
@@
Boston, MA 02111-1307, USA. */
#include <config.h>
#include "lisp.h"
#include <config.h>
#include "lisp.h"
-#include <stddef.h>
#include "buffer.h"
#include "chartab.h"
#include "buffer.h"
#include "chartab.h"
@@
-96,14
+95,14
@@
Lisp_Object Vword_combining_categories, Vword_separating_categories;
#ifdef MULE
static Lisp_Object
#ifdef MULE
static Lisp_Object
-mark_char_table_entry (Lisp_Object obj, void (*markobj) (Lisp_Object))
+mark_char_table_entry (Lisp_Object obj)
{
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (obj);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (obj);
int i;
for (i = 0; i < 96; i++)
{
int i;
for (i = 0; i < 96; i++)
{
- markobj (cte->level2[i]);
+ mark_object (cte->level2[i]);
}
return Qnil;
}
}
return Qnil;
}
@@
-111,8
+110,8
@@
mark_char_table_entry (Lisp_Object obj, void (*markobj) (Lisp_Object))
static int
char_table_entry_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
{
static int
char_table_entry_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
{
- struct Lisp_Char_Table_Entry *cte1 = XCHAR_TABLE_ENTRY (obj1);
- struct Lisp_Char_Table_Entry *cte2 = XCHAR_TABLE_ENTRY (obj2);
+ Lisp_Char_Table_Entry *cte1 = XCHAR_TABLE_ENTRY (obj1);
+ Lisp_Char_Table_Entry *cte2 = XCHAR_TABLE_ENTRY (obj2);
int i;
for (i = 0; i < 96; i++)
int i;
for (i = 0; i < 96; i++)
@@
-125,13
+124,13
@@
char_table_entry_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
static unsigned long
char_table_entry_hash (Lisp_Object obj, int depth)
{
static unsigned long
char_table_entry_hash (Lisp_Object obj, int depth)
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (obj);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (obj);
return internal_array_hash (cte->level2, 96, depth);
}
static const struct lrecord_description char_table_entry_description[] = {
return internal_array_hash (cte->level2, 96, depth);
}
static const struct lrecord_description char_table_entry_description[] = {
- { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table_Entry, level2), 96 },
+ { XD_LISP_OBJECT_ARRAY, offsetof (Lisp_Char_Table_Entry, level2), 96 },
{ XD_END }
};
{ XD_END }
};
@@
-140,20
+139,20
@@
DEFINE_LRECORD_IMPLEMENTATION ("char-table-entry", char_table_entry,
0, char_table_entry_equal,
char_table_entry_hash,
char_table_entry_description,
0, char_table_entry_equal,
char_table_entry_hash,
char_table_entry_description,
- struct Lisp_Char_Table_Entry);
+ Lisp_Char_Table_Entry);
#endif /* MULE */
static Lisp_Object
#endif /* MULE */
static Lisp_Object
-mark_char_table (Lisp_Object obj, void (*markobj) (Lisp_Object))
+mark_char_table (Lisp_Object obj)
{
{
- struct Lisp_Char_Table *ct = XCHAR_TABLE (obj);
+ Lisp_Char_Table *ct = XCHAR_TABLE (obj);
int i;
for (i = 0; i < NUM_ASCII_CHARS; i++)
int i;
for (i = 0; i < NUM_ASCII_CHARS; i++)
- markobj (ct->ascii[i]);
+ mark_object (ct->ascii[i]);
#ifdef MULE
for (i = 0; i < NUM_LEADING_BYTES; i++)
#ifdef MULE
for (i = 0; i < NUM_LEADING_BYTES; i++)
- markobj (ct->level1[i]);
+ mark_object (ct->level1[i]);
#endif
return ct->mirror_table;
}
#endif
return ct->mirror_table;
}
@@
-163,18
+162,18
@@
mark_char_table (Lisp_Object obj, void (*markobj) (Lisp_Object))
and prune_weak_hash_tables(). */
void
and prune_weak_hash_tables(). */
void
-prune_syntax_tables (int (*obj_marked_p) (Lisp_Object))
+prune_syntax_tables (void)
{
Lisp_Object rest, prev = Qnil;
for (rest = Vall_syntax_tables;
{
Lisp_Object rest, prev = Qnil;
for (rest = Vall_syntax_tables;
- !GC_NILP (rest);
+ !NILP (rest);
rest = XCHAR_TABLE (rest)->next_table)
{
rest = XCHAR_TABLE (rest)->next_table)
{
- if (! obj_marked_p (rest))
+ if (! marked_p (rest))
{
/* This table is garbage. Remove it from the list. */
{
/* This table is garbage. Remove it from the list. */
- if (GC_NILP (prev))
+ if (NILP (prev))
Vall_syntax_tables = XCHAR_TABLE (rest)->next_table;
else
XCHAR_TABLE (prev)->next_table =
Vall_syntax_tables = XCHAR_TABLE (rest)->next_table;
else
XCHAR_TABLE (prev)->next_table =
@@
-242,7
+241,7
@@
print_chartab_range (Emchar first, Emchar last, Lisp_Object val,
static void
print_chartab_charset_row (Lisp_Object charset,
int row,
static void
print_chartab_charset_row (Lisp_Object charset,
int row,
- struct Lisp_Char_Table_Entry *cte,
+ Lisp_Char_Table_Entry *cte,
Lisp_Object printcharfun)
{
int i;
Lisp_Object printcharfun)
{
int i;
@@
-290,7
+289,7
@@
print_chartab_charset_row (Lisp_Object charset,
static void
print_chartab_two_byte_charset (Lisp_Object charset,
static void
print_chartab_two_byte_charset (Lisp_Object charset,
- struct Lisp_Char_Table_Entry *cte,
+ Lisp_Char_Table_Entry *cte,
Lisp_Object printcharfun)
{
int i;
Lisp_Object printcharfun)
{
int i;
@@
-320,7
+319,7
@@
print_chartab_two_byte_charset (Lisp_Object charset,
static void
print_char_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
{
static void
print_char_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
{
- struct Lisp_Char_Table *ct = XCHAR_TABLE (obj);
+ Lisp_Char_Table *ct = XCHAR_TABLE (obj);
char buf[200];
sprintf (buf, "#s(char-table type %s data (",
char buf[200];
sprintf (buf, "#s(char-table type %s data (",
@@
-378,7
+377,7
@@
print_char_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
}
else
{
}
else
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (ann);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (ann);
if (XCHARSET_DIMENSION (charset) == 1)
print_chartab_charset_row (charset, -1, cte, printcharfun);
else
if (XCHARSET_DIMENSION (charset) == 1)
print_chartab_charset_row (charset, -1, cte, printcharfun);
else
@@
-394,8
+393,8
@@
print_char_table (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
static int
char_table_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
{
static int
char_table_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
{
- struct Lisp_Char_Table *ct1 = XCHAR_TABLE (obj1);
- struct Lisp_Char_Table *ct2 = XCHAR_TABLE (obj2);
+ Lisp_Char_Table *ct1 = XCHAR_TABLE (obj1);
+ Lisp_Char_Table *ct2 = XCHAR_TABLE (obj2);
int i;
if (CHAR_TABLE_TYPE (ct1) != CHAR_TABLE_TYPE (ct2))
int i;
if (CHAR_TABLE_TYPE (ct1) != CHAR_TABLE_TYPE (ct2))
@@
-417,7
+416,7
@@
char_table_equal (Lisp_Object obj1, Lisp_Object obj2, int depth)
static unsigned long
char_table_hash (Lisp_Object obj, int depth)
{
static unsigned long
char_table_hash (Lisp_Object obj, int depth)
{
- struct Lisp_Char_Table *ct = XCHAR_TABLE (obj);
+ Lisp_Char_Table *ct = XCHAR_TABLE (obj);
unsigned long hashval = internal_array_hash (ct->ascii, NUM_ASCII_CHARS,
depth);
#ifdef MULE
unsigned long hashval = internal_array_hash (ct->ascii, NUM_ASCII_CHARS,
depth);
#ifdef MULE
@@
-428,10
+427,12
@@
char_table_hash (Lisp_Object obj, int depth)
}
static const struct lrecord_description char_table_description[] = {
}
static const struct lrecord_description char_table_description[] = {
- { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table, ascii), NUM_ASCII_CHARS },
+ { XD_LISP_OBJECT_ARRAY, offsetof (Lisp_Char_Table, ascii), NUM_ASCII_CHARS },
#ifdef MULE
#ifdef MULE
- { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table, level1), NUM_LEADING_BYTES },
+ { XD_LISP_OBJECT_ARRAY, offsetof (Lisp_Char_Table, level1), NUM_LEADING_BYTES },
#endif
#endif
+ { XD_LISP_OBJECT, offsetof (Lisp_Char_Table, mirror_table) },
+ { XD_LO_LINK, offsetof (Lisp_Char_Table, next_table) },
{ XD_END }
};
{ XD_END }
};
@@
-439,7
+440,7
@@
DEFINE_LRECORD_IMPLEMENTATION ("char-table", char_table,
mark_char_table, print_char_table, 0,
char_table_equal, char_table_hash,
char_table_description,
mark_char_table, print_char_table, 0,
char_table_equal, char_table_hash,
char_table_description,
- struct Lisp_Char_Table);
+ Lisp_Char_Table);
DEFUN ("char-table-p", Fchar_table_p, 1, 1, 0, /*
Return non-nil if OBJECT is a char table.
DEFUN ("char-table-p", Fchar_table_p, 1, 1, 0, /*
Return non-nil if OBJECT is a char table.
@@
-542,7
+543,7
@@
See `valid-char-table-type-p'.
}
void
}
void
-fill_char_table (struct Lisp_Char_Table *ct, Lisp_Object value)
+fill_char_table (Lisp_Char_Table *ct, Lisp_Object value)
{
int i;
{
int i;
@@
-562,7
+563,7
@@
Reset a char table to its default state.
*/
(table))
{
*/
(table))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
CHECK_CHAR_TABLE (table);
ct = XCHAR_TABLE (table);
CHECK_CHAR_TABLE (table);
ct = XCHAR_TABLE (table);
@@
-598,11
+599,11
@@
and 'syntax. See `valid-char-table-type-p'.
*/
(type))
{
*/
(type))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
Lisp_Object obj;
enum char_table_type ty = symbol_to_char_table_type (type);
Lisp_Object obj;
enum char_table_type ty = symbol_to_char_table_type (type);
- ct = alloc_lcrecord_type (struct Lisp_Char_Table, &lrecord_char_table);
+ ct = alloc_lcrecord_type (Lisp_Char_Table, &lrecord_char_table);
ct->type = ty;
if (ty == CHAR_TABLE_TYPE_SYNTAX)
{
ct->type = ty;
if (ty == CHAR_TABLE_TYPE_SYNTAX)
{
@@
-630,9
+631,8
@@
make_char_table_entry (Lisp_Object initval)
{
Lisp_Object obj;
int i;
{
Lisp_Object obj;
int i;
- struct Lisp_Char_Table_Entry *cte =
- alloc_lcrecord_type (struct Lisp_Char_Table_Entry,
- &lrecord_char_table_entry);
+ Lisp_Char_Table_Entry *cte =
+ alloc_lcrecord_type (Lisp_Char_Table_Entry, &lrecord_char_table_entry);
for (i = 0; i < 96; i++)
cte->level2[i] = initval;
for (i = 0; i < 96; i++)
cte->level2[i] = initval;
@@
-644,12
+644,11
@@
make_char_table_entry (Lisp_Object initval)
static Lisp_Object
copy_char_table_entry (Lisp_Object entry)
{
static Lisp_Object
copy_char_table_entry (Lisp_Object entry)
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (entry);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (entry);
Lisp_Object obj;
int i;
Lisp_Object obj;
int i;
- struct Lisp_Char_Table_Entry *ctenew =
- alloc_lcrecord_type (struct Lisp_Char_Table_Entry,
- &lrecord_char_table_entry);
+ Lisp_Char_Table_Entry *ctenew =
+ alloc_lcrecord_type (Lisp_Char_Table_Entry, &lrecord_char_table_entry);
for (i = 0; i < 96; i++)
{
for (i = 0; i < 96; i++)
{
@@
-673,13
+672,13
@@
as OLD-TABLE. The values will not themselves be copied.
*/
(old_table))
{
*/
(old_table))
{
- struct Lisp_Char_Table *ct, *ctnew;
+ Lisp_Char_Table *ct, *ctnew;
Lisp_Object obj;
int i;
CHECK_CHAR_TABLE (old_table);
ct = XCHAR_TABLE (old_table);
Lisp_Object obj;
int i;
CHECK_CHAR_TABLE (old_table);
ct = XCHAR_TABLE (old_table);
- ctnew = alloc_lcrecord_type (struct Lisp_Char_Table, &lrecord_char_table);
+ ctnew = alloc_lcrecord_type (Lisp_Char_Table, &lrecord_char_table);
ctnew->type = ct->type;
for (i = 0; i < NUM_ASCII_CHARS; i++)
ctnew->type = ct->type;
for (i = 0; i < NUM_ASCII_CHARS; i++)
@@
-708,7
+707,13
@@
as OLD-TABLE. The values will not themselves be copied.
ctnew->mirror_table = Fcopy_char_table (ct->mirror_table);
else
ctnew->mirror_table = ct->mirror_table;
ctnew->mirror_table = Fcopy_char_table (ct->mirror_table);
else
ctnew->mirror_table = ct->mirror_table;
+ ctnew->next_table = Qnil;
XSETCHAR_TABLE (obj, ctnew);
XSETCHAR_TABLE (obj, ctnew);
+ if (ctnew->type == CHAR_TABLE_TYPE_SYNTAX)
+ {
+ ctnew->next_table = Vall_syntax_tables;
+ Vall_syntax_tables = obj;
+ }
return obj;
}
return obj;
}
@@
-728,7
+733,7
@@
decode_char_table_range (Lisp_Object range, struct chartab_range *outrange)
#else /* MULE */
else if (VECTORP (range))
{
#else /* MULE */
else if (VECTORP (range))
{
- struct Lisp_Vector *vec = XVECTOR (range);
+ Lisp_Vector *vec = XVECTOR (range);
Lisp_Object *elts = vector_data (vec);
if (vector_length (vec) != 2)
signal_simple_error ("Length of charset row vector must be 2",
Lisp_Object *elts = vector_data (vec);
if (vector_length (vec) != 2)
signal_simple_error ("Length of charset row vector must be 2",
@@
-768,7
+773,7
@@
decode_char_table_range (Lisp_Object range, struct chartab_range *outrange)
/* called from CHAR_TABLE_VALUE(). */
Lisp_Object
/* called from CHAR_TABLE_VALUE(). */
Lisp_Object
-get_non_ascii_char_table_value (struct Lisp_Char_Table *ct, int leading_byte,
+get_non_ascii_char_table_value (Lisp_Char_Table *ct, int leading_byte,
Emchar c)
{
Lisp_Object val;
Emchar c)
{
Lisp_Object val;
@@
-779,7
+784,7
@@
get_non_ascii_char_table_value (struct Lisp_Char_Table *ct, int leading_byte,
val = ct->level1[leading_byte - MIN_LEADING_BYTE];
if (CHAR_TABLE_ENTRYP (val))
{
val = ct->level1[leading_byte - MIN_LEADING_BYTE];
if (CHAR_TABLE_ENTRYP (val))
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
val = cte->level2[byte1 - 32];
if (CHAR_TABLE_ENTRYP (val))
{
val = cte->level2[byte1 - 32];
if (CHAR_TABLE_ENTRYP (val))
{
@@
-796,7
+801,7
@@
get_non_ascii_char_table_value (struct Lisp_Char_Table *ct, int leading_byte,
#endif /* MULE */
Lisp_Object
#endif /* MULE */
Lisp_Object
-get_char_table (Emchar ch, struct Lisp_Char_Table *ct)
+get_char_table (Emchar ch, Lisp_Char_Table *ct)
{
#ifdef MULE
{
{
#ifdef MULE
{
@@
-816,7
+821,7
@@
get_char_table (Emchar ch, struct Lisp_Char_Table *ct)
val = ct->level1[lb];
if (CHAR_TABLE_ENTRYP (val))
{
val = ct->level1[lb];
if (CHAR_TABLE_ENTRYP (val))
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
val = cte->level2[byte1 - 32];
if (CHAR_TABLE_ENTRYP (val))
{
val = cte->level2[byte1 - 32];
if (CHAR_TABLE_ENTRYP (val))
{
@@
-841,7
+846,7
@@
Find value for char CH in TABLE.
*/
(ch, table))
{
*/
(ch, table))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
CHECK_CHAR_TABLE (table);
ct = XCHAR_TABLE (table);
CHECK_CHAR_TABLE (table);
ct = XCHAR_TABLE (table);
@@
-856,7
+861,7
@@
If there is more than one value, return MULTI (defaults to nil).
*/
(range, table, multi))
{
*/
(range, table, multi))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
struct chartab_range rainj;
if (CHAR_OR_CHAR_INTP (range))
struct chartab_range rainj;
if (CHAR_OR_CHAR_INTP (range))
@@
-1041,7
+1046,7
@@
Signal an error if VALUE is not a valid value for CHAR-TABLE-TYPE.
/* Assign VAL to all characters in RANGE in char table CT. */
void
/* Assign VAL to all characters in RANGE in char table CT. */
void
-put_char_table (struct Lisp_Char_Table *ct, struct chartab_range *range,
+put_char_table (Lisp_Char_Table *ct, struct chartab_range *range,
Lisp_Object val)
{
switch (range->type)
Lisp_Object val)
{
switch (range->type)
@@
-1074,7
+1079,7
@@
put_char_table (struct Lisp_Char_Table *ct, struct chartab_range *range,
case CHARTAB_RANGE_ROW:
{
case CHARTAB_RANGE_ROW:
{
- struct Lisp_Char_Table_Entry *cte;
+ Lisp_Char_Table_Entry *cte;
int lb = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
/* make sure that there is a separate entry for the row. */
if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
int lb = XCHARSET_LEADING_BYTE (range->charset) - MIN_LEADING_BYTE;
/* make sure that there is a separate entry for the row. */
if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
@@
-1098,7
+1103,7
@@
put_char_table (struct Lisp_Char_Table *ct, struct chartab_range *range,
ct->ascii[byte1 + 128] = val;
else
{
ct->ascii[byte1 + 128] = val;
else
{
- struct Lisp_Char_Table_Entry *cte;
+ Lisp_Char_Table_Entry *cte;
int lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
/* make sure that there is a separate entry for the row. */
if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
int lb = XCHARSET_LEADING_BYTE (charset) - MIN_LEADING_BYTE;
/* make sure that there is a separate entry for the row. */
if (!CHAR_TABLE_ENTRYP (ct->level1[lb]))
@@
-1149,7
+1154,7
@@
See `valid-char-table-type-p'.
*/
(range, val, table))
{
*/
(range, val, table))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
struct chartab_range rainj;
CHECK_CHAR_TABLE (table);
struct chartab_range rainj;
CHECK_CHAR_TABLE (table);
@@
-1164,7
+1169,7
@@
See `valid-char-table-type-p'.
/* Map FN over the ASCII chars in CT. */
static int
/* Map FN over the ASCII chars in CT. */
static int
-map_over_charset_ascii (struct Lisp_Char_Table *ct,
+map_over_charset_ascii (Lisp_Char_Table *ct,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
@@
-1194,7
+1199,7
@@
map_over_charset_ascii (struct Lisp_Char_Table *ct,
/* Map FN over the Control-1 chars in CT. */
static int
/* Map FN over the Control-1 chars in CT. */
static int
-map_over_charset_control_1 (struct Lisp_Char_Table *ct,
+map_over_charset_control_1 (Lisp_Char_Table *ct,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
@@
-1220,7
+1225,7
@@
map_over_charset_control_1 (struct Lisp_Char_Table *ct,
CTE specifies the char table entry for CHARSET. */
static int
CTE specifies the char table entry for CHARSET. */
static int
-map_over_charset_row (struct Lisp_Char_Table_Entry *cte,
+map_over_charset_row (Lisp_Char_Table_Entry *cte,
Lisp_Object charset, int row,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
Lisp_Object charset, int row,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
@@
-1260,7
+1265,7
@@
map_over_charset_row (struct Lisp_Char_Table_Entry *cte,
static int
static int
-map_over_other_charset (struct Lisp_Char_Table *ct, int lb,
+map_over_other_charset (Lisp_Char_Table *ct, int lb,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
void *arg)
@@
-1283,7
+1288,7
@@
map_over_other_charset (struct Lisp_Char_Table *ct, int lb,
}
{
}
{
- struct Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
+ Lisp_Char_Table_Entry *cte = XCHAR_TABLE_ENTRY (val);
int charset94_p = (XCHARSET_CHARS (charset) == 94);
int start = charset94_p ? 33 : 32;
int stop = charset94_p ? 127 : 128;
int charset94_p = (XCHARSET_CHARS (charset) == 94);
int start = charset94_p ? 33 : 32;
int stop = charset94_p ? 127 : 128;
@@
-1317,7
+1322,7
@@
map_over_other_charset (struct Lisp_Char_Table *ct, int lb,
becomes the return value of map_char_table(). */
int
becomes the return value of map_char_table(). */
int
-map_char_table (struct Lisp_Char_Table *ct,
+map_char_table (Lisp_Char_Table *ct,
struct chartab_range *range,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
struct chartab_range *range,
int (*fn) (struct chartab_range *range,
Lisp_Object val, void *arg),
@@
-1444,7
+1449,7
@@
the entire table.
*/
(function, table, range))
{
*/
(function, table, range))
{
- struct Lisp_Char_Table *ct;
+ Lisp_Char_Table *ct;
struct slow_map_char_table_arg slarg;
struct gcpro gcpro1, gcpro2;
struct chartab_range rainj;
struct slow_map_char_table_arg slarg;
struct gcpro gcpro1, gcpro2;
struct chartab_range rainj;
@@
-1612,7
+1617,7
@@
check_category_char (Emchar ch, Lisp_Object table,
unsigned int designator, unsigned int not)
{
REGISTER Lisp_Object temp;
unsigned int designator, unsigned int not)
{
REGISTER Lisp_Object temp;
- struct Lisp_Char_Table *ctbl;
+ Lisp_Char_Table *ctbl;
#ifdef ERROR_CHECK_TYPECHECK
if (NILP (Fcategory_table_p (table)))
signal_simple_error ("Expected category table", table);
#ifdef ERROR_CHECK_TYPECHECK
if (NILP (Fcategory_table_p (table)))
signal_simple_error ("Expected category table", table);
@@
-1732,7
+1737,7
@@
Valid values are nil or a bit vector of size 95.
#define CATEGORYP(x) \
#define CATEGORYP(x) \
- (CHARP ((x)) && XCHAR ((x)) >= 0x20 && XCHAR ((x)) <= 0x7E)
+ (CHARP (x) && XCHAR (x) >= 0x20 && XCHAR (x) <= 0x7E)
#define CATEGORY_SET(c) \
(get_char_table(c, XCHAR_TABLE(current_buffer->category_table)))
#define CATEGORY_SET(c) \
(get_char_table(c, XCHAR_TABLE(current_buffer->category_table)))
@@
-1747,6
+1752,7
@@
Valid values are nil or a bit vector of size 95.
Use the macro WORD_BOUNDARY_P instead of calling this function
directly. */
Use the macro WORD_BOUNDARY_P instead of calling this function
directly. */
+int word_boundary_p (Emchar c1, Emchar c2);
int
word_boundary_p (Emchar c1, Emchar c2)
{
int
word_boundary_p (Emchar c1, Emchar c2)
{
@@
-1798,7
+1804,11
@@
word_boundary_p (Emchar c1, Emchar c2)
void
syms_of_chartab (void)
{
void
syms_of_chartab (void)
{
+ INIT_LRECORD_IMPLEMENTATION (char_table);
+
#ifdef MULE
#ifdef MULE
+ INIT_LRECORD_IMPLEMENTATION (char_table_entry);
+
defsymbol (&Qcategory_table_p, "category-table-p");
defsymbol (&Qcategory_designator_p, "category-designator-p");
defsymbol (&Qcategory_table_value_p, "category-table-value-p");
defsymbol (&Qcategory_table_p, "category-table-p");
defsymbol (&Qcategory_designator_p, "category-designator-p");
defsymbol (&Qcategory_table_value_p, "category-table-value-p");
@@
-1840,6
+1850,7
@@
vars_of_chartab (void)
{
/* DO NOT staticpro this. It works just like Vweak_hash_tables. */
Vall_syntax_tables = Qnil;
{
/* DO NOT staticpro this. It works just like Vweak_hash_tables. */
Vall_syntax_tables = Qnil;
+ pdump_wire_list (&Vall_syntax_tables);
}
void
}
void