summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorTino Calancha <f92capac@gmail.com>2016-02-23 16:24:52 +1100
committerLars Ingebrigtsen <larsi@gnus.org>2016-02-23 16:24:52 +1100
commit1b0bf990b53a2626e2b825101615d72d78f98ef7 (patch)
tree88bd1a463ea3fded55233d3df0c9101648426bb7 /lisp
parent92da003692b894e6dc514e3a56a1861849dcad8c (diff)
downloademacs-1b0bf990b53a2626e2b825101615d72d78f98ef7.tar.gz
Keep the position in the process buffer when deleting processes
* lisp/simple.el (process-menu-delete-process): Keep the position in the buffer after killing a process (bug#21759). Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp')
-rw-r--r--lisp/simple.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 4efad8ce9e3..8c9d546bb72 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3746,8 +3746,13 @@ support pty association, if PROGRAM is nil."
(defun process-menu-delete-process ()
"Kill process at point in a `list-processes' buffer."
(interactive)
- (delete-process (tabulated-list-get-id))
- (revert-buffer))
+ (let ((pos (point)))
+ (delete-process (tabulated-list-get-id))
+ (revert-buffer)
+ (goto-char (min pos (point-max)))
+ (if (eobp)
+ (forward-line -1)
+ (beginning-of-line))))
(defun list-processes--refresh ()
"Recompute the list of processes for the Process List buffer.