summaryrefslogtreecommitdiff
path: root/lisp/ebuff-menu.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-07-17 23:09:48 +0000
committerKarl Heuer <kwzh@gnu.org>1995-07-17 23:09:48 +0000
commit69adebeb51104f53801e42b8444ae747a5241620 (patch)
tree2f1741a564a43534b059406c8a540fc3fdc47c9b /lisp/ebuff-menu.el
parent2ab6bb1432b504a0fbfcbe692740cf38b34d44b8 (diff)
downloademacs-69adebeb51104f53801e42b8444ae747a5241620.tar.gz
(electric-buffer-list): Save point before
finding the first buffer line, and use that saved point to determine the buffer to use, if it is a reasonable value.
Diffstat (limited to 'lisp/ebuff-menu.el')
-rw-r--r--lisp/ebuff-menu.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el
index ecadc2c7322..b7760121587 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -68,14 +68,19 @@ Calls value of `electric-buffer-menu-mode-hook' on entry if non-nil.
?\ )
(progn (setq unread-command-events nil)
(throw 'electric-buffer-menu-select nil)))
- (let ((first (progn (goto-char (point-min))
+ (let ((start-point (point))
+ (first (progn (goto-char (point-min))
(forward-line 2)
(point)))
(last (progn (goto-char (point-max))
(forward-line -1)
(point)))
(goal-column 0))
- (goto-char first)
+ ;; Use start-point if it is meaningful.
+ (goto-char (if (or (< start-point first)
+ (> start-point last))
+ first
+ start-point))
(Electric-command-loop 'electric-buffer-menu-select
nil
t