* lisp/minibuffer.el (minibuffer-complete): Don't just scroll

a *Completions* that's been iconified.
(minibuffer-force-complete): Make sure repetitions do cycle when going
through completion-in-region -> minibuffer-complete.
This commit is contained in:
Stefan Monnier 2013-04-15 15:55:41 -04:00
parent 8fa2654ed8
commit 21e8fe2f85
2 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2013-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (minibuffer-complete): Don't just scroll
a *Completions* that's been iconified.
(minibuffer-force-complete): Make sure repetitions do cycle when going
through completion-in-region -> minibuffer-complete.
2013-04-15 Alan Mackenzie <acm@muc.de>
Correct the placement of c-cpp-delimiters when there're #s not at
@ -5,8 +12,8 @@
* progmodes/cc-langs.el (c-anchored-cpp-prefix): Reformulate and
place a submatch around the #.
* progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP): Start
a search at BOL. Put the c-cpp-delimiter category text propertiy
* progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP):
Start a search at BOL. Put the c-cpp-delimiter category text propertiy
on the #, not BOL.
2013-04-15 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -1043,7 +1043,8 @@ scroll the window of possible completions."
(cond
;; If there's a fresh completion window with a live buffer,
;; and this command is repeated, scroll that window.
((window-live-p minibuffer-scroll-window)
((and (window-live-p minibuffer-scroll-window)
(eq t (frame-visible-p (window-frame minibuffer-scroll-window))))
(let ((window minibuffer-scroll-window))
(with-current-buffer (window-buffer window)
(if (pos-visible-in-window-p (point-max) window)
@ -1140,6 +1141,7 @@ scroll the window of possible completions."
"Complete the minibuffer to an exact match.
Repeated uses step through the possible completions."
(interactive)
(setq minibuffer-scroll-window nil)
;; FIXME: Need to deal with the extra-size issue here as well.
;; FIXME: ~/src/emacs/t<M-TAB>/lisp/minibuffer.el completes to
;; ~/src/emacs/trunk/ and throws away lisp/minibuffer.el.
@ -1162,6 +1164,7 @@ Repeated uses step through the possible completions."
(completion--done (buffer-substring-no-properties start (point)) 'sole)
;; Set cycling after modifying the buffer since the flush hook resets it.
(setq completion-cycling t)
(setq this-command 'completion-at-point) ;For minibuffer-complete.
;; If completing file names, (car all) may be a directory, so we'd now
;; have a new set of possible completions and might want to reset
;; completion-all-sorted-completions to nil, but we prefer not to,