comparison src/extents.h @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 8de8e3f6228a
children 223736d75acb
comparison
equal deleted inserted replaced
441:72a7cfa4a488 442:abe6d1db359e
175 only be used on extents known not to have a parent. The other 175 only be used on extents known not to have a parent. The other
176 versions chase down any parent links. */ 176 versions chase down any parent links. */
177 177
178 #define extent_no_chase_normal_field(e, field) ((e)->flags.field) 178 #define extent_no_chase_normal_field(e, field) ((e)->flags.field)
179 179
180 INLINE struct extent_auxiliary *extent_aux_or_default (EXTENT e); 180 INLINE_HEADER struct extent_auxiliary *extent_aux_or_default (EXTENT e);
181 INLINE struct extent_auxiliary * 181 INLINE_HEADER struct extent_auxiliary *
182 extent_aux_or_default (EXTENT e) 182 extent_aux_or_default (EXTENT e)
183 { 183 {
184 return e->flags.has_aux ? 184 return e->flags.has_aux ?
185 XEXTENT_AUXILIARY (XCAR (e->plist)) : 185 XEXTENT_AUXILIARY (XCAR (e->plist)) :
186 & extent_auxiliary_defaults; 186 & extent_auxiliary_defaults;
257 #define extent_duplicable_p(e) extent_normal_field (e, duplicable) 257 #define extent_duplicable_p(e) extent_normal_field (e, duplicable)
258 #define extent_detachable_p(e) extent_normal_field (e, detachable) 258 #define extent_detachable_p(e) extent_normal_field (e, detachable)
259 #define extent_internal_p(e) extent_normal_field (e, internal) 259 #define extent_internal_p(e) extent_normal_field (e, internal)
260 #define extent_in_red_event_p(e) extent_normal_field (e, in_red_event) 260 #define extent_in_red_event_p(e) extent_normal_field (e, in_red_event)
261 261
262 INLINE Lisp_Object * extent_no_chase_plist_addr (EXTENT e); 262 INLINE_HEADER Lisp_Object * extent_no_chase_plist_addr (EXTENT e);
263 INLINE Lisp_Object * 263 INLINE_HEADER Lisp_Object *
264 extent_no_chase_plist_addr (EXTENT e) 264 extent_no_chase_plist_addr (EXTENT e)
265 { 265 {
266 return e->flags.has_aux ? &XCDR (e->plist) : &e->plist; 266 return e->flags.has_aux ? &XCDR (e->plist) : &e->plist;
267 } 267 }
268 268
316 EXFUN (Fprevious_single_property_change, 4); 316 EXFUN (Fprevious_single_property_change, 4);
317 EXFUN (Fset_extent_endpoints, 4); 317 EXFUN (Fset_extent_endpoints, 4);
318 EXFUN (Fset_extent_parent, 2); 318 EXFUN (Fset_extent_parent, 2);
319 319
320 extern int inside_undo; 320 extern int inside_undo;
321 extern int in_modeline_generation;
321 322
322 struct extent_fragment *extent_fragment_new (Lisp_Object buffer_or_string, 323 struct extent_fragment *extent_fragment_new (Lisp_Object buffer_or_string,
323 struct frame *frm); 324 struct frame *frm);
324 face_index extent_fragment_update (struct window *w, 325 face_index extent_fragment_update (struct window *w,
325 struct extent_fragment *ef, 326 struct extent_fragment *ef,
337 EXTENT extent_ancestor_1 (EXTENT e); 338 EXTENT extent_ancestor_1 (EXTENT e);
338 339
339 /* extent_ancestor() chases all the parent links until there aren't any 340 /* extent_ancestor() chases all the parent links until there aren't any
340 more. extent_ancestor_1() does the same thing but it a function; 341 more. extent_ancestor_1() does the same thing but it a function;
341 the following optimizes the most common case. */ 342 the following optimizes the most common case. */
342 INLINE EXTENT extent_ancestor (EXTENT e); 343 INLINE_HEADER EXTENT extent_ancestor (EXTENT e);
343 INLINE EXTENT 344 INLINE_HEADER EXTENT
344 extent_ancestor (EXTENT e) 345 extent_ancestor (EXTENT e)
345 { 346 {
346 return e->flags.has_parent ? extent_ancestor_1 (e) : e; 347 return e->flags.has_parent ? extent_ancestor_1 (e) : e;
347 } 348 }
348 349