Trailing whitespace deleted.
[bpt/emacs.git] / src / intervals.h
index c5dd03b..d2511ae 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and global variables for intervals.
-   Copyright (C) 1993, 1994, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 2000, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -18,9 +18,7 @@ along with GNU Emacs; see the file COPYING.  If not, write to
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-#ifndef NORMAL_FACE
 #include "dispextern.h"
-#endif
 
 #define NULL_INTERVAL ((INTERVAL)0)
 #define INTERVAL_DEFAULT NULL_INTERVAL
@@ -195,29 +193,14 @@ Boston, MA 02111-1307, USA.  */
 
 
 /* If PROP is the `invisible' property of a character,
-   this is 1 if the character should be treated as invisible.  */
+   this is 1 if the character should be treated as invisible,
+   and 2 if it is invisible but with an ellipsis.  */
 
 #define TEXT_PROP_MEANS_INVISIBLE(prop)                                \
   (EQ (current_buffer->invisibility_spec, Qt)                  \
    ? !NILP (prop)                                              \
    : invisible_p (prop, current_buffer->invisibility_spec))
 
-/* If PROP is the `invisible' property of a character,
-   this is 1 if the character should be treated as invisible
-   and should have an ellipsis.  */
-
-#define TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS(prop)          \
-  (EQ (current_buffer->invisibility_spec, Qt)                  \
-   ? 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));
@@ -254,6 +237,7 @@ extern INLINE void copy_intervals_to_string P_ ((Lisp_Object, struct buffer *,
                                                 int, int));
 extern INTERVAL copy_intervals P_ ((INTERVAL, int, int));
 extern Lisp_Object textget P_ ((Lisp_Object, Lisp_Object));
+extern Lisp_Object lookup_char_property P_ ((Lisp_Object, Lisp_Object, int));
 extern void move_if_not_intangible P_ ((int));
 extern int get_property_and_range P_ ((int, Lisp_Object, Lisp_Object *,
                                       int *, int *, Lisp_Object));
@@ -264,9 +248,7 @@ extern INTERVAL validate_interval_range P_ ((Lisp_Object, Lisp_Object *,
                                             Lisp_Object *, int));
 
 /* 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 */
 
@@ -286,6 +268,7 @@ extern Lisp_Object Qinvisible, Qintangible, Qread_only;
 
 extern Lisp_Object Vinhibit_point_motion_hooks;
 extern Lisp_Object Vdefault_text_properties;
+extern Lisp_Object Vchar_property_alias_alist;
 extern Lisp_Object Vtext_property_default_nonsticky;
 
 /* Sticky properties */
@@ -305,12 +288,19 @@ EXFUN (Fprevious_single_char_property_change, 4);
 extern Lisp_Object copy_text_properties P_ ((Lisp_Object, Lisp_Object,
                                             Lisp_Object, Lisp_Object,
                                             Lisp_Object, Lisp_Object));
+extern Lisp_Object set_text_properties P_ ((Lisp_Object, Lisp_Object,
+                                           Lisp_Object, Lisp_Object,
+                                           Lisp_Object));
+extern void set_text_properties_1 P_ ((Lisp_Object, Lisp_Object,
+                                      Lisp_Object, Lisp_Object, INTERVAL));
+
 Lisp_Object text_property_list P_ ((Lisp_Object, Lisp_Object, Lisp_Object,
                                    Lisp_Object));
 int add_text_properties_from_list P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
 void extend_property_ranges P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
 Lisp_Object get_char_property_and_overlay P_ ((Lisp_Object, Lisp_Object,
                                               Lisp_Object, Lisp_Object*));
+extern int text_property_stickiness P_ ((Lisp_Object prop, Lisp_Object pos));
 
 extern void syms_of_textprop ();