]> code.delx.au - gnu-emacs/blobdiff - src/intervals.h
Merge branch 'emacs-24'.
[gnu-emacs] / src / intervals.h
index 45c2e5f5e5435b54c7e2aa38907f876944a6a0f9..bd1f49dc383ea7d5f1ccde49a143003298930dac 100644 (file)
@@ -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))              \
@@ -270,10 +279,8 @@ 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.  */