unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Tim Landscheidt <tim@tim-landscheidt.de>
Cc: Michael Heerdegen <michael_heerdegen@web.de>,  emacs-devel@gnu.org
Subject: Re: Doc of deprecated INITIAL-INPUT arg of completing-read
Date: Sat, 17 Feb 2024 12:41:00 -0500	[thread overview]
Message-ID: <jwvo7cfyow6.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87bk8f3tgs.fsf@vagabond.tim-landscheidt.de> (Tim Landscheidt's message of "Sat, 17 Feb 2024 17:12:51 +0000")

>>> The docstring for completing-read (GNU Emacs 28.3) says re-
>>> garding INITIAL-INPUT:
>
>>> | If INITIAL-INPUT is non-nil, insert it in the minibuffer initially,
>>> |   with point positioned at the end.  If it is (STRING . POSITION), the
>>> |   initial input is STRING, but point is placed at _zero-indexed_
>>> |   position POSITION in STRING.  (*Note* that this is different from
>>> |   ‘read-from-minibuffer’ and related functions, which use one-indexing
>>> |   for POSITION.)  This feature is deprecated--it is best to pass nil
>>> |   for INITIAL-INPUT and supply the default value DEF instead.  The
>>> |   user can yank the default value into the minibuffer easily using
>>> |   M-n.
>
>>> If one follows this recommendation (setting INITIAL-INPUT to
>>> nil and passing the original value as DEF), the user is not
>>> made aware of the original INITIAL-INPUT value until he
>>> presses M-n.
>
>> Oh, you mean we should add that the default should be passed to
>> `format-prompt`?  I guess that would help, indeed.
>
> Yes.  (I doubt, though, that my brain can ever be trained to
> find it convenient that pressing RET at position B will make
> Emacs use the text displayed at position A, and this text at
> position B will not go away if I tell Emacs that I want to
> enter something different so that I can remember that if I
> delete all text and press RET, it will use the text at posi-
> tion A again.)

But that's a UI issue.  Whereas we're discussing an API issue.
The API's design should allow for several UI choices.

> I wasn't aware of the latter two until now, and I can't say
> that the display of "~//etc/passwd" leading to visit
> "/etc/passwd", but (find-file "~//etc/passwd") not working
> is intuitive to me.

That's been a feature of `C-x C-f` since for ever :-)
At some point the (find-file "~//etc/passwd") also worked.  I think this
was changed around Emacs-21 or maybe even Emacs-19.  Then in Emacs-22 we
added the `file-name-shadow-mode` to give some visual feedback about
the feature.


        Stefan




  reply	other threads:[~2024-02-17 17:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27 15:22 Doc of deprecated INITIAL-INPUT arg of completing-read Michael Heerdegen
2022-06-27 16:33 ` [External] : " Drew Adams
2022-06-27 17:22   ` Christopher Dimech
2022-06-28 16:19   ` Michael Heerdegen
2022-06-28 16:40     ` Drew Adams
2022-06-29 13:42       ` Michael Heerdegen
2022-06-29 14:24         ` Drew Adams
2022-06-28 21:46     ` Christopher Dimech
2022-06-29  9:15     ` Arash Esbati
2022-06-29 13:46       ` Michael Heerdegen
2022-06-30  9:10         ` Arash Esbati
2022-07-04 12:25           ` Michael Heerdegen
2022-06-28 19:17   ` [External] : " Jean Louis
2022-06-28 19:15 ` Jean Louis
2022-06-28 21:10   ` Stefan Monnier
2022-06-28 22:00     ` Jean Louis
2022-06-29  2:58       ` Stefan Monnier
2022-06-30  3:08     ` Richard Stallman
2022-06-30 14:28       ` Stefan Monnier
2024-02-13 14:43     ` Tim Landscheidt
2024-02-13 14:59       ` Stefan Monnier
2024-02-13 17:07         ` Tim Landscheidt
2024-02-13 20:09           ` Stefan Monnier
2024-02-15  8:21             ` Tim Landscheidt
2024-02-15 16:09               ` [External] : " Drew Adams
2024-02-15 18:39               ` Stefan Monnier
2024-02-17 17:12                 ` Tim Landscheidt
2024-02-17 17:41                   ` Stefan Monnier [this message]
2022-06-30  3:08   ` Richard Stallman
2022-07-01  5:54     ` Jean Louis

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=jwvo7cfyow6.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    --cc=michael_heerdegen@web.de \
    --cc=tim@tim-landscheidt.de \
    /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).