* eval.c (scm_lookupcar1): New procedure to cope with a race
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
0b46857f
MV
1Thu Jun 5 16:38:19 1997 Marius Vollmer <mvo@zagadka.ping.de>
2
3 * struct.c (init_struct): Forget to mention this in the "Wed Jun 4
4 23:47:01 1997" changelog: Slots are now initialized with `#f' by
5 default and not `()'. `#f' is the canonical non-value in Scheme,
6 right?
7
5dade857
MV
8Wed Jun 4 23:47:01 1997 Marius Vollmer <mvo@zagadka.ping.de>
9
10 * struct.c (struct_printer): New variable that holds a handle on
11 the Scheme variable *struct-printer*. This variable can be set by
12 Scheme code to override the printing of structures.
13 (scm_print_struct): If struct_printer is set, call it. If it is
14 not set, or returns #f, print the structure in the old fashion.
15 Include "eval.h" for scm_apply.
16
7507aba1
MV
17Tue Jun 3 23:01:39 1997 Marius Vollmer <mvo@zagadka.ping.de>
18
19 * struct.c (scm_struct_ref, scm_struct_set_x): Use
20 scm_struct_i_n_words to get the number of fields, not
21 -scm_struct_n_extra_words.
22
23 On the route to fancier struct printing:
24 * struct.c (scm_print_struct): New function to print a structure.
25 Include "genio.h" to support it. This function doesn't do
26 anything interesting right now, but I think it should be here
27 anyway.
28 * struct.h: Include "print.h" and add prototype for
29 scm_print_struct.
30 * print.c (scm_iprin1): Call scm_print_struct instead of trying to
31 print structures ourself.
32
2ad6b1a5
GH
33Sun Jun 1 07:58:41 1997 Gary Houston <ghouston@actrix.gen.nz>
34
35 * scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
36 before applying the handler in case it doesn't return.
37
e1a191a8
GH
38Sat May 31 18:57:51 1997 Gary Houston <ghouston@actrix.gen.nz>
39
40 * scmsigs.h, async.h: updated.
41
42 * _scm.h: if HAVE_RESTARTS is defined then don't use a SYSCALL
43 loop.
44
45 * posix.c (scm_uname): interpret only negative values as an error.
46 Solaris normally returns a positive value.
47
48 * script.c (scm_compile_shell_switches): if we are not going into
49 an interactive repl, set scm_mask_ints to zero so that asyncs can
50 run.
51
52 * simpos.c (scm_system): don't ignore/unignore signals around
53 the "system" call.
54
55 * posix.c (scm_open_pipe): don't ignore/unignore signals around
56 the "popen" call.
57
58 * init.c (scm_boot_guile_1): don't call scm_init_signals, it's
59 done in boot-9.scm instead.
60
61 * scmsigs.c, async.c: Major rewriting of signal handling code.
62 (scm_sigaction): new procedure.
63 (scm_sleep): don't wrap sleep in SCM_SYSCALL, it would mess up the
64 timing.
65 (scm_raise): return unspecified, throw error on failure.
66
0e165281
JB
67Thu May 29 02:47:36 1997 Jim Blandy <jimb@floss.cyclic.com>
68
69 * regex-posix.c (scm_init_regex_posix): Register the "regex"
70 feature, to help boot-9.scm decide whether to import the regex
71 module.
72
4885ba0e 73Thu May 29 02:19:40 1997 Jim Blandy <jimb@floss.cyclic.com>
1e5afba0 74
4885ba0e
JB
75 * eval.c: Include scmconfig.h at the beginning of the file so that
76 HAVE_ALLOCA_H may properly be defined. Thanks to Bill Janssen for
77 pointing this out.
1e5afba0
JB
78
79 * regex-posix.c: #include "_scm.h" before conditionally #including
80 <regex.h>; the former defines HAVE_REGCOMP.
81
4885ba0e
JB
82 * regex-posix.c: #include <regex.h> conditionally, so the file is
83 CPP'able (for dependency scanning) even on systems that don't have
84 a <regex.h> header.
85
5aefdd40
JB
86Tue May 27 23:48:38 1997 Jim Blandy <jimb@floss.cyclic.com>
87
88 Add new R4RS-compliant syntax for keywords.
89 * read.c (scm_lreadr): Recognize `#:' as a prefix for keywords,
90 regardless of the setting of the `keywords' read option.
91 * kw.c (prin_kw): Print keywords using the `#:' syntax, so they
92 can be re-read no matter what the setting of the `keywords' read
93 option.
94
737c9113
JB
95Tue May 27 22:47:31 1997 Tim Pierce <twp@twp.tezcat.com>
96
97 Add support for POSIX regular expressions.
98
99 * regex-posix.c, regex-posix.h: New files. (Some code
100 is taken liberally from rx/rgx.c in the old Guile dist.)
101
102 * init.c: Include regex-posix.h.
103 (scm_boot_guile_1): Call scm_init_regex_posix.
104
105 * Makefile.am (EXTRA_libguile_la_SOURCES, modinclude_HEADERS):
106 Add regex-posix.[ch] sources.
107 * Makefile.in: Regenerated.
108
109 * scmconfig.h.in: Add HAVE_REGCOMP macro. (automake is supposed
110 to do this automatically? It didn't for me, bleh.)
111
06de7963
JB
112Mon May 26 18:51:29 1997 Jim Blandy <jimb@floss.cyclic.com>
113
33623b5e
JB
114 * fports.c (print_pipe_port): New function.
115 (scm_fptob): Use print_pipe_port instead of scm_prinport; the
116 latter doesn't even take the right arguments.
117
118 * Makefile.am: Increment shared lib revision number. I think
119 sometimes the uninstalled Guile finds the installed shared lib;
120 Gord says doing this might help. As things turned out, I can't
121 say whether it does.
122 * Makefile.in: Regenerated.
123
06de7963
JB
124 * gh_init.c (gh_enter): Cast c_main_prog to a void * before
125 passing it as the closure argument to scm_boot_guile. (Bill
126 Janssen)
127
128 * ports.c (print_void_port, putc_void_port, puts_void_port,
129 write_void_port, flush_void_port, getc_void_port, close_void_port,
130 noop0): Use ANSI prototypes instead of K&R declarations, so the
131 initialization of void_port_ptob gets aggressively type-checked.
132 Fix arguments of print_void_port and write_void_port. (Bill
133 Janssen)
82892bed
JB
134
135 * COPYING, __scm.h, _scm.h, alist.c, alist.h, append.c, append.h,
136 appinit.c, arbiters.c, arbiters.h, async.c, async.h, backtrace.c,
137 backtrace.h, boolean.c, boolean.h, chars.c, chars.h,
138 continuations.c, continuations.h, coop-defs.h, coop-threads.c,
139 coop-threads.c.cygnus, coop-threads.h, coop-threads.h.cygnus,
140 coop.c, debug.c, debug.h, dynl-dl.c, dynl-dld.c, dynl-shl.c,
141 dynl-vms.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, eq.h,
142 error.c, error.h, eval.c, eval.h, extchrs.h, feature.c, feature.h,
143 filesys.c, filesys.h, fports.c, fports.h, fsu-pthreads.h, gc.c,
144 gc.h, gdbint.c, gdbint.h, genio.c, genio.h, gh.h, gh_data.c,
145 gh_eval.c, gh_funcs.c, gh_init.c, gh_io.c, gh_list.c,
146 gh_predicates.c, gh_test_c.c, gh_test_repl.c, gscm.c, gscm.h,
147 gsubr.c, gsubr.h, guile.c, hash.c, hash.h, hashtab.c, hashtab.h,
148 init.c, init.h, ioext.c, ioext.h, kw.c, kw.h, libguile.h, list.c,
149 list.h, load.c, load.h, mallocs.c, mallocs.h, markers.c,
150 markers.h, mbstrings.c, mbstrings.h, mit-pthreads.c,
151 mit-pthreads.h, net_db.c, net_db.h, numbers.c, numbers.h,
152 objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h,
153 ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
154 procprop.h, procs.c, procs.h, putenv.c, ramap.c, ramap.h, read.c,
155 read.h, root.c, root.h, scmhob.h, scmsigs.c, scmsigs.h, script.c,
156 script.h, sequences.c, sequences.h, simpos.c, simpos.h, smob.c,
157 smob.h, snarf.h, socket.c, socket.h, srcprop.c, srcprop.h,
158 stackchk.c, stackchk.h, stacks.c, stacks.h, stime.c, stime.h,
159 strings.c, strings.h, strop.c, strop.h, strorder.c, strorder.h,
160 strports.c, strports.h, struct.c, struct.h, symbols.c, symbols.h,
161 tag.c, tag.h, tags.h, threads.c, threads.h, throw.c, throw.h,
162 unif.c, unif.h, variable.c, variable.h, vectors.c, vectors.h,
163 version.c, version.h, vports.c, vports.h, weaks.c, weaks.h: New
164 address for FSF.
165
3f4c654d
JB
166Mon May 26 12:37:30 1997 Jim Blandy <jimb@floss.cyclic.com>
167
168 * script.c (scm_find_executable): Use prototype-style definition
169 here; apparently it's not quite right to have const in a prototype
170 and then use a K&R declaration. I wonder if stuff like this will
171 go away if we compile with -Wrequire-prototypes, or whatever that
a00c28cd 172 is... (Bernard URBAN)
3f4c654d
JB
173
174 * scmhob.h: New text from Bernard URBAN.
175
176Sat May 17 17:14:36 1997 Jim Blandy <jimb@floss.cyclic.com>
177
178 * script.c: Don't #define const on hpux. Configure takes care of
179 this. (Thanks to Larry Schwimmer.)
180
181 * script.c: Use the HAVE_UNISTD_H symbol provided by autoconf to
182 decide whether to #include <unistd.h>, instead of listing a bunch
183 of systems. Don't #include stdio twice. Removed dyked-out
184 definition of scm_find_impl_file.
185
eeb56f3c
JB
186Fri May 16 03:06:08 1997 Jim Blandy <jimb@floss.cyclic.com>
187
adb98aa9
JB
188 * Makefile.am (libguile_la_LDFLAGS): Update libguile's shared
189 library version info to 1:0.
190 * Makefile.in: Regenerated.
191
142ad3d9
JB
192 * backtrace.c, backtrace.h, debug.c, debug.h, eq.c,
193 gdb_interface.h, gdbint.c, gdbint.h, gh_data.c, gh_init.c,
194 gh_io.c, gh_list.c, gh_predicates.c, gh_test_c.c, gh_test_repl.c,
195 init.c, net_db.c, options.c, options.h, ports.c, print.c, read.c,
196 script.h, snarf.h, srcprop.c, srcprop.h, stacks.c, stacks.h,
197 throw.c: Update copyright years; these files have been worked on
198 significantly in 1997, but only had copyright years for 1996.
199 Also, change name of copyright holder on some from Mikael
200 Djurfeldt to Free Software Foundation; he has signed papers
201 assigning the changes to the FSF.
202
eeb56f3c
JB
203 * script.c (scm_shell_usage): Pass FATAL to exit. There's no
204 reason not to give the user the option.
190b072d
JB
205
206 * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv):
207 Return #f on end-of-file when scanning table (i.e. when called
208 with no arguments). Try to catch errors, when we can.
095936d2
JB
209 * posix.c (scm_getgrgid, scm_getpwuid): Same.
210
211 * script.h (scm_shell_usage, scm_compile_shell_switches): New
190b072d
JB
212 external declarations. These are useful.
213
a48a89bc
GH
214Thu May 15 05:21:36 1997 Gary Houston <ghouston@actrix.gen.nz>
215
216 * posix.c: don't include <sys/select.h> or define macros for
217 select, since they were not used in this file.
218
095936d2 219 * filesys.c (scm_select): make the fifth parameter microseconds,
a48a89bc
GH
220 not milliseconds. let the fourth parameter be either a real value
221 or an integer or #f. The first, second and third arguments can
222 now be vectors: the type of the corresponding return set will be
223 the same.
224 (set_element, get_element): new static procedures.
225
f3b1485f
JB
226Wed May 14 12:18:12 1997 Jim Blandy <jimb@floss.cyclic.com>
227
223be5f0
JB
228 * strports.c (scm_eval_string): New function.
229 (scm_eval_0str): Trivially re-implemented in terms of
230 scm_eval_string.
231 * strports.h (scm_eval_string): New extern decl.
232
e1cd56f9
JB
233 * net_db.c (h_errno): Add extern decl for this.
234
f3b1485f
JB
235 * fports.c (local_pclose): New function.
236 (scm_pipob): Use it in the initializer here.
237
238 From Tim Pierce:
239 * net_db.c (scm_gethost, scm_getproto, scm_getnet, scm_getserv):
240 Use a meaningful error message when signalling an error. For
241 this, scm_gethost must check h_errno rather than errno.
242
9b01064c
JB
243Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
244
245 * Makefile.in: Regenerated, using automake-1.1p.
246
08fea088
GH
247Tue May 13 04:34:52 1997 Gary Houston <ghouston@actrix.gen.nz>
248
0267051b
GH
249 * socket.c (scm_addr_vector): use SCM_UNDEFINED in scm_listify,
250 not SCM_UNSPECIFIED.
251
08fea088
GH
252 * script.c (scm_compile_shell_switches): don't append (quit) if
253 interactive.
254 (scm_shell): call scm_exit_status and exit on the result of the
255 evaluation.
256
821eb64e
JB
257Mon May 12 17:23:58 1997 Jim Blandy <jimb@floss.cyclic.com>
258
259 Ensure that shared substrings are handled properly when passed to
260 a system call or other foreign function. Many thanks to Tim
261 Pierce!
262 * symbols.h (SCM_COERCE_SUBSTR): new macro.
263 * filesys.c (scm_chmod, scm_rename, scm_delete_file, scm_mkdir,
264 scm_rmdir, scm_opendir, scm_chdir, scm_symlink, scm_readlink,
265 scm_lstat), ports.c (scm_sys_make_void_port), posix.c (scm_utime,
266 scm_putenv, scm_setlocale, scm_mknod), stime.c (setzone,
267 scm_strftime), vports.c (scm_make_soft_port), backtrace.c
268 (scm_display_error_message): use RO macros when strings may be RO.
269 * error.c (scm_error_scm), filesys.c (scm_chown, scm_chmod,
270 scm_rename, scm_delete_file, scm_mkdir, scm_rmdir, scm_opendir,
271 scm_chdir, scm_symlink, scm_readlink, scm_lstat), ioext.c
272 (scm_freopen, scm_duplicate_port, scm_fdopen), net_db.c
273 (scm_gethost, scm_getnet, scm_getproto, scm_getserv), ports.c
274 (scm_sys_make_void_port), posix.c (scm_getgrgid, scm_utime,
275 scm_setlocale, scm_mknod), stime.c (setzone, scm_strptime,
276 scm_strftime), vports.c (scm_make_soft_port): use
277 SCM_COERCE_SUBSTR to make sure shared substrings are
278 null-terminated.
279
280Mon May 12 15:33:10 1997 Jim Blandy <jimb@totoro.cyclic.com>
281
282 * error.c (scm_error): Add newline to error message.
283
284 * init.c (scm_init_standard_ports): Doc fix.
285
8e6f33db
MV
286Thu May 8 14:38:01 1997 Marius Vollmer <mvo@zagadka.ping.de>
287
288 * dynl-shl.c: Completely replaced with new code from Bernard
289 URBAN.
290
291 * script.c (scm_ice_9_already_loaded): New variable.
292 (scm_compile_shell_switches): Use it.
293
4edc089c
GH
294Mon May 5 20:35:08 1997 Gary Houston <ghouston@actrix.gen.nz>
295
296 * filesys.c (scm_input_waiting_p): add missing third argument to
297 scm_misc_error.
298
299 * stime.c (scm_localtime): copy the result of localtime before
300 calling gmtime in case they share a buffer.
301 (scm_localtime, scm_mktime): throw an error if neither HAVE_TM_ZONE
302 nor HAVE_TZNAME.
303
554878da
GH
304Fri May 2 19:07:11 1997 Gary Houston <ghouston@actrix.gen.nz>
305
306 * eq.c (scm_equal_p): use SCM_TYP7SD (y) not SCM_TYP7SD (x).
4edc089c 307
914155ca
JB
308Thu May 1 17:01:45 1997 Jim Blandy <jimb@floss.cyclic.com>
309
310 * Makefile.am (check-local): New target, which causes 'make check'
311 to run gh_test_c and gh_test_repl, with some trivial input.
312 * Makefile.in: Rgnrtd.
313
6fa9bcd0
MV
314Tue Apr 29 19:00:40 1997 Marius Vollmer <mvo@zagadka.ping.de>
315
316 * dynl.c (print_dynl_obj): Indicate whether the dynamic object has
317 been unlinked.
318
9ea54cc6
GH
319Mon Apr 28 06:10:14 1997 Gary Houston <ghouston@actrix.gen.nz>
320
321 * async.c (scm_sys_tick_async_thunk): commented out. I'm not
322 sure how this was supposed to work.
323 (scm_async_click): don't send SCM_TICK_SIGNAL.
324 (scm_init_async): don't initialize %tick-thunk.
325
326 * the following change doesn't affect the Scheme interface:
327 gc-thunk is called at the end of garbage collection. however it's
328 no longer implemented by pretending it's a signal.
329
330 * gc.c (scm_gc_end): don't call scm_take_signal. instead mark the
331 system async corresponding to scm_gc_thunk.
332 * async.h: declare scm_gc_async.
333 * async.c (scm_sys_gc_async_thunk): apply the thunk named by
334 gc-thunk directly, instead of going through a signal handler.
335 (scm_gc_async): new variable, points to the GC system-async.
336 (scm_init_async): save the GC async as scm_gc_async instead
337 of using system_signal_asyncs.
338 (scm_gc_vcell): new variable, stores the gc-thunk vcell.
339
10830232
JB
340Mon Apr 28 19:14:44 1997 Jim Blandy <jimb@floss.cyclic.com>
341
342 * Makefile.am (libpath.h, cpp_err_symbols.c, cpp_sig_symbols.c):
343 Don't screw up if we're interrupted.
344 * Makefile.in: Regeneradet.
345
28c682fa
JB
346Sun Apr 27 17:57:15 1997 Jim Blandy <jimb@floss.cyclic.com>
347
348 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
349
350 * Makefile.am (modincludedir): Use "ice-9" instead of "@module@";
351 we're not using AM_INIT_GUILE_MODULE any more.
352 * Makefile.in: Reneregated.
353
20108301
JB
354Thu Apr 24 00:41:08 1997 Jim Blandy <jimb@floss.cyclic.com>
355
4616e355 356