X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/96c0686368d8b7d481cb40239db896ff37df416a..52a4e87c630ea397408efe4f8486be55e1199905:/src/intervals.h diff --git a/src/intervals.h b/src/intervals.h index 816ea105bd..8f0f3482ea 100644 --- a/src/intervals.h +++ b/src/intervals.h @@ -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)) \ @@ -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. */