@kindex M-?
@findex xref-find-references
- @kbd{M-?} finds all the references for the identifier at point. If
-there's no identifier at point, or when invoked with a prefix
-argument, the command prompts for the identifier, with completion. It
+ @kbd{M-?} finds all the references for the identifier at point,
+prompting for the identifier as needed, with completion. Depending on
+the current backend (@pxref{Xref}), the command may prompt even if it
+finds a valid identifier at point. When invoked with a prefix
+argument, it always prompts for the identifier. (If you want it to
+prompt always, customize the value of the variable
+@code{xref-prompt-for-identifier} to @code{t}; or set it to @code{nil}
+to prompt only if there's no usable identifier at point.) The command
then presents the @file{*xref*} buffer with all the references to the
identifier, showing the file name and the line where the identifier is
referenced. The XREF mode commands are available in this buffer, see
;;;###autoload
(defun xref-find-references (identifier)
"Find references to the identifier at point.
-With prefix argument, prompt for the identifier."
+This command might prompt for the identifier as needed, perhaps
+offering the symbol at point as the default.
+With prefix argument, or if `xref-prompt-for-identifier' is t,
+always prompt for the identifier. If `xref-prompt-for-identifier'
+is nil, prompt only if there's no usable symbol at point."
(interactive (list (xref--read-identifier "Find references of: ")))
(xref--find-xrefs identifier 'references identifier nil))