unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: carlmarcos--- via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: Arash Esbati <arash@gnu.org>
Cc: Drew Adams <drew.adams@oracle.com>,
	Christopher Dimech <dimech@gmx.com>,
	"eliz@gnu.org" <eliz@gnu.org>,
	"monnier@iro.umontreal.ca" <monnier@iro.umontreal.ca>,
	Help Gnu Emacs <help-gnu-emacs@gnu.org>,
	"michael_heerdegen@web.de" <michael_heerdegen@web.de>
Subject: Re: completing-read depricated initial-input
Date: Thu, 23 Jun 2022 12:06:23 +0200 (CEST)	[thread overview]
Message-ID: <N5F0jDT--3-2@tutanota.com> (raw)
In-Reply-To: <86mte3lsj2.fsf_-_@gnu.org>


Jun 23, 2022, 07:59 by arash@gnu.org:

> Drew Adams <drew.adams@oracle.com> writes:
>
>>> > `completing-read' is extremely general, allowing for many different
>>> > interactions for many different kinds of use cases.
>>>
>>> True, unfortunately.
>>>
>>
>> Why "unfortunately"?
>>
>
> Because extremely general tools give one many ways to do things.  It is
> just hard if you find out afterwards that things went in the wrong
> direction and you try to clean up.  No other reason.
>
>> And there's `read-from-minibuffer', which is
>> even more general.
>>
>
> Therefore we have `read-string'.
>
>> I'd rather have Emacs implement, test, and maintain it than do so
>> myself, if possible. ;-)
>>
>
> Good strategy ;-)
>
>>> but you're still free to use the old feature if you
>>> think it has a added value from a user perspective.
>>>
>>
>> Sure.  With the risk that what's deprecated might be
>> desupported at some point.
>>
>> (At which point you can always choose to copy the old
>> code and continue to use it.  With the bother of
>> dealing with incompatibilities, inconsistencies, and
>> having to keep some bits synchronized...)
>>
>
> I don't think this will happen for `completing-read'.  Looking at other
> places than the docstring of `completing-read', you find:
>
>  • Emacs Lisp Ref:
>
>  21.5 Initial Input[1]
>
>  Several of the functions for minibuffer input have an argument called
>  initial. This is a mostly-deprecated feature for specifying that the
>  minibuffer should start out with certain text, instead of empty as
>  usual. [...]
>
>  We discourage use of a non-nil value for initial, because initial
>  input is an intrusive interface. History lists and default values
>  provide a much more convenient method to offer useful default inputs
>  to the user.
>
>   21.6.2 Completion and the Minibuffer[2]
>
>  Function: completing-read [...]
>  The argument initial is mostly deprecated; we recommend using a
>  non-nil value only in conjunction with specifying a cons cell for
>  history. See Initial Input. For default input, use default instead.
>
This is where I disagree.  The documentation discouraging and recommending
not to use it, reads as a statement that lacks any persuasive discussion.

It is not valuable to discourage something simply because it is usually found that
 it is empty.  A designer might know better what he is trying to achieve.  At times it
is better to display some indicative words to the user, than nothing at all (an empty field).

INITIAL-INPUT allows one to display a personally preferable feature whilst keeping
the usual default intact. One must not confuse "initial" with "default".  An initial value
could be assigned to some preferential usage that differs from some well known canonical
 setting.

    



>  • `read-string' docstring:
>
>  Read a string from the minibuffer, prompting with string PROMPT.
>  If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
>  This argument has been superseded by DEFAULT-VALUE and should
>  normally be nil in new code.  It behaves as INITIAL-CONTENTS in
>  ‘read-from-minibuffer’ (which see).
>
> Note the terms "mostly-deprecated", "discourage", "recommend",
> "superseded".  So maybe the docstring of `completing-read' should be
> adjusted to the statements above in order to avoid confusion?
>
I do not see that the deprecation was superceded through some improved
 coding mechanism.


> Best, Arash
>
> Footnotes:
> [1]  https://www.gnu.org/software/emacs/manual/html_node/elisp/Initial-Input.html
> [2]  https://www.gnu.org/software/emacs/manual/html_node/elisp/Minibuffer-Completion.html
>



  reply	other threads:[~2022-06-23 10:06 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-21  7:56 completing-read depricated initial-input carlmarcos--- via Users list for the GNU Emacs text editor
     [not found] ` <N54Fw5q--3-2@tutanota.com-N54INof----2>
