summaryrefslogtreecommitdiff
path: root/src/intervals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/intervals.h')
-rw-r--r--src/intervals.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/intervals.h b/src/intervals.h
index e7ebb8f5cd6..c724f31ede3 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -137,11 +137,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Is this interval visible? Replace later with cache access */
#define INTERVAL_VISIBLE_P(i) \
- (! NULL_INTERVAL_P (i) && NILP (Fmemq (Qinvisible, (i)->plist)))
+ (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qinvisible)))
/* Is this interval writable? Replace later with cache access */
#define INTERVAL_WRITABLE_P(i) \
- (! NULL_INTERVAL_P (i) && NILP (Fmemq (Qread_only, (i)->plist)))
+ (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qread_only)) \
+ && (NILP (Vinhibit_read_only) \
+ || (CONSP (Vinhibit_read_only) \
+ && !NILP (Fmemq (textget ((i)->plist, Qread_only), \
+ Vinhibit_read_only)))))
/* Macros to tell whether insertions before or after this interval
should stick to it. */