]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/ido.el: New command `ido-bury-buffer-at-head'
authorArtur Malabarba <bruce.connor.am@gmail.com>
Wed, 19 Nov 2014 00:47:36 +0000 (00:47 +0000)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Wed, 19 Nov 2014 00:47:36 +0000 (00:47 +0000)
Bound to C-S-b
Bury the buffer at the head of `ido-matches', analogous to how C-k
kills the buffer at head.

etc/NEWS
lisp/ido.el

index 41b9324227013b3b463f9fde3c53beef0dec9970..c319a09b4325d57a8a4887a83d510820f6ee73b4 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -132,6 +132,10 @@ Unicode standards.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 25.1
+** ido
+*** New command `ido-bury-buffer-at-head' bound to C-S-b
+Bury the buffer at the head of `ido-matches', analogous to how C-k
+kills the buffer at head.
 
 ** Minibuffer
 
index bda2525b6296a1b4b3c4b89ad6429d4efa28ea81..5f7637c5632bd5c5f4ffb18289dec92c3a4266f8 100644 (file)
@@ -1672,6 +1672,7 @@ This function also adds a hook to the minibuffer."
     (define-key map "\C-x\C-f" 'ido-enter-find-file)
     (define-key map "\C-x\C-b" 'ido-fallback-command)
     (define-key map "\C-k" 'ido-kill-buffer-at-head)
+    (define-key map [?\C-\S-b] 'ido-bury-buffer-at-head)
     (define-key map "\C-o" 'ido-toggle-virtual-buffers)
     (set-keymap-parent map ido-common-completion-map)
     (setq ido-buffer-completion-map map)))
@@ -4026,6 +4027,20 @@ If cursor is not at the end of the user input, delete to end of input."
        (setq ido-cur-list (delete buf ido-cur-list))
        (setq ido-rescan t))))))
 
+;;; BURY CURRENT BUFFER
+(defun ido-bury-buffer-at-head ()
+  "Bury the buffer at the head of `ido-matches'."
+  (interactive)
+  (let ((enable-recursive-minibuffers t)
+        (buf (ido-name (car ido-matches)))
+        (nextbuf (cadr ido-matches)))
+    (when (get-buffer buf)
+      (bury-buffer buf)
+      (setq ido-default-item nextbuf
+            ido-text-init ido-text
+            ido-exit 'refresh)
+      (exit-minibuffer))))
+
 ;;; DELETE CURRENT FILE
 (defun ido-delete-file-at-head ()
   "Delete the file at the head of `ido-matches'.