GNU bug report logs - #21104
25.0.50; relative paths are added to load-path without -nsl

Previous Next

Package: emacs;

Reported by: sds <at> gnu.org

Date: Tue, 21 Jul 2015 17:27:01 UTC

Severity: normal

Merged with 21353

Found in version 25.0.50

Done: Anders Lindgren <andlind <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #74 received at 21104 <at> debbugs.gnu.org (full text, mbox):

From: Anders Lindgren <andlind <at> gmail.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: Andreas Schwab <schwab <at> suse.de>, Eli Zaretskii <eliz <at> gnu.org>,
 Keith David Bershatsky <esq <at> lawlist.com>, 21104 <at> debbugs.gnu.org
Subject: Re: bug#21104: 25.0.50; relative paths are added to load-path without
 -nsl (bug#21104)
Date: Tue, 8 Dec 2015 21:03:01 +0100
[Message part 1 (text/plain, inline)]
Hi,

On Tue, Dec 8, 2015 at 8:21 PM, Glenn Morris <rgm <at> gnu.org> wrote:

> I think you've jumped outside the scope of this report.
> I would suggest just going with the simple solution, absent evidence of
> some other problem.
>

I have attached a simple solution that solves this specific problem. I'll
push it if it looks like an OK solution for you.


> Also, I haven't investigated the cases where there is nothing between path
> > separators, as in "foo::bar" (or when the string starts or ends with a
> > separator). Today, it looks like it returns either `("foo" "." "bar)' or
> > `("foo" nil "bar")' -- although I haven't verified this. A better
> solution
> > would be to simply return `("foo" "bar")' -- path separators without
> > anything in between are often simply a user mistake, we don't want to
> > pollute system variables like `load-path' because of them.
>
> The feature is intentional, see 17e0445be4a.
>
> I won't claim it's perfect, but IIRC I did test such things at the time.
>

Apparently, there is more to the code than I initially understood. I agree
with you, I no longer think we should change anything here on the short
term.

However, I think it behaves strange:

For example (on a Linux machine):
    env EMACSPATH=::/home::/bar:: emacs -q --batch --eval '(print
exec-path)'
   ("/usr/lib/lightdm/lightdm" "/usr/local/sbin" "/usr/local/bin"
"/use/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "." "." "/home" "." "."
"/bar" "." ".")

Here, I don't think the ".":s should be included.

Another example (again on Linux):
    env EMACSLOADPATH=::/home::/bar:: emacs -q --batch --eval '(print
load-path)'
    The result is too long to print, as it duplicates the standard load
path five times.

Here, wouldn't it suffice to add the default load path once?

    -- Anders
[Message part 2 (text/html, inline)]
[path.diff (text/plain, attachment)]

This bug report was last modified 9 years and 165 days ago.

Previous Next


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