]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/windmove.el (windmove-delete-in-direction): Change prefix arg C-u
authorJuri Linkov <juri@linkov.net>
Thu, 20 Dec 2018 23:41:25 +0000 (01:41 +0200)
committerJuri Linkov <juri@linkov.net>
Thu, 20 Dec 2018 23:41:25 +0000 (01:41 +0200)
to kill the buffer.  Add prefix arg M-0 to delete the selected window.
(Bug#32790)

etc/NEWS
lisp/windmove.el

index 7a2123a2128421902f84356bc98e8ae1e8d25ee2..31067c3ff3e6f394a3ca52f818a4900dd6d01629 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -346,8 +346,9 @@ The new command 'windmove-delete-default-keybindings' binds default
 keys with provided prefix (by default, C-x) and modifiers (by default,
 Shift) to the commands that delete the window in the specified
 direction.  For example, 'C-x S-down' deletes the window below.
-With a prefix arg 'C-u', deletes the selected window and selects
-the window that was in the specified direction.
+With a prefix arg 'C-u', also kills the buffer in that window.
+With `M-0', deletes the selected window and selects the window
+that was in the specified direction.
 
 ** Octave mode
 The mode is automatically enabled in files that start with the
index c16c12444a095e1256a6ee50c506f6aee5c4a25d..75b9e0cf5990283f4642a906d2b1d4f8075e9377 100644 (file)
@@ -684,7 +684,8 @@ Default value of MODIFIERS is `shift-meta'."
 
 (defun windmove-delete-in-direction (dir &optional arg)
   "Delete the window at direction DIR.
-If prefix ARG is `C-u', delete the selected window and
+If prefix ARG is `\\[universal-argument]', also kill the buffer in that window.
+With `M-0' prefix, delete the selected window and
 select the window at direction DIR.
 When `windmove-wrap-around' is non-nil, takes the window
 from the opposite side of the frame."
@@ -693,7 +694,9 @@ from the opposite side of the frame."
     (cond ((null other-window)
            (user-error "No window %s from selected window" dir))
           (t
-           (if (not (consp arg))
+           (when (equal arg '(4))
+             (kill-buffer (window-buffer other-window)))
+           (if (not (equal arg 0))
                (delete-window other-window)
              (delete-window (selected-window))
              (select-window other-window))))))