Commit fd075e7b authored by Glenn Morris's avatar Glenn Morris
Browse files

* files.el (dir-locals-read-from-file): Mention dir-locals in any error message.

parent ed39e4e2
2012-05-06 Glenn Morris <rgm@gnu.org>
* files.el (dir-locals-read-from-file):
Mention dir-locals in any error message.
2012-05-06 Chong Yidong <cyd@gnu.org>
* emacs-lisp/package.el (package-built-in-p): Handle the `emacs'
......
......@@ -3623,19 +3623,21 @@ FILE is the name of the file holding the variables to apply.
The new class name is the same as the directory in which FILE
is found. Returns the new class name."
(with-temp-buffer
;; Errors reading the file are not very informative.
;; Eg just "Error: (end-of-file)" does not give any clue that the
;; problem is related to dir-locals.
(with-demoted-errors
(insert-file-contents file)
(let* ((dir-name (file-name-directory file))
(class-name (intern dir-name))
(variables (let ((read-circle nil))
(read (current-buffer)))))
(dir-locals-set-class-variables class-name variables)
(dir-locals-set-directory-class dir-name class-name
(nth 5 (file-attributes file)))
class-name))))
;; This is with-demoted-errors, but we want to mention dir-locals
;; in any error message.
(let ((err (make-symbol "err")))
(condition-case err
(progn
(insert-file-contents file)
(let* ((dir-name (file-name-directory file))
(class-name (intern dir-name))
(variables (let ((read-circle nil))
(read (current-buffer)))))
(dir-locals-set-class-variables class-name variables)
(dir-locals-set-directory-class dir-name class-name
(nth 5 (file-attributes file)))
class-name))
(error (message "Error reading dir-locals: %S" err) nil)))))
(defun hack-dir-local-variables ()
"Read per-directory local variables for the current buffer.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment