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