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

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

bug#11959: 24.1.50; Warning: Lisp directory `C:/Emacs-24-2012-07-16/../s


From: Eli Zaretskii
Subject: bug#11959: 24.1.50; Warning: Lisp directory `C:/Emacs-24-2012-07-16/../site-lisp' does not exist.
Date: Wed, 18 Jul 2012 17:57:01 +0300

> Date: Tue, 17 Jul 2012 20:40:10 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 11959@debbugs.gnu.org
> 
> > From: "Drew Adams" <drew.adams@oracle.com>
> > Date: Tue, 17 Jul 2012 09:40:31 -0700
> > 
> > I do not see this warning message with emacs -Q, but I see it with my
> > setup.  I do not find anywhere in my setup where I refer to site-lisp,
> > but perhaps I do somewhere.
> >  
> > When I start Emacs this warning is the first thing in buffer *Messages*:
> >  
> > Warning: Lisp directory `C:/Emacs-24-2012-07-16/../site-lisp' does not 
> > exist.
> 
> It's a bug, I've seen it since a few days ago and will get to fixing
> it when I have time (unless someone beats me to it).

The reason for this are the changes made by Glenn in revision 108939.
Prior to those changes, when load-path was determined by the value of
EMACSLOADPATH environment variable, the resulting list was never
checked to verify that every directory there exists.  Now load-path
determined that way _is_ checked.

The other part of the puzzle is that when Emacs on Windows starts, it
always defines EMACSLOADPATH and puts 2 site-lisp directories into it:
one that is in the same tree as the binary, which is supposed to be
version dependent, and another one that is a sibling of the root of
the installed tree, which is supposed to be version-independent.  This
is for compatibility with Emacs on Posix platforms, where we also push
2 directories onto load-path: /usr/local/share/emacs/XY.Z/site-lisp
and /usr/local/share/emacs/site-lisp, respectively.  However, unlike
on Unix, on Windows there's no test whether these directories actually
exist, because this was never a problem with the old code.

But now, that the value of EMACSLOADPATH is being checked, we are
seeing these warnings (unless Emacs is invoked with -Q), and I'm
guessing that most Emacs users on Windows don't have a
version-independent site-lisp directory, so most of them will be
affected.

It would be easy enough to make sure the site-lisp directories exist
before adding them to EMACSLOADPATH on Windows.  But before doing so,
I'd like to understand why was the behavior in init_lread changed so
as to check EMACSLOADPATH in the first place?  And if we do want to
check that, why not exempt the site-lisp directories from the need to
exist, like we do in the case where EMACSLOADPATH is not set?





reply via email to

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