summaryrefslogtreecommitdiff
path: root/src/syntax.h
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-03-17 23:58:13 +0000
committerRichard M. Stallman <rms@gnu.org>1998-03-17 23:58:13 +0000
commit98bcfee8fe89ca8b9f9c211733bd17db9516685c (patch)
tree2933668b99a00f0c07e148d2c903986ab39d121e /src/syntax.h
parentca1e63a5a56f97c1416e26a86f3d8784805c0fe5 (diff)
downloademacs-98bcfee8fe89ca8b9f9c211733bd17db9516685c.tar.gz
(SYNTAX_FLAGS_COMSTART_FIRST): New macro.
(SYNTAX_FLAGS_COMSTART_SECOND): Likewise. (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND): Likewise. (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLE): Likewise.
Diffstat (limited to 'src/syntax.h')
-rw-r--r--src/syntax.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/syntax.h b/src/syntax.h
index dcca2110ce1..e72012af24d 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -171,6 +171,8 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
Style a is always the default.
*/
+/* These macros extract a particular flag for a given character. */
+
#define SYNTAX_COMSTART_FIRST(c) ((SYNTAX_WITH_FLAGS (c) >> 16) & 1)
#define SYNTAX_COMSTART_SECOND(c) ((SYNTAX_WITH_FLAGS (c) >> 17) & 1)
@@ -181,9 +183,23 @@ extern Lisp_Object syntax_parent_lookup P_ ((Lisp_Object, int));
#define SYNTAX_PREFIX(c) ((SYNTAX_WITH_FLAGS (c) >> 20) & 1)
-/* extract the comment style bit from the syntax table entry */
#define SYNTAX_COMMENT_STYLE(c) ((SYNTAX_WITH_FLAGS (c) >> 21) & 1)
+/* These macros extract specific flags from an integer
+ that holds the syntax code and the flags. */
+
+#define SYNTAX_FLAGS_COMSTART_FIRST(flags) (((flags) >> 16) & 1)
+
+#define SYNTAX_FLAGS_COMSTART_SECOND(flags) (((flags) >> 17) & 1)
+
+#define SYNTAX_FLAGS_COMEND_FIRST(flags) (((flags) >> 18) & 1)
+
+#define SYNTAX_FLAGS_COMEND_SECOND(flags) (((flags) >> 19) & 1)
+
+#define SYNTAX_FLAGS_PREFIX(flags) (((flags) >> 20) & 1)
+
+#define SYNTAX_FLAGS_COMMENT_STYLE(flags) (((flags) >> 21) & 1)
+
/* This array, indexed by a character, contains the syntax code which that
character signifies (as a char). For example,
(enum syntaxcode) syntax_spec_code['w'] is Sword. */