diff src/buffer.c @ 18613:614b916ff5bf

Fix bugs with inappropriate mixing of Lisp_Object with int.
author Richard M. Stallman <rms@gnu.org>
date Fri, 04 Jul 1997 20:44:52 +0000
parents 525fb9a7cc96
children c8135c48a66d
line wrap: on
line diff
--- a/src/buffer.c	Fri Jul 04 20:43:49 1997 +0000
+++ b/src/buffer.c	Fri Jul 04 20:44:52 1997 +0000
@@ -2789,6 +2789,8 @@
 }
 
 
+Lisp_Object Fdelete_overlay ();
+
 DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0,
   "Set the endpoints of OVERLAY to BEG and END in BUFFER.\n\
 If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.\n\
@@ -2839,13 +2841,13 @@
       /* Redisplay where the overlay was.  */
       if (!NILP (obuffer))
 	{
-	  Lisp_Object o_beg;
-	  Lisp_Object o_end;
+	  int o_beg;
+	  int o_end;
 
 	  o_beg = OVERLAY_POSITION (OVERLAY_START (overlay));
 	  o_end = OVERLAY_POSITION (OVERLAY_END (overlay));
 
-	  modify_overlay (ob, XINT (o_beg), XINT (o_end));
+	  modify_overlay (ob, o_beg, o_end);
 	}
 
       /* Redisplay where the overlay is going to be.  */
@@ -2854,22 +2856,21 @@
   else
     /* Redisplay the area the overlay has just left, or just enclosed.  */
     {
-      Lisp_Object o_beg;
-      Lisp_Object o_end;
+      int o_beg, o_end;
       int change_beg, change_end;
 
       o_beg = OVERLAY_POSITION (OVERLAY_START (overlay));
       o_end = OVERLAY_POSITION (OVERLAY_END (overlay));
 
-      if (XINT (o_beg) == XINT (beg))
-	modify_overlay (b, XINT (o_end), XINT (end));
-      else if (XINT (o_end) == XINT (end))
-	modify_overlay (b, XINT (o_beg), XINT (beg));
+      if (o_beg == XINT (beg))
+	modify_overlay (b, o_end, XINT (end));
+      else if (o_end == XINT (end))
+	modify_overlay (b, o_beg, XINT (beg));
       else
 	{
-	  if (XINT (beg) < XINT (o_beg)) o_beg = beg;
-	  if (XINT (end) > XINT (o_end)) o_end = end;
-	  modify_overlay (b, XINT (o_beg), XINT (o_end));
+	  if (XINT (beg) < o_beg) o_beg = XINT (beg);
+	  if (XINT (end) > o_end) o_end = XINT (end);
+	  modify_overlay (b, o_beg, o_end);
 	}
     }