]> git.eshelyaron.com Git - emacs.git/commitdiff
Make 'clone-indirect-buffer-other-window' use other window
authorRichard Sent <richard@freakingpenguin.com>
Mon, 27 May 2024 15:32:00 +0000 (11:32 -0400)
committerEshel Yaron <me@eshelyaron.com>
Sat, 8 Jun 2024 13:01:07 +0000 (15:01 +0200)
Previously, depending on the settings in 'display-buffer-alist',
'clone-indirect-buffer-other-window' would display the cloned
buffer in the original window, behaving identically to
'clone-indirect-buffer' with a non-nil display-flag.  This
behavior was inconsistent with other-window commands which
always used another window.
Now, 'clone-indirect-buffer-other-window' uses
'switch-to-buffer-other-window'.  This means it uses the same
logic as other-window commands like 'find-file-other-window'
and 'info-other-window'.
display-flag was kept for API stability and functional
compatibility reasons.
* lisp/simple.el: (clone-indirect-buffer-other-window): Use
switch-to-buffer-other-window.  (Bug#70819)

(cherry picked from commit 579aaa1ec24b0bd139053919cc87b493773248ce)

lisp/simple.el

index 9c2e02ccf5616ce7f9d4c6315e85cc94223a0031..667ee74d558becabdfb794f9bcac580e3fd57eb7 100644 (file)
@@ -10594,8 +10594,10 @@ Returns the newly created indirect buffer."
      (list (if current-prefix-arg
               (read-buffer "Name of indirect buffer: " (current-buffer)))
           t)))
-  (let ((pop-up-windows t))
-    (clone-indirect-buffer newname display-flag norecord)))
+  ;; For compatibility, don't display the buffer if display-flag is nil.
+  (let ((buffer (clone-indirect-buffer newname nil norecord)))
+    (when display-flag
+      (switch-to-buffer-other-window buffer norecord))))
 
 \f
 ;;; Handling of Backspace and Delete keys.