"Move point forward ARG words (backward if ARG is negative).\n\
Normally returns t.\n\
If an edge of the buffer or a field boundary is reached, point is left there\n\
-and the function returns nil.")
+and the function returns nil. Field boundaries are not noticed if\n\
+`inhibit-field-text-motion' is non-nil.")
(count)
Lisp_Object count;
{
val = XINT (count) > 0 ? ZV : BEGV;
/* Avoid jumping out of an input field. */
- val = XFASTINT (Fconstrain_to_field (make_number (val), make_number (PT),
- Qt, Qnil));
+ if (NILP (Vinhibit_field_text_motion))
+ val = XFASTINT (Fconstrain_to_field (make_number (val), make_number (PT),
+ Qt, Qnil));
SET_PT (val);
- return (val == orig_val ? Qt : Qnil);
+ return val == orig_val ? Qt : Qnil;
}
\f
Lisp_Object skip_chars ();