unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed.
@ 2012-02-02  0:46 Ian Hulin
  2012-02-02  5:05 ` Mark H Weaver
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Hulin @ 2012-02-02  0:46 UTC (permalink / raw)
  To: 10693

Using this small test file load-path-test.scm using
meta/uninstalled-env bash with V2.0.5:

(eval-when (compile load eval)
(format #t "version: ~s\n" (version) )
(format #t "%load-path: ~s\n" %load-path)
(format #t "(access? (%search-load-path \"c++.scm\"): ~s\n"
  (%search-load-path "c++.scm")))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 


1. Loading the test file (no extra %load-path items)

ian@nanny-ogg ~/src/lilypond (T2026-1)>> guile -l load-path-test.scm
;;; note: source file /home/ian/src/lilypond/load-path-test.scm
;;;       newer than compiled
/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/cache/guile/ccache/2.0-LE-4-2.0/home/ian/src/lilypond/load-path-test.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/ian/src/lilypond/load-path-test.scm
version: "2.0.5"
%load-path:
("/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/module"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/guile-readline"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5")
(access? (%search-load-path "c++.scm"): #f
;;; compiled
/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/cache/guile/ccache/2.0-LE-4-2.0/home/ian/src/lilypond/load-path-test.scm.go
version: "2.0.5"
%load-path:
("/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/module"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/guile-readline"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5")
(access? (%search-load-path "c++.scm"): #f
# ^^^^^^^^^not found, not in %load-path - correct ^^^^^^^^^^^^
GNU Guile 2.0.5
Copyright (C) 1995-2012 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)> ,q
ian@nanny-ogg ~/src/lilypond (T2026-1)>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

2. Loading the test file (extra %load-path items specified with
GUILE_LOAD_PATH environment variable)
ian@nanny-ogg ~/src/lilypond (T2026-1)>> env
GUILE_LOAD_PATH="/home/ian/src/lilypond:/home/ian/src/lilypond/scm"
guile -l load-path-test.scmversion: "2.0.5"
%load-path:
("/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/guile-readline"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/module"
"/home/ian/src/lilypond" "/home/ian/src/lilypond/scm")
#^^^^^^^^ env variable contents parsed with scm_parse_path ^^^^^^^^^^^
(access? (%search-load-path "c++.scm"):
"/home/ian/src/lilypond/scm/c++.scm"
#^^^^^^^^^^^^^^^^ file found - correct ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
GNU Guile 2.0.5
Copyright (C) 1995-2012 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)> ,q


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

3. Using guild-compile

ian@nanny-ogg ~/src/lilypond (T2026-1)>> guild compile
--load-path="/home/ian/src/lilypond:/home/ian/src/lilypond/scm"
--output=scm/out/load-path-test.go load-path-test.scm
version: "2.0.5"
%load-path: ("/home/ian/src/lilypond:/home/ian/src/lilypond/scm" "/home
# ^^^^^^^^^^^^^option string not parsed ^^^^^^^^^^^^^^^^^^^
/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/module"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5/guile-readline"
"/home/ian/Dropbox/Development/Guile-and-Scheme/guile-2.0.5")
(access? (%search-load-path "c++.scm"): #f
#^^^^^^^^^^^^^^ file not found in %load-path^^^^^^^^
wrote `scm/out/load-path-test.go'
ian@nanny-ogg ~/src/lilypond (T2026-1)>>

I get similar results using installed V2.0.5 on my laptop.

Cheers,

Ian Hulin









^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed.
  2012-02-02  0:46 bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed Ian Hulin
@ 2012-02-02  5:05 ` Mark H Weaver
  2012-02-02 20:59   ` Ian Hulin
  2012-02-02 22:39   ` Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Mark H Weaver @ 2012-02-02  5:05 UTC (permalink / raw)
  To: Ian Hulin; +Cc: 10693

Hi Ian,

Ian Hulin <ian@hulin.org.uk> writes:
> ian@nanny-ogg ~/src/lilypond (T2026-1)>> guild compile
> --load-path="/home/ian/src/lilypond:/home/ian/src/lilypond/scm"

According to both the Guile manual and the output of "guile compile -h":

  -L, --load-path=DIR   add DIR to the front of the module load path

In other words, it behaves as documented.  The idea is that you should
pass multiple --load-path options, one for each DIR.

Having said this, one could reasonably argue that the long option name
is misleading, and I tend to agree.  On the other hand, the current
behavior has the advantage of allowing _any_ directory to be added, even
if its name contains a colon, and thus allows the creation of more
robust code.

We might want to change the long option name (while continuing to accept
--load-path for backward compatibility), but I can't think of a good
name.  Any suggestions?

    Thanks,
      Mark





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed.
  2012-02-02  5:05 ` Mark H Weaver
