diff options
| author | Dmitry Gutov | 2016-01-08 14:32:27 +0300 |
|---|---|---|
| committer | Dmitry Gutov | 2016-01-08 14:32:39 +0300 |
| commit | a034dd384c995f09ecf4ec145cfc614a217b4e4e (patch) | |
| tree | 546826fe67d70433a617b1d95eb323e6004a7cec | |
| parent | 30abf295e8add1afa3963de7bf4bae9aa2c71434 (diff) | |
| download | emacs-a034dd384c995f09ecf4ec145cfc614a217b4e4e.tar.gz emacs-a034dd384c995f09ecf4ec145cfc614a217b4e4e.zip | |
Fix two project-find-file issues
* 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.
| -rw-r--r-- | lisp/progmodes/project.el | 6 |
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) |