summaryrefslogtreecommitdiff
path: root/src/syntax.h
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-08-12 16:44:16 +0200
committerStefan Monnier <monnier@iro.umontreal.ca>2010-08-12 16:44:16 +0200
commitc5683ceb2cf80b5b7475f92236271eaeba662798 (patch)
tree89c5f1d7b7b3eb972df9cea5aeecdbacd3fc3a69 /src/syntax.h
parent856a6b7709a7257722a4e5b14859ca6a422dad52 (diff)
Introduce a new comment style "c" flag.
* src/syntax.c (SYNTAX_FLAGS_COMMENT_STYLEB) (SYNTAX_FLAGS_COMMENT_STYLEC): New macros. (SYNTAX_FLAGS_COMMENT_STYLE): Use them, add an argument. (syntax_prefix_flag_p): New function. (Fstring_to_syntax): Understand new "c" flag. (Finternal_describe_syntax_value): Recognize new flag; use the SYNTAX_FLAGS_* macros. (scan_sexps_forward, Fparse_partial_sexp): Change representation of comment style to accomodate the new styles. (back_comment, forw_comment, Fforward_comment, scan_lists) (scan_sexps_forward): Update code to obey the new comment style flag. * src/syntax.h: Move SYNTAX_FLAGS_FOO() macros to syntax.c. * src/casefiddle.c (casify_region): Use the new syntax_prefix_flag_p. * lisp/progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c" comment style. * lisp/progmodes/scheme.el (scheme-mode-syntax-table): * lisp/emacs-lisp/lisp-mode.el (lisp-mode-syntax-table): Remove spurious "b" flag in "14b" syntax. Fixes: debbugs:6834
Diffstat (limited to 'src/syntax.h')
-rw-r--r--src/syntax.h51
1 files changed, 2 insertions, 49 deletions
diff --git a/src/syntax.h b/src/syntax.h
index 9eaf553f2e..48146572d1 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -128,56 +128,9 @@ extern Lisp_Object syntax_temp;
: Qnil))
#endif
-/* Then there are seven single-bit flags that 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.
- 3. This character is the first of a two-character comment-end sequence.
- 4. This character is the second of a two-character comment-end sequence.
- 5. This character is a prefix, for backward-prefix-chars.
- 6. see below
- 7. This character is part of a nestable comment sequence.
- Note that any two-character sequence whose first character has flag 1
- and whose second character has flag 2 will be interpreted as a comment start.
- bit 6 is used to discriminate between two different comment styles.
- Languages such as C++ allow two orthogonal syntax start/end pairs
- and bit 6 is used to determine whether a comment-end or Scommentend
- ends style a or b. Comment start sequences can start style a or b.
- 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)
-
-#define SYNTAX_COMEND_FIRST(c) ((SYNTAX_WITH_FLAGS (c) >> 18) & 1)
-
-#define SYNTAX_COMEND_SECOND(c) ((SYNTAX_WITH_FLAGS (c) >> 19) & 1)
-
-#define SYNTAX_PREFIX(c) ((SYNTAX_WITH_FLAGS (c) >> 20) & 1)
-
-#define SYNTAX_COMMENT_STYLE(c) ((SYNTAX_WITH_FLAGS (c) >> 21) & 1)
-
-#define SYNTAX_COMMENT_NESTED(c) ((SYNTAX_WITH_FLAGS (c) >> 22) & 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)
-
-#define SYNTAX_FLAGS_COMMENT_NESTED(flags) (((flags) >> 22) & 1)
+/* Whether the syntax of the character C has the prefix flag set. */
+extern int syntax_prefix_flag_p (int c);
/* This array, indexed by a character, contains the syntax code which that
character signifies (as a char). For example,