"carlo.bramix" <carlo.bra...@libero.it> writes: > Hello, > this is the command that I gave me some results: > > $ ./pre-inst-guile-env ./libtool --mode=execute gdb --args libguile/guile.exe > -c '(display "foo")' > > As you can see I added "--args" option to GDB.
Thanks, good point. > Since I had no idea about those unknown '\' characters, I added some debug > prints before scm_boot_guile(): > > int > main (int argc, char **argv) > { > int x; > printf("argc=%d\n",argc); > for (x=0; x<argc; x++) > printf("argv[%d]=%s\n",x,argv[x]); > > scm_boot_guile (argc, argv, inner_main, 0); > return 0; /* never reached */ > } > > Then I launched libguile/guile.exe normally and I got this: > > argc=4 > argv[0]=C:/msys/1.0/home/Carlo/guile/libguile/.libs/guile.exe > argv[1]=-c > argv[2]=(display > argv[3]=foo) > > In this case, no more '/' but the '"' characters around the "foo" word are > disappeared. > Anyways, I seems that the parameter has been split in two... Excellent, we're getting closer. So either it's a problem in how the shell passes arguments to an executable, or it's a problem in how the libguile/guile.exe wrapper passes on arguments to libguile/.libs/guile.exe. Can you remind me how you're compiling? Also is guile.exe really an executable in your build? (On GNU/Linux it's a shell script wrapper.) Regards, Neil