/* GNU Emacs routines to deal with syntax tables; also word and list parsing.
- Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2013 Free
+ Copyright (C) 1985, 1987, 1993-1995, 1997-1999, 2001-2014 Free
Software Foundation, Inc.
This file is part of GNU Emacs.
#include "keymap.h"
#include "regex.h"
-/* Make syntax table lookup grant data in gl_state. */
-#define SYNTAX_ENTRY_VIA_PROPERTY
-
#include "syntax.h"
#include "intervals.h"
#include "category.h"
+/* Make syntax table lookup grant data in gl_state. */
+#define SYNTAX(c) syntax_property (c, 1)
+#define SYNTAX_ENTRY(c) syntax_property_entry (c, 1)
+#define SYNTAX_WITH_FLAGS(c) syntax_property_with_flags (c, 1)
+
/* Eight single-bit flags have the following meanings:
1. This character is the first of a two-character comment-start sequence.
2. This character is the second of a two-character comment-start sequence.
/* Avoid jumping out of an input field. */
tmp = Fconstrain_to_field (make_number (val), make_number (PT),
- Qt, Qnil, Qnil);
+ Qnil, Qnil, Qnil);
val = XFASTINT (tmp);
SET_PT (val);
SYNTAX is a string of syntax code characters.
Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM.
If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX.
-This function returns the distance traveled, either zero or negative. */)
+This function returns either zero or a negative number, and the absolute value
+of this is the distance traveled. */)
(Lisp_Object syntax, Lisp_Object lim)
{
return skip_syntaxes (0, syntax, lim);
void
syms_of_syntax (void)
{
+#include "syntax.x"
+
DEFSYM (Qsyntax_table_p, "syntax-table-p");
staticpro (&Vsyntax_code_object);
In both cases, LIMIT bounds the search. */);
Vfind_word_boundary_function_table = Fmake_char_table (Qnil, Qnil);
-
- defsubr (&Ssyntax_table_p);
- defsubr (&Ssyntax_table);
- defsubr (&Sstandard_syntax_table);
- defsubr (&Scopy_syntax_table);
- defsubr (&Sset_syntax_table);
- defsubr (&Schar_syntax);
- defsubr (&Smatching_paren);
- defsubr (&Sstring_to_syntax);
- defsubr (&Smodify_syntax_entry);
- defsubr (&Sinternal_describe_syntax_value);
-
- defsubr (&Sforward_word);
-
- defsubr (&Sskip_chars_forward);
- defsubr (&Sskip_chars_backward);
- defsubr (&Sskip_syntax_forward);
- defsubr (&Sskip_syntax_backward);
-
- defsubr (&Sforward_comment);
- defsubr (&Sscan_lists);
- defsubr (&Sscan_sexps);
- defsubr (&Sbackward_prefix_chars);
- defsubr (&Sparse_partial_sexp);
}