changeset 3687:54381151027d

(record_delete): Always use XFASTINT on sbeg. (Fprimitive_undo): Add missing `else'. Add USE_TEXT_PROPERTIES conditional for calling Fput_text_property. Use XINT on high, low.
author Richard M. Stallman <rms@gnu.org>
date Sat, 12 Jun 1993 17:04:51 +0000
parents 910ea1d66bfd
children b9f27ed0228c
files src/undo.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/undo.c	Sat Jun 12 17:00:45 1993 +0000
+++ b/src/undo.c	Sat Jun 12 17:04:51 1993 +0000
@@ -94,7 +94,7 @@
   XFASTINT (lend) = beg + length;
 
   /* If point isn't at start of deleted range, record where it is.  */
-  if (PT != sbeg)
+  if (PT != XFASTINT (sbeg))
     current_buffer->undo_list
       = Fcons (make_number (PT), current_buffer->undo_list);
 
@@ -325,7 +325,7 @@
 
 		  high = Fcar (cdr);
 		  low = Fcdr (cdr);
-		  mod_time = (high << 16) + low;
+		  mod_time = (XFASTINT (high) << 16) + XFASTINT (low);
 		  /* If this records an obsolete save
 		     (not matching the actual disk file)
 		     then don't mark unmodified.  */
@@ -336,9 +336,10 @@
 #endif /* CLASH_DETECTION */
 		  Fset_buffer_modified_p (Qnil);
 		}
-	      if (EQ (car, Qnil))
+#ifdef USE_TEXT_PROPERTIES
+	      else if (EQ (car, Qnil))
 		{
-		  /* Element (t prop val beg . end) records property change.  */
+		  /* Element (nil prop val beg . end) is property change.  */
 		  Lisp_Object beg, end, prop, val;
 
 		  prop = Fcar (cdr);
@@ -350,6 +351,7 @@
 
 		  Fput_text_property (beg, end, prop, val, Qnil);
 		}
+#endif /* USE_TEXT_PROPERTIES */
 	      else if (XTYPE (car) == Lisp_Int && XTYPE (cdr) == Lisp_Int)
 		{
 		  /* Element (BEG . END) means range was inserted.  */