changeset 68403:18c6a9d97dc1

(move-beginning-of-line): Take account of fields. (clone-indirect-buffer-other-window): Take args like clone-indirect-buffer, and work like it.
author Richard M. Stallman <rms@gnu.org>
date Thu, 26 Jan 2006 17:56:54 +0000
parents e1e34f1d35e3
children 68bc4d872112
files lisp/simple.el
diffstat 1 files changed, 17 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Thu Jan 26 17:55:32 2006 +0000
+++ b/lisp/simple.el	Thu Jan 26 17:56:54 2006 +0000
@@ -3733,19 +3733,22 @@
 To ignore intangibility, bind `inhibit-point-motion-hooks' to t."
   (interactive "p")
   (or arg (setq arg 1))
-  (if (/= arg 1)
-      (line-move (1- arg) t))
   
-  ;; Move to beginning-of-line, ignoring fields and invisibles.
-  (skip-chars-backward "^\n")
-  (while (and (not (bobp)) (line-move-invisible-p (1- (point))))
-    (goto-char (previous-char-property-change (1- (point))))
-    (skip-chars-backward "^\n"))
-
   (let ((orig (point)))
-    (vertical-motion 0)
-    (if (/= orig (point))
-	(goto-char (constrain-to-field (point) orig (/= arg 1) t nil)))))
+
+    ;; Move by lines, if ARG is not 1 (the default).
+    (if (/= arg 1)
+	(line-move (1- arg) t))
+
+    ;; Move to beginning-of-line, ignoring fields and invisibles.
+    (skip-chars-backward "^\n")
+    (while (and (not (bobp)) (line-move-invisible-p (1- (point))))
+      (goto-char (previous-char-property-change (1- (point))))
+      (skip-chars-backward "^\n"))
+
+    ;; Take care of fields.
+    (goto-char (constrain-to-field (point) orig
+				   (/= arg 1) t nil))))
 
 
 ;;; Many people have said they rarely use this feature, and often type
@@ -5286,11 +5289,8 @@
     buffer))
 
 
-(defun clone-indirect-buffer-other-window (buffer &optional norecord)
-  "Create an indirect buffer that is a twin copy of BUFFER.
-Select the new buffer in another window.
-Optional second arg NORECORD non-nil means do not put this buffer at
-the front of the list of recently selected ones."
+(defun clone-indirect-buffer-other-window (newname display-flag &optional norecord)
+  "Like `clone-indirect-buffer' but display in another window."
   (interactive
    (progn
      (if (get major-mode 'no-clone-indirect)
@@ -5299,8 +5299,7 @@
 	       (read-buffer "Name of indirect buffer: " (current-buffer)))
 	   t)))
   (let ((pop-up-windows t))
-    (set-buffer buffer)
-    (clone-indirect-buffer nil t norecord)))
+    (clone-indirect-buffer newname display-flag norecord)))
 
 
 ;;; Handling of Backspace and Delete keys.