# HG changeset patch # User Stefan Monnier # Date 1002924282 0 # Node ID cfc5c411cd063fbe45dce3759cf277beea592230 # Parent a1e434124570b859191bffdc80f936d16556de4c (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro. (traverse_intervals_noorder, invisible_noellipsis_p): New funs. diff -r a1e434124570 -r cfc5c411cd06 src/intervals.h --- a/src/intervals.h Fri Oct 12 22:01:46 2001 +0000 +++ b/src/intervals.h Fri Oct 12 22:04:42 2001 +0000 @@ -199,7 +199,7 @@ #define TEXT_PROP_MEANS_INVISIBLE(prop) \ (EQ (current_buffer->invisibility_spec, Qt) \ - ? ! NILP (prop) \ + ? !NILP (prop) \ : invisible_p (prop, current_buffer->invisibility_spec)) /* If PROP is the `invisible' property of a character, @@ -211,6 +211,13 @@ ? 0 \ : invisible_ellipsis_p (prop, current_buffer->invisibility_spec)) +/* As above but for "completely" invisible (no ellipsis). */ + +#define TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS(prop) \ + (EQ (current_buffer->invisibility_spec, Qt) \ + ? !NILP (prop) \ + : invisible_noellipsis_p (prop, current_buffer->invisibility_spec)) + /* Declared in alloc.c */ extern INTERVAL make_interval P_ ((void)); @@ -220,7 +227,10 @@ extern INTERVAL create_root_interval P_ ((Lisp_Object)); extern void copy_properties P_ ((INTERVAL, INTERVAL)); extern int intervals_equal P_ ((INTERVAL, INTERVAL)); -extern void traverse_intervals P_ ((INTERVAL, int, int, +extern void traverse_intervals P_ ((INTERVAL, int, + void (*) (INTERVAL, Lisp_Object), + Lisp_Object)); +extern void traverse_intervals_noorder P_ ((INTERVAL, void (*) (INTERVAL, Lisp_Object), Lisp_Object)); extern INTERVAL split_interval_right P_ ((INTERVAL, int)); @@ -255,6 +265,8 @@ /* Defined in xdisp.c */ extern int invisible_ellipsis_p P_ ((Lisp_Object, Lisp_Object)); +extern int invisible_p P_ ((Lisp_Object, Lisp_Object)); +extern int invisible_noellipsis_p P_ ((Lisp_Object, Lisp_Object)); /* Declared in textprop.c */