]> git.eshelyaron.com Git - emacs.git/commitdiff
(widget-beginning-of-line): Properly handle
authorRichard M. Stallman <rms@gnu.org>
Sat, 8 Aug 1998 02:34:05 +0000 (02:34 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 8 Aug 1998 02:34:05 +0000 (02:34 +0000)
multiline fields.  Don't use call-interactively.
(widget-end-of-line): Likewise.

lisp/wid-edit.el

index 1e02648d5bbf1890c52dd489a087944fe183154e..583ab54fbc2008dd92989d12cc30689fa0d348e3 100644 (file)
@@ -1111,19 +1111,25 @@ With optional ARG, move across that many fields."
   "Go to beginning of field or beginning of line, whichever is first."
   (interactive)
   (let* ((field (widget-field-find (point)))
-        (start (and field (widget-field-start field))))
-    (if (and start (not (eq start (point))))
-       (goto-char start)
-      (call-interactively 'beginning-of-line))))
+        (start (and field (widget-field-start field)))
+         (bol (save-excursion
+                (beginning-of-line)
+                (point))))
+    (goto-char (if start
+                   (max start bol)
+                 bol))))
 
 (defun widget-end-of-line ()
   "Go to end of field or end of line, whichever is first."
   (interactive)
   (let* ((field (widget-field-find (point)))
-        (end (and field (widget-field-end field))))
-    (if (and end (not (eq end (point))))
-       (goto-char end)
-      (call-interactively 'end-of-line))))
+        (end (and field (widget-field-end field)))
+         (eol (save-excursion
+                (end-of-line)
+                (point))))
+    (goto-char (if end
+                   (min end eol)
+                 eol))))
 
 (defun widget-kill-line ()
   "Kill to end of field or end of line, whichever is first."