]> code.delx.au - gnu-emacs/commitdiff
Fix two project-find-file issues
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 8 Jan 2016 11:32:27 +0000 (14:32 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 8 Jan 2016 11:32:39 +0000 (14:32 +0300)
* lisp/progmodes/project.el (project--value-in-dir):
Temporarily set enable-local-variables to :all.
(project-find-file, project-or-external-find-file):
All autoloads.
(project--find-file-in): Require xref.

lisp/progmodes/project.el

index cfe7fc3750a38be9f04ea74908e1d8070490a88f..5070bb0c8acabae235513eae592822701b3e3d91 100644 (file)
@@ -258,7 +258,8 @@ DIRS must contain directory names."
 (defun project--value-in-dir (var dir)
   (with-temp-buffer
     (setq default-directory dir)
-    (hack-dir-local-variables-non-file-buffer)
+    (let ((enable-local-variables :all))
+      (hack-dir-local-variables-non-file-buffer))
     (symbol-value var)))
 
 (declare-function grep-read-files "grep")
@@ -310,12 +311,14 @@ pattern to search for."
       (user-error "No matches for: %s" regexp))
     (xref--show-xrefs xrefs nil)))
 
+;;;###autoload
 (defun project-find-file ()
   (interactive)
   (let* ((pr (project-current t))
          (dirs (project-roots pr)))
     (project--find-file-in dirs pr)))
 
+;;;###autoload
 (defun project-or-external-find-file ()
   (interactive)
   (let* ((pr (project-current t))
@@ -326,6 +329,7 @@ pattern to search for."
 
 ;; FIXME: Uniquely abbreviate the roots?
 (defun project--find-file-in (dirs project)
+  (require 'xref)
   (let* ((all-files
           (cl-mapcan
            (lambda (dir)