1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00

* lisp/bookmark.el (bookmark-completing-read): Improve handling of empty

string.

Fixes: debbugs:14176
This commit is contained in:
Thierry Volpiatto 2013-04-19 01:11:16 -04:00 committed by Stefan Monnier
parent 31dcede0c7
commit 7d6883367a
2 changed files with 16 additions and 16 deletions

View File

@ -1,3 +1,8 @@
2013-04-19 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* bookmark.el (bookmark-completing-read): Improve handling of empty
string (bug#14176).
2013-04-19 Stefan Monnier <monnier@iro.umontreal.ca> 2013-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/vc-dispatcher.el (vc-do-command): Get rid of default sentinel msg. * vc/vc-dispatcher.el (vc-do-command): Get rid of default sentinel msg.

View File

@ -427,8 +427,8 @@ just return it."
"Prompting with PROMPT, read a bookmark name in completion. "Prompting with PROMPT, read a bookmark name in completion.
PROMPT will get a \": \" stuck on the end no matter what, so you PROMPT will get a \": \" stuck on the end no matter what, so you
probably don't want to include one yourself. probably don't want to include one yourself.
Optional second arg DEFAULT is a string to return if the user enters Optional arg DEFAULT is a string to return if the user input is empty.
the empty string." If DEFAULT is nil then return empty string for empty input."
(bookmark-maybe-load-default-file) ; paranoia (bookmark-maybe-load-default-file) ; paranoia
(if (listp last-nonmenu-event) (if (listp last-nonmenu-event)
(bookmark-menu-popup-paned-menu t prompt (bookmark-menu-popup-paned-menu t prompt
@ -437,22 +437,17 @@ the empty string."
'string-lessp) 'string-lessp)
(bookmark-all-names))) (bookmark-all-names)))
(let* ((completion-ignore-case bookmark-completion-ignore-case) (let* ((completion-ignore-case bookmark-completion-ignore-case)
(default default) (default (unless (equal "" default) default))
(prompt (concat prompt (if default (prompt (concat prompt (if default
(format " (%s): " default) (format " (%s): " default)
": "))) ": "))))
(str (completing-read prompt
(completing-read prompt (lambda (string pred action)
(lambda (string pred action) (if (eq action 'metadata)
(if (eq action 'metadata) '(metadata (category . bookmark))
'(metadata (category . bookmark)) (complete-with-action
(complete-with-action action bookmark-alist string pred)))
action bookmark-alist string pred))) nil 0 nil 'bookmark-history default))))
nil
0
nil
'bookmark-history)))
(if (string-equal "" str) default str))))
(defmacro bookmark-maybe-historicize-string (string) (defmacro bookmark-maybe-historicize-string (string)