/* Declarations having to do with GNU Emacs syntax tables.
-Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2015 Free Software
+Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2016 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef EMACS_SYNTAX_H
+#define EMACS_SYNTAX_H
+
+#include "buffer.h"
+#include "lisp.h"
+
INLINE_HEADER_BEGIN
extern void update_syntax_table (ptrdiff_t, EMACS_INT, bool, Lisp_Object);
false, gl_state.object);
}
+INLINE void
+UPDATE_SYNTAX_TABLE_FORWARD_FAST (ptrdiff_t charpos)
+{
+ if (parse_sexp_lookup_properties && charpos >= gl_state.e_property)
+ update_syntax_table (charpos + gl_state.offset, 1, false, gl_state.object);
+}
+
/* Make syntax table state (gl_state) good for CHARPOS, assuming it is
currently good for a position after CHARPOS. */
UPDATE_SYNTAX_TABLE_FORWARD (charpos);
}
+INLINE void
+UPDATE_SYNTAX_TABLE_FAST (ptrdiff_t charpos)
+{
+ UPDATE_SYNTAX_TABLE_BACKWARD (charpos);
+ UPDATE_SYNTAX_TABLE_FORWARD_FAST (charpos);
+}
+
/* Set up the buffer-global syntax table. */
INLINE void
extern void SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object, ptrdiff_t, ptrdiff_t);
INLINE_HEADER_END
+
+#endif /* EMACS_SYNTAX_H */