From 0ffa34951a2c45afa7857b7a970459d0189b4313 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Sat, 6 Dec 2014 01:42:11 +0200 Subject: [PATCH] Better check for displaying completions near the minibuffer. * lisp/minibuffer.el (minibuffer-completion-help): Compare selected-window with minibuffer-window to check whether completions should be displayed near the minibuffer. http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00311.html Fixes: debbugs:17809 --- lisp/ChangeLog | 7 +++++++ lisp/minibuffer.el | 10 +++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7cbacecd16f..5cc530c42b6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2014-12-05 Juri Linkov + + * minibuffer.el (minibuffer-completion-help): Compare + selected-window with minibuffer-window to check whether + completions should be displayed near the minibuffer. (Bug#17809) + http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00311.html + 2014-12-05 Michael Albinus * vc/vc-mtn.el (vc-mtn-root): diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 0bee13b155c..ee97174b0b2 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1815,13 +1815,9 @@ variables.") ;; Use `display-buffer-below-selected' for inline completions, ;; but not in the minibuffer (e.g. in `eval-expression') ;; for which `display-buffer-at-bottom' is used. - ;; Compare `this-command' with `completion-at-point' - ;; since `completion--in-region-1' sets `this-command' - ;; to this value for region completion commands. - ,(if (and (eq this-command 'completion-at-point) - (not (minibuffer-selected-window))) - 'display-buffer-below-selected - 'display-buffer-at-bottom)) + ,(if (eq (selected-window) (minibuffer-window)) + 'display-buffer-at-bottom + 'display-buffer-below-selected)) (window-height . fit-window-to-buffer)) nil ;; Remove the base-size tail because `sort' requires a properly -- 2.39.2