aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/window.el
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1996-10-26 16:06:37 +0000
committerRichard M. Stallman <[email protected]>1996-10-26 16:06:37 +0000
commitb691df0c08b37358cd4e083898989fdde197aef1 (patch)
tree99c348f9c7c998639d5c95a826a2cd9532486e49 /lisp/window.el
parent44d7776b5b20e082a385a106147477c94d2e29bf (diff)
(kill-buffer-and-window): New command.
Bind it to C-x 4 0.
Diffstat (limited to 'lisp/window.el')
-rw-r--r--lisp/window.el12
1 files changed, 11 insertions, 1 deletions
diff --git a/lisp/window.el b/lisp/window.el
index 5468999991..0b55ccbe9a 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -277,12 +277,22 @@ or if the window is the only window of its frame."
;; Make sure we unbind buffer-read-only
;; with the proper current buffer.
(set-buffer buffer))))))
-
+
+(defun kill-buffer-and-window ()
+ "Kill the current buffer and delete the selected window."
+ (interactive)
+ (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name)))
+ (let ((buffer (current-buffer)))
+ (delete-window (selected-window))
+ (kill-buffer buffer))
+ (error "Aborted")))
+
(define-key ctl-x-map "2" 'split-window-vertically)
(define-key ctl-x-map "3" 'split-window-horizontally)
(define-key ctl-x-map "}" 'enlarge-window-horizontally)
(define-key ctl-x-map "{" 'shrink-window-horizontally)
(define-key ctl-x-map "-" 'shrink-window-if-larger-than-buffer)
(define-key ctl-x-map "+" 'balance-windows)
+(define-key ctl-x-4-map "0" 'kill-buffer-and-window)
;;; windows.el ends here