(INTERVAL_VISIBLE_P): Use textget.
authorRichard M. Stallman <rms@gnu.org>
Mon, 7 Jun 1993 05:28:42 +0000 (05:28 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 7 Jun 1993 05:28:42 +0000 (05:28 +0000)
(INTERVAL_WRITABLE_P): Use textget.
Check Vinhibit_read_only.

src/intervals.h

index e7ebb8f..c724f31 100644 (file)
@@ -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. */