--- Begin Message ---
Subject: |
add-to-load-path adds a path twice |
Date: |
Mon, 28 Jul 2014 17:06:22 +0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#18127: add-to-load-path adds a path twice |
Date: |
Wed, 30 Jul 2014 19:36:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Alex Kost <address@hidden> 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"
--- End Message ---