]> code.delx.au - gnu-emacs/blobdiff - src/intervals.h
Merge from origin/emacs-24
[gnu-emacs] / src / intervals.h
index 816ea105bd7e9523e764756c1f99b9235c80a8ce..b2260d002e607c693a86dedd5f26a04f8b006f2e 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and global variables for intervals.
-   Copyright (C) 1993-1994, 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 2000-2015 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -133,6 +133,14 @@ struct interval
 /* Use these functions to set Lisp_Object
    or pointer slots of struct interval.  */
 
+INLINE void
+set_interval_object (INTERVAL i, Lisp_Object obj)
+{
+  eassert (BUFFERP (obj) || STRINGP (obj));
+  i->up_obj = 1;
+  i->up.obj = obj;
+}
+
 INLINE void
 set_interval_parent (INTERVAL i, INTERVAL parent)
 {
@@ -189,6 +197,7 @@ set_interval_plist (INTERVAL i, Lisp_Object plist)
 /* Is this interval writable?  Replace later with cache access.  */
 #define INTERVAL_WRITABLE_P(i)                                 \
   (i && (NILP (textget ((i)->plist, Qread_only))               \
+         || !NILP (textget ((i)->plist, Qinhibit_read_only))   \
         || ((CONSP (Vinhibit_read_only)                        \
              ? !NILP (Fmemq (textget ((i)->plist, Qread_only), \
                              Vinhibit_read_only))              \
@@ -262,23 +271,7 @@ extern INTERVAL interval_of (ptrdiff_t, Lisp_Object);
 /* Defined in xdisp.c.  */
 extern int invisible_p (Lisp_Object, Lisp_Object);
 
-/* Declared in textprop.c.  */
-
-/* Types of hooks.  */
-extern Lisp_Object Qpoint_left;
-extern Lisp_Object Qpoint_entered;
-extern Lisp_Object Qmodification_hooks;
-extern Lisp_Object Qcategory;
-extern Lisp_Object Qlocal_map;
-extern Lisp_Object Qkeymap;
-
-/* Visual properties text (including strings) may have.  */
-extern Lisp_Object Qfont;
-extern Lisp_Object Qinvisible, Qintangible;
-
-/* Sticky properties.  */
-extern Lisp_Object Qfront_sticky, Qrear_nonsticky;
-
+/* Defined in textprop.c.  */
 extern Lisp_Object copy_text_properties (Lisp_Object, Lisp_Object,
                                          Lisp_Object, Lisp_Object,
                                          Lisp_Object, Lisp_Object);