diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 1d0d1bc58a4..1023b75e668 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -787,11 +787,7 @@ pattern to search for." (defun project--find-regexp-in-files (regexp files) (unless files (user-error "Empty file list")) - (let ((xrefs (xref-matches-in-files - regexp - ;; FIXME: `xref-matches-in-files' should work with - ;; quoted filenames. - (mapcar #'file-name-unquote files)))) + (let ((xrefs (xref-matches-in-files regexp files))) (unless xrefs (user-error "No matches for: %s" regexp)) xrefs)) diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 3d2f21ab52f..5d99915347b 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -1534,6 +1534,8 @@ FILES must be a list of absolute file names." #'tramp-file-local-name #'file-local-name) files))) + (when (file-name-quoted-p (car files)) + (setq files (mapcar #'file-name-unquote files))) (with-current-buffer output (erase-buffer) (with-temp-buffer