unofficial mirror of bug-gnu-emacs@gnu.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

  List information: https://www.gnu.org/software/emacs/

* 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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).