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: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Eli Zaretskii <eliz@gnu.org>, 65459@debbugs.gnu.org
Subject: bug#65459: completing-read INITIAL-VALUE unaware of COLLECTION and REQUIRE-MATCH
Date: Wed, 23 Aug 2023 18:12:22 +0000	[thread overview]
Message-ID: <b1bTYvprIGDrU8iKzoUE-JcUPusjV8zhTc34hcSS6CksX1VYMyHUTBQPX_XtjjE973BcbpdA8acOLsTUuSNV3ilEwtM9ZaRj25lzp7am7NM=@protonmail.com> (raw)
In-Reply-To: <jwv7cpln1o8.fsf-monnier+emacs@gnu.org>






Sent with Proton Mail secure email.

------- Original Message -------
On Thursday, August 24th, 2023 at 4:58 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:


> > > Could you give a bit more context about why/where you'd want to do that
> > > so I can better imagine how to attack the problem?
> > > 
> > > Hopefully it would explain why you want "alpha epsilon ..." first but
> > > "alpha beta .." later.
> > 
> > In such instance one considers collection as a cyclic list for the case of
> > simple cycling. But with possibility of starting from a particular index.
> 
> 
> So the initial "alpha" is simply not considered, OK, that makes sense,
> so given that the ordering of COLLECTION happens to be preserved, you
> can get the above behavior if you reorder COLLECTION before the call, as
> in:
> 
> (let ((cseq '("epsilon" "zeta" "eta" "alpha" "beta" "gamma" "delta")))
> (completing-read "Grapheme: " cseq nil t "alpha"))
 
> > > Also for such uses of `completing-read` we usually recommend against a
> > > non-nil value for INITIAL-INPUT, so that context should try to explain
> > > why you use "alpha" as INITIAL-INPUT. - Stefan
> > > Because using INITIAL is the only way available to pre-insert a value in
> > > the minibuffer.
> 
> That's a bit tautological.
> What I meant is why do you need to preinsert a value?

In particular cases, the pre-insertion indicates to the user
the kind of input structure of collection that can help him
apply a completion strategy for traversing the possibilities.

 
> The normal/recommended call looks like:
> 
> (let ((cseq '("alpha" "beta" "gamma" "delta" "epsilon" "zeta" "eta")))
> (completing-read (format-prompt "Grapheme" "alpha")
> cseq nil t nil nil "alpha"))
> 
> [ Yes, it's a bit cumbersome: hysterical raisins :-( ] - Stefan

Correct.  The solution involves an unwieldy parameter configurations, and possibly 
using convoluted workarounds to achieve the desired behavior.  This scenario implies
that using the function as intended requires a level of effort, understanding, and 
manipulation that goes beyond direct usage.







  reply	other threads:[~2023-08-23 18:12 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-22 22:04 bug#65459: completing-read INITIAL-VALUE unaware of COLLECTION and REQUIRE-MATCH Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 11:29 ` Eli Zaretskii
2023-08-23 11:57   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 13:07     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 15:29       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 16:05         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 16:39           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 16:58             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 18:12               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2023-08-23 21:27                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-23 22:44                   ` Drew Adams
2023-08-23 23:06                   ` Gregory Heytings
2023-08-24  2:30                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 12:30                       ` Gregory Heytings
2023-08-24 13:19                         ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-25  6:59                           ` Juri Linkov
2023-08-24 13:46                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-26  8:06                           ` Gregory Heytings
2023-08-31  9:42                             ` Eli Zaretskii
2023-09-04 21:35                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-04 22:16                               ` Stefan Kangas
2023-09-05 11:05                               ` Eli Zaretskii
2023-09-05 12:59                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-05 13:14                                   ` Eli Zaretskii
2023-08-24  9:02                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 13:36                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 14:51                       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 16:45                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 18:50                           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 19:35                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 20:22                               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 21:02                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-24 21:45                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-26  8:10                                   ` Gregory Heytings
2023-08-26 14:27                                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27  6:45                                       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 14:40                                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 16:21                                           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 16:26                                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 16:35                                               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 18:01                                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 21:11                                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 21:48                                                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 22:59                                                       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28  3:12                                                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28  9:14                                                           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28 12:44                                                             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28 12:50                                                               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28 13:04                                                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-28 13:13                                                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 16:42                                               ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 18:02                                                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 20:54                                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-27 21:26                                                   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors

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='b1bTYvprIGDrU8iKzoUE-JcUPusjV8zhTc34hcSS6CksX1VYMyHUTBQPX_XtjjE973BcbpdA8acOLsTUuSNV3ilEwtM9ZaRj25lzp7am7NM=@protonmail.com' \
    --to=bug-gnu-emacs@gnu.org \
    --cc=65459@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=heimeborgia@protonmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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).