# HG changeset patch # User Stefan Monnier # Date 1102802355 0 # Node ID 98e94b29b59b4d00be50e277a025e6151d93850c # Parent dc2516edbe6cd187abd939b70df130a93518d5ba (Fforward_word): Avoid non-idempotent side-effects in macro arguments. diff -r dc2516edbe6c -r 98e94b29b59b src/syntax.c --- a/src/syntax.c Sat Dec 11 21:57:50 2004 +0000 +++ b/src/syntax.c Sat Dec 11 21:59:15 2004 +0000 @@ -1295,6 +1295,7 @@ (arg) Lisp_Object arg; { + Lisp_Object tmp; int orig_val, val; if (NILP (arg)) @@ -1307,8 +1308,9 @@ val = XINT (arg) > 0 ? ZV : BEGV; /* Avoid jumping out of an input field. */ - val = XFASTINT (Fconstrain_to_field (make_number (val), make_number (PT), - Qt, Qnil, Qnil)); + tmp = Fconstrain_to_field (make_number (val), make_number (PT), + Qt, Qnil, Qnil); + val = XFASTINT (tmp); SET_PT (val); return val == orig_val ? Qt : Qnil;