Mercurial > gub
annotate patches/guile-2.0.0-mingw-compile-binary.patch @ 6506:6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Sat, 19 Mar 2011 10:01:26 +0100 |
parents | ba506e08a7ce |
children |
rev | line source |
---|---|
6493 | 1 --- guile-1.9.15/module/system/base/compile.scm~ 2011-02-15 10:54:38.483090146 +0100 |
2 +++ guile-1.9.15/module/system/base/compile.scm 2011-03-03 09:15:24.742333809 +0100 | |
3 @@ -51,7 +51,7 @@ | |
4 ;; (put 'call-with-output-file/atomic 'scheme-indent-function 1) | |
5 (define* (call-with-output-file/atomic filename proc #:optional reference) | |
6 (let* ((template (string-append filename ".XXXXXX")) | |
7 - (tmp (mkstemp! template))) | |
8 + (tmp (mkstemp! template "w+b"))) | |
9 (call-once | |
10 (lambda () | |
11 (with-throw-handler #t | |
12 --- guile-1.9.15/libguile/posix.h~ 2010-12-14 19:15:17.000000000 +0100 | |
13 +++ guile-1.9.15/libguile/posix.h 2011-03-03 09:21:46.058955734 +0100 | |
14 @@ -67,7 +67,7 @@ | |
15 SCM_API SCM scm_uname (void); | |
16 SCM_API SCM scm_environ (SCM env); | |
17 SCM_API SCM scm_tmpnam (void); | |
18 -SCM_API SCM scm_mkstemp (SCM tmpl); | |
19 +SCM_API SCM scm_mkstemp (SCM tmpl, SCM mode); | |
20 SCM_API SCM scm_tmpfile (void); | |
21 SCM_API SCM scm_open_pipe (SCM pipestr, SCM modes); | |
22 SCM_API SCM scm_close_pipe (SCM port); | |
23 --- guile-1.9.15/libguile/posix.c~ 2011-01-29 21:36:58.000000000 +0100 | |
24 +++ guile-1.9.15/libguile/posix.c 2011-03-03 09:14:46.745199721 +0100 | |
25 @@ -1329,8 +1329,8 @@ | |
26 extern int mkstemp (char *); | |
27 #endif | |
28 | |
29 -SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 0, 0, | |
30 - (SCM tmpl), | |
31 +SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 1, 0, | |
32 + (SCM tmpl, SCM mode), | |
33 "Create a new unique file in the file system and return a new\n" | |
34 "buffered port open for reading and writing to the file.\n" | |
35 "\n" | |
36 @@ -1338,6 +1338,8 @@ | |
37 "created: it must end with @samp{XXXXXX} and those @samp{X}s\n" | |
38 "will be changed in the string to return the name of the file.\n" | |
39 "(@code{port-filename} on the port also gives the name.)\n" | |
40 + "The optional @var{mode}, if given, is a string specifying the\n" | |
41 + "open mode of the file, e.g. w+b\n" | |
42 "\n" | |
43 "POSIX doesn't specify the permissions mode of the file, on GNU\n" | |
44 "and most systems it's @code{#o600}. An application can use\n" | |
45 @@ -1354,7 +1356,12 @@ | |
46 { | |
47 char *c_tmpl; | |
48 int rv; | |
49 - | |
50 + SCM port; | |
51 + char *c_mode = "w+"; | |
52 + | |
53 + if (!SCM_UNBNDP (mode)) | |
54 + c_mode = scm_to_locale_string (mode); | |
55 + | |
56 scm_dynwind_begin (0); | |
57 | |
58 c_tmpl = scm_to_locale_string (tmpl); | |
59 @@ -1369,7 +1376,10 @@ | |
60 tmpl, SCM_INUM0); | |
61 | |
62 scm_dynwind_end (); | |
63 - return scm_fdes_to_port (rv, "w+", tmpl); | |
64 + port = scm_fdes_to_port (rv, c_mode, tmpl); | |
65 + if (!SCM_UNBNDP (mode)) | |
66 + free (c_mode); | |
67 + return port; | |
68 } | |
69 #undef FUNC_NAME | |
70 | |
6503
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
71 --- guile-2.0.0.1/libguile/ports.h~ 2011-03-13 23:21:07.000000000 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
72 +++ guile-2.0.0.1/libguile/ports.h 2011-03-18 21:23:27.834575752 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
73 @@ -137,6 +137,7 @@ SCM_INTERNAL SCM scm_i_port_weak_hash; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
74 #define SCM_RDNG (2L<<16) /* Is it a readable port? */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
75 #define SCM_WRTNG (4L<<16) /* Is it writable? */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
76 #define SCM_BUF0 (8L<<16) /* Is it unbuffered? */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
77 +#define SCM_BINARY (16L<<16) /* Is it binary? */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
78 #define SCM_BUFLINE (64L<<16) /* Is it line-buffered? */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
79 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
80 #define SCM_PORTP(x) (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_port)) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
81 --- guile-2.0.0.1/libguile/ports.c~ 2011-03-13 23:21:07.000000000 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
82 +++ guile-2.0.0.1/libguile/ports.c 2011-03-18 21:27:07.755942569 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
83 @@ -767,6 +767,7 @@ scm_i_mode_bits_n (SCM modes) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
84 || scm_i_string_contains_char (modes, 'a') |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
85 || scm_i_string_contains_char (modes, '+') ? SCM_WRTNG : 0) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
86 | (scm_i_string_contains_char (modes, '0') ? SCM_BUF0 : 0) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
87 + | (scm_i_string_contains_char (modes, 'b') ? SCM_BINARY : 0) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
88 | (scm_i_string_contains_char (modes, 'l') ? SCM_BUFLINE : 0)); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
89 } |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
90 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
91 @@ -816,6 +817,8 @@ SCM_DEFINE (scm_port_mode, "port-mode", |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
92 strcpy (modes, "w"); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
93 if (SCM_CELL_WORD_0 (port) & SCM_BUF0) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
94 strcat (modes, "0"); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
95 + if (SCM_CELL_WORD_0 (port) & SCM_BINARY) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
96 + strcat (modes, "b"); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
97 return scm_from_locale_string (modes); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
98 } |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
99 #undef FUNC_NAME |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
100 --- guile-2.0.0.1/libguile/mkstemp.c~ 2011-03-13 23:21:07.000000000 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
101 +++ guile-2.0.0.1/libguile/mkstemp.c 2011-03-18 22:06:10.889140473 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
102 @@ -51,6 +51,7 @@ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
103 conflicts with a declaration in a system header file, we'll find |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
104 out, because we should include that header file here. */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
105 int mkstemp (char *); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
106 +int mkostemp (char *, int flags); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
107 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
108 /* Generate a unique temporary file name from TEMPLATE. |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
109 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
110 @@ -61,10 +62,11 @@ int mkstemp (char *); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
111 The last six characters of TEMPLATE must be "XXXXXX"; they are |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
112 replaced with a string that makes the filename unique. |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
113 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
114 - Returns a file descriptor open on the file for reading and writing. */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
115 + Returns a file descriptor on the file, open with FLAGS . */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
116 int |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
117 -mkstemp (template) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
118 +mkostemp (template, flags) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
119 char *template; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
120 + int flags; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
121 { |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
122 static const char letters[] |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
123 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
124 @@ -112,7 +114,7 @@ mkstemp (template) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
125 v /= 62; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
126 XXXXXX[5] = letters[v % 62]; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
127 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
128 - fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
129 + fd = open (template, flags, 0600); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
130 if (fd >= 0) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
131 /* The file does not exist. */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
132 return fd; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
133 @@ -127,3 +129,24 @@ mkstemp (template) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
134 template[0] = '\0'; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
135 return -1; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
136 } |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
137 + |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
138 +/* Generate a unique temporary file name from TEMPLATE. |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
139 + |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
140 + TEMPLATE has the form: |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
141 + |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
142 + <path>/ccXXXXXX |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
143 + |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
144 + The last six characters of TEMPLATE must be "XXXXXX"; they are |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
145 + replaced with a string that makes the filename unique. |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
146 + |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
147 + Returns a file descriptor on the file for reading and writing */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
148 +int |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
149 +mkstemp (template) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
150 + char *template; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
151 +{ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
152 + return mkostemp (template, O_RDWR|O_CREAT|O_EXCL |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
153 +#ifdef O_BINARY |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
154 + |O_BINARY |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
155 +#endif |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
156 + ); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
157 +} |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
158 --- guile-2.0.0.1/libguile/fports.c~ 2011-03-18 22:09:54.270594577 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
159 +++ guile-2.0.0.1/libguile/fports.c 2011-03-18 22:09:45.086370334 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
160 @@ -568,6 +571,8 @@ scm_i_fdes_to_port (int fdes, long mode_ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
161 else |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
162 scm_fport_buffer_add (port, -1, -1); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
163 } |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
164 + if (mode_bits & SCM_BINARY) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
165 + scm_i_set_port_encoding_x (port, 0); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
166 SCM_SET_FILENAME (port, name); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
167 scm_i_pthread_mutex_unlock (&scm_i_port_table_mutex); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
168 return port; |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
169 --- guile-2.0.0.1/libguile/load.c~ 2011-03-17 20:58:49.923054099 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
170 +++ guile-2.0.0.1/libguile/load.c 2011-03-18 23:02:16.870989978 +0100 |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
171 @@ -887,9 +887,15 @@ SCM_DEFINE (scm_primitive_load_path, "pr |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
172 && scm_is_string (scm_car (*scm_loc_load_compiled_extensions))) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
173 { |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
174 SCM fallback = scm_string_append |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
175 - (scm_list_3 (*scm_loc_compile_fallback_path, |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
176 - full_filename, |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
177 - scm_car (*scm_loc_load_compiled_extensions))); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
178 + (scm_list_3 (*scm_loc_compile_fallback_path, |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
179 + scm_equal_p (scm_i_substring (full_filename, 1, 2), |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
180 + scm_from_locale_string (":")) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
181 + /* on MinGW remove drive-letter separator `:' to |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
182 + obtain valid file name */ |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
183 + ? scm_i_substring (full_filename, 2, |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
184 + scm_i_string_length (full_filename)) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
185 + : full_filename, |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
186 + scm_car (*scm_loc_load_compiled_extensions))); |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
187 if (scm_is_true (scm_stat (fallback, SCM_BOOL_F))) |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
188 { |
ba506e08a7ce
mingw::guile: Fix auto-compilation.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6493
diff
changeset
|
189 compiled_filename = fallback; |
6506
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
190 --- guile-2.0.0.1/module/ice-9/boot-9.scm~ 2011-03-18 23:39:22.092737409 +0100 |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
191 +++ guile-2.0.0.1/module/ice-9/boot-9.scm 2011-03-19 09:23:48.673392189 +0100 |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
192 @@ -3277,7 +3277,11 @@ module '(ice-9 q) '(make-q q-length))}." |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
193 (string-append |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
194 %compile-fallback-path |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
195 ;; no need for '/' separator here, canon-path is absolute |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
196 - canon-path |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
197 + (if (eq? (string-ref canon-path 1) #\:) |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
198 + ;; on Mingw remove drive-letter separator `:' to |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
199 + ;; obtain valid file name |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
200 + (substring canon-path 2) |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
201 + canon-path) |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
202 (cond ((or (null? %load-compiled-extensions) |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
203 (string-null? (car %load-compiled-extensions))) |
6c1f7f6fb878
mingw:guile: another go-path fix in boot-9.scm. Fixes compile of (user).
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6503
diff
changeset
|
204 (warn "invalid %load-compiled-extensions" |