emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master e000ff3 3/6: Fix dir-locals handling for non-file b


From: Ivan Shmakov
Subject: [Emacs-diffs] master e000ff3 3/6: Fix dir-locals handling for non-file buffers.
Date: Sat, 17 Jan 2015 20:04:26 +0000

branch: master
commit e000ff30b4354064ca7f9ed07e58903d7c44033f
Author: Ivan Shmakov <address@hidden>
Commit: Ivan Shmakov <address@hidden>

    Fix dir-locals handling for non-file buffers.
    
    * lisp/files.el (dir-locals-collect-variables): Use default-directory
    in place of the file name while working on non-file buffers, just
    like hack-dir-local-variables already does.
    
    Fixes: debbugs:19140
---
 lisp/ChangeLog |    4 ++++
 lisp/files.el  |    4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f5ad8de..55c7a36 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -6,6 +6,10 @@
        * files.el (find-file-other-window, find-file-other-frame):
        Use mapc instead of mapcar.  (Bug#18175)
 
+       * files.el (dir-locals-collect-variables): Use default-directory
+       in place of the file name while working on non-file buffers, just
+       like hack-dir-local-variables already does.  (Bug#19140)
+
 2015-01-17  Stefan Monnier  <address@hidden>
 
        * emacs-lisp/eieio-core.el (eieio--class-constructor): Rename from
diff --git a/lisp/files.el b/lisp/files.el
index e6d80a9..e9632ed 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3602,7 +3602,9 @@ Returns the new list."
   "Collect entries from CLASS-VARIABLES into VARIABLES.
 ROOT is the root directory of the project.
 Return the new variables list."
-  (let* ((file-name (buffer-file-name))
+  (let* ((file-name (or (buffer-file-name)
+                       ;; Handle non-file buffers, too.
+                       (expand-file-name default-directory)))
         (sub-file-name (if file-name
                             ;; FIXME: Why not use file-relative-name?
                            (substring file-name (length root)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]