[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: quitting a completion
From: |
Eli Zaretskii |
Subject: |
Re: quitting a completion |
Date: |
Tue, 13 Jan 2004 22:30:06 +0200 |
> From: Klaus Berndl <klaus.berndl@sdm.de>
> Newsgroups: gnu.emacs.help
> Date: 13 Jan 2004 09:47:14 +0100
>
> Suppose i hit C-h v and then insert "gnus-" and then hit TAB then the window
> gets splitted (if only one window in current frame) and a *Completion*-buffer
> is offered - well. If i then hit C-g (`keyboard-quit') then the
> *Completion*-buffer and the newly created window go away - well too.
>
> Now my question: Which function is called by Emacs or which mechanism deletes
> this newly created window when quitting such a completion?
The key to finding out the answer to this is to realize that TAB
during completion calls `minibuffer-complete', and the *Completion*
buffer is displayed by `minibuffer-completion-help'. Both are
built-in functions, written in C.
What they do is call an equivalent of `with-output-to-temp-buffer',
which pops up a temporary buffer and takes care of restoring the
window configuration if you type C-g (or in case of any other exit
from completion).