aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/project.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index cfe7fc3750a..5070bb0c8ac 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -258,7 +258,8 @@ DIRS must contain directory names."
258(defun project--value-in-dir (var dir) 258(defun project--value-in-dir (var dir)
259 (with-temp-buffer 259 (with-temp-buffer
260 (setq default-directory dir) 260 (setq default-directory dir)
261 (hack-dir-local-variables-non-file-buffer) 261 (let ((enable-local-variables :all))
262 (hack-dir-local-variables-non-file-buffer))
262 (symbol-value var))) 263 (symbol-value var)))
263 264
264(declare-function grep-read-files "grep") 265(declare-function grep-read-files "grep")
@@ -310,12 +311,14 @@ pattern to search for."
310 (user-error "No matches for: %s" regexp)) 311 (user-error "No matches for: %s" regexp))
311 (xref--show-xrefs xrefs nil))) 312 (xref--show-xrefs xrefs nil)))
312 313
314;;;###autoload
313(defun project-find-file () 315(defun project-find-file ()
314 (interactive) 316 (interactive)
315 (let* ((pr (project-current t)) 317 (let* ((pr (project-current t))
316 (dirs (project-roots pr))) 318 (dirs (project-roots pr)))
317 (project--find-file-in dirs pr))) 319 (project--find-file-in dirs pr)))
318 320
321;;;###autoload
319(defun project-or-external-find-file () 322(defun project-or-external-find-file ()
320 (interactive) 323 (interactive)
321 (let* ((pr (project-current t)) 324 (let* ((pr (project-current t))
@@ -326,6 +329,7 @@ pattern to search for."
326 329
327;; FIXME: Uniquely abbreviate the roots? 330;; FIXME: Uniquely abbreviate the roots?
328(defun project--find-file-in (dirs project) 331(defun project--find-file-in (dirs project)
332 (require 'xref)
329 (let* ((all-files 333 (let* ((all-files
330 (cl-mapcan 334 (cl-mapcan
331 (lambda (dir) 335 (lambda (dir)