Mercurial > emacs
changeset 27081:f068649f1c28
(Fconstrain_to_field): Don't constrain if
inhibit-field-text-motion is non-nil.
(Fline_beginning_position): Undo previous change.
(Fline_end_position): Ditto.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sat, 01 Jan 2000 17:24:22 +0000 |
parents | b1afaefff576 |
children | c68892f03670 |
files | src/editfns.c |
diffstat | 1 files changed, 15 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/editfns.c Sat Jan 01 17:23:34 2000 +0000 +++ b/src/editfns.c Sat Jan 01 17:24:22 2000 +0000 @@ -518,7 +518,9 @@ NEW-POS would move it to a different line, NEW-POS is returned\n\ unconstrained. This useful for commands that move by line, like\n\ \\[next-line] or \\[beginning-of-line], which should generally respect field boundaries\n\ -only in the case where they can still move to the right line.") +only in the case where they can still move to the right line.\n\ +\n\ +Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil.") (new_pos, old_pos, escape_from_edge, only_in_line) Lisp_Object new_pos, old_pos, escape_from_edge, only_in_line; { @@ -532,7 +534,9 @@ XSETFASTINT (new_pos, PT); } - if (!EQ (new_pos, old_pos) && !text_property_eq (Qfield, new_pos, old_pos)) + if (NILP (Vinhibit_field_text_motion) + && !EQ (new_pos, old_pos) + && !text_property_eq (Qfield, new_pos, old_pos)) /* NEW_POS is not within the same field as OLD_POS; try to move NEW_POS so that it is. */ { @@ -580,8 +584,10 @@ With argument N not nil or 1, move forward N - 1 lines first.\n\ If scan reaches end of buffer, return that position.\n\ The scan does not cross a field boundary unless it would move\n\ -beyond there to a different line. And if N is nil or 1,\n\ -and scan starts at a field boundary, the scan stops as soon as it starts.\n\n\ +beyond there to a different line. Field boundaries are not noticed if\n\ +`inhibit-field-text-motion' is non-nil. .And if N is nil or 1,\n\ +and scan starts at a field boundary, the scan stops as soon as it starts.\n\ +\n\ This function does not move point.") (n) Lisp_Object n; @@ -601,11 +607,9 @@ SET_PT_BOTH (orig, orig_byte); /* Return END constrained to the current input field. */ - if (NILP (Vinhibit_field_text_motion)) - end = Fconstrain_to_field (make_number (end), make_number (orig), - XINT (n) != 1 ? Qt : Qnil, - Qt); - return end; + return Fconstrain_to_field (make_number (end), make_number (orig), + XINT (n) != 1 ? Qt : Qnil, + Qt); } DEFUN ("line-end-position", Fline_end_position, Sline_end_position, @@ -628,10 +632,8 @@ end_pos = find_before_next_newline (orig, 0, XINT (n) - (XINT (n) <= 0)); /* Return END_POS constrained to the current input field. */ - if (NILP (Vinhibit_field_text_motion)) - end_pos = Fconstrain_to_field (make_number (end_pos), make_number (orig), - Qnil, Qt); - return end_pos; + return Fconstrain_to_field (make_number (end_pos), make_number (orig), + Qnil, Qt); } Lisp_Object