#include "lisp.h"
#include "character.h"
#include "charset.h"
-#include "ccl.h"
/* 64/16/32/128 */
The value is either nil or another char-table.
If CHAR-TABLE holds nil for a given character,
then the actual applicable value is inherited from the parent char-table
-\(or from its parents, if necessary). */)
+(or from its parents, if necessary). */)
(Lisp_Object char_table)
{
CHECK_CHAR_TABLE (char_table);
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];
}
}
}
-
- UNGCPRO;
}
DEFUN ("map-char-table", Fmap_char_table, Smap_char_table,
{
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])
{
else
call2 (function, range, arg);
}
-
- UNGCPRO;
}
\f
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);