GNU bug report logs - #19140
dir-locals-collect-variables discrepancy in handling non-file buffers

Previous Next

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.

Full log


View this message in rfc822 format

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: 19140 <at> debbugs.gnu.org
Subject: 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...
[...]




This bug report was last modified 10 years and 100 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.