Small adjustment to remove compiler warning message.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
ba031394
MD
1Thu Oct 2 19:33:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2
3 * print.c (scm_iprin1): Don't print arguments of macro
4 transformers. (They are always: exp env.); Bugfix: Unmemoize
5 transformer source with correct environment.
6
20cb8b8c
MV
71997-10-02 Marius Vollmer <mvo@zagadka.ping.de>
8
9 Streamlining of call-with-dynamic-root:
10
11 * root.c (cwdr_inner_body, cwdr_body): Remove "inner" from name,
12 there is now only one catch.
13 (cwdr_outer_body): Removed.
14 (cwdr_handler): New function.
15 (scm_internal_cwdr): New function to perform the function of cwdr
16 but take args that are more useful to C code. Also, the handler
17 is now invoked *outside* of the new dynamic root, like the docs
18 say. We no longer have to catch absolutely all errors, the caller
19 is responsible for using a handler that does not throw, if he
20 wants that.
21 (cwdr): Reimplemented in terms of scm_internal_cwdr.
22 * root.h (scm_internal_cwdr): New prototype.
23
24 Even more but risky streamlining:
25
26 * root.c (USE_STACKJMPBUF): New define to activate a stack-based
27 allocation of the jumpbuf of a root continuation. The changes
28 below are controlled by it. They are now deactivated.
29 (scm_internal_cwdr): Allocate the scm_contregs on the stack. Set
30 the JMPBUF of the scm_rootcont to NULL before returning.
31
32 * gc.c (scm_gc_sweep): Free the SCM_VELTS of a scm_tc7_contin only
33 when they are non-NULL.
34 (scm_gc_mark): Likewise, mark only when non-NULL.
35
36 Make dynamic linking work on Dec Unix. (Thanks to Clark McGrew)
37 * dynl.c: Include "dynl-dl.c" also when HAVE_DLOPEN is defined.
38
39 * gc.c (scm_done_malloc): New function.
40 gc.h (scm_done_malloc): New prototype.
41
42 * print.h (SCM_PRINT_STATE_P, SCM_COERCE_OPORT): New macros.
43 (struct scm_print_state) [revealed]: New field.
44 (scm_print_state_vtable): Make visible to the outside world for
45 type checking purposes.
46 (scm_valid_oport_value_p): New prototype.
47
48 * print.c (scm_valid_oport_value_p): New function to check whether
49 a certain value is acceptable as a port argument.
50 (scm_print_state_vtable): New variable.
51 (scm_free_print_state): Set `revealed' field to false.
52 (scm_iprin1): Call user supplied closure printer with
53 scm_printer_apply. Print in the traditional way when there isn't
54 one or when it returns #f.
55 (scm_prin1, scm_display, scm_write, scm_newline, scm_write_char):
56 Accept a port/print-state pair in addition to just a port.
57 (scm_prin1): Don't return the print_state to the pool when it has
58 been `revealed'.
59 (scm_printer_apply): Set `revealed' field of print_state to true.
60 (scm_init_print): Set scm_print_state_vtable.
61 (print_state_fluid, print_state_fluid_num): Removed.
62
63 * throw.h (scm_handle_by_proc_catching_all): New prototype
64 throw.c (scm_handle_by_proc_catching_all): New function
65
5aa28c1e
JB
66Mon Sep 29 23:54:09 1997 Jim Blandy <jimb@totoro.red-bean.com>
67
68 * Makefile.in: Regenerated with automake 1.2c.
69
de59897a
RS
70Sun Sep 28 21:35:42 1997 Radey Shouman <shouman@zianet.com>
71
72 * ramap.c (scm_array_index_map_x): Fixed for zero-rank arguments,
73 was looping endlessly.
74
f6a29123
JB
75Sun Sep 28 00:04:29 1997 Jim Blandy <jimb@totoro.red-bean.com>
76
77 * strports.c (scm_eval_string): Don't close the port.
78
79 * stime.c (bdtime2c): Use SCM_LENGTH, not scm_vector_length; the
80 former returns a nice normal integer. (Thanks to Daniel
81 Risacher.)
82
8a01e754
JB
83Sat Sep 27 20:19:34 1997 Jim Blandy <jimb@totoro.red-bean.com>
84
85 * Makefile.am (libpath.h): Include the value of the THREAD_LIBS
86 makefile variable as a build parameter called LIBS. The
87 build-guile program will use this, for the time being.
88 * Makefile.in: Regenerated.
89
90 Thanks to Shiro Kawai:
91 * gc.c (scm_gc_mark): Pass NULL to scm_wta as the subroutine name.
92 * ports.h (scm_ptobfuns): The fgets method returns a char *, not
93 an SCM.
94
95 * Makefile.in: Regenerated with automake 1.2a.
96
97 * script.c (scm_compile_shell_switches): If we hit the -c or --
98 arguments, don't set the car of (command-line) to scm_usage_name,
99 the prettified name of the guile executable; give it the full
100 path, the way shells usually handle $0.
101
bdf8afff
MD
102Wed Sep 24 22:09:52 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
103
7e790400
MD
104 * ramap.c (scm_array_map): Renamed to scm_array_map_x. Removed
105 Scheme-level name `array-map' and renamed `serial-array-map' to
106 `serial-array-map!'.
107
bdf8afff
MD
108 * backtrace.c: Introduced exception handlers which now enclose
109 `display-error' and `display-backtrace' so that error reporting
110 won't get into infinite loops if an error occurs during displaying
111 of the error. This can very easily happen with user supplied
112 print call-back routines.
113
830613a0
MD
114Tue Sep 23 12:43:17 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
115
116 * ramap.c: Added alias `array-map!' for `array-map'. (Probably,
117 the names `serial-array-map' and `array-map' should be removed.)
118
0c32d76c
MD
119Mon Sep 22 01:21:54 1997 Mikael Djurfeldt <mdj@kenneth>
120
121 * init.c (scm_boot_guile_1): Added scm_init_objects ().
122 Added #include "objects.h"
123
124 * eval.c (scm_makprom): Added SCM_DEFER_INTS and SCM_ALLOW_INTS.
125 Add #include "feature.h".
126
127 * Makefile.am (libguile_la_SOURCES): Added objects.c.
128 (modinclude_HEADERS): Added objects.h.
129
130 * ports.h (SCM_EOF_OBJECT_P): New macro predicate.
131 This test is needed at many places in the code and should be
132 abstracted. (Motivated by the need of this test in libguiletk.)
133
134 * ports.c (scm_eof_object_p), vports.c (sfgetc), strports.c
135 (scm_eval_string), load.c (scm_primitive_load,
136 scm_read_and_eval_x), gh_eval.c (gh_eval_str):
137 Use SCM_EOF_OBJECT_P.
25eaf21a
MD
138
139 * eval.c (scm_init_eval): Add feature `delay'.
140
51916da6
MD
141Tue Sep 16 02:12:02 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
142
143 * scmhob.h: Removed.
144
92396c0a
MD
145Mon Sep 15 20:42:03 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
146
147 * list.h (SCM_LISTn): New macros. Make list creation in C code
148 prettier. The idea comes from STk.
149
150 * sequences.h, sequences.c, append.h, append.c: Removed. These
151 files implemented non-R4RS operations which would encourage
152 non-portable programming style and less easy-to-read code.
153
154 * Makefile.am (sequences.h, sequences.c, append.h, append.c):
155 Removed.
156
157 * libguile.h, eval.c, init.c, stime.c, unif.c: Removed #include
158 sequences.h, #include append.h.
159
160 * init.c (scm_boot_guile_1): Removed calls to scm_init_append and
161 scm_init_sequences.
162
163 * gh.h, gh_list.c: Renamed gh_list_length --> gh_length.
164
165 * list.h, list.c: Renamed scm_list_length --> scm_length, scm
166
167 * stime.c (bdtime2c): Changed scm_obj_length --> scm_vector_length.
168
169Sat Sep 13 00:21:41 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
170
171 * eval.c: Added #include "objects.h"
172
173 * tags.h (scm_tc16_object, scm_tc16_entity): Smobtags for objects
174 and entities.
175
176 * smob.c (scm_smob_prehistory): Create two objectsmobs with
177 adjacent smob numbers.
178
80ea260c
MD
179Thu Sep 11 00:59:17 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
180
181 * procprop.h: Added declaration of scm_i_inner_name.
182
183 * gsubr.c: New global symbol scm_i_inner_name.
184
185 * debug.c (scm_procedure_name): Try procedure property
186 `inner-name' if `name' fails.
187
188 * print.c (scm_iprin1): Use scm_macro_name.
189
190 * eval.c (scm_m_define): Give names to macros as well; Only the
191 first top-level definition gives a procedure/macro a name.
192 Otherwise confusing names can turn up in backtraces.
193 (SCM_CEVAL): SCM_IM_DEFINE: Set `inner-name' property instead of
194 `name'; Give names to macros as well.
195
196 * procs.c (scm_closure_p), print.c (scm_iprin1), eval.c
197 (scm_macro_transformer): Use SCM_CLOSUREP instead of
198 scm_closure_p.
199
7332df66
MD
200Wed Sep 10 20:52:18 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
201
202* * eval.c (macro?, macro-type, macro-name, macro-transfomer): New
203 procedures;
204 (prinmacro): Removed. The code has been moved/merged into print.c
205 in order to decrease code redundancy. We want macros to print in
206 a way equivalent to procedures, and it would be silly to duplicate
207 the required code. (We don't want to maintain two places.)
208 (macrosmob): Print field is now a NULL pointer.
209
210 * eval.h (scm_macro_p, scm_macro_type, scm_macro_name,
211 scm_macro_transformer): New prototypes.
212 (scm_tc16_macro): Declared.
213
214* * print.c (scm_iprin1): Added code for printing of macros. Macros
215 are now printed in a way equivalent to procedures.
216
217Sat Sep 6 12:20:42 1997 Mikael Djurfeldt <mdj@kenneth>
218
219 * procs.h (scm_closure_p): Added declaration.
220
221Fri Sep 5 13:36:14 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
222
223 * gc.c (scm_gc_mark): Fixed "rogue pointer in heap" message:
224 Shouldn't pass "heap" as the subr name.
225
614590c5
JB
226Tue Sep 2 18:14:30 1997 Jim Blandy <jimb@totoro.red-bean.com>
227
228 * gh_predicates.c (gh_boolean_p, gh_symbol_p, gh_char_p,
229 gh_vector_p, gh_pair_p, gh_number_p, gh_string_p, gh_procedure_p,
230 gh_list_p, gh_inexact_p, gh_exact_p, gh_eq_p, gh_eqv_p,
231 gh_equal_p): Use SCM_NFALSEP, instead of testing against
232 SCM_BOOL_T. Any non-false value is true.
233
1ff4df7a
MD
234Tue Sep 2 00:27:07 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
235
236 * symbols.h (scm_builtin_bindings, scm_builtin_weak_bindings,
237 scm_gensym): Added prototypes.
238
239 * symbols.c (scm_gensym): New function. This will speed up
240 certain types of applications (such as macro systems) which
241 generate lots of symbols.
242
d28da049
MD
243Mon Sep 1 22:30:33 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
244
245 * numbers.c (logand, logior, logxor): Handle 0 or 1 arguments.
246
20a54673
GH
247Sat Aug 30 18:56:19 1997 Gary Houston <ghouston@actrix.gen.nz>
248
249 * unif.c (scm_shap2ra): tighten the checking of the array dimension
250 specifier, since (2) or (2 . 3) would cause SEGV.
251 (scm_transpose_array): more argument checking fixes.
252
614590c5
JB
253Thu Aug 28 23:48:53 1997 Jim Blandy <jimb@totoro.red-bean.com>
254
255 * Makefile.in: Regenerated.
256
34695603
JB
257Wed Aug 27 17:44:44 1997 Jim Blandy <jimb@totoro.red-bean.com>
258
259 * Makefile.in: Regenerated, so it uses "tar", not "gtar".
260
88482b31
MD
261Mon Aug 25 13:47:25 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
262
263 * error.c, error.h (scm_error_callback): Removed (see NEWS).
264
95f5b0f5
MD
265Sun Aug 24 01:25:35 1997 Mikael Djurfeldt <mdj@kenneth>
266
a46d5ff2
MD
267 * regex-posix.c: If <regex.h> can't be found, try <rxposix.h> or
268 <rx/rxposix.h>. (This is in order to accomodate for the GNU Rx
269 library.)
270
95f5b0f5
MD
271 * ramap.c (scm_ra_matchp, scm_array_fill_int, racp, ramap_1,
272 ramap_2o, scm_array_index_map_x, raeql_1, scm_array_equal_p),
273 unif.c (scm_vector_set_length_x, scm_uniform_vector_length,
274 scm_array_p, scm_array_rank, scm_array_dimensions,
275 scm_enclose_array, scm_array_in_bounds_p, scm_uniform_vector_ref,
276 scm_cvref, scm_array_set_x, scm_array_contents, scm_array_to_list,
277 scm_array_prototype): Added case scm_tc7_wvect.
278
efb997f5
GH
279Sat Aug 23 18:45:44 1997 Gary Houston <ghouston@actrix.gen.nz>
280
281 * errno.h: prototype for scm_strerror.
282 * error.c (scm_strerror): new procedure.
283
1a0e096c
MD
284Mon Aug 18 14:58:22 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
285
286 * list.c (scm_list_append_x): Allow non-pair as last argument.
287 This is consistent with the R4RS append and is probably the
288 correct behaviour as specified by R2RS. (Thanks to Radey Shouman)
289
6afcd3b2
GH
290Sat Aug 16 18:42:15 1997 Gary Houston <ghouston@actrix.gen.nz>
291
292 * stime.h: prototype for scm_times.
293 * stime.c (scm_times): new procedure.
294 * ioext.c (scm_fseek): if the first argument is a file descriptor
295 call lseek.
296 (scm_ftell): if the first argument is a file descriptor call lseek
297 (sic).
298 * filesys.h: prototypes for scm_open_fdes, scm_fsync.
299 * filesys.c (scm_chmod): if the first argument is a file descriptor,
300 call fchmod.
301 (scm_chown): if the first argument is a port or file descriptor,
302 call fchown.
303 (scm_truncate_file): new procedure.
304 Add DEFER/ALLOW INTS to a few other procedures.
305 (scm_fsync): new procedure.
306 (scm_open_fdes): new procedure.
307 (scm_open): use scm_open_fdes. If mode isn't specified, 666 will
308 now be used.
309 (scm_fcntl): the first argument can now be a file descriptor. The
310 third argument is now optional.
311
312 * posix.c (scm_execl, scm_execlp): make the filename argument
313 compulsory, since omitting it causes SEGV.
314 (scm_sync): return unspecified instead of #f.
315 (scm_execle): new procedure.
316 (environ_list_to_c): new procedure.
317 (scm_environ): use environ_list_to_c. disable interrupts.
318 (scm_convert_exec_args): take pos and subr arguments and
319 improve error checking.
320
0824b524
MD
3211997-08-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
322
323 * stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.c
324 (scm_call_with_new_thread): Bugfix: SCM_WNA should go as third
325 argument to SCM_ASSERT. Furthermore, the name of the function
326 should be passed as first argument when signalling
327 SCM_WNA. (Thanks to Thomas Morgan)
328
329 * gsubr.c (scm_gsubr_apply): From Radey Shouman
330 <shouman@zianet.com>: "The switch in scm_gsubr_apply that
331 dispatches on the number of actual args has a default case
332 reporting an internal error. This is a vestige from a version
333 that mallocated a SCM vector to hold the arguments. In the
334 current version this check is too late: if it ever happens we will
335 have already overstepped the bounds of the array.
336
337 Also, the patch [...] adds a check for too many actual arguments."
338
339 mdj: Removed check for "internal programming error".
340
4ed948d4
MD
341Wed Aug 13 15:38:44 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
342
f2ae0a19 343 * gh_io.c (gh_write): New function.
4ed948d4 344
f2ae0a19 345 * gh_eval.c (catch_with_saved_stack): Removed. Replaced by:
4ed948d4
MD
346 throw.c (scm_internal_stack_catch): New sibling to the other catch
347 functions. Code moved from gh_eval.c.
348 throw.h: Added header.
349 gh_eval.c (gh_eval_str_with_stack_saving_handler): Renamed call to
350 scm_internal_stack_catch.
351
7a6f1ffa
GH
352Tue Jul 29 01:03:08 1997 Gary Houston <ghouston@actrix.gen.nz>
353
354 * ioext.h: fix up prototypes.
355 * ioext.c (scm_dup_to_fdes): renamed from scm_primitive_dup2.
356 Scheme name is now dup->fdes.
357 (scm_dup_to_fdes): make the second argument optional and
358 fold in the functionality of scm_primitive_dup.
359 (scm_primitive_dup): deleted.
360
361Mon Jul 28 05:24:42 1997 Gary Houston <ghouston@actrix.gen.nz>
362
363 * fports.h (SCM_P): prototypes for scm_setvbuf, scm_setfileno.
364 * fports.c (scm_setbuf0): don't disable the setbuf if MSDOS or
365 ultrix are defined. Use setvbuf instead of setbuf.
366 (scm_setvbuf): new procedure.
367 (scm_init_fports): intern _IOFBF, _IOLBF, _IONBF.
368 (scm_setfileno): moved from ioext.c.
369 (scm_fgets): cast SCM_STREAM to (FILE *), remove unused lp variable.
370 (top of file): Delete 25 lines of probably obsolete CPP hair for MSDOS.
371
a0cb6cb0
MV
372Sun Jul 27 10:54:01 1997 Marius Vollmer <mvo@zagadka.ping.de>
373
374 * fluids.c (scm_fluid_p): New function.
375 * fluids.h (scm_fluid_p): New prototype.
376
377Sat Jul 26 21:33:37 1997 Marius Vollmer <mvo@zagadka.ping.de>
378
379 * print.c (scm_iprin1): Enter printed structures into the print
380 state as nested data while they are printed.
381 (print_state_fluid, print_state_fluid_num): New variables.
382 (scm_init_print): Initialize them.
383 (scm_iprin): If print_state_fluid carries a print_state, use that
384 instead of creating a new one.
385 (scm_printer_apply, apply_stub, struct apply_data): New
386 definitions to help with calling printer functions written in
387 Scheme.
388 * print.h (scm_printer_apply): New prototype.
389
390 * struct.c (scm_print_struct): Use scm_printer_apply to call the
391 user defined struct printer.
392
393 * dynwind.c (scm_dowinds): Handle fluids on the wind list.
394 * fluids.h (scm_internal_with_fluids, scm_with_fluids,
395 scm_swap_fluids, scm_swap_fluids_reverse): New prototypes.
396 * fluids.c (scm_internal_with_fluids, scm_with_fluids,
397 scm_swap_fluids, scm_swap_fluids_reverse): New functions.
398
399Fri Jul 25 12:05:46 1997 Marius Vollmer <mvo@zagadka.ping.de>
400
401 * fluids.c (scm_fluid_ref, scm_fluid_set_x): Fixed use of
402 SCM_ASSERT: arg comes before pos.
403
269861c7
MD
404Fri Jul 25 17:00:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
405
406 * eval.c (scm_apply): Handle the case when a tc7_sybr_2 is applied
407 to a list of length zero correctly.
408
3cb988bd
TP
409Wed Jul 23 16:17:46 1997 Tim Pierce <twpierce@bio-5.bsd.uchicago.edu>
410
411 Supply an `fgets' method for port objects to do fast line i/o.
412 * ioext.c (scm_read_line): New function.
413 * genio.c (scm_gen_read_line): New function.
414 * fports.c (scm_fgets): New function.
415 (scm_fptob, scm_pipob): Add scm_fgets method.
416 * ports.c (fgets_void_port, scm_generic_fgets): New functions.
417 (void_port_ptob): Add void fgets method.
418 (scm_newptob): Initialize fgets method from ptob struct.
419 * ports.h (scm_ptobfuns): Add fgets method.
420 * vports.c (scm_sfptob): Supply generic fgets method.
421 * strports.c (scm_stptob): Supply generic fgets method.
422
e38303a2
GH
423Mon Jul 21 04:03:42 1997 Gary Houston <ghouston@actrix.gen.nz>
424
425 * ioext.h: removed scm_duplicate_port prototype.
426
427 * ioext.c (scm_primitive_dup2): return the new file descriptor
428 instead of SCM_UNSPECIFIED, since similarity to scm_primitive_dup
429 is convenient.
430 (scm_fdopen): bug fix: don't try to make port unbuffered until its
431 stream has been set.
432 (scm_duplicate_port): deleted, there's now an implementation in
433 boot-9.scm.
434 (scm_primitive_dup2): do nothing if newfd == oldfd.
435
eadd48de
GH
436Sun Jul 20 03:55:49 1997 Gary Houston <ghouston@actrix.gen.nz>
437
a9488d12
GH
438 * filesys.c (scm_close): oops, don't call SCM_INUM twice on the
439 argument.
440
441 * ioext.h: new prototypes.
442 * ioext.c (scm_primitive_dup, scm_primitive_dup2): new procedures.
443
eadd48de
GH
444 * fluids.c (next_fluid_num): don't do
445 SCM_THREAD_CRITICAL_SECTION_START/END unless USE_THREADS is defined.
446
447 * ports.h: prototypes too.
448 * ports.c (scm_mode_bits, scm_port_mode): moved from fports.c.
449
450 * fports.h: prototype too.
451 * fports.c (scm_evict_ports): moved from ioext.c.
452
9c29ac66
GH
453Sat Jul 19 04:56:52 1997 Gary Houston <ghouston@actrix.gen.nz>
454
eadd48de
GH
455 * ports.c (scm_close_port): return a boolean instead of unspecified.
456 throw an error if an error other than EBADF occurs.
457
458 * filesys.h: scm_close prototype.
459 * filesys.c (scm_close): new procedure, can close file descriptors
460 and ports (scsh compatible).
461
9c29ac66
GH
462 * ports.c (scm_flush_all_ports): SCM_PROC incorrectly allowed an
463 optional argument.
464
7f47d2d8
MV
465Fri Jul 18 11:19:53 1997 Marius Vollmer <mvo@zagadka.ping.de>
466
467 * fluids.c, fluid.h: New files.
468 * Makefile.am (libguile_la_SOURCES): Added "fluids.c".
469 (modinclude_HEADERS): Added "fluids.h"
470
471 * init.c: Include "fluids.h". (scm_boot_guile_1): Added call to
472 scm_init_fluids to initialize the fluid machine.
473 (scm_start_stack): Initialize the fluids of the first root with
474 scm_make_initial_fluids.
475
476 * root.h: Added "fluids" member to scm_root_state.
477 * root.c: Include "fluids.h". (scm_mark_root): Mark "fluids".
478 (scm_make_root): Call scm_copy_fluids to make fluid bindings
479 unique for the new root when it has a parent.
480
481 * smob.h: Include "libguile/print.h" to make scm_print_state
482 visible.
483
484 * dynl.c (free_dynl_obj): New function to free the dynamic object
485 data. (dynl_smob): Use it.
486 * dynl.c (scm_dynamic_link): Moved allocating of the memory for
487 the dynamic object data below the linking of the object to avoid
488 memory leak when the linking code throws an error. Now the code
489 leaks a whole dynamically linked library when must_malloc throws,
490 but that should be much less likely.
491
32552d73
JB
492Fri Jul 11 00:19:47 1997 Jim Blandy <jimb@floss.red-bean.com>
493
494 Changes to compile under gnu-win32, from Marcus Daniels:
495 * stime.c (tzset): If tzset isn't provided, make it a NOP.
496 (scm_localtime): Change SCM_EOF to SCM_EOL.
497 (scm_mktime): Likewise.
498 * socket.c: Don't include sys/un.h unless autoconf tells
499 us Unix domain sockets are available.
500 (scm_fill_sockaddr): Ignore Unix domain code.
501 (scm_addr_vector): Likewise.
502 (scm_init_addr_buffer): Likewise.
503 (scm_socketpair): Don't include unless socketpair was
504 found during autoconf.
505 * simpos.c (SYSTNAME): Treat cygwin like Unix.
506 * scmsigs.c (scm_pause): Don't include unless pause was found
507 during autoconf.
508 * posix.c (scm_getgroups): Don't include unless support function
509 was found during autoconf (in this case, getgroups).
510 (scm_setpwent): For setpwent.
511 (scm_setegid): For setegid.
512 * net_db.c (scm_inet_netof): Don't include unless support
513 function was found during autoconf (in this case, inet_netof).
514 (scm_lnaof): For inet_lnaof.
515 (scm_inet_makeaddr): For inet_makeaddr.
516 (scm_getnet): For getnetent, getnetbyname, getnetbyaddr.
517 (scm_getproto): For getprotoent.
518 (scm_getserv): For getservent.
519 (scm_sethost): For sethostent, endhostent.
520 (scm_setnet): For setnetent, endnetent.
521 (scm_setproto): For setprotoent, endprotoent.
522 (scm_setserv): For setservent, endservent.
523 * scmconfig.h.in: Regenerated.
524
8cedfb2e
JB
525Thu Jul 10 00:22:24 1997 Jim Blandy <jimb@floss.red-bean.com>
526
527 * stime.c (scm_localtime, scm_mktime): Pass SCM_EOL to
528 scm_misc_error, not SCM_EOF.
529
530 * error.c (scm_wta): Pass SCM_EOL to scm_misc_error as the list of
531 arguments for formatting the error message, not SCM_BOOL_F. I
532 think this is left over from the (eq? '() #f) days.
533
534 * read.c (recsexpr): Give this a dummy definition if
535 DEBUG_EXTENSIONS isn't #defined.
536
517591cd
MV
537Fri Jul 4 23:42:17 1997 Marius Vollmer <mvo@zagadka.ping.de>
538
539 * coop-threads.c (scm_wait_condition_variable): Lock mutex again
540 after waiting.
541
3f094ddf
MV
542Thu Jul 3 16:31:24 1997 Marius Vollmer <mvo@zagadka.ping.de>
543
544 * root.c (cwdr_outer_body): Bugfix: Pass `c' instead of `&c' to
545 scm_internal_catch.
546
4a5fa91c
TP
547Sat Jun 28 16:14:09 1997 Tim Pierce <twp@twp.tezcat.com>
548
549 * Makefile.am (libguile_la_LIBADD): Remove @ALLOCA@, since
550 alloca.lo will be included in @LIBLOBJS@. Something better than
551 this should be possible.
552 * Makefile.in: Regenerated.
553
7ad3c1e7
GH
554Sat Jun 28 03:40:15 1997 Gary Houston <ghouston@actrix.gen.nz>
555
556 * simpos.h: prototype for scm_primitive_exit.
557 * simpos.c (scm_primitive_exit): new procedure, terminates the
558 process without unwinding the stack.
559
5d4774bc
TP
560Sat Jun 28 03:45:25 1997 Tim Pierce <twp@twp.tezcat.com>
561
562 * regex-posix.c (scm_make_regexp): Make `flags' a variable-length
563 argument and logior its components together, so the user doesn't
564 have to do this explicitly. Also, if regexp/basic is supplied, then
565 turn off REG_EXTENDED.
566 (scm_init_regex_posix): New regexp/basic symbol.
567 (REG_BASIC): #define this if it is not already present.
568
ad6b30a0
TP
569Fri Jun 27 20:36:35 1997 Tim Pierce <twpierce@bio-5.bsd.uchicago.edu>
570
571 * Makefile.am (libguile_la_LIBADD): Include @ALLOCA@.
572 (MOSTLYCLEANFILES): New target, changed from CLEANFILES.
573 (CLEANFILES): New target, clean versiondat.h, libpath.h.
574 (DISTCLEANFILES): New target, clean *.x.
9159ebec 575 * Makefile.in: Regenerated.
ad6b30a0 576
db561408
JB
577Tue Jun 24 00:29:07 1997 Jim Blandy <jimb@floss.red-bean.com>
578
9230ac78
JB
579 * script.c (scm_compile_shell_switches): Add 1997 to copyright
580 years in usage message.
581
9572c0d0
JB
582 * Makefile.am (libguile_la_LDFLAGS): Bump library version.
583 * Makefile.in: Regenerated.
584
fcff2c5c
JB
585 * regex-posix.c (scm_init_regex_posix): Delete the regexp/nosub
586 flag; I don't think we support it.
9572c0d0
JB
587 (scm_make_regexp): Make sure the user doesn't pass the
588 regexp/nosub flag.
fcff2c5c
JB
589
590 * regex-posix.c (scm_make_regexp, scm_regexp_exec): Add optional
db561408
JB
591 FLAGS arguments.
592 (scm_init_regex_posix): Define constants for the REG_mumble flags;
593 name them according to the SCSH convention: regexp/mumble.
fcff2c5c 594
db561408
JB
595 * regex-posix.h (scm_make_regexp, scm_regexp_exec): Update prototypes.
596
2409cdfa
JB
597Mon Jun 23 18:44:49 1997 Jim Blandy <jimb@floss.red-bean.com>
598
599 * Makefile.am (libpath.h): Include the values of all the standard
600 Makefile directory variables. Print a message, but don't print
601 all the commands.
602 (versiondat.h): Print a message, but don't print all the commands.
603 * load.c: #include "alist.h".
604 (init_build_info): New function.
605 (scm_init_load): Call it.
606 * Makefile.in: Regenerated.
607
eb1e924e
JB
608Sun Jun 22 19:12:58 1997 Jim Blandy <jimb@floss.red-bean.com>
609
d94c6eeb
JB
610 * root.c: Establish a reliable catch-all handler for the new root.
611 After all the Scheme handler function might signal an error too,
612 and we don't want to lose that.
613 (cwdr_inner_body): Renamed from cwdr_body.
614 (cwdr_outer_body): New function, to establish the user's handler,
615 and pass control to cwdr_inner_body.
616 (cwdr): Establish the reliable catch-all handler here, and pass
617 control to cwdr_outer_body.
618 (struct cwdr_body_data): New field, handler, to allow cwdr to pass
619 the user's handler through to cwdr_outer_body.
620 * throw.c (scm_handle_by_message): Move guts into....
621 (handler_message): New static function.
622 (scm_handle_by_message_noexit): New function.
623 * throw.h (scm_handle_by_message_noexit): New prototype.
624
eb1e924e
JB
625 * __scm.h: (SCM_FENCE): New macro: optimizer will not move code
626 across this. Only works on GCC. Otherwise, we hope for the best.
627 (SCM_DEFER_INTS, SCM_ALLOW_INTS): Use FENCE appropriately. I have
628 the feeling that real thread systems will not need this...
629
0dc48630
JB
630Sun Jun 22 15:46:35 1997 Jim Blandy <jimb@floss.red-bean.com>
631
91b28bb5
JB
632 Try to detect when people are using one version of libguile and a
633 different version of ice-9. People have been skewing things and
634 sending in bug reports.
635 * Makefile.am (versiondat.h): New file to generate.
636 * version.c: #include "versiondat.h", to get version info.
637 (scm_libguile_config_stamp): New function.
638 * script.c: #include "version.h".
639 (scm_compile_switches): Call scm_version to get version number.
640 * scmconfig.h.in, Makefile.in: Regenerated.
641 * Makefile.in: Regenerated.
642
643 * Makefile.am (ETAGS_ARGS): Catch SCM_PROC, etc. so we can find
644 primitive definitions under their Scheme names.
645
646 * Makefile.am (libguile_la_LDFLAGS): Update library version to
647 1:2. Helps avoid confusion between installed and uninstalled libs.
648
0dc48630
JB
649 * scmconfig.h.in: Regenerated. (Needed after June 3 change to
650 ../configure.in.)
651
652 * gdb_interface.h (GDB_INTERFACE): Remove semicolon and trailing
653 backslash from definition; this should be used like: GDB_INTERFACE;
654
c85e73d3
GH
655Sun Jun 22 04:00:32 1997 Gary Houston <ghouston@actrix.gen.nz>
656
657 * ioext.c (scm_duplicate_port): bug fix: don't try to make the
658 new port unbuffered until its stream has been set.
659
89ea5b7c
GH
660Sat Jun 21 18:44:03 1997 Gary Houston <ghouston@actrix.gen.nz>
661
662 * ports.h: new prototype.
663 * ports.c (scm_flush_all_ports): new procedure, scsh compatible.
664
91529b1d
JB
665Sat Jun 21 00:25:03 1997 Jim Blandy <jimb@floss.red-bean.com>
666
667 Make things compile neatly under Sun's C compiler.
668 * dynl.c (scm_dynamic_func): Cast return value from sysdep_dynl_func.
669 * extchrs.c (xmbtowc): Make the second arg a normal char, not
670 unsigned, because that's what the ANSI function takes.
671 * extchrs.h (xmbtowc): Corresponding change to prototype.
672 * genio.c (scm_gen_getc): Make buf plain chars. Nobody wants
673 uchars here.
674 * mbstrings.c (scm_mb_ilength): Use ANSI arg syntax. Make DATA
675 argument plain char *.
676 * strings.c (scm_string): Use SCM_ROCHARS, since c is a plain
677 char.
678 * tag.c (scm_tag): Remove unreachable statement.
679 * unif.c (scm_array_to_list): If we want to shift a 1 bit to the
680 top of the word, it should be unsigned.
681
682 * eval.c (scm_lookupcar1): Don't declare var2 unless USE_THREADS
683 is defined, to avoid warnings; it's only used in the
684 conflict-checking code. Which might go away anyway.
685 (SCM_CEVAL): All goto's targeting the `dispatch' label are in
686 conditionals; put the label definition in an #if too, to stifle
687 warnings.
688
689 * Makefile.am (EXTRA_DIST): Include ChangeLog-gh and
690 ChangeLog-threads in the distribution.
691 * Makefile.in: Regenerated.
692
bee14491
TP
693Fri Jun 20 10:03:41 1997 Tim Pierce <twpierce@bio-5.bsd.uchicago.edu>
694
695 * guile-snarf.in: Changed regexp to support CPPs that insert
696 whitespace between lexical tokens (which munges the `%%%' snarf
697 cookie).
698
55407879
TP
699Tue Jun 17 13:49:56 1997 Tim Pierce <twpierce@bio-5.bsd.uchicago.edu>
700
fcff2c5c 701 * load.c (scm_init_load_path): Append $(datadir)/guile to
55407879
TP
702 %load-path, so modules do not have to be installed in Guile's
703 current version directory.
704
e5f8e12f
MV
705Mon Jun 16 17:20:55 1997 Marius Vollmer <mvo@zagadka.ping.de>
706
707 * dynl.c (scm_dynamic_call, scm_dynamic_args_call): Wrap dynamic
708 function call in SCM_DEFER_INTS/SCM_ALLOW_INTS.
709 (scm_dynamic_link, scm_dynamic_unlink, scm_dynamic_func): Always
710 call the sysdep functions with deferred ints.
711 * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c (sysdep_dynl_link,
712 sysdep_dynl_unlink, sysdep_dynl_func): Expect to be called with
713 deferred interrupts and insert SCM_ALLOW_INTS before throwing an
714 error.
715
716 * dynl.c (scm_dynamic_unlink, scm_dynamic_call): Return
717 SCM_UNSPECIFIED.
718
cc0b3312
GH
719Sat Jun 14 19:00:58 1997 Gary Houston <ghouston@actrix.gen.nz>
720
721 * scmsigs.c (sys_deliver_signals): add a comment about a probable bug.
722
3688473b
JB
723Wed Jun 11 00:33:00 1997 Jim Blandy <jimb@floss.red-bean.com>
724
725 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
726 ../configure.in.
727
58932e4a
MV
728Sun Jun 8 14:37:26 1997 Marius Vollmer <mvo@zagadka.ping.de>
729
730 * eval.c (scm_lookupcar1): New procedure to cope with a race
731 condition during lookup (when using threads).
732 (scm_lookupcar): Implement in terms of scm_lookupcar1.
733 (SCM_CEVAL): Use scm_lookupcar1 instead of scm_lookupcar in one
734 place.
735
95d59d10
JB
736Fri Jun 6 19:05:07 1997 Jim Blandy <jimb@totoro.cyclic.com>
737
738 * regex-posix.c (scm_regexp_exec): Use the `start' argument if
739 supplied. (Change from Tim Pierce.)
740
0b46857f
MV
741Thu Jun 5 16:38:19 1997 Marius Vollmer <mvo@zagadka.ping.de>
742
743 * struct.c (init_struct): Forget to mention this in the "Wed Jun 4
744 23:47:01 1997" changelog: Slots are now initialized with `#f' by
745 default and not `()'. `#f' is the canonical non-value in Scheme,
746 right?
747
5dade857
MV
748Wed Jun 4 23:47:01 1997 Marius Vollmer <mvo@zagadka.ping.de>
749
750 * struct.c (struct_printer): New variable that holds a handle on
751 the Scheme variable *struct-printer*. This variable can be set by
752 Scheme code to override the printing of structures.
753 (scm_print_struct): If struct_printer is set, call it. If it is
754 not set, or returns #f, print the structure in the old fashion.
755 Include "eval.h" for scm_apply.
756
7507aba1
MV
757Tue Jun 3 23:01:39 1997 Marius Vollmer <mvo@zagadka.ping.de>
758
759 * struct.c (scm_struct_ref, scm_struct_set_x): Use
760 scm_struct_i_n_words to get the number of fields, not
761 -scm_struct_n_extra_words.
762
763 On the route to fancier struct printing:
764 * struct.c (scm_print_struct): New function to print a structure.
765 Include "genio.h" to support it. This function doesn't do
766 anything interesting right now, but I think it should be here
767 anyway.
768 * struct.h: Include "print.h" and add prototype for
769 scm_print_struct.
770 * print.c (scm_iprin1): Call scm_print_struct instead of trying to
771 print structures ourself.
772
2ad6b1a5
GH
773Sun Jun 1 07:58:41 1997 Gary Houston <ghouston@actrix.gen.nz>
774
775 * scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
776 before applying the handler in case it doesn't return.
777
e1a191a8
GH
778Sat May 31 18:57:51 1997 Gary Houston <ghouston@actrix.gen.nz>
779
780 * scmsigs.h, async.h: updated.
781
782 * _scm.h: if HAVE_RESTARTS is defined then don't use a SYSCALL
783 loop.
784
785 * posix.c (scm_uname): interpret only negative values as an error.
786 Solaris normally returns a positive value.
787
788 * script.c (scm_compile_shell_switches): if we are not going into
789 an interactive repl, set scm_mask_ints to zero so that asyncs can
790 run.
791
792 * simpos.c (scm_system): don't ignore/unignore signals around
793 the "system" call.
794
795 * posix.c (scm_open_pipe): don't ignore/unignore signals around
796 the "popen" call.
797
798 * init.c (scm_boot_guile_1): don't call scm_init_signals, it's
799 done in boot-9.scm instead.
800
801 * scmsigs.c, async.c: Major rewriting of signal handling code.
802 (scm_sigaction): new procedure.
803 (scm_sleep): don't wrap sleep in SCM_SYSCALL, it would mess up the
804 timing.
805 (scm_raise): return unspecified, throw error on failure.
806
0e165281
JB
807Thu May 29 02:47:36 1997 Jim Blandy <jimb@floss.cyclic.com>
808
809 * regex-posix.c (scm_init_regex_posix): Register the "regex"
810 feature, to help boot-9.scm decide whether to import the regex
811 module.
812
4885ba0e 813Thu May 29 02:19:40 1997 Jim Blandy <jimb@floss.cyclic.com>
1e5afba0 814
4885ba0e
JB
815 * eval.c: Include scmconfig.h at the beginning of the file so that
816 HAVE_ALLOCA_H may properly be defined. Thanks to Bill Janssen for
817 pointing this out.
1e5afba0
JB
818
819 * regex-posix.c: #include "_scm.h" before conditionally #including
820 <regex.h>; the former defines HAVE_REGCOMP.
821
4885ba0e
JB
822 * regex-posix.c: #include <regex.h> conditionally, so the file is
823 CPP'able (for dependency scanning) even on systems that don't have
824 a <regex.h> header.
825
5aefdd40
JB
826Tue May 27 23:48:38 1997 Jim Blandy <jimb@floss.cyclic.com>
827
828 Add new R4RS-compliant syntax for keywords.
829 * read.c (scm_lreadr): Recognize `#:' as a prefix for keywords,
830 regardless of the setting of the `keywords' read option.
831 * kw.c (prin_kw): Print keywords using the `#:' syntax, so they
832 can be re-read no matter what the setting of the `keywords' read
833 option.
834
737c9113
JB
835Tue May 27 22:47:31 1997 Tim Pierce <twp@twp.tezcat.com>
836
837 Add support for POSIX regular expressions.
838
839 * regex-posix.c, regex-posix.h: New files. (Some code
840 is taken liberally from rx/rgx.c in the old Guile dist.)
841
842 * init.c: Include regex-posix.h.
843 (scm_boot_guile_1): Call scm_init_regex_posix.
844
845 * Makefile.am (EXTRA_libguile_la_SOURCES, modinclude_HEADERS):
846 Add regex-posix.[ch] sources.
847 * Makefile.in: Regenerated.
848
849 * scmconfig.h.in: Add HAVE_REGCOMP macro. (automake is supposed
850 to do this automatically? It didn't for me, bleh.)
851
06de7963
JB
852Mon May 26 18:51:29 1997 Jim Blandy <jimb@floss.cyclic.com>
853
33623b5e
JB
854 * fports.c (print_pipe_port): New function.
855 (scm_fptob): Use print_pipe_port instead of scm_prinport; the
856 latter doesn't even take the right arguments.
857
858 * Makefile.am: Increment shared lib revision number. I think
859 sometimes the uninstalled Guile finds the installed shared lib;
860 Gord says doing this might help. As things turned out, I can't
861 say whether it does.
862 * Makefile.in: Regenerated.
863
06de7963
JB
864 * gh_init.c (gh_enter): Cast c_main_prog to a void * before
865 passing it as the closure argument to scm_boot_guile. (Bill
866 Janssen)
867
868 * ports.c (print_void_port, putc_void_port, puts_void_port,
869 write_void_port, flush_void_port, getc_void_port, close_void_port,
870 noop0): Use ANSI prototypes instead of K&R declarations, so the
871 initialization of void_port_ptob gets aggressively type-checked.
872 Fix arguments of print_void_port and write_void_port. (Bill
873 Janssen)
82892bed
JB
874
875 * COPYING, __scm.h, _scm.h, alist.c, alist.h, append.c, append.h,
876 appinit.c, arbiters.c, arbiters.h, async.c, async.h, backtrace.c,
877 backtrace.h, boolean.c, boolean.h, chars.c, chars.h,
878 continuations.c, continuations.h, coop-defs.h, coop-threads.c,
879 coop-threads.c.cygnus, coop-threads.h, coop-threads.h.cygnus,
880 coop.c, debug.c, debug.h, dynl-dl.c, dynl-dld.c, dynl-shl.c,
881 dynl-vms.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, eq.h,
882 error.c, error.h, eval.c, eval.h, extchrs.h, feature.c, feature.h,
883 filesys.c, filesys.h, fports.c, fports.h, fsu-pthreads.h, gc.c,
884 gc.h, gdbint.c, gdbint.h, genio.c, genio.h, gh.h, gh_data.c,
885 gh_eval.c, gh_funcs.c, gh_init.c, gh_io.c, gh_list.c,
886 gh_predicates.c, gh_test_c.c, gh_test_repl.c, gscm.c, gscm.h,
887 gsubr.c, gsubr.h, guile.c, hash.c, hash.h, hashtab.c, hashtab.h,
888 init.c, init.h, ioext.c, ioext.h, kw.c, kw.h, libguile.h, list.c,
889 list.h, load.c, load.h, mallocs.c, mallocs.h, markers.c,
890 markers.h, mbstrings.c, mbstrings.h, mit-pthreads.c,
891 mit-pthreads.h, net_db.c, net_db.h, numbers.c, numbers.h,
892 objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h,
893 ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
894 procprop.h, procs.c, procs.h, putenv.c, ramap.c, ramap.h, read.c,
895 read.h, root.c, root.h, scmhob.h, scmsigs.c, scmsigs.h, script.c,
896 script.h, sequences.c, sequences.h, simpos.c, simpos.h, smob.c,
897 smob.h, snarf.h, socket.c, socket.h, srcprop.c, srcprop.h,
898 stackchk.c, stackchk.h, stacks.c, stacks.h, stime.c, stime.h,
899 strings.c, strings.h, strop.c, strop.h, strorder.c, strorder.h,
900 strports.c, strports.h, struct.c, struct.h, symbols.c, symbols.h,
901 tag.c, tag.h, tags.h, threads.c, threads.h, throw.c, throw.h,
902 unif.c, unif.h, variable.c, variable.h, vectors.c, vectors.h,
903 version.c, version.h, vports.c, vports.h, weaks.c, weaks.h: New
904 address for FSF.
905
3f4c654d
JB
906Mon May 26 12:37:30 1997 Jim Blandy <jimb@floss.cyclic.com>
907
908 * script.c (scm_find_executable): Use prototype-style definition
909 here; apparently it's not quite right to have const in a prototype
910 and then use a K&R declaration. I wonder if stuff like this will
911 go away if we compile with -Wrequire-prototypes, or whatever that
a00c28cd 912 is... (Bernard URBAN)
3f4c654d
JB
913
914 * scmhob.h: New text from Bernard URBAN.
915
916Sat May 17 17:14:36 1997 Jim Blandy <jimb@floss.cyclic.com>
917
918 * script.c: Don't #define const on hpux. Configure takes care of
919 this. (Thanks to Larry Schwimmer.)
920
921 * script.c: Use the HAVE_UNISTD_H symbol provided by autoconf to
922 decide whether to #include <unistd.h>, instead of listing a bunch
923 of systems. Don't #include stdio twice. Removed dyked-out
924 definition of scm_find_impl_file.
925
eeb56f3c
JB
926Fri May 16 03:06:08 1997 Jim Blandy <jimb@floss.cyclic.com>
927
adb98aa9
JB
928 * Makefile.am (libguile_la_LDFLAGS): Update libguile's shared
929 library version info to 1:0.
930 * Makefile.in: Regenerated.
931
142ad3d9
JB
932 * backtrace.c, backtrace.h, debug.c, debug.h, eq.c,
933 gdb_interface.h, gdbint.c, gdbint.h, gh_data.c, gh_init.c,
934 gh_io.c, gh_list.c, gh_predicates.c, gh_test_c.c, gh_test_repl.c,
935 init.c, net_db.c, options.c, options.h, ports.c, print.c, read.c,
936 script.h, snarf.h, srcprop.c, srcprop.h, stacks.c, stacks.h,
937 throw.c: Update copyright years; these files have been worked on
938 significantly in 1997, but only had copyright years for 1996.
939 Also, change name of copyright holder on some from Mikael
940 Djurfeldt to Free Software Foundation; he has signed papers
941 assigning the changes to the FSF.
942
eeb56f3c
JB
943 * script.c (scm_shell_usage): Pass FATAL to exit. There's no
944 reason not to give the user the option.
190b072d
JB
945
946 * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv):
947 Return #f on end-of-file when scanning table (i.e. when called
948 with no arguments). Try to catch errors, when we can.
095936d2
JB
949 * posix.c (scm_getgrgid, scm_getpwuid): Same.
950
951 * script.h (scm_shell_usage, scm_compile_shell_switches): New
190b072d
JB
952 external declarations. These are useful.
953
a48a89bc
GH
954Thu May 15 05:21:36 1997 Gary Houston <ghouston@actrix.gen.nz>
955
956 * posix.c: don't include <sys/select.h> or define macros for
957 select, since they were not used in this file.
958
095936d2 959 * filesys.c (scm_select): make the fifth parameter microseconds,
a48a89bc
GH
960 not milliseconds. let the fourth parameter be either a real value
961 or an integer or #f. The first, second and third arguments can
962 now be vectors: the type of the corresponding return set will be
963 the same.
964 (set_element, get_element): new static procedures.
965
f3b1485f
JB
966Wed May 14 12:18:12 1997 Jim Blandy <jimb@floss.cyclic.com>
967
223be5f0
JB
968 * strports.c (scm_eval_string): New function.
969 (scm_eval_0str): Trivially re-implemented in terms of
970 scm_eval_string.
971 * strports.h (scm_eval_string): New extern decl.
972
e1cd56f9
JB
973 * net_db.c (h_errno): Add extern decl for this.
974
f3b1485f
JB
975 * fports.c (local_pclose): New function.
976 (scm_pipob): Use it in the initializer here.
977
978 From Tim Pierce:
979 * net_db.c (scm_gethost, scm_getproto, scm_getnet, scm_getserv):
980 Use a meaningful error message when signalling an error. For
981 this, scm_gethost must check h_errno rather than errno.
982
9b01064c
JB
983Tue May 13 16:40:06 1997 Jim Blandy <jimb@floss.cyclic.com>
984
985 * Makefile.in: Regenerated, using automake-1.1p.
986
08fea088
GH
987Tue May 13 04:34:52 1997 Gary Houston <ghouston@actrix.gen.nz>
988
0267051b
GH
989 * socket.c (scm_addr_vector): use SCM_UNDEFINED in scm_listify,
990 not SCM_UNSPECIFIED.
991
08fea088
GH
992 * script.c (scm_compile_shell_switches): don't append (quit) if
993 interactive.
994 (scm_shell): call scm_exit_status and exit on the result of the
995 evaluation.
996
821eb64e
JB
997Mon May 12 17:23:58 1997 Jim Blandy <jimb@floss.cyclic.com>
998
999 Ensure that shared substrings are handled properly when passed to
1000 a system call or other foreign function. Many thanks to Tim
1001 Pierce!
1002 * symbols.h (SCM_COERCE_SUBSTR): new macro.
1003 * filesys.c (scm_chmod, scm_rename, scm_delete_file, scm_mkdir,
1004 scm_rmdir, scm_opendir, scm_chdir, scm_symlink, scm_readlink,
1005 scm_lstat), ports.c (scm_sys_make_void_port), posix.c (scm_utime,
1006 scm_putenv, scm_setlocale, scm_mknod), stime.c (setzone,
1007 scm_strftime), vports.c (scm_make_soft_port), backtrace.c
1008 (scm_display_error_message): use RO macros when strings may be RO.
1009 * error.c (scm_error_scm), filesys.c (scm_chown, scm_chmod,
1010 scm_rename, scm_delete_file, scm_mkdir, scm_rmdir, scm_opendir,
1011 scm_chdir, scm_symlink, scm_readlink, scm_lstat), ioext.c
1012 (scm_freopen, scm_duplicate_port, scm_fdopen), net_db.c
1013 (scm_gethost, scm_getnet, scm_getproto, scm_getserv), ports.c
1014 (scm_sys_make_void_port), posix.c (scm_getgrgid, scm_utime,
1015 scm_setlocale, scm_mknod), stime.c (setzone, scm_strptime,
1016 scm_strftime), vports.c (scm_make_soft_port): use
1017 SCM_COERCE_SUBSTR to make sure shared substrings are
1018 null-terminated.
1019
1020Mon May 12 15:33:10 1997 Jim Blandy <jimb@totoro.cyclic.com>
1021
1022 * error.c (scm_error): Add newline to error message.
1023
1024 * init.c (scm_init_standard_ports): Doc fix.
1025
8e6f33db
MV
1026Thu May 8 14:38:01 1997 Marius Vollmer <mvo@zagadka.ping.de>
1027
1028 * dynl-shl.c: Completely replaced with new code from Bernard
1029 URBAN.
1030
1031 * script.c (scm_ice_9_already_loaded): New variable.
1032 (scm_compile_shell_switches): Use it.
1033
4edc089c
GH
1034Mon May 5 20:35:08 1997 Gary Houston <ghouston@actrix.gen.nz>
1035
1036 * filesys.c (scm_input_waiting_p): add missing third argument to
1037 scm_misc_error.
1038
1039 * stime.c (scm_localtime): copy the result of localtime before
1040 calling gmtime in case they share a buffer.
1041 (scm_localtime, scm_mktime): throw an error if neither HAVE_TM_ZONE
1042 nor HAVE_TZNAME.
1043
554878da
GH
1044Fri May 2 19:07:11 1997 Gary Houston <ghouston@actrix.gen.nz>
1045
1046 * eq.c (scm_equal_p): use SCM_TYP7SD (y) not SCM_TYP7SD (x).
4edc089c 1047
914155ca
JB
1048Thu May 1 17:01:45 1997 Jim Blandy <jimb@floss.cyclic.com>
1049
1050 * Makefile.am (check-local): New target, which causes 'make check'
1051 to run gh_test_c and gh_test_repl, with some trivial input.
1052 * Makefile.in: Rgnrtd.
1053
6fa9bcd0
MV
1054Tue Apr 29 19:00:40 1997 Marius Vollmer <mvo@zagadka.ping.de>
1055
1056 * dynl.c (print_dynl_obj): Indicate whether the dynamic object has
1057 been unlinked.
1058
9ea54cc6
GH
1059Mon Apr 28 06:10:14 1997 Gary Houston <ghouston@actrix.gen.nz>
1060
1061 * async.c (scm_sys_tick_async_thunk): commented out. I'm not
1062 sure how this was supposed to work.
1063 (scm_async_click): don't send SCM_TICK_SIGNAL.
1064 (scm_init_async): don't initialize %tick-thunk.
1065
1066 * the following change doesn't affect the Scheme interface:
1067 gc-thunk is called at the end of garbage collection. however it's
1068 no longer implemented by pretending it's a signal.
1069
1070 * gc.c (scm_gc_end): don't call scm_take_signal. instead mark the
1071 system async corresponding to scm_gc_thunk.
1072 * async.h: declare scm_gc_async.
1073 * async.c (scm_sys_gc_async_thunk): apply the thunk named by
1074 gc-thunk directly, instead of going through a signal handler.
1075 (scm_gc_async): new variable, points to the GC system-async.
1076 (scm_init_async): save the GC async as scm_gc_async instead
1077 of using system_signal_asyncs.
1078 (scm_gc_vcell): new variable, stores the gc-thunk vcell.
1079
10830232
JB
1080Mon Apr 28 19:14:44 1997 Jim Blandy <jimb@floss.cyclic.com>
1081
1082 * Makefile.am (libpath.h, cpp_err_symbols.c, cpp_sig_symbols.c):
1083 Don't screw up if we're interrupted.
1084 * Makefile.in: Regeneradet.
1085
28c682fa
JB
1086Sun Apr 27 17:57:15 1997 Jim Blandy <jimb@floss.cyclic.com>
1087
1088 * aclocal.m4: Removed; unnecessary, given changes of Apr 24.
1089
1090 * Makefile.am (modincludedir): Use "ice-9" instead of "@module@";
1091 we're not using AM_INIT_GUILE_MODULE any more.
1092 * Makefile.in: Reneregated.
1093
20108301
JB
1094Thu Apr 24 00:41:08 1997 Jim Blandy <jimb@floss.cyclic.com>
1095
4616e355 1096