From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: propose adding Icicles to Emacs Date: Fri, 15 Jun 2007 15:22:03 -0400 Message-ID: References: Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: sea.gmane.org 1181935595 25252 80.91.229.12 (15 Jun 2007 19:26:35 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 15 Jun 2007 19:26:35 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Drew Adams" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 15 21:26:34 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HzHRJ-0001HE-R4 for ged-emacs-devel@m.gmane.org; Fri, 15 Jun 2007 21:26:34 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HzHRJ-0002gk-Ap for ged-emacs-devel@m.gmane.org; Fri, 15 Jun 2007 15:26:33 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HzHMy-000856-TL for emacs-devel@gnu.org; Fri, 15 Jun 2007 15:22:05 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HzHMy-00084d-As for emacs-devel@gnu.org; Fri, 15 Jun 2007 15:22:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HzHMx-00084T-Sv for emacs-devel@gnu.org; Fri, 15 Jun 2007 15:22:03 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HzHMx-0003ee-Kc for emacs-devel@gnu.org; Fri, 15 Jun 2007 15:22:03 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1HzHMx-0002gW-Cp; Fri, 15 Jun 2007 15:22:03 -0400 In-reply-to: X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4) 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:72995 Archived-At: I think the general situation is this. It's easiest to follow if you think of pop-up-frames being non-nil, with a standalone minibuffer. 1. You invoke a multi-command. 2. You use `C-RET' on candidates. Each action might pop up a buffer in a different frame, giving it the focus - which is what you want in this case (often). 3. If you use C-g, then you typically want to return to the original buffer/frame. 4. You hit RET to finally choose a buffer/frame. You typically want the focus to end up there. It seems straightforward to implement that. You make the command switch to the new frame, and we just have to make sure C-g goes back to the original frame. I sometimes need to put a `select-frame-set-input-focus' in the action function, either to force the focus to a frame associated with the current candidate or, on the contrary (and more typically), to force the focus to the minibuffer in preparation for another `C-RET'. With my approach, the minibuffer mechanism will put the focus on the minibuffer each time it is reentered. > It would be > quite clean. Fcall_interactively just has to bind a certain variable > to nil, which holds a list of completion alternatives to exclude. > display-completion-list will ignore the alternatives in this list. > Then, each time around Fcall_interactively adds the proper argument > value to this list. But would the value still really be one of the possible completions, so that if you hit TAB or S-TAB again during the same invocation of `completing-read' it would show up again? Right. It would still be in the completion list, but it would be excluded from buffers that show the completions. See above: the doc is all in files icicles-doc1.el and icicles-doc2.el. Do you need me to email you the source files, or can you get them from Emacs wiki? Can you email me just the relevant documentation from those files?