From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: C-r and C-s in minibuffer should search completion Date: Fri, 21 Mar 2008 01:03:29 +0200 Organization: JURTA Message-ID: <87y78dknge.fsf@jurta.org> References: <87fxul194g.fsf@jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1206055028 6203 80.91.229.12 (20 Mar 2008 23:17:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 20 Mar 2008 23:17:08 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 21 00:17:37 2008 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 1JcU0u-0003XJ-Th for ged-emacs-devel@m.gmane.org; Fri, 21 Mar 2008 00:17:37 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JcU0J-0008Cx-P1 for ged-emacs-devel@m.gmane.org; Thu, 20 Mar 2008 19:16:59 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JcU0E-0008Cd-H8 for emacs-devel@gnu.org; Thu, 20 Mar 2008 19:16:54 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JcU0C-0008Bk-GI for emacs-devel@gnu.org; Thu, 20 Mar 2008 19:16:53 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JcU0C-0008Bg-DT for emacs-devel@gnu.org; Thu, 20 Mar 2008 19:16:52 -0400 Original-Received: from relay01.kiev.sovam.com ([62.64.120.200]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JcU0C-0002VK-2V for emacs-devel@gnu.org; Thu, 20 Mar 2008 19:16:52 -0400 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay01.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1JcU07-0002E4-AD; Fri, 21 Mar 2008 01:16:47 +0200 In-Reply-To: (Stefan Monnier's message of "Thu, 20 Mar 2008 18:13:31 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) X-Scanner-Signature: bf674e48040b805769da4ba4af5b826b X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Not Detected X-SpamTest-Info: Profiles 2450 [Mar 20 2008] X-SpamTest-Info: helo_type=3 X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: none X-SpamTest-Rate: 11 X-SpamTest-Status: Not detected X-SpamTest-Status-Extended: not_detected X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0278], KAS30/Release X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.8-5.1 (or MacOS X 10.2-10.3) 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:93080 Archived-At: >>> I believe C-s and C-r in the minibuffer should not only search the >>> history but the completion table as well (at least when it's not >>> a function). > > Sorry, I meant M-r/M-s. > >> There is one problem: what to search first - the history or the >> completion table. Either preference will cause inconveniences. > > No problem: Make sure you start the search in between the two sets, so > that M-r will first search one and M-s will first search the other. > I'd guess M-r should first search through history, while M-s should > first search through the completion table. I think it would be unnatural to use M-s to search a list of elements not available for navigation in the minibuffer using M-p and M-n, because a set of keys M-p/M-n/M-r/M-s should operate on the same space for consistency. Otherwise, it would be confusing when M-s will insert in the minibuffer an element not from the list where M-p and M-n navigate. One solution is to add a new key to switch dimensions like proposed by Drew and Lennart, i.e. after typing a special key to change the current mode, M-n/M-p will navigate to the next/previous completion candidate in the minibuffer, M-s/M-r will search the completion list forward/backward in the minibuffer. > BTW, once this is done, we can revert the recent change to the > `read-buffer' that adds all the buffers to the list of defaults. Why? The buffer list in the list of defaults is useful not only for searching, but also for browsing, i.e. switching to the penultimate buffer is easy with `C-x b M-n M-n RET', to the third-to-last buffer - `C-x b M-n M-n M-n RET', etc. This is harmless improvement since it doesn't change the existing behavior, just adds more buffers sorted by recency beyond a single most recent buffer. -- Juri Linkov http://www.jurta.org/emacs/