unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Heime via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Drew Adams <drew.adams@oracle.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
	"65348@debbugs.gnu.org" <65348@debbugs.gnu.org>
Subject: bug#65348: INITIAL-INPUT in completing-read repeats same entry twice consecutively
Date: Sat, 19 Aug 2023 01:55:14 +0000	[thread overview]
Message-ID: <ipKqi4aDq3yIJlA6LHAGhcnv1cEgNzBIWtEsNEfpEkcoMMEH52_04tpYFXaB3L-rErkJoRVVuDlWy2xnCSmn6NhiT7K81RLpydMRpnOHXCI=@protonmail.com> (raw)
In-Reply-To: <SJ0PR10MB5488DEB7D60756DBDEF965C5F31BA@SJ0PR10MB5488.namprd10.prod.outlook.com>


------- Original Message -------
On Saturday, August 19th, 2023 at 9:03 AM, Drew Adams <drew.adams@oracle.com> wrote:


> > > Cycling can be helpful for accessing COLLECTION
> > > matches or for accessing history elements. But
> > > cycling is an inherently dumb, inefficient way
> > > to find a needle in a haystack. A magnet works
> > > better than checking each bit of hay in turn.
> > 
> > I use completing-read so I do not have to remember
> > collection matches.
> 
> 
> "Remember collection matches?"
> No idea what you're on about, there.
> 
> The point is that cycling among `completing-read' completion candidates, just like cycling among` completing-read' history elements, is a slow,
> single-step, brute-force way to access choices.
> If there are many candidates then it becomes a
> ridiculous way to get what you want. In that case
> you're far better off filtering the candidates.
> 
> When you use `completing-read', you do sometimes
> type some text in the minibuffer, to filter the
> choices, don't you? Why do you do that, instead
> of just cycling blindly among ALL the candidates
> in the domain (COLLECTION)? Because it's stupid
> & slow to cycle when there are zillions of choices.
> 
> M-x TAB <down> <down> <down> <down> <down>...
>
> You DON'T do that to enter a command, do you? I
> truly hope you type some text before hitting TAB.

I do actually and without hitting TAB.  Did not know about that
trick.
 
> The same thing applies to accessing a choice among
> any set of candidates, whether it's completions,
> history elements, query-replace matches,...
> 
> Filtering is far more efficient than cycling
> when the set of candidates is large. Emacs makes
> a point of giving users ways to filter instead of
> just checking each blade of straw to see if it
> might be a needle.
> 
> Filter first, well, and often, and it will boost
> the value of cycling. Same for sorting: sort
> well and you needn't cycle much. Cycling on its
> own is like reading a novel one letter at a time.

I like to categorise rather than sort.
 
> Cycling is the last thing to do, after you've
> narrowed the selection down to a few choices and
> if it's more trouble than it's worth to narrow it
> down to a single choice by filtering further.
> 
> If you can present the choices in a good order
> (sorting) then it might not matter how many there
> are, because you have, in effect, narrowed the
> choices down to those at the start of the list.
> 
> Being able to sort completion candidates on the
> fly is powerful, as is being able to filter them
> on the fly - and to filter again and again, with
> different criteria/patterns.
> 
> Vanilla Emacs doesn't offer filtering again and
> again; and it doesn't offer sorting on the fly.
> It should offer both.

It should as you say.
 
> https://www.emacswiki.org/emacs/Icicles_-_Nutshell_View#ProgressiveCompletion
> 
> https://www.emacswiki.org/emacs/Icicles_-_Sorting_Candidates
> 
> https://www.emacswiki.org/emacs/Icicles_-_Sorting_Candidates#screenshots





  reply	other threads:[~2023-08-19  1:55 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-17  0:47 bug#65348: INITIAL-INPUT in completing-read repeats same entry twice consecutively Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-17  5:49 ` Eli Zaretskii
2023-08-17  6:05   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-17  7:20     ` Eli Zaretskii
2023-08-17 10:27       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-17 10:45         ` Eli Zaretskii
2023-08-18  0:35           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18  1:47             ` Drew Adams
2023-08-18  3:49             ` Eli Zaretskii
2023-08-18  5:13               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18  5:36                 ` Eli Zaretskii
2023-08-18  5:56                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18  6:32                     ` Eli Zaretskii
2023-08-18  8:40                       ` uzibalqa via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 12:14                         ` Eli Zaretskii
2023-08-18 12:27                           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 12:30                             ` Eli Zaretskii
2023-08-18 12:55                               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 13:27                                 ` Eli Zaretskii
2023-08-18 13:36                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 15:23                                     ` Drew Adams
2023-08-18 15:16                 ` Drew Adams
2023-08-18 15:43                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 17:33                     ` Drew Adams
2023-08-18 19:12                       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 21:03                         ` Drew Adams
2023-08-19  1:55                           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2023-08-19  2:34                         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-19  4:14                           ` Drew Adams
2023-08-19  4:22                             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-19  4:46                               ` Drew Adams
2023-08-19  5:05                                 ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-19  6:34                                   ` Eli Zaretskii
2023-08-19 16:20                                     ` Drew Adams
2023-08-19 19:19                                       ` Eli Zaretskii
2023-08-19 20:56                                         ` Drew Adams
2023-08-20 16:39                                           ` Juri Linkov
2023-08-21  0:23                                             ` Drew Adams
2023-08-21  4:34                                               ` Christopher Dimech
2023-08-20  5:42                                         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  6:12                                           ` Michael Heerdegen
2023-08-20  6:23                                             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-20  6:34                                             ` Christopher Dimech
2023-08-21  0:25                                               ` Drew Adams
2023-08-21  4:26                                                 ` bug#65348: RE: [External] : " Christopher Dimech
2023-08-21  5:23                                                   ` Drew Adams
2023-08-21  6:29                                                     ` Christopher Dimech
2023-08-21  7:21                                                     ` bug#65348: " Christopher Dimech
2023-08-21 11:40                                                       ` Eli Zaretskii
2023-08-21 12:07                                                         ` Christopher Dimech
2023-08-21 12:25                                                           ` Eli Zaretskii
2023-08-21 13:27                                                             ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-21 16:08                                                         ` Drew Adams
2023-08-18 19:45                       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-18 21:07                         ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='ipKqi4aDq3yIJlA6LHAGhcnv1cEgNzBIWtEsNEfpEkcoMMEH52_04tpYFXaB3L-rErkJoRVVuDlWy2xnCSmn6NhiT7K81RLpydMRpnOHXCI=@protonmail.com' \
    --to=bug-gnu-emacs@gnu.org \
    --cc=65348@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=eliz@gnu.org \
    --cc=heimeborgia@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).