emacs-bug-tracker
[Top][All Lists]
Advanced

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

[Emacs-bug-tracker] bug#8095: closed (dir-locals-directory-cache confusi


From: GNU bug Tracking System
Subject: [Emacs-bug-tracker] bug#8095: closed (dir-locals-directory-cache confusion)
Date: Thu, 24 Feb 2011 08:59:02 +0000

Your message dated Thu, 24 Feb 2011 03:58:24 -0500
with message-id <address@hidden>
and subject line Re: bug#8095: dir-locals-directory-cache confusion
has caused the GNU bug report #8095,
regarding dir-locals-directory-cache confusion
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
8095: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8095
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: dir-locals-directory-cache confusion Date: Tue, 22 Feb 2011 03:31:45 -0500 User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
Package: emacs
Version: 23.2.94

There is some weirdness going on with caching of dir-locals files:

mkdir foo

cat <<EOF > foo/.dir-locals.el
((nil . ((sentence-end-double-space . t))))
EOF

emacs -q foo/.dir-locals.el

C-h v sentence-end-double-space

   This variable is a directory local variable
      from the file "/home/gm/tmp/foo/".
               ^^^^^^^^^^^^^^^^^^^^^^^

That's a directory, not a file. Then do:

M-: (setq dir-locals-directory-cache nil)

and repeat:

C-h v sentence-end-double-space

   This variable is a directory local variable
      from the file "/home/gm/tmp/foo/.dir-locals.el".
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

OK, now it's a directory.

Analysis: dir-locals-find-file is either going to return a file (if it
did not find a matching entry in the cache), or a directory (if it did
find an entry in the cache).


Further comment: This line in dir-locals-find-file

(equal (nth 2 dir-elt)
       (nth 5 (file-attributes (car dir-elt))))

compares the mtime element from the cache with the current mtime of the
*directory*. The mtime element in the cache is set by
dir-locals-read-from-file and is the mtime of the *file*.

So in summary there is some confusion between directory and files that
messes up the caching. The whole thing should be consistent about
whether it wants to refer to directories or files.



--- End Message ---
--- Begin Message --- Subject: Re: bug#8095: dir-locals-directory-cache confusion Date: Thu, 24 Feb 2011 03:58:24 -0500 User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
Version: 24.1

I believe I fixed this mess in the trunk.


--- End Message ---

reply via email to

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