Commit 82b6b3cf authored by Lars Ingebrigtsen's avatar Lars Ingebrigtsen
Browse files

Fix problem with auto-mode and dir-locals-collect-variables

* lisp/files.el (dir-locals-collect-variables): When run from
auto-mode, the file in question may not be an absolute path
name (bug#24016).

Example backtrace:

Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
  dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
  hack-dir-local-variables()
  hack-local-variables(no-mode)
  run-mode-hooks(diff-mode-hook)
  diff-mode()
  mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
parent 97934ffb
...@@ -3723,7 +3723,8 @@ Return the new variables list." ...@@ -3723,7 +3723,8 @@ Return the new variables list."
(let* ((file-name (or (buffer-file-name) (let* ((file-name (or (buffer-file-name)
;; Handle non-file buffers, too. ;; Handle non-file buffers, too.
(expand-file-name default-directory))) (expand-file-name default-directory)))
(sub-file-name (if file-name (sub-file-name (if (and file-name
(file-name-absolute-p file-name))
;; FIXME: Why not use file-relative-name? ;; FIXME: Why not use file-relative-name?
(substring file-name (length root))))) (substring file-name (length root)))))
(condition-case err (condition-case err
......
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