(! 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 (textget ((i)->plist, Qread_only)) \
- && (NILP (Vinhibit_read_only) \
- || (CONSP (Vinhibit_read_only) \
- && !NILP (Fmemq (textget ((i)->plist, Qread_only), \
- Vinhibit_read_only)))))
+#define INTERVAL_WRITABLE_P(i) \
+ (! NULL_INTERVAL_P (i) \
+ && (NILP (textget ((i)->plist, Qread_only)) \
+ || ((CONSP (Vinhibit_read_only) \
+ ? !NILP (Fmemq (textget ((i)->plist, Qread_only), \
+ Vinhibit_read_only)) \
+ : !NILP (Vinhibit_read_only))))) \
/* Macros to tell whether insertions before or after this interval
should stick to it. */
extern Lisp_Object Fnext_property_change (), Fprevious_property_change ();
extern Lisp_Object Fadd_text_properties (), Fset_text_properties ();
extern Lisp_Object Fremove_text_properties (), Ferase_text_properties ();
+extern Lisp_Object Ftext_property_any (), Ftext_property_all ();
+extern Lisp_Object copy_text_properties ();
extern void syms_of_textprop ();