all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Eli Zaretskii <eliz@gnu.org>, "N. Jackson" <nljlistbox2@gmail.com>
Cc: 23092@debbugs.gnu.org
Subject: bug#23092: 25.0.92; Minibuffer completion fails to resize completion window if reused during same command
Date: Wed, 23 Mar 2016 09:09:05 +0100	[thread overview]
Message-ID: <56F24F21.4040107@gmx.at> (raw)
In-Reply-To: <837fgu49m1.fsf@gnu.org>

 >> However, it's interesting that with the recipe reversed, the completions
 >> window _does_ get resized.:
 >>
 >>      src/emacs -Q
 >>
 >>      C-x C-f            ; find-file
 >>      lib/s TAB          ; A largish completions window is shown.
 >>      <backspace> v TAB  ; Completions window shrinks.
 >>
 >> So it seems that the existing implementation has logic in it for
 >> resizing the completions window to fit the completions but it just isn't
 >> working quite right. Unless the design is that the completions window
 >> can only be "shrunk" but not "grown".
 >
 > I'm sure Martin will be able to explain this ;-)

I never worked in this area but will try to do my best ;-) The behavior
is due to the following form in ‘minibuffer-completion-help’:

	    ,(if temp-buffer-resize-mode
		 '(window-height . resize-temp-buffer-window)
	       '(window-height . shrink-window-if-larger-than-buffer))

The first branch of the ‘if’ means that if ‘temp-buffer-resize-mode’ is
enabled, this function will always try to fit the window to the buffer.
The second branch means that if ‘temp-buffer-resize-mode’ is not
enabled, the window may only shrink to occupy less space.

Obviously, the second branch is based on the assumption that a user will
"refine" her completions in the sense that she starts with a large
number of possible completions and, by typing characters in the
minibuffer, reduces the number of possible completions until she found
the right one.  Apparently, the OP works in the opposite direction - he
starts with few suggestions and removes characters from the minibuffer
ending up with more and more suggestions.

martin






  parent reply	other threads:[~2016-03-23  8:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-22 17:07 bug#23092: 25.0.92; Minibuffer completion fails to resize completion window if reused during same command N. Jackson
2016-03-22 17:21 ` martin rudalics
2016-03-22 18:42   ` N. Jackson
2016-03-22 18:53     ` martin rudalics
2016-03-22 19:56       ` N. Jackson
2016-03-22 20:10         ` Eli Zaretskii
2016-03-22 21:06           ` N. Jackson
2016-03-22 18:28 ` Eli Zaretskii
2016-03-22 18:55   ` N. Jackson
2016-03-22 19:04     ` Eli Zaretskii
2016-03-22 20:07       ` N. Jackson
2016-03-23  8:09       ` martin rudalics [this message]
2016-03-23 16:45         ` N. Jackson
2016-03-23 18:53           ` martin rudalics
2016-03-23 20:34             ` N. Jackson
2016-03-23 21:27             ` Juri Linkov
2016-03-24  7:43               ` martin rudalics
2016-03-24 22:14                 ` Juri Linkov
2016-03-25  7:42                   ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56F24F21.4040107@gmx.at \
    --to=rudalics@gmx.at \
    --cc=23092@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=nljlistbox2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.