changeset 39855:cfc5c411cd06

(TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro. (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 12 Oct 2001 22:04:42 +0000
parents a1e434124570
children 3fb9aba0cbd4
files src/intervals.h
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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 */