comparison src/syntax.h @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children 131b0175ea99
comparison
equal deleted inserted replaced
1:c0c6a60d29db 2:ac2d302a0011
32 The low 7 bits of the integer is a code, as follows. The 8th bit is 32 The low 7 bits of the integer is a code, as follows. The 8th bit is
33 used as the prefix bit flag (see below). 33 used as the prefix bit flag (see below).
34 */ 34 */
35 35
36 enum syntaxcode 36 enum syntaxcode
37 { 37 {
38 Swhitespace, /* for a whitespace character */ 38 Swhitespace, /* whitespace character */
39 Spunct, /* for random punctuation characters */ 39 Spunct, /* random punctuation character */
40 Sword, /* for a word constituent */ 40 Sword, /* word constituent */
41 Ssymbol, /* symbol constituent but not word constituent */ 41 Ssymbol, /* symbol constituent but not word constituent */
42 Sopen, /* for a beginning delimiter */ 42 Sopen, /* a beginning delimiter */
43 Sclose, /* for an ending delimiter */ 43 Sclose, /* an ending delimiter */
44 Squote, /* for a prefix character like Lisp ' */ 44 Squote, /* a prefix character like Lisp ' */
45 Sstring, /* for a string-grouping character like Lisp " */ 45 Sstring, /* a string-grouping character like Lisp " */
46 Smath, /* for delimiters like $ in Tex. */ 46 Smath, /* delimiters like $ in TeX. */
47 Sescape, /* for a character that begins a C-style escape */ 47 Sescape, /* a character that begins a C-style escape */
48 Scharquote, /* for a character that quotes the following character */ 48 Scharquote, /* a character that quotes the following character */
49 Scomment, /* for a comment-starting character */ 49 Scomment, /* a comment-starting character */
50 Sendcomment, /* for a comment-ending character */ 50 Sendcomment, /* a comment-ending character */
51 Sinherit, /* use the standard syntax table for this character */ 51 Sinherit, /* use the standard syntax table for this character */
52 Sextword, /* extended word; works mostly like a word constituent. 52 Sextword, /* extended word; works mostly like a word constituent.
53 See the comment in syntax.c. */ 53 See the comment in syntax.c. */
54 Smax /* Upper bound on codes that are meaningful */ 54 Smax /* Upper bound on codes that are meaningful */
55 }; 55 };
56 56
57 extern Lisp_Object Qsyntax_table_p; 57 extern Lisp_Object Qsyntax_table_p;
58 Lisp_Object Fsyntax_table_p (Lisp_Object); 58 Lisp_Object Fsyntax_table_p (Lisp_Object);
59 Lisp_Object Fsyntax_table (Lisp_Object); 59 Lisp_Object Fsyntax_table (Lisp_Object);
60 Lisp_Object Fset_syntax_table (Lisp_Object, Lisp_Object); 60 Lisp_Object Fset_syntax_table (Lisp_Object, Lisp_Object);
61 61
62 /* Return the raw syntax code for a particular character and table */ 62 /* Return the raw syntax code for a particular character and table */
63 #define RAW_SYNTAX_CODE_UNSAFE(table, c) \ 63 #define RAW_SYNTAX_CODE_UNSAFE(table, c) \
64 (XINT (vector_data (XVECTOR (table))[(unsigned char) (c)])) 64 (XINT (vector_data (XVECTOR (table))[(unsigned char) (c)]))
205 ? SYNTAX_COMMENT_STYLE_A \ 205 ? SYNTAX_COMMENT_STYLE_A \
206 : (STYLE_FOUND_1CHAR_P (table, a, SYNTAX_COMMENT_STYLE_B) \ 206 : (STYLE_FOUND_1CHAR_P (table, a, SYNTAX_COMMENT_STYLE_B) \
207 ? SYNTAX_COMMENT_STYLE_B \ 207 ? SYNTAX_COMMENT_STYLE_B \
208 : 0))) 208 : 0)))
209 209
210 /* This array, indexed by a character, contains the syntax code which that 210 /* This array, indexed by a character, contains the syntax code which
211 character signifies (as a char). For example, 211 that character signifies (as a char).
212 (enum syntaxcode) syntax_spec_code['w'] is Sword. */ 212 For example, (enum syntaxcode) syntax_spec_code['w'] is Sword. */
213 213
214 extern CONST unsigned char syntax_spec_code[0400]; 214 extern CONST unsigned char syntax_spec_code[0400];
215 215
216 /* Indexed by syntax code, give the letter that describes it. */ 216 /* Indexed by syntax code, give the letter that describes it. */
217 217