@ 2012-02-02 20:59   ` Ian Hulin
  2012-02-02 22:39   ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Ian Hulin @ 2012-02-02 20:59 UTC (permalink / raw)
  To: 10693

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

(Copy of reply sent to Mark alone by mistake)
Hi Mark
On 02/02/12 05:05, Mark H Weaver wrote:
> Hi Ian,
> 
> Ian Hulin <ian@hulin.org.uk> writes:
>> ian@nanny-ogg ~/src/lilypond (T2026-1)>> guild compile 
>> --load-path="/home/ian/src/lilypond:/home/ian/src/lilypond/scm"
> 
> According to both the Guile manual and the output of "guile compile
> -h":
> 
> -L, --load-path=DIR   add DIR to the front of the module load path
> 
> In other words, it behaves as documented.  The idea is that you
> should pass multiple --load-path options, one for each DIR.
> 
> Having said this, one could reasonably argue that the long option
> name is misleading, and I tend to agree.  On the other hand, the
> current behavior has the advantage of allowing _any_ directory to
> be added, even if its name contains a colon, and thus allows the
> creation of more robust code.
> 
> We might want to change the long option name (while continuing to
> accept --load-path for backward compatibility), but I can't think
> of a good name.  Any suggestions?
> 
- --add-to-load-path, then it matches the new procedure/macro that does
the same thing?

Note too that the guile command line does not have a long option name
for -L.

Also, how about documenting somewhere the difference in behaviour
between setting the environment variable and using the long option name.

Thanks very much for pointing out the bear-traps, Mark.

Cheers,

Ian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPKvkhAAoJEBqidDirZqAShiUIAJEy0qTxa9nfOTsidTG5DGmM
CM0rvAOUPoBii39nUNX/vkpBtTPWRLerY7QhTVPNMNbu7T7+rify12KwDxYaz/bM
8CDXYzYD7ypTiBHYlJ4ZJaGPt+CZs7PR9JobtaGT3AuRx8S4iGRGEL6x0G2hByiy
M7sEHkxU8D1FGgavTFxvWI9MLypde44xcjagv6Da3ATUD3nYO4HRDVSAMp9g1cmy
6dAGDtzEccbzlYfRtb126MtskAqD4Z9Fl/zfFIhN06CLXyJBi1xS+WL3F5EwI0lv
evAN5VXwb1xkVaHFkjM1xaM4ny2BFAJEkJeBx7KTTqQJNWrplVBPJGUyzJWM7QU=
=YiMF
-----END PGP SIGNATURE-----





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed.
  2012-02-02  5:05 ` Mark H Weaver
  2012-02-02 20:59   ` Ian Hulin
@ 2012-02-02 22:39   ` Ludovic Courtès
  2012-02-09  3:31     ` Mark H Weaver
  1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2012-02-02 22:39 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: Ian Hulin, 10693

Hi,

Mark H Weaver <mhw@netris.org> skribis:

> Ian Hulin <ian@hulin.org.uk> writes:
>> ian@nanny-ogg ~/src/lilypond (T2026-1)>> guild compile
>> --load-path="/home/ian/src/lilypond:/home/ian/src/lilypond/scm"
>
> According to both the Guile manual and the output of "guile compile -h":
>
>   -L, --load-path=DIR   add DIR to the front of the module load path
>
> In other words, it behaves as documented.  The idea is that you should
> pass multiple --load-path options, one for each DIR.

[...]

> We might want to change the long option name (while continuing to accept
> --load-path for backward compatibility), but I can't think of a good
> name.  Any suggestions?

As discussed on IRC, I agree that the long name can be misleading.

Yet, I’d rather keep it, especially since the doc is non-ambiguous and
‘-L’ looks familiar.

Done?  :-)

Thanks,
Ludo’.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed.
  2012-02-02 22:39   ` Ludovic Courtès
@ 2012-02-09  3:31     ` Mark H Weaver
  0 siblings, 0 replies; 5+ messages in thread
From: Mark H Weaver @ 2012-02-09  3:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 10693-done

ludo@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver <mhw@netris.org> skribis:
>
>> We might want to change the long option name (while continuing to accept
>> --load-path for backward compatibility), but I can't think of a good
>> name.  Any suggestions?
>
> As discussed on IRC, I agree that the long name can be misleading.
>
> Yet, I’d rather keep it, especially since the doc is non-ambiguous and
> ‘-L’ looks familiar.
>
> Done?  :-)

Okay, I'm closing this bug.

    Mark





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-02-09  3:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-02  0:46 bug#10693: guild compile --load-path value is not processed with scm_parse_path, GUILE_LOAD_PATH env variable value is parsed Ian Hulin
2012-02-02  5:05 ` Mark H Weaver
2012-02-02 20:59   ` Ian Hulin
2012-02-02 22:39   ` Ludovic Courtès
2012-02-09  3:31     ` Mark H Weaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).