From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: completion-auto-help Date: Thu, 10 Nov 2005 23:55:28 -0500 Message-ID: <87lkzvpz2s.fsf-monnier+emacs@gnu.org> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1131684967 8298 80.91.229.2 (11 Nov 2005 04:56:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 11 Nov 2005 04:56:07 +0000 (UTC) Cc: Emacs-Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 11 05:55:58 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EaQx1-00058o-2n for ged-emacs-devel@m.gmane.org; Fri, 11 Nov 2005 05:55:47 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EaQx0-0003Py-Jw for ged-emacs-devel@m.gmane.org; Thu, 10 Nov 2005 23:55:46 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EaQwl-0003PG-Pb for emacs-devel@gnu.org; Thu, 10 Nov 2005 23:55:31 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EaQwj-0003OV-Rg for emacs-devel@gnu.org; Thu, 10 Nov 2005 23:55:30 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EaQwj-0003OQ-Lv for emacs-devel@gnu.org; Thu, 10 Nov 2005 23:55:29 -0500 Original-Received: from [209.226.175.97] (helo=tomts40-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EaQwj-0003u6-S8 for emacs-devel@gnu.org; Thu, 10 Nov 2005 23:55:30 -0500 Original-Received: from alfajor ([65.92.243.185]) by tomts40-srv.bellnexxia.net (InterMail vM.5.01.06.10 201-253-122-130-110-20040306) with ESMTP id <20051111045528.SJTW1799.tomts40-srv.bellnexxia.net@alfajor>; Thu, 10 Nov 2005 23:55:28 -0500 Original-Received: by alfajor (Postfix, from userid 1000) id 93B05D7662; Thu, 10 Nov 2005 23:55:28 -0500 (EST) Original-To: "Drew Adams" In-Reply-To: (Drew Adams's message of "Thu, 10 Nov 2005 17:30:56 -0800") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:45719 Archived-At: > The Elisp manual says this about it: > If this variable is non-`nil', the completion commands > automatically display a list of possible completions whenever > nothing can be completed because the next character is not > uniquely determined. > In neither case are different non-nil values distinguished. So, I don't > understand this code in complete.el: > (if (or (eq completion-auto-help t) > (and completion-auto-help > (eq last-command this-command)) > (eq mode 'help)) complete.el extends the meaning of the variable so that a non-nil non-t value means "show the help but only on the second attempt to complete". I.e. if TAB finds nothing to complete, the first TAB will just say "[Next char not unique]" without bringing up the *Completions* buffer, and the second TAB will then bring up the *Completions* buffer. It happens to be my favorite behavior. > 2. New feature proposal - How about allowing for an > "always-display-*Completions*' behavior: > - t means what it means now > - nil means what it means now > - other means this: We could have t = what it means now nil = what it means now eager = what you suggest (always show the completions and update them after each key stroke) lazy = what complete.el does for non-nil non-t values > IOW, with this value, the user would not need to hit `TAB' to display > *Completions*. (S)he would see the list of completions whenever there are > more than one. There is currently no way to make `completing-read', > `read-file-name' etc. display *Completions* from the outset. Indeed. The closest is icomplete-mode. Stefan