]> code.delx.au - gnu-emacs/commitdiff
(skip_invisible): Avoid non-idempotent side-effects in macro arguments.
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 23 Nov 2004 05:19:17 +0000 (05:19 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 23 Nov 2004 05:19:17 +0000 (05:19 +0000)
src/indent.c

index ce274f65a1fb5edd91976ae004fece6b093b3cd7..b1af03b6977fd6dc851c76f5fc085ead082ec681 100644 (file)
@@ -220,7 +220,7 @@ skip_invisible (pos, next_boundary_p, to, window)
      Lisp_Object window;
 {
   Lisp_Object prop, position, overlay_limit, proplimit;
-  Lisp_Object buffer;
+  Lisp_Object buffer, tmp;
   int end, inv_p;
 
   XSETFASTINT (position, pos);
@@ -251,8 +251,9 @@ skip_invisible (pos, next_boundary_p, to, window)
       /* No matter what. don't go past next overlay change.  */
       if (XFASTINT (overlay_limit) < XFASTINT (proplimit))
        proplimit = overlay_limit;
-      end = XFASTINT (Fnext_single_property_change (position, Qinvisible,
-                                                   buffer, proplimit));
+      tmp = Fnext_single_property_change (position, Qinvisible,
+                                         buffer, proplimit);
+      end = XFASTINT (tmp);
 #if 0
       /* Don't put the boundary in the middle of multibyte form if
          there is no actual property change.  */