From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ole Laursen Newsgroups: gmane.emacs.bugs Subject: bug#19032: 24.4; icomplete cannot select matches with C-x b with no input Date: Thu, 13 Aug 2020 12:00:07 +0200 Message-ID: References: <8761egqcyr.fsf@matt-desktop.home> <874kp6hotd.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30460"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Matthew Leach , Stefan Monnier , 19032@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 13 12:01:51 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k6A3R-0007mZ-NQ for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 13 Aug 2020 12:01:49 +0200 Original-Received: from localhost ([::1]:43052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k6A3Q-0000AV-He for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 13 Aug 2020 06:01:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k6A2g-00008Z-Lk for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2020 06:01:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:35420) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k6A2g-00034W-Bm for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2020 06:01:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k6A2g-000371-9W for bug-gnu-emacs@gnu.org; Thu, 13 Aug 2020 06:01:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ole Laursen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Aug 2020 10:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19032 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19032-submit@debbugs.gnu.org id=B19032.159731282910092 (code B ref 19032); Thu, 13 Aug 2020 10:01:02 +0000 Original-Received: (at 19032) by debbugs.gnu.org; 13 Aug 2020 10:00:29 +0000 Original-Received: from localhost ([127.0.0.1]:46966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6A28-0002cA-Ir for submit@debbugs.gnu.org; Thu, 13 Aug 2020 06:00:29 -0400 Original-Received: from mail-lj1-f196.google.com ([209.85.208.196]:46373) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6A24-0002S3-NO for 19032@debbugs.gnu.org; Thu, 13 Aug 2020 06:00:27 -0400 Original-Received: by mail-lj1-f196.google.com with SMTP id h19so5481943ljg.13 for <19032@debbugs.gnu.org>; Thu, 13 Aug 2020 03:00:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iola-dk.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QMeYt1DDtQgo/aZ9sfVdb9LtlczaU8TwlKEzjVrwvWs=; b=ADOxa4mk8G295dnV+m6RPsqpoELdFwws33/qbNyyA+ZfvNTbY/yu7wbyjq/rg5d4U8 PnH8rCLMARJS85Q2X3e5P0+00ks1eCb28ZFd5uAcoAM7wR5A6zwKEznkqKGBRwc2WTkY 54fqsTxyFTkqJU1Q7pld5kR9EICt0brzMw53x1KEr8kYirWeJ2vxQFK//hkMT4YG+3+e PNRN0qubpNQ+UVx0Fqw7zqGCmsWL2kmysaEZAbqp0scE3jUxReInfQj4E5xK5yH0y4CB DpOk1ksXhJBOOo1Nt5I/fZwPAOopvmLtCDTxt5qTsS/D5I8O5ITaoF4qWIrHrO6UzQcT Ms/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QMeYt1DDtQgo/aZ9sfVdb9LtlczaU8TwlKEzjVrwvWs=; b=UDpKqpiNQUGeYhOn1VSTvnRcjRvpz0mLBeVHeqNUcLrva/CKASorY2e4C09XExC7+J TXBpHfxJPdWmEEi7T4kKvO5pS9mnT1CwM2CDOlPinypgtJdweYAtuSN3Q8+rIaBU97CN rtmKueYK1zw/boox5KBhiLCCw0hsuE7xM9i5fPoAlBqfs39L/4lXlS1F48qCEzNWMye9 Y7tEmSNPG3qcyfX+Ykgvg/orXRbWHrXBEEU+4D+ZJ00T6G6De21B8bXfgsNY53fLmioU MXl/Ziox1rrCNIzkpThY/6p3A382uQJKNLySKpBcrTFYxpRjXOw9vva8dW+rN9hp7JtR afTQ== X-Gm-Message-State: AOAM531iQZUOm5lqXNtkJ0Xv83nvKRTYqqVmVugtGHSlLTpCCFByxHe4 o8qEHSg9LairlcSmjmx0Sz+XzPqRprtk2MybJNBbGA== X-Google-Smtp-Source: ABdhPJwQZtouP410XzB28seCuGRPw0fiTGx3u2IcqfCXGco0W5OoNNcj2Lnq1CL6LseTT6UUU5eT3uumnnREmEl89Yc= X-Received: by 2002:a2e:9946:: with SMTP id r6mr1701962ljj.127.1597312818538; Thu, 13 Aug 2020 03:00:18 -0700 (PDT) In-Reply-To: <874kp6hotd.fsf@gnus.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:184981 Archived-At: Thanks! I'm a former iswitchb user, and this problem keeps me from switching to icomplete (I'm currently on ido-switch-buffer), even though I would like to have access to more advanced completion. Ole Den tor. 13. aug. 2020 kl. 11.34 skrev Lars Ingebrigtsen : > > Matthew Leach writes: > > >> Run emacs -Q, evaluate > >> > >> (icomplete-mode 1) > >> (setq icomplete-show-matches-on-no-input t) > >> > >> Make sure you have three buffers, e.g. by finding three files. Then > >> hit C-x b which should immediately show all buffers and use C-. or C-, > >> to select any other buffer than what the modeline declares to be the > >> default, and hit C-j or RET. > >> > >> Emacs then switches to the default buffer instead of the selected buffer. > > > > I'm not sure if this is expected behaviour, since the "default" prompt > > in the minibuffer doesn't disappear when cycling through results. > > Nevertheless attached is a patch that fixes this. > > I've respun the patch for Emacs 28, and I think the new behaviour makes > a lot more sense than the old behaviour, which I couldn't understand the > point of at all. > > But I'm not an icomplete user, so perhaps the old behaviour is what > people want? > > This also has possible ramifications for other completion styles > (although only icomplete enables it with this patch), so I wonder > whether Stefan has any comments here? > > diff --git a/lisp/icomplete.el b/lisp/icomplete.el > index 3747ae3d28..e3f7043e2c 100644 > --- a/lisp/icomplete.el > +++ b/lisp/icomplete.el > @@ -432,6 +432,8 @@ icomplete-minibuffer-setup > (current-local-map))) > (add-hook 'pre-command-hook #'icomplete-pre-command-hook nil t) > (add-hook 'post-command-hook #'icomplete-post-command-hook nil t) > + (when icomplete-show-matches-on-no-input > + (setq-local completion-use-stored-completions-when-no-input t)) > (run-hooks 'icomplete-minibuffer-setup-hook))) > > (defvar icomplete--in-region-buffer nil) > diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el > index d2c3f9045e..c3e5440956 100644 > --- a/lisp/minibuffer.el > +++ b/lisp/minibuffer.el > @@ -1126,6 +1126,7 @@ completion--cycle-threshold > (defvar-local completion-all-sorted-completions nil) > (defvar-local completion--all-sorted-completions-location nil) > (defvar completion-cycling nil) ;Function that takes down the cycling map. > +(defvar completion-use-stored-completions-when-no-input nil) > > (defvar completion-fail-discreetly nil > "If non-nil, stay quiet when there is no match.") > @@ -1510,8 +1511,15 @@ completion--complete-and-exit > COMPLETION-FUNCTION is called if the current buffer's content does not > appear to be a match." > (cond > - ;; Allow user to specify null string > - ((= beg end) (funcall exit-function)) > + ;; Allow user to specify null string. In the case that > + ;; `completion-use-stored-completions-when-no-input' is t, use > + ;; the car of `completion-all-sorted-completions' as the > + ;; candidate. > + ((= beg end) > + (when completion-use-stored-completions-when-no-input > + (completion--replace beg end (car completion-all-sorted-completions))) > + (funcall exit-function)) > + > ((test-completion (buffer-substring beg end) > minibuffer-completion-table > minibuffer-completion-predicate) > > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no