/* Declarations having to do with GNU Emacs syntax tables.
- Copyright (C) 1985, 1993, 1994, 1997, 1998, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+Copyright (C) 1985, 1993-1994, 1997-1998, 2001-2011
+ Free Software Foundation, Inc.
This file is part of GNU Emacs.
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-extern Lisp_Object Qsyntax_table_p;
-extern void update_syntax_table (EMACS_INT, int, int, Lisp_Object);
+extern void update_syntax_table (EMACS_INT, EMACS_INT, int, Lisp_Object);
/* The standard syntax table is stored where it will automatically
be used in all new buffers. */
-#define Vstandard_syntax_table buffer_defaults.syntax_table
+#define Vstandard_syntax_table BVAR (&buffer_defaults, syntax_table)
/* A syntax table is a chartable whose elements are cons cells
(CODE+FLAGS . MATCHING-CHAR). MATCHING-CHAR can be nil if the char
# define CURRENT_SYNTAX_TABLE gl_state.current_syntax_table
#else
# define SYNTAX_ENTRY SYNTAX_ENTRY_INT
-# define CURRENT_SYNTAX_TABLE current_buffer->syntax_table
+# define CURRENT_SYNTAX_TABLE BVAR (current_buffer, syntax_table)
#endif
#define SYNTAX_ENTRY_INT(c) CHAR_TABLE_REF (CURRENT_SYNTAX_TABLE, (c))
do \
{ \
gl_state.use_global = 0; \
- gl_state.current_syntax_table = current_buffer->syntax_table; \
+ gl_state.current_syntax_table = BVAR (current_buffer, syntax_table);\
} while (0)
/* This macro should be called with FROM at the start of forward
while (0)
/* Same as above, but in OBJECT. If OBJECT is nil, use current buffer.
- If it is t, ignore properties altogether.
+ If it is t (which is only used in fast_c_string_match_ignore_case),
+ ignore properties altogether.
This is meant for regex.c to use. For buffers, regex.c passes arguments
to the UPDATE_SYNTAX_TABLE macros which are relative to BEGV.
else if (EQ (gl_state.object, Qt)) \
{ \
gl_state.b_property = 0; \
- gl_state.e_property = 1500000000; \
+ gl_state.e_property = MOST_POSITIVE_FIXNUM; \
gl_state.offset = 0; \
} \
else \
struct gl_state_s
{
Lisp_Object object; /* The object we are scanning. */
- int start; /* Where to stop. */
- int stop; /* Where to stop. */
+ EMACS_INT start; /* Where to stop. */
+ EMACS_INT stop; /* Where to stop. */
int use_global; /* Whether to use global_code
or c_s_t. */
Lisp_Object global_code; /* Syntax code of current char. */
Lisp_Object current_syntax_table; /* Syntax table for current pos. */
Lisp_Object old_prop; /* Syntax-table prop at prev pos. */
- int b_property; /* First index where c_s_t is valid. */
- int e_property; /* First index where c_s_t is
+ EMACS_INT b_property; /* First index where c_s_t is valid. */
+ EMACS_INT e_property; /* First index where c_s_t is
not valid. */
INTERVAL forward_i; /* Where to start lookup on forward */
INTERVAL backward_i; /* or backward movement. The
intervals too, depending
on: */
/* Offset for positions specified to UPDATE_SYNTAX_TABLE. */
- int offset;
+ EMACS_INT offset;
};
extern struct gl_state_s gl_state;
-extern int parse_sexp_lookup_properties;
-
extern EMACS_INT scan_words (EMACS_INT, EMACS_INT);
-
-/* arch-tag: 28833cca-cd73-4741-8c85-a3111166a0e0
- (do not change this comment) */