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