2022-06-21  9:51   ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-21 11:19     ` Michael Heerdegen
2022-06-21 12:39       ` Emanuel Berg
2022-06-21 12:46         ` Michael Heerdegen
2022-06-21 14:04           ` [External] : " Drew Adams
2022-06-21 14:10             ` Michael Heerdegen
2022-06-21 14:49               ` Drew Adams
2022-06-22  8:50     ` Jean Louis
2022-06-22  9:32       ` Emanuel Berg
2022-06-21 10:26 ` Robert Pluim
2022-06-21 11:15   ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-21 12:39 ` Christopher Dimech
2022-06-21 14:09   ` [External] : " Drew Adams
2022-06-21 18:21     ` Arash Esbati
2022-06-21 19:04       ` Emanuel Berg
2022-06-21 20:41       ` [External] : " Drew Adams
2022-06-21 21:28         ` Arash Esbati
2022-06-21 22:07           ` [External] : " Drew Adams
2022-06-21 22:56             ` Emanuel Berg
2022-06-22 13:43               ` Drew Adams
2022-06-22 15:59                 ` standard libraries again (was: Re: [External] : Re: completing-read depricated initial-input) Emanuel Berg
2022-06-22 17:39                   ` Drew Adams
2022-06-22 18:05                     ` Emanuel Berg
2022-06-22 20:53                       ` Drew Adams
2022-06-22 21:18                         ` Emanuel Berg
2022-06-23  7:59             ` completing-read depricated initial-input Arash Esbati
2022-06-23 10:06               ` carlmarcos--- via Users list for the GNU Emacs text editor [this message]
2022-06-23 20:57                 ` Emanuel Berg
2022-06-23 11:19               ` Michael Heerdegen
2022-06-23 12:12                 ` Arash Esbati
2022-06-23 14:52                   ` Michael Heerdegen
2022-06-23 16:30                     ` [External] : " Drew Adams
2022-06-23 16:41                       ` Michael Heerdegen
2022-06-23 18:27                         ` Christopher Dimech
2022-06-23 21:14                         ` Emanuel Berg
2022-06-23 18:25                       ` RE: [External] : " Christopher Dimech
2022-06-23 21:13                       ` [External] : " Emanuel Berg
2022-06-23 21:07                     ` Emanuel Berg
2022-06-23 21:06                   ` Emanuel Berg
2022-06-23 14:36                 ` Jean Louis
2022-06-24  2:35                   ` Emanuel Berg
2022-06-24  6:59                     ` Jean Louis
2022-06-23 15:19                 ` Jean Louis
2022-06-23 15:24                 ` Jean Louis
2022-06-23 21:05                 ` Stefan Monnier
2022-06-23 22:10                   ` Christopher Dimech
2022-06-23 22:19                     ` Stefan Monnier
2022-06-23 22:28                       ` Christopher Dimech
2022-06-24  7:08                     ` Jean Louis
2022-06-24  8:19                       ` Christopher Dimech
2022-06-24 11:00                         ` Jean Louis
2022-06-24 16:58                           ` Christopher Dimech
2022-06-24  8:19                       ` Emanuel Berg
2022-06-24 11:31                         ` Jean Louis
2022-06-25 18:54                           ` Emanuel Berg
2022-06-25 19:51                             ` Jean Louis
2022-06-26 17:36                               ` Emanuel Berg
2022-06-24 14:30                         ` [External] : " Drew Adams
2022-06-24 19:33                           ` RE: [External] : " Christopher Dimech
2022-06-25 19:12                           ` [External] : " Emanuel Berg
2022-06-25 21:26                             ` Drew Adams
2022-06-26 17:39                               ` Emanuel Berg
2022-06-26 22:22                                 ` Drew Adams
2022-06-26 22:42                                   ` Emanuel Berg
2022-06-24  0:10                   ` Drew Adams
2022-06-24  8:09                     ` RE: [External] : " Christopher Dimech
2022-06-24  2:29                   ` Emanuel Berg
2022-06-23 16:23               ` [External] : " Drew Adams
2022-06-23 20:58                 ` Arash Esbati
2022-06-23 21:54                   ` Christopher Dimech
2022-06-24  2:49                   ` Emanuel Berg
2022-06-22  3:09           ` Po Lu
2022-06-22  3:46             ` Emanuel Berg
2022-06-22  4:56             ` Christopher Dimech
2022-06-23  8:20             ` Arash Esbati
2022-06-23  8:27               ` Emanuel Berg
2022-06-23  8:57                 ` Tassilo Horn
2022-06-23 10:10                   ` Emanuel Berg
2022-06-23 11:26                     ` Tassilo Horn
2022-06-23 11:48                       ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-23 21:38                         ` Emanuel Berg
2022-06-24  8:03                           ` Christopher Dimech
2022-06-23 21:34                       ` Emanuel Berg
2022-06-23 11:58                     ` Arash Esbati
2022-06-23 12:10                       ` Lars Ingebrigtsen
2022-06-23 14:26                         ` Tassilo Horn
2022-06-23 14:46                           ` Arash Esbati
2022-06-23 15:18                             ` Robert Pluim
2022-06-23 20:46                               ` Arash Esbati
2022-06-24  8:40                                 ` Philip Kaludercic
2022-06-24  2:22                             ` Emanuel Berg
2022-06-24  2:17                           ` Emanuel Berg
2022-06-23 21:49                         ` Emanuel Berg
2022-06-23 21:42                       ` Emanuel Berg
2022-06-23 16:25                   ` [External] : " Drew Adams
2022-06-23 19:56                     ` Tassilo Horn
2022-06-24 11:23                       ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-24 11:36                         ` Jean Louis
2022-06-25 19:01                           ` Emanuel Berg
2022-06-25 21:26                             ` Drew Adams
2022-06-22  2:59         ` RE: [External] : " Christopher Dimech
  -- strict thread matches above, loose matches on Subject: below --
2022-06-21 14:56 Anders Munch
2022-06-22  8:45 ` Jean Louis
2022-06-22 10:02 Anders Munch
2022-06-22 11:58 ` Emanuel Berg
2022-06-22 13:23 ` Eli Zaretskii
2022-06-22 13:17 Anders Munch
2022-06-22 13:43 Anders Munch

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=N5F0jDT--3-2@tutanota.com \
    --to=help-gnu-emacs@gnu.org \
    --cc=arash@gnu.org \
    --cc=carlmarcos@tutanota.com \
    --cc=dimech@gmx.com \
    --cc=drew.adams@oracle.com \
    --cc=eliz@gnu.org \
    --cc=michael_heerdegen@web.de \
    --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.
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).