Mercurial > hg > xemacs-beta
comparison src/extents.h @ 373:6240c7796c7a r21-2b2
Import from CVS: tag r21-2b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:04:06 +0200 |
parents | c5d627a313b1 |
children | 8626e4521993 |
comparison
equal
deleted
inserted
replaced
372:49e1ed2d7ed8 | 373:6240c7796c7a |
---|---|
80 /* 4 text, margins, or whitespace */ | 80 /* 4 text, margins, or whitespace */ |
81 unsigned int has_parent :1; /* 5 extent has a parent */ | 81 unsigned int has_parent :1; /* 5 extent has a parent */ |
82 unsigned int has_aux :1; /* 6 extent has an aux. structure */ | 82 unsigned int has_aux :1; /* 6 extent has an aux. structure */ |
83 unsigned int start_open :1; /* 7 insertion behavior at start */ | 83 unsigned int start_open :1; /* 7 insertion behavior at start */ |
84 unsigned int end_open :1; /* 8 insertion behavior at end */ | 84 unsigned int end_open :1; /* 8 insertion behavior at end */ |
85 unsigned int unused9 :1; /* 9 unused */ | 85 unsigned int unique :1; /* 9 there may be only one attached */ |
86 unsigned int unique :1; /* 10 there may be only one attached */ | 86 unsigned int duplicable :1; /* 10 copied to strings by kill/undo */ |
87 unsigned int duplicable :1; /* 11 copied to strings by kill/undo */ | 87 unsigned int detachable :1; /* 11 extent detaches if text deleted */ |
88 unsigned int REPLICATING :1; /* 12 invoke old extent-replica behav.*/ | 88 unsigned int internal :1; /* 12 used by map-extents etc. */ |
89 /* Not used any more */ | 89 unsigned int in_red_event :1; /* 13 An event has been spawned for |
90 unsigned int detachable :1; /* 13 extent detaches if text deleted */ | |
91 unsigned int internal :1; /* 14 used by map-extents etc. */ | |
92 unsigned int in_red_event :1; /* 15 An event has been spawned for | |
93 initial redisplay. | 90 initial redisplay. |
94 Not exported to the lisp level */ | 91 (not exported to lisp) */ |
95 unsigned int unused16 :1; /* 16 unused */ | 92 unsigned int unused16 :1; /* 16 unused bits */ |
96 /* --- Adding more flags will cause the extent struct to grow by another | 93 /* --- Adding more flags will cause the extent struct to grow by another |
97 word. It's not clear that this would make a difference, however, | 94 word. It's not clear that this would make a difference, however, |
98 because on 32-bit machines things tend to get allocated in chunks | 95 because on 32-bit machines things tend to get allocated in chunks |
99 of 4 bytes. */ | 96 of 4 bytes. */ |
100 } flags; | 97 } flags; |
137 Lisp_Object children; | 134 Lisp_Object children; |
138 Lisp_Object invisible; | 135 Lisp_Object invisible; |
139 Lisp_Object read_only; | 136 Lisp_Object read_only; |
140 Lisp_Object mouse_face; | 137 Lisp_Object mouse_face; |
141 Lisp_Object initial_redisplay_function; | 138 Lisp_Object initial_redisplay_function; |
139 Lisp_Object before_change_functions, after_change_functions; | |
142 int priority; | 140 int priority; |
143 }; | 141 }; |
144 | 142 |
145 extern struct extent_auxiliary extent_auxiliary_defaults; | 143 extern struct extent_auxiliary extent_auxiliary_defaults; |
146 | 144 |
228 #define extent_priority(e) extent_aux_field (e, priority) | 226 #define extent_priority(e) extent_aux_field (e, priority) |
229 #define extent_invisible(e) extent_aux_field (e, invisible) | 227 #define extent_invisible(e) extent_aux_field (e, invisible) |
230 #define extent_read_only(e) extent_aux_field (e, read_only) | 228 #define extent_read_only(e) extent_aux_field (e, read_only) |
231 #define extent_mouse_face(e) extent_aux_field (e, mouse_face) | 229 #define extent_mouse_face(e) extent_aux_field (e, mouse_face) |
232 #define extent_initial_redisplay_function(e) extent_aux_field (e, initial_redisplay_function) | 230 #define extent_initial_redisplay_function(e) extent_aux_field (e, initial_redisplay_function) |
231 #define extent_before_change_functions(e) extent_aux_field (e, before_change_functions) | |
232 #define extent_after_change_functions(e) extent_aux_field (e, after_change_functions) | |
233 | 233 |
234 #define set_extent_begin_glyph(e, value) \ | 234 #define set_extent_begin_glyph(e, value) \ |
235 set_extent_aux_field (e, begin_glyph, value) | 235 set_extent_aux_field (e, begin_glyph, value) |
236 #define set_extent_end_glyph(e, value) \ | 236 #define set_extent_end_glyph(e, value) \ |
237 set_extent_aux_field (e, end_glyph, value) | 237 set_extent_aux_field (e, end_glyph, value) |
244 #define set_extent_mouse_face(e, value) \ | 244 #define set_extent_mouse_face(e, value) \ |
245 set_extent_aux_field (e, mouse_face, value) | 245 set_extent_aux_field (e, mouse_face, value) |
246 /* Use Fset_extent_initial_redisplay_function unless you know what you're doing */ | 246 /* Use Fset_extent_initial_redisplay_function unless you know what you're doing */ |
247 #define set_extent_initial_redisplay_function(e, value) \ | 247 #define set_extent_initial_redisplay_function(e, value) \ |
248 set_extent_aux_field (e, initial_redisplay_function, value) | 248 set_extent_aux_field (e, initial_redisplay_function, value) |
249 #define set_extent_before_change_functions(e, value) \ | |
250 set_extent_aux_field (e, before_change_functions, value) | |
251 #define set_extent_after_change_functions(e, value) \ | |
252 set_extent_aux_field (e, after_change_functions, value) | |
249 | 253 |
250 #define extent_face(e) extent_normal_field (e, face) | 254 #define extent_face(e) extent_normal_field (e, face) |
251 #define extent_begin_glyph_layout(e) extent_normal_field (e, begin_glyph_layout) | 255 #define extent_begin_glyph_layout(e) extent_normal_field (e, begin_glyph_layout) |
252 #define extent_end_glyph_layout(e) extent_normal_field (e, end_glyph_layout) | 256 #define extent_end_glyph_layout(e) extent_normal_field (e, end_glyph_layout) |
253 #define extent_start_open_p(e) extent_normal_field (e, start_open) | 257 #define extent_start_open_p(e) extent_normal_field (e, start_open) |
364 Lisp_Object inhibit_read_only_value); | 368 Lisp_Object inhibit_read_only_value); |
365 void process_extents_for_insertion (Lisp_Object object, | 369 void process_extents_for_insertion (Lisp_Object object, |
366 Bytind opoint, Bytecount length); | 370 Bytind opoint, Bytecount length); |
367 void process_extents_for_deletion (Lisp_Object object, Bytind from, | 371 void process_extents_for_deletion (Lisp_Object object, Bytind from, |
368 Bytind to, int destroy_them); | 372 Bytind to, int destroy_them); |
373 void report_extent_modification (Lisp_Object, Bufpos, Bufpos, int *, int); | |
369 | 374 |
370 void set_extent_glyph (EXTENT extent, Lisp_Object glyph, int endp, | 375 void set_extent_glyph (EXTENT extent, Lisp_Object glyph, int endp, |
371 glyph_layout layout); | 376 glyph_layout layout); |
372 | 377 |
373 void add_string_extents (Lisp_Object string, struct buffer *buf, | 378 void add_string_extents (Lisp_Object string, struct buffer *buf, |