changeset 27077:19a664c654ab

(Vinhibit_field_text_motion): New variable. (inhibit-field-text-motion): New DEFVAR_LISP. (Fline_beginning_position, Fline_end_position): Notice field boundaries only if inhibit-field-text-motion is nil.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 01 Jan 2000 17:06:00 +0000
parents 40c18bc759e9
children bedae2f61170
files src/editfns.c
diffstat 1 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/editfns.c	Sat Jan 01 16:46:46 2000 +0000
+++ b/src/editfns.c	Sat Jan 01 17:06:00 2000 +0000
@@ -63,6 +63,10 @@
 
 Lisp_Object Fuser_full_name ();
 
+/* Non-nil means don't stop at field boundary in text motion commands.  */
+
+Lisp_Object Vinhibit_field_text_motion;
+
 /* Some static data, and a function to initialize it for each run */
 
 Lisp_Object Vsystem_name;
@@ -597,9 +601,11 @@
   SET_PT_BOTH (orig, orig_byte);
 
   /* Return END constrained to the current input field.  */
-  return Fconstrain_to_field (make_number (end), make_number (orig),
-			      XINT (n) != 1 ? Qt : Qnil,
-			      Qt);
+  if (NILP (Vinhibit_field_text_motion))
+    end = Fconstrain_to_field (make_number (end), make_number (orig),
+				XINT (n) != 1 ? Qt : Qnil,
+				Qt);
+  return end;
 }
 
 DEFUN ("line-end-position", Fline_end_position, Sline_end_position,
@@ -622,8 +628,10 @@
   end_pos = find_before_next_newline (orig, 0, XINT (n) - (XINT (n) <= 0));
 
   /* Return END_POS constrained to the current input field.  */
-  return
-    Fconstrain_to_field (make_number (end_pos), make_number (orig), Qnil, Qt);
+  if (NILP (Vinhibit_field_text_motion))
+    end_pos = Fconstrain_to_field (make_number (end_pos), make_number (orig),
+				   Qnil, Qt);
+  return end_pos;
 }
 
 Lisp_Object
@@ -3668,6 +3676,10 @@
     = intern ("buffer-access-fontify-functions");
   staticpro (&Qbuffer_access_fontify_functions);
 
+  DEFVAR_LISP ("inhibit-field-text-motion", &Vinhibit_field_text_motion,
+    "Non-nil means.text motion commands don't notice fields.");
+  Vinhibit_field_text_motion = Qnil;
+
   DEFVAR_LISP ("buffer-access-fontify-functions",
 	       &Vbuffer_access_fontify_functions,
 	       "List of functions called by `buffer-substring' to fontify if necessary.\n\