From: Thierry Volpiatto Date: Fri, 19 Apr 2013 05:11:16 +0000 (-0400) Subject: * lisp/bookmark.el (bookmark-completing-read): Improve handling of empty X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2026^2~425 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7d6883367a54b4eee342aa861ef73e4191151ef0;p=emacs.git * lisp/bookmark.el (bookmark-completing-read): Improve handling of empty string. Fixes: debbugs:14176 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 97ee66dcc01..a09d37352f7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-04-19 Thierry Volpiatto + + * bookmark.el (bookmark-completing-read): Improve handling of empty + string (bug#14176). + 2013-04-19 Stefan Monnier * vc/vc-dispatcher.el (vc-do-command): Get rid of default sentinel msg. diff --git a/lisp/bookmark.el b/lisp/bookmark.el index c1d8a4a0a5e..482cdf92752 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -427,8 +427,8 @@ just return it." "Prompting with PROMPT, read a bookmark name in completion. PROMPT will get a \": \" stuck on the end no matter what, so you probably don't want to include one yourself. -Optional second arg DEFAULT is a string to return if the user enters -the empty string." +Optional arg DEFAULT is a string to return if the user input is empty. +If DEFAULT is nil then return empty string for empty input." (bookmark-maybe-load-default-file) ; paranoia (if (listp last-nonmenu-event) (bookmark-menu-popup-paned-menu t prompt @@ -437,22 +437,17 @@ the empty string." 'string-lessp) (bookmark-all-names))) (let* ((completion-ignore-case bookmark-completion-ignore-case) - (default default) + (default (unless (equal "" 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)