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