summaryrefslogtreecommitdiff
path: root/src/syntax.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-01-01 17:06:50 +0000
committerGerd Moellmann <gerd@gnu.org>2000-01-01 17:06:50 +0000
commite6d8341fe6e4b3f751033d1060e534a4d9004467 (patch)
tree4f63091175cf9a0471e8d0800fd319dba9df715f /src/syntax.c
parent8ca534c482571fb5535c0ba72dbf2cf6fe294d3e (diff)
downloademacs-e6d8341fe6e4b3f751033d1060e534a4d9004467.tar.gz
(Fforward_word): Notice field boundaries only if
inhibit-field-text-motion is nil.
Diffstat (limited to 'src/syntax.c')
-rw-r--r--src/syntax.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/syntax.c b/src/syntax.c
index d08c29bab53..1db16c589f7 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -1222,7 +1222,8 @@ DEFUN ("forward-word", Fforward_word, Sforward_word, 1, 1, "p",
"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;
{
@@ -1234,11 +1235,12 @@ and the function returns nil.")
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;
}
Lisp_Object skip_chars ();