From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
To: "Drew Adams" <drew.adams@oracle.com>
Cc: 14176@debbugs.gnu.org
Subject: bug#14176: 24.3.50; `bookmark-completing-read': prompt and return value for "" DEFAULT
Date: Fri, 12 Apr 2013 07:38:34 +0200 [thread overview]
Message-ID: <87ehegjokl.fsf@gmail.com> (raw)
In-Reply-To: <A794C7112AB442ECB725014ADA9F8A39@us.oracle.com> (Drew Adams's message of "Thu, 11 Apr 2013 14:32:36 -0700")
"Drew Adams" <drew.adams@oracle.com> writes:
> The prompt still shows empty parens: "Bookmark (): ".
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index c1d8a4a..ad1609b 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -437,22 +437,18 @@ the empty string."
'string-lessp)
(bookmark-all-names)))
(let* ((completion-ignore-case bookmark-completion-ignore-case)
- (default default)
+ (default (unless (string= "" default) default))
(prompt (concat prompt (if default
(format " (%s): " default)
- ": ")))
- (str
- (completing-read prompt
- (lambda (string pred action)
- (if (eq action 'metadata)
- '(metadata (category . bookmark))
- (complete-with-action
- action bookmark-alist string pred)))
- nil
- 0
- nil
- 'bookmark-history)))
- (if (string-equal "" str) default str))))
+ ": "))))
+ (completing-read prompt
+ (lambda (string pred action)
+ (if (eq action 'metadata)
+ '(metadata (category . bookmark))
+ (complete-with-action
+ action bookmark-alist string pred)))
+ nil 0 nil 'bookmark-history default))))
+
(defmacro bookmark-maybe-historicize-string (string)
> (The handling of a cons DEFAULT is appropriate since Emacs 23. But that minor
> enhancement is really separate from this bug report. #1 is just about empty
> parens in the prompt.)
Don't see why DEFAULT would be a cons, a bookmark name is a string, so IMO
DEFAULT should be a string or nil.
>
> Wrt #2:
>
> a. I misspoke a bit. The behavior was that nil (not "") was returned when
> DEFAULT is nil and the user enters empty input. IMO, the value returned should
> be "" (which Thierry's patch fixes, BTW).
>
> Given that correction, this (new) behavior should be pointed out in the doc
> string. That is #2 of the bug report.
>
> IOW, the function should always return a string, and that string should be empty
> ("") if DEFAULT is nil and the user input is empty.
(bookmark-completing-read "test" "")
=> ""
(bookmark-completing-read "test")
=> ""
(bookmark-completing-read "test" "foo")
=> "foo"
> And we should point out this behavior explicitly in the doc string,
> for clarity.
Maybe you can provide a patch ?...
Thanks.
--
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997
next prev parent reply other threads:[~2013-04-12 5:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-10 22:04 bug#14176: 24.3.50; `bookmark-completing-read': prompt and return value for "" DEFAULT Drew Adams
2013-04-11 5:59 ` Thierry Volpiatto
2013-04-11 14:03 ` Stefan Monnier
2013-04-11 15:10 ` Thierry Volpiatto
2013-04-11 21:32 ` Drew Adams
2013-04-12 5:38 ` Thierry Volpiatto [this message]
2013-04-12 14:14 ` Drew Adams
2013-04-13 8:16 ` Thierry Volpiatto
2013-04-13 15:46 ` Drew Adams
2013-04-19 5:12 ` Stefan Monnier
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=87ehegjokl.fsf@gmail.com \
--to=thierry.volpiatto@gmail.com \
--cc=14176@debbugs.gnu.org \
--cc=drew.adams@oracle.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).