gl_state.current_syntax_table = current_buffer->syntax_table;
gl_state.use_global = 0;
- CHECK_NUMBER (character, 0);
+ CHECK_NUMBER (character);
char_int = XINT (character);
return make_number (syntax_code_spec[(int) SYNTAX (char_int)]);
}
int char_int, code;
gl_state.current_syntax_table = current_buffer->syntax_table;
gl_state.use_global = 0;
- CHECK_NUMBER (character, 0);
+ CHECK_NUMBER (character);
char_int = XINT (character);
code = SYNTAX (char_int);
if (code == Sopen || code == Sclose)
int val;
Lisp_Object match;
- CHECK_STRING (string, 0);
+ CHECK_STRING (string);
p = XSTRING (string)->data;
code = (enum syntaxcode) syntax_spec_code[*p++];
(c, newentry, syntax_table)
Lisp_Object c, newentry, syntax_table;
{
- CHECK_NUMBER (c, 0);
+ CHECK_NUMBER (c);
if (NILP (syntax_table))
syntax_table = current_buffer->syntax_table;
\f
/* Dump syntax table to buffer in human-readable format */
-static void
-describe_syntax (value)
- Lisp_Object value;
+DEFUN ("internal-describe-syntax-value", Finternal_describe_syntax_value,
+ Sinternal_describe_syntax_value, 1, 1, 0,
+ doc: /* Insert a description of the internal syntax description SYNTAX at point. */)
+ (syntax)
+ Lisp_Object syntax;
{
register enum syntaxcode code;
char desc, start1, start2, end1, end2, prefix, comstyle, comnested;
char str[2];
- Lisp_Object first, match_lisp;
-
- Findent_to (make_number (16), make_number (1));
+ Lisp_Object first, match_lisp, value = syntax;
if (NILP (value))
{
- insert_string ("default\n");
- return;
+ insert_string ("default");
+ return syntax;
}
if (CHAR_TABLE_P (value))
{
- insert_string ("deeper char-table ...\n");
- return;
+ insert_string ("deeper char-table ...");
+ return syntax;
}
if (!CONSP (value))
{
- insert_string ("invalid\n");
- return;
+ insert_string ("invalid");
+ return syntax;
}
first = XCAR (value);
if (!INTEGERP (first) || !(NILP (match_lisp) || INTEGERP (match_lisp)))
{
- insert_string ("invalid\n");
- return;
+ insert_string ("invalid");
+ return syntax;
}
code = (enum syntaxcode) (XINT (first) & 0377);
if ((int) code < 0 || (int) code >= (int) Smax)
{
insert_string ("invalid");
- return;
+ return syntax;
}
desc = syntax_code_spec[(int) code];
insert_string ("string fence"); break;
default:
insert_string ("invalid");
- return;
+ return syntax;
}
if (!NILP (match_lisp))
if (prefix)
insert_string (",\n\t is a prefix character for `backward-prefix-chars'");
+ return syntax;
+}
+
+
+static void
+describe_syntax (value)
+ Lisp_Object value;
+{
+ Findent_to (make_number (16), make_number (1));
+ Finternal_describe_syntax_value (value);
insert_string ("\n");
}
+
static Lisp_Object
describe_syntax_1 (vector)
Lisp_Object vector;
Lisp_Object count;
{
int orig_val, val;
- CHECK_NUMBER (count, 0);
+ CHECK_NUMBER (count);
val = orig_val = scan_words (PT, XINT (count));
if (! orig_val)
unsigned char *str;
int len;
- CHECK_STRING (string, 0);
+ CHECK_STRING (string);
char_ranges = (int *) alloca (XSTRING (string)->size * (sizeof (int)) * 2);
string_multibyte = STRING_MULTIBYTE (string);
str = XSTRING (string)->data;
if (NILP (lim))
XSETINT (lim, forwardp ? ZV : BEGV);
else
- CHECK_NUMBER_COERCE_MARKER (lim, 0);
+ CHECK_NUMBER_COERCE_MARKER (lim);
/* In any case, don't allow scan outside bounds of buffer. */
if (XINT (lim) > ZV)
int out_charpos, out_bytepos;
int dummy;
- CHECK_NUMBER (count, 0);
+ CHECK_NUMBER (count);
count1 = XINT (count);
stop = count1 > 0 ? ZV : BEGV;
(from, count, depth)
Lisp_Object from, count, depth;
{
- CHECK_NUMBER (from, 0);
- CHECK_NUMBER (count, 1);
- CHECK_NUMBER (depth, 2);
+ CHECK_NUMBER (from);
+ CHECK_NUMBER (count);
+ CHECK_NUMBER (depth);
return scan_lists (XINT (from), XINT (count), XINT (depth), 0);
}
(from, count)
Lisp_Object from, count;
{
- CHECK_NUMBER (from, 0);
- CHECK_NUMBER (count, 1);
+ CHECK_NUMBER (from);
+ CHECK_NUMBER (count);
return scan_lists (XINT (from), XINT (count), 0, 1);
}
if (!NILP (targetdepth))
{
- CHECK_NUMBER (targetdepth, 3);
+ CHECK_NUMBER (targetdepth);
target = XINT (targetdepth);
}
else
defsubr (&Sstring_to_syntax);
defsubr (&Smodify_syntax_entry);
defsubr (&Sdescribe_syntax);
+ defsubr (&Sinternal_describe_syntax_value);
defsubr (&Sforward_word);