From 0e355e781616936759cff8e6a46adb01760d4211 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Tue, 28 Feb 2017 11:47:45 +0900 Subject: [PATCH] Show Ibuffer and jump to line listing current buffer * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577). ; * etc/NEWS: Add entry for it. --- etc/NEWS | 3 +++ lisp/ibuffer.el | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 31b7e4789e1..5b5baff44e1 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -393,6 +393,9 @@ added: 'C-c C-s C-m C-m'. ** Ibuffer +--- +*** New command 'ibuffer-jump'. + --- *** New filter commands 'ibuffer-filter-by-basename', 'ibuffer-filter-by-file-extension', 'ibuffer-filter-by-directory', diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index eb821b257b3..66916b2bca1 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -2491,6 +2491,15 @@ FORMATS is the value to use for `ibuffer-formats'. (unless ibuffer-expert (message "Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help")))))) +;;;###autoload +(defun ibuffer-jump (&optional other-window) + "Call Ibuffer and set point at the line listing the current buffer. +If optional arg OTHER-WINDOW is non-nil, then use another window." + (interactive "P") + (let ((name (buffer-name))) + (ibuffer other-window) + (ignore-errors (ibuffer-jump-to-buffer name)))) + (put 'ibuffer-mode 'mode-class 'special) (define-derived-mode ibuffer-mode special-mode "IBuffer" "A major mode for viewing a list of buffers. -- 2.39.5