Commit 5ff4bfae authored by Dmitry Gutov's avatar Dmitry Gutov
Browse files

Fix an "empty identifier" problem

* lisp/progmodes/xref.el (xref--read-identifier): Abort on empty
input if there is no default
(https://lists.gnu.org/archive/html/help-gnu-emacs/2019-05/msg00012.html).
parent d9f62fce
......@@ -828,20 +828,25 @@ Return an alist of the form ((FILENAME . (XREF ...)) ...)."
(defun xref--read-identifier (prompt)
"Return the identifier at point or read it from the minibuffer."
(let* ((backend (xref-find-backend))
(id (xref-backend-identifier-at-point backend)))
(def (xref-backend-identifier-at-point backend)))
(cond ((or current-prefix-arg
(not id)
(not def)
(xref--prompt-p this-command))
(completing-read (if id
(format "%s (default %s): "
(substring prompt 0 (string-match
"[ :]+\\'" prompt))
id)
prompt)
(xref-backend-identifier-completion-table backend)
nil nil nil
'xref--read-identifier-history id))
(t id))))
(let ((id
(completing-read
(if def
(format "%s (default %s): "
(substring prompt 0 (string-match
"[ :]+\\'" prompt))
def)
prompt)
(xref-backend-identifier-completion-table backend)
nil nil nil
'xref--read-identifier-history def)))
(if (equal id "")
(or def (user-error "There is no defailt identifier"))
id)))
(t def))))
;;; Commands
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment