emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 914fb99 2/3: * lisp/files-x.el (modify-dir-local-


From: Artur Malabarba
Subject: [Emacs-diffs] emacs-25 914fb99 2/3: * lisp/files-x.el (modify-dir-local-variable): Small rewrite
Date: Tue, 26 Jan 2016 01:43:20 +0000

branch: emacs-25
commit 914fb99d38f8a9db7fbf926d0cf34b808d581afe
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    * lisp/files-x.el (modify-dir-local-variable): Small rewrite
    
    Change a variable name to be more meaningful, and reorder some of
    the code with no change in behaviour.
---
 lisp/files-x.el |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/lisp/files-x.el b/lisp/files-x.el
index 2e1a728..05ad7f5 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -429,23 +429,24 @@ from the MODE alist ignoring the input argument VALUE."
   (catch 'exit
     (unless enable-local-variables
       (throw 'exit (message "Directory-local variables are disabled")))
-    (let ((variables-file (and (buffer-file-name)
-                               (not (file-remote-p (buffer-file-name)))
-                               (dir-locals-find-file (buffer-file-name))))
-         variables)
-      (setq variables-file
+    (let* ((dir-or-cache (and (buffer-file-name)
+                              (not (file-remote-p (buffer-file-name)))
+                              (dir-locals-find-file (buffer-file-name))))
+           (variables-file
             ;; If there are several .dir-locals, the user probably
             ;; wants to edit the last one (the highest priority).
-            (cond ((stringp variables-file)
-                   (car (last (dir-locals--all-files variables-file))))
-                  ((consp variables-file)      ; result from cache
-                   ;; If cache element has an mtime, assume it came from a 
file.
-                   ;; Otherwise, assume it was set directly.
-                   (if (nth 2 variables-file)
-                       (car (last (dir-locals--all-files (car 
variables-file))))
-                     (cadr variables-file)))
+            (cond ((stringp dir-or-cache)
+                   (car (last (dir-locals--all-files dir-or-cache))))
+                  ((consp dir-or-cache)        ; result from cache
+                   ;; If cache element has an mtime, assume it came
+                   ;; from a file.  Otherwise, assume it was set
+                   ;; directly.
+                   (if (nth 2 dir-or-cache)
+                       (car (last (dir-locals--all-files (car dir-or-cache))))
+                     (cadr dir-or-cache)))
                   ;; Try to make a proper file-name.
-                  (t (concat dir-locals-file ".el"))))
+                  (t (expand-file-name dir-locals-file))))
+           variables)
       ;; I can't be bothered to handle this case right now.
       ;; Dir locals were set directly from a class.  You need to
       ;; directly modify the class in dir-locals-class-alist.



reply via email to

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