summaryrefslogtreecommitdiff
path: root/src/syntax.h
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1998-04-12 06:51:58 +0000
committerKarl Heuer <kwzh@gnu.org>1998-04-12 06:51:58 +0000
commit19c80013e9da10a5823ac73f62e192c9920885ad (patch)
tree188f0b5c1bee22fa2d0effc50b944099fe766453 /src/syntax.h
parent909d480ab424745ba222a9618a3f5104e1e0eece (diff)
downloademacs-19c80013e9da10a5823ac73f62e192c9920885ad.tar.gz
(SETUP_SYNTAX_TABLE_FOR_OBJECT): FROM counts chars.
(SYNTAX_TABLE_BYTE_TO_CHAR): Handle the offset properly both before and after conversion. (UPDATE_SYNTAX_TABLE_FORWARD): Arg renamed to charpos. (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE): Likewise.
Diffstat (limited to 'src/syntax.h')
-rw-r--r--src/syntax.h39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/syntax.h b/src/syntax.h
index e72012af24d..35d50899e3f 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -223,44 +223,45 @@ extern char syntax_code_spec[16];
: STRINGP (gl_state.object) \
? string_byte_to_char (gl_state.object, (bytepos)) \
: BUFFERP (gl_state.object) \
- ? buf_bytepos_to_charpos (XBUFFER (gl_state.object), (bytepos)) \
+ ? buf_bytepos_to_charpos (XBUFFER (gl_state.object), \
+ (bytepos) + BUF_BEGV_BYTE (XBUFFER (gl_state.object)) - 1) - BUF_BEGV (XBUFFER (gl_state.object)) + 1 \
: NILP (gl_state.object) \
- ? BYTE_TO_CHAR ((bytepos)) \
+ ? BYTE_TO_CHAR ((bytepos) + BEGV_BYTE - 1) - BEGV + 1 \
: (bytepos))
-/* Make syntax table state (gl_state) good for POS, assuming it is
- currently good for a position before POS. */
+/* Make syntax table state (gl_state) good for CHARPOS, assuming it is
+ currently good for a position before CHARPOS. */
-#define UPDATE_SYNTAX_TABLE_FORWARD(pos) \
+#define UPDATE_SYNTAX_TABLE_FORWARD(charpos) \
(parse_sexp_lookup_properties \
- && (pos) >= gl_state.e_property \
- ? (update_syntax_table ((pos) + gl_state.offset, 1, 0, \
+ && (charpos) >= gl_state.e_property \
+ ? (update_syntax_table ((charpos) + gl_state.offset, 1, 0, \
gl_state.object), \
1) \
: 0)
-/* Make syntax table state (gl_state) good for POS, assuming it is
- currently good for a position after POS. */
+/* Make syntax table state (gl_state) good for CHARPOS, assuming it is
+ currently good for a position after CHARPOS. */
-#define UPDATE_SYNTAX_TABLE_BACKWARD(pos) \
+#define UPDATE_SYNTAX_TABLE_BACKWARD(charpos) \
(parse_sexp_lookup_properties \
- && (pos) <= gl_state.b_property \
- ? (update_syntax_table ((pos) + gl_state.offset, -1, 0, \
+ && (charpos) <= gl_state.b_property \
+ ? (update_syntax_table ((charpos) + gl_state.offset, -1, 0, \
gl_state.object), \
1) \
: 0)
-/* Make syntax table good for POS. */
+/* Make syntax table good for CHARPOS. */
-#define UPDATE_SYNTAX_TABLE(pos) \
+#define UPDATE_SYNTAX_TABLE(charpos) \
(parse_sexp_lookup_properties \
- && (pos) <= gl_state.b_property \
- ? (update_syntax_table ((pos) + gl_state.offset, -1, 0, \
+ && (charpos) <= gl_state.b_property \
+ ? (update_syntax_table ((charpos) + gl_state.offset, -1, 0, \
gl_state.object), \
1) \
: (parse_sexp_lookup_properties \
- && (pos) >= gl_state.e_property \
- ? (update_syntax_table ((pos) + gl_state.offset, 1, 0, \
+ && (charpos) >= gl_state.e_property \
+ ? (update_syntax_table ((charpos) + gl_state.offset, 1, 0,\
gl_state.object), \
1) \
: 0))
@@ -327,7 +328,7 @@ if (1) \
gl_state.use_global = 0; \
gl_state.current_syntax_table = current_buffer->syntax_table; \
if (parse_sexp_lookup_properties) \
- update_syntax_table ((BYTE_TO_CHAR ((FROM) + gl_state.offset) \
+ update_syntax_table (((FROM) + gl_state.offset \
+ (COUNT > 0 ? 0 : -1)), \
COUNT, 1, gl_state.object); \
} \