Package: emacs;
Reported by: Ivan Shmakov <ivan <at> siamics.net>
Date: Fri, 21 Nov 2014 16:14:02 UTC
Severity: minor
Tags: patch
Fixed in version 25.1
Done: Ivan Shmakov <ivan <at> siamics.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19140 in the body.
You can then email your comments to 19140 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Fri, 21 Nov 2014 16:14:02 GMT) Full text and rfc822 format available.Ivan Shmakov <ivan <at> siamics.net>
:bug-gnu-emacs <at> gnu.org
.
(Fri, 21 Nov 2014 16:14:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ivan Shmakov <ivan <at> siamics.net> To: submit <at> debbugs.gnu.org Subject: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Fri, 21 Nov 2014 16:12:52 +0000
[Message part 1 (text/plain, inline)]
Package: emacs Severity: minor Please consider the patch MIMEd. * lisp/files.el (dir-locals-collect-variables): Use default-directory in place of the file name while working on non-file buffers (as hack-dir-local-variables already does.) The issue I observe is as follows. First, I create ~/foo and ~/foo/ru directories, and a ~/foo/.dir-locals.el file like: ((nil (ispell-local-dictionary . "esperanto")) ("ru" (nil (ispell-local-dictionary . "russian")))) Then: (with-temp-buffer (cd "~/foo/ru/") (hack-dir-local-variables-non-file-buffer) ;; . dir-local-variables-alist) The result is '((ispell-local-dictionary . "esperanto")), contrary to the expected '((… . "russian")). This does not happen for buffers associated with files: (with-current-buffer (find-file-noselect "~/foo/ru/bar") (hack-dir-local-variables) ;; . dir-local-variables-alist) Reading the code suggests that dir-locals-collect-variables fails to handle the (stringp key) case properly when ‘file-name’ is nil, which is what my patch is intended to fix. -- FSF associate member #7257 np. Conclusion — Apocalyptica … B6A0 230E 334A
[Message part 2 (text/diff, inline)]
--- a/lisp/files.el +++ b/lisp/files.el @@ -3567,8 +3569,10 @@ (defun dir-locals-collect-variables (class-variables root variables) "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 + default-directory)) (sub-file-name (if file-name ;; FIXME: Why not use file-relative-name? (substring file-name (length root)))))
Ivan Shmakov <ivan <at> siamics.net>
to control <at> debbugs.gnu.org
.
(Mon, 29 Dec 2014 09:02:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Tue, 30 Dec 2014 19:47:02 GMT) Full text and rfc822 format available.Message #10 received at 19140 <at> debbugs.gnu.org (full text, mbox):
From: Ivan Shmakov <ivan <at> siamics.net> To: 19140 <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Tue, 30 Dec 2014 19:45:57 +0000
Please consider the revised patch MIMEd. * lisp/files.el (dir-locals-collect-variables): Use default-directory in place of the file name while working on non-file buffers (as hack-dir-local-variables already does.) -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A --- a/lisp/files.el +++ b/lisp/files.el 2014-12-28 19:20:59+00:00 @@ -3628,7 +3628,9 @@ defun dir-locals-collect-variables (class-variables root variables) "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)))))
bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Mon, 19 Jan 2015 07:31:01 GMT) Full text and rfc822 format available.Message #13 received at 19140 <at> debbugs.gnu.org (full text, mbox):
From: Katsumi Yamaoka <yamaoka <at> jpl.org> To: 19140 <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Mon, 19 Jan 2015 16:30:05 +0900
Hi Ivan, On Tue, 30 Dec 2014 19:45:57 +0000, Ivan Shmakov <ivan <at> siamics.net> wrote: > Please consider the revised patch MIMEd. > * lisp/files.el (dir-locals-collect-variables): Use > default-directory in place of the file name while working on > non-file buffers (as hack-dir-local-variables already does.) After this change, I got to get unknown errors[1] when building Ma Gnus. To reproduce the same result, try the following in the Emacs source tree: % cd lisp/gnus % emacs -batch -Q --eval FORM where FORM is: '(with-temp-buffer (let ((default-directory (expand-file-name "."))) (insert-file-contents "./auth-source.el") (hack-local-variables)))' And you will see (args-out-of-range "/DIR/emacs/lisp/gnus" 21 nil) or something similar (where 21 is 1+ the number of letters of the dir name). The FORM above is what `custom-make-dependencies' does. When building Ma Gnus, `dir-locals-collect-variables' is called in this way: dgnushack.el (dgnushack-make-cus-load) -> cus-dep.el (custom-make-dependencies) -> files.el (hack-local-variables) -> files.el (hack-dir-local-variables) -> files.el (dir-locals-collect-variables) Before you changed `dir-locals-collect-variables', it returned nil and `custom-make-dependencies' issued no error. I guess `custom-make-dependencies' expects the function in question to return nil, otherwise it needs to be modified in some way. Thanks. [1] % cd /Work/gnus % ./configure % make lick cd lisp && make EMACS="emacs" lispdir="/usr/local/share/emacs/site-lisp/gnus" all make[1]: Entering directory '/Work/gnus/lisp' rm -f *.elc gnus-load.el auto-autoloads.* custom-load.* lispdir="/usr/local/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-make-cus-load . Loading cus-dep... Directory . Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Directory-local variables error: (args-out-of-range "/Work/gnus/lisp" 16 nil) Generating cus-load.el... Generating cus-load.el...done lispdir="/usr/local/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-make-auto-load . lispdir="/usr/local/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-make-load Generating /Work/gnus/lisp/gnus-load.el... Compiling /Work/gnus/lisp/gnus-load.el... [...]
bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Mon, 19 Jan 2015 08:56:02 GMT) Full text and rfc822 format available.Message #16 received at 19140 <at> debbugs.gnu.org (full text, mbox):
From: Ivan Shmakov <ivan <at> siamics.net> To: 19140 <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Mon, 19 Jan 2015 08:55:43 +0000
[Message part 1 (text/plain, inline)]
>>>>> Katsumi Yamaoka <yamaoka <at> jpl.org> writes: >>>>> On Tue, 30 Dec 2014 19:45:57 +0000, Ivan Shmakov wrote: […] >> * lisp/files.el (dir-locals-collect-variables): Use >> default-directory in place of the file name while working on >> non-file buffers (as hack-dir-local-variables already does.) > After this change, I got to get unknown errors[1] when building > Ma Gnus. To reproduce the same result, try the following in the > Emacs source tree: > % cd lisp/gnus > % emacs -batch -Q --eval FORM > where FORM is: > '(with-temp-buffer (let ((default-directory (expand-file-name "."))) > (insert-file-contents "./auth-source.el") (hack-local-variables)))' > And you will see > (args-out-of-range "/DIR/emacs/lisp/gnus" 21 nil) > or something similar (where 21 is 1+ the number of letters of the dir > name). > The FORM above is what `custom-make-dependencies' does. ACK, thanks. Indeed, this change assumes that the result for (expand-file-name default-directory) ends with a ‘/’, yet that’s only the case when default-directory itself ends with a ‘/’, which I believe it should; consider, e. g.: (defun cd-absolute (dir) "Change current directory to given absolute file name DIR." ;; Put the name into directory syntax now, ;; because otherwise expand-file-name may give some bad results. (setq dir (file-name-as-directory dir)) …) The issue at hand could be solved by using the first of the patches MIMEd. However, I believe that such a change may easily mask bugs in the other parts of the code, so the proper solution would probably be a fix to custom-make-dependencies, as per the second patch MIMEd. Could you please check if both indeed resolve the issue at hand? TIA. […] -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A
[Message part 2 (text/diff, inline)]
--- a/lisp/files.el 2015-01-17 19:02:00 +0000 +++ b/lisp/files.el @@ -3604,7 +3604,8 @@ defun dir-locals-collect-variables (class-variables root variables) Return the new variables list." (let* ((file-name (or (buffer-file-name) ;; Handle non-file buffers, too. - (expand-file-name default-directory))) + (file-name-as-directory + (expand-file-name default-directory)))) (sub-file-name (if file-name ;; FIXME: Why not use file-relative-name? (substring file-name (length root)))))
[Message part 3 (text/diff, inline)]
--- a/lisp/cus-dep.el 2015-01-01 22:26:41 +0000 +++ b/lisp/cus-dep.el 2015-01-19 08:49:23 +0000 @@ -62,7 +62,8 @@ defun custom-make-dependencies () (while (setq subdir (pop command-line-args-left)) (message "Directory %s" subdir) (let ((files (directory-files subdir nil "\\`[^=.].*\\.el\\'")) - (default-directory (expand-file-name subdir)) + (default-directory + (file-name-as-directory (expand-file-name subdir))) (preloaded (concat "\\`\\(\\./+\\)?" (regexp-opt preloaded-file-list t) "\\.el\\'")))
bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Mon, 19 Jan 2015 09:29:02 GMT) Full text and rfc822 format available.Message #19 received at 19140 <at> debbugs.gnu.org (full text, mbox):
From: Katsumi Yamaoka <yamaoka <at> jpl.org> To: 19140 <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Mon, 19 Jan 2015 18:28:28 +0900
On Mon, 19 Jan 2015 08:55:43 +0000, Ivan Shmakov <ivan <at> siamics.net> wrote: > so the proper solution would probably be a fix to > custom-make-dependencies Hm, I wish there aren't many other modules to have to be fixed. > Could you please check if both indeed resolve the issue at hand? Both work. Thanks.
bug-gnu-emacs <at> gnu.org
:bug#19140
; Package emacs
.
(Mon, 19 Jan 2015 09:57:02 GMT) Full text and rfc822 format available.Message #22 received at 19140 <at> debbugs.gnu.org (full text, mbox):
From: Ivan Shmakov <ivan <at> siamics.net> To: 19140 <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Mon, 19 Jan 2015 09:55:46 +0000
>>>>> Katsumi Yamaoka <yamaoka <at> jpl.org> writes: >>>>> On Mon, 19 Jan 2015 08:55:43 +0000, Ivan Shmakov wrote: […] >> Could you please check if both indeed resolve the issue at hand? > Both work. Thanks. ACK; I’ve just pushed the change to custom-make-dependencies. commit 2e8d209f258c9bb6a6626d4a101995965b040024 Fix the value default-directory gets in custom-make-dependencies. * lisp/cus-dep.el (custom-make-dependencies): Ensure that default-directory is interpreted as a directory (see bug#19140.) -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A
Ivan Shmakov <ivan <at> siamics.net>
:Ivan Shmakov <ivan <at> siamics.net>
:Message #27 received at 19140-done <at> debbugs.gnu.org (full text, mbox):
From: Ivan Shmakov <ivan <at> siamics.net> To: 19140-done <at> debbugs.gnu.org Subject: Re: bug#19140: dir-locals-collect-variables discrepancy in handling non-file buffers Date: Sat, 14 Feb 2015 21:09:39 +0000
Version: 25.1 >>>>> Ivan Shmakov <ivan <at> siamics.net> writes: >>>>> Katsumi Yamaoka <yamaoka <at> jpl.org> writes: >>>>> On Mon, 19 Jan 2015 08:55:43 +0000, Ivan Shmakov wrote: >>> Could you please check if both indeed resolve the issue at hand? >> Both work. Thanks. > ACK; I’ve just pushed the change to custom-make-dependencies. > commit 2e8d209f258c9bb6a6626d4a101995965b040024 > Fix the value default-directory gets in custom-make-dependencies. > * lisp/cus-dep.el (custom-make-dependencies): Ensure that > default-directory is interpreted as a directory (see bug#19140.) No further issues reported; closing. commit e000ff30b4354064ca7f9ed07e58903d7c44033f CommitDate: 2015-01-17 19:33:50 +0000 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 -- FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sun, 15 Mar 2015 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.