From: Christopher Dimech <dimech@gmx.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: Michael Heerdegen <michael_heerdegen@web.de>,
Arash Esbati <arash@gnu.org>, "eliz@gnu.org" <eliz@gnu.org>,
"monnier@iro.umontreal.ca" <monnier@iro.umontreal.ca>,
Help Gnu Emacs <help-gnu-emacs@gnu.org>,
"carlmarcos@tutanota.com" <carlmarcos@tutanota.com>
Subject: Re: RE: [External] : completing-read depricated initial-input
Date: Thu, 23 Jun 2022 20:25:20 +0200 [thread overview]
Message-ID: <trinity-8e87210b-2559-4c57-b19d-1176e8d3e9e5-1656008720567@3c-app-mailcom-bs07> (raw)
In-Reply-To: <SJ0PR10MB54886D571721D312F83D0865F3B59@SJ0PR10MB5488.namprd10.prod.outlook.com>
> Sent: Friday, June 24, 2022 at 4:30 AM
> From: "Drew Adams" <drew.adams@oracle.com>
> To: "Michael Heerdegen" <michael_heerdegen@web.de>, "Arash Esbati" <arash@gnu.org>
> Cc: "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>, "carlmarcos@tutanota.com" <carlmarcos@tutanota.com>
> Subject: RE: [External] : Re: completing-read depricated initial-input
>
> > > (let ((list '("iffalse" "iftrue" "else" "fi")))
> > > (completing-read "Macro: "
> > > (mapcar (lambda (x) (concat "\\" x)) list)
> > > nil nil "\\"))
> >
> > A convincing example, in my opinion.
>
> Yes, it's a typical use case for non-nil INIT
> arg: inserting a prefix.
>
> And it's also essentially the case for non-nil
> `insert-default-directory' for `read-file-name'.
>
> (Try setting `insert-default-directory' to nil,
> and see if you like it. Now imagine if Emacs
> hard-coded the behavior as nil and decided to
> tell users that inserting `default-directory'
> is deprecated...)
>
> This case can arise if you use `try-completion'
> to obtain such a common prefix, and then you use
> `completing-read' to get the completion the user
> wants.
>
> Another example:
> (completing-read "Color: " (defined-colors)
> nil nil (buffer-substring-no-properties
> (widget-field-start widget)
> (point)))
> ___
>
> Another typical use case is when the HIST arg is a
> cons, so you can insert a particular history element
> and position the cursor after it.
>
> This case is what the doc string of `completing-read'
> (misguidedly) says is the _only_ use case:
>
> (This is the only case in which you should use
> INITIAL-INPUT instead of DEF.)
>
> (Our docs shouldn't use "should", BTW. ;-))
>
> And it's not even necessarily a case of "instead
> of DEF". Using INIT here doesn't exclude also
> using a DEF value.
Correct, there are use cases for init and def to be different,
and for who do not want init, nil is specified.
But I do agree with the recommendation of not using initial-value,
is not based on the existence of any coherent problem to elisp
package success. Looking at in, the discouragement is deeply
rooted around the use cases seen in many packages. And ignore
the truly great ones that might use initial-value it future.
next prev parent reply other threads:[~2022-06-23 18:25 UTC|newest]
Thread overview: 102+ 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
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 ` Christopher Dimech [this message]
2022-06-23 21:13 ` 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
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=trinity-8e87210b-2559-4c57-b19d-1176e8d3e9e5-1656008720567@3c-app-mailcom-bs07 \
--to=dimech@gmx.com \
--cc=arash@gnu.org \
--cc=carlmarcos@tutanota.com \
--cc=drew.adams@oracle.com \
--cc=eliz@gnu.org \
--cc=help-gnu-emacs@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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.