Subject: bug#18127: closed (Re: bug#18127: add-to-load-path adds a path twice)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 30 Jul 2014 18:37:03 +0000

Your bug report

#18127: add-to-load-path adds a path twice

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
18127: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18127
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18127: add-to-load-path adds a path twice
From: Ian Price <[email-masked]>
To: Alex Kost <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 30 Jul 2014 19:36:36 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Alex Kost <[email-masked]> writes:

> taylanub from #guile explained that it may happen because in the REPL
> the compilation and execution happen in the same session and
> “‘add-to-load-path’ takes care of modifying the path both at
> compile-time and at run-time.” (from manual).

This is correct, it will also happen in scripts if they are
auto-compiled, but you will only see it once on subsequent runs, since
macro-expansion doesn't need to happen again.

The fix is simple, and there is no harm in it, so I've pushed a fix to
stable-2.0.

> Also I have a question: Why there is no ‘add-to-load-compiled-path’?  I
> think such function may also be useful.

Fair question. I have no idea about the answer, but I've not touched
this one. As a general principle, I wouldn't like to see us have a
separate macro for each of these.

Thanks

-- 
Ian Price -- shift-reset.com

"Programming is like pinball. The reward for doing it well is
the opportunity to do it again" - from "The Wizardy Compiled"

Subject: add-to-load-path adds a path twice
From: Alex Kost <[email-masked]>
To: [email-masked]
Date: Mon, 28 Jul 2014 17:06:22 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, I noticed that ‘add-to-load-path’ adds a path 2 times when it is
called in Guile REPL.

taylanub from #guile explained that it may happen because in the REPL
the compilation and execution happen in the same session and
“‘add-to-load-path’ takes care of modifying the path both at
compile-time and at run-time.” (from manual).

Here is the session for illustrating the bug (if it's a bug) :

$ guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> %load-path
$1 = ( "/usr/share/guile/2.0" "/usr/share/guile/site/2.0" "/usr/share/guile/site" "/usr/share/guile")
scheme@(guile-user)> (add-to-load-path "foo")
scheme@(guile-user)> %load-path
$2 = ("foo" "foo" "/usr/share/guile/2.0" "/usr/share/guile/site/2.0" "/usr/share/guile/site" "/usr/share/guile")
scheme@(guile-user)> ,q

Also I have a question: Why there is no ‘add-to-load-compiled-path’?  I
think such function may also be useful.

Thanks,
Alex