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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
1 --- guile-1.9.15/module/system/base/compile.scm~ 2011-02-15 10:54:38.483090146 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
2 +++ guile-1.9.15/module/system/base/compile.scm 2011-03-03 09:15:24.742333809 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
3 @@ -51,7 +51,7 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
4 ;; (put 'call-with-output-file/atomic 'scheme-indent-function 1)
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
5 (define* (call-with-output-file/atomic filename proc #:optional reference)
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
6 (let* ((template (string-append filename ".XXXXXX"))
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
7 - (tmp (mkstemp! template)))
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
8 + (tmp (mkstemp! template "w+b")))
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
9 (call-once
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
10 (lambda ()
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
11 (with-throw-handler #t
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
12 --- guile-1.9.15/libguile/posix.h~ 2010-12-14 19:15:17.000000000 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
13 +++ guile-1.9.15/libguile/posix.h 2011-03-03 09:21:46.058955734 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
14 @@ -67,7 +67,7 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
15 SCM_API SCM scm_uname (void);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
16 SCM_API SCM scm_environ (SCM env);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
17 SCM_API SCM scm_tmpnam (void);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
18 -SCM_API SCM scm_mkstemp (SCM tmpl);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
19 +SCM_API SCM scm_mkstemp (SCM tmpl, SCM mode);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
20 SCM_API SCM scm_tmpfile (void);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
21 SCM_API SCM scm_open_pipe (SCM pipestr, SCM modes);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
22 SCM_API SCM scm_close_pipe (SCM port);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
23 --- guile-1.9.15/libguile/posix.c~ 2011-01-29 21:36:58.000000000 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
24 +++ guile-1.9.15/libguile/posix.c 2011-03-03 09:14:46.745199721 +0100
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
25 @@ -1329,8 +1329,8 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
26 extern int mkstemp (char *);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
27 #endif
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
28
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
29 -SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 0, 0,
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
30 - (SCM tmpl),
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
31 +SCM_DEFINE (scm_mkstemp, "mkstemp!", 1, 1, 0,
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
32 + (SCM tmpl, SCM mode),
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
33 "Create a new unique file in the file system and return a new\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
34 "buffered port open for reading and writing to the file.\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
35 "\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
36 @@ -1338,6 +1338,8 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
37 "created: it must end with @samp{XXXXXX} and those @samp{X}s\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
38 "will be changed in the string to return the name of the file.\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
39 "(@code{port-filename} on the port also gives the name.)\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
40 + "The optional @var{mode}, if given, is a string specifying the\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
41 + "open mode of the file, e.g. w+b\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
42 "\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
43 "POSIX doesn't specify the permissions mode of the file, on GNU\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
44 "and most systems it's @code{#o600}. An application can use\n"
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
45 @@ -1354,7 +1356,12 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
46 {
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
47 char *c_tmpl;
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
48 int rv;
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
49 -
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
50 + SCM port;
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
51 + char *c_mode = "w+";
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
52 +
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
53 + if (!SCM_UNBNDP (mode))
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
54 + c_mode = scm_to_locale_string (mode);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
55 +
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
56 scm_dynwind_begin (0);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
57
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
58 c_tmpl = scm_to_locale_string (tmpl);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
59 @@ -1369,7 +1376,10 @@
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
60 tmpl, SCM_INUM0);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
61
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
62 scm_dynwind_end ();
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
63 - return scm_fdes_to_port (rv, "w+", tmpl);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
64 + port = scm_fdes_to_port (rv, c_mode, tmpl);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
65 + if (!SCM_UNBNDP (mode))
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
66 + free (c_mode);
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
67 + return port;
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
68 }
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
69 #undef FUNC_NAME
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
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"