* 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" (
(let* ((file-name (or (buffer-file-name)
;; Handle non-file buffers, too.
(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?
(substring file-name (length root)))))
(condition-case err