comparison src/syntax.h @ 440:8de8e3f6228a r21-2-28

Import from CVS: tag r21-2-28
author cvs
date Mon, 13 Aug 2007 11:33:38 +0200
parents 3ecd8885ac67
children abe6d1db359e
comparison
equal deleted inserted replaced
439:357dd071b03c 440:8de8e3f6228a
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */ 19 Boston, MA 02111-1307, USA. */
20 20
21 /* Synched up with: FSF 19.28. */ 21 /* Synched up with: FSF 19.28. */
22 22
23 #ifndef _XEMACS_SYNTAX_H_ 23 #ifndef INCLUDED_syntax_h_
24 #define _XEMACS_SYNTAX_H_ 24 #define INCLUDED_syntax_h_
25 25
26 #include "chartab.h" 26 #include "chartab.h"
27 27
28 /* A syntax table is a type of char table. 28 /* A syntax table is a type of char table.
29 29
70 /* Return the syntax code for a particular character and mirror table. */ 70 /* Return the syntax code for a particular character and mirror table. */
71 71
72 #define SYNTAX_CODE_UNSAFE(table, c) \ 72 #define SYNTAX_CODE_UNSAFE(table, c) \
73 XINT (CHAR_TABLE_VALUE_UNSAFE (table, c)) 73 XINT (CHAR_TABLE_VALUE_UNSAFE (table, c))
74 74
75 INLINE int SYNTAX_CODE (struct Lisp_Char_Table *table, Emchar c); 75 INLINE int SYNTAX_CODE (Lisp_Char_Table *table, Emchar c);
76 INLINE int 76 INLINE int
77 SYNTAX_CODE (struct Lisp_Char_Table *table, Emchar c) 77 SYNTAX_CODE (Lisp_Char_Table *table, Emchar c)
78 { 78 {
79 return SYNTAX_CODE_UNSAFE (table, c); 79 return SYNTAX_CODE_UNSAFE (table, c);
80 } 80 }
81 81
82 #define SYNTAX_UNSAFE(table, c) \ 82 #define SYNTAX_UNSAFE(table, c) \
83 ((enum syntaxcode) (SYNTAX_CODE_UNSAFE (table, c) & 0177)) 83 ((enum syntaxcode) (SYNTAX_CODE_UNSAFE (table, c) & 0177))
84 84
85 #define SYNTAX_FROM_CODE(code) ((enum syntaxcode) ((code) & 0177)) 85 #define SYNTAX_FROM_CODE(code) ((enum syntaxcode) ((code) & 0177))
86 #define SYNTAX(table, c) SYNTAX_FROM_CODE (SYNTAX_CODE (table, c)) 86 #define SYNTAX(table, c) SYNTAX_FROM_CODE (SYNTAX_CODE (table, c))
87 87
88 INLINE int WORD_SYNTAX_P (struct Lisp_Char_Table *table, Emchar c); 88 INLINE int WORD_SYNTAX_P (Lisp_Char_Table *table, Emchar c);
89 INLINE int 89 INLINE int
90 WORD_SYNTAX_P (struct Lisp_Char_Table *table, Emchar c) 90 WORD_SYNTAX_P (Lisp_Char_Table *table, Emchar c)
91 { 91 {
92 return SYNTAX (table, c) == Sword; 92 return SYNTAX (table, c) == Sword;
93 } 93 }
94 94
95 /* OK, here's a graphic diagram of the format of the syntax values: 95 /* OK, here's a graphic diagram of the format of the syntax values:
247 Lisp_Object syntax_match (Lisp_Object table, Emchar ch); 247 Lisp_Object syntax_match (Lisp_Object table, Emchar ch);
248 248
249 extern int no_quit_in_re_search; 249 extern int no_quit_in_re_search;
250 extern struct buffer *regex_emacs_buffer; 250 extern struct buffer *regex_emacs_buffer;
251 251
252 void update_syntax_table (struct Lisp_Char_Table *ct); 252 void update_syntax_table (Lisp_Char_Table *ct);
253 253
254 #endif /* _XEMACS_SYNTAX_H_ */ 254 #endif /* INCLUDED_syntax_h_ */