From cf3c19b0298236293d9c56d5ba425af4f42c1f8e Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Tue, 7 Jun 2016 20:35:24 -0400 Subject: [PATCH 1/3] * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (Bug#23617) (cherry picked from commit f4ef1a1fea15aa58fbb5e7a59bff260720658e49) --- lisp/ibuffer.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 9d23e64cd81..1295ed7a82d 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el @@ -2336,7 +2336,8 @@ FORMATS is the value to use for `ibuffer-formats'. (setq other-window-p t)) (let ((buf (get-buffer-create (or name "*Ibuffer*")))) (if other-window-p - (funcall (if noselect (lambda (buf) (display-buffer buf t)) #'pop-to-buffer) buf) + (or (and noselect (display-buffer buf t)) + (pop-to-buffer buf t)) (funcall (if noselect #'display-buffer #'switch-to-buffer) buf)) (with-current-buffer buf (save-selected-window From b0c447e4668116cecfda91d0203cb7cac2486d92 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Tue, 7 Jun 2016 19:24:51 -0400 Subject: [PATCH 2/3] * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-file-visiting-buffer case. (Bug#22678) (cherry picked from commit 738738259ba77fe17e433c64e0758ea59ab5bc75) --- lisp/ibuf-ext.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index f5375612c34..4443383cdf5 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -347,10 +347,14 @@ the mode if ARG is omitted or nil." :modifier-p nil) (shell-command (concat command " " (shell-quote-argument - (if buffer-file-name - buffer-file-name - (make-temp-file - (substring (buffer-name) 0 (min 10 (length (buffer-name)))))))))) + (or buffer-file-name + (let ((file + (make-temp-file + (substring + (buffer-name) 0 + (min 10 (length (buffer-name))))))) + (write-region nil nil file nil 0) + file)))))) ;;;###autoload (autoload 'ibuffer-do-eval "ibuf-ext") (define-ibuffer-op eval (form) From a4285bcb1114e29200001f33af9b4802167d6140 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Tue, 7 Jun 2016 15:06:38 -0400 Subject: [PATCH 3/3] * lisp/simple.el (process-menu-mode, list-processes--refresh): Include PID. (Bug#21725) (cherry picked from commit b7adc2f23787eb72015cd705b873e229db6a5049) --- lisp/simple.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/simple.el b/lisp/simple.el index c43fe548c82..67c02665ea1 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3749,6 +3749,7 @@ support pty association, if PROGRAM is nil." (define-derived-mode process-menu-mode tabulated-list-mode "Process Menu" "Major mode for listing the processes called by Emacs." (setq tabulated-list-format [("Process" 15 t) + ("PID" 7 t) ("Status" 7 t) ("Buffer" 15 t) ("TTY" 12 t) @@ -3775,6 +3776,7 @@ Also, delete any process that is exited or signaled." (process-query-on-exit-flag p)) (let* ((buf (process-buffer p)) (type (process-type p)) + (pid (if (process-id p) (format "%d" (process-id p)) "--")) (name (process-name p)) (status (symbol-name (process-status p))) (buf-label (if (buffer-live-p buf) @@ -3810,7 +3812,7 @@ Also, delete any process that is exited or signaled." (format " at %s b/s" speed) ""))))) (mapconcat 'identity (process-command p) " ")))) - (push (list p (vector name status buf-label tty cmd)) + (push (list p (vector name pid status buf-label tty cmd)) tabulated-list-entries)))))) (defun process-menu-visit-buffer (button)