summaryrefslogtreecommitdiff
path: root/libguile/init.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-07-03 20:58:19 +0300
committerEli Zaretskii <eliz@gnu.org>2014-07-03 20:58:19 +0300
commit9235f805fa0bacc02a6ddaeceb9867cb37d01d85 (patch)
tree9a8a3333ad25ec7e302e511ffb6747fee119a95d /libguile/init.c
parent9dc3fc4dd474ce4da6a45dcf197e1f99a9a7047a (diff)
downloadguile-9235f805fa0bacc02a6ddaeceb9867cb37d01d85.tar.gz
Fix problems with Windows file names that use backslashes.
* libguile/load.c (scm_i_mirror_backslashes): New function. (scm_init_load_path): Call it to produce MS-Windows file names with forward slashes. (FILE_NAME_SEPARATOR_STRING): Define as "/" on all platforms. * libguile/load.h (scm_i_mirror_backslashes): Add prototype. * libguile/init.c (scm_boot_guile): Call scm_i_mirror_backslashes on argv[0]. * libguile/filesys.c (scm_getcwd): Call scm_i_mirror_backslashes on the directory name returned by getcwd. * test-suite/tests/ports.test ("file name separators"): New test.
Diffstat (limited to 'libguile/init.c')
-rw-r--r--libguile/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/init.c b/libguile/init.c
index 87a69884e..61b81e954 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -311,6 +311,9 @@ scm_boot_guile (int argc, char ** argv, void (*main_func) (), void *closure)
void *res;
struct main_func_closure c;
+ /* On Windows, convert backslashes in argv[0] to forward
+ slashes. */
+ scm_i_mirror_backslashes (argv[0]);
c.main_func = main_func;
c.closure = closure;
c.argc = argc;