*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
1 Tue Oct 1 00:00:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2
3 * feature.c (scm_init_feature): Added threads feature (needs to be
4 initialized here, since features doesn't exist when
5 scm_init_threads is called).
6
7 * libguile.h: Added #include "libguile/../threads/threads.h".
8 (This is a kludge to get thread support working. This should be
9 fixed.)
10
11 * configure.in, acconfig.h: Added flags for thread support.
12
13 * scmsigs.c: Define `signal' to be `pthread_signal' if using
14 mit-pthreads.
15
16 * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and
17 SCM_THREAD_CRITICAL_SECTION_END. Moved marking of root data to
18 root.c:mark_root.
19
20 * _scm.h: Added conditional #include "threads.h"
21
22 * __scm.h (SCM_ASYNC_TICK): Added call to macro
23 SCM_THREADS_SWITCHING_CODE.
24
25 * init.c (scm_start_stack): Call `scm_make_root' to dynamically
26 allocate the basic dynamic root object.
27 (scm_boot_guile): Added call to scm_init_root.
28
29 * * root.c, root.h: Added root smob.
30 (cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New
31 functions: Implements dynamic roots mostly according to spec in
32 SCM manual. Main difference is that the second argument is a
33 throw handler rather than an error "thunk".
34
35 * root.h: Added declaration of scm_init_root.
36
37 * root.c: Added #include "genio.h", #include "smob.h", #include
38 "pairs.h", #include "throw.h", #include "dynwind.h", #include
39 "eval.h"
40 (scm_init_root): Added #include "root.x".
41
42 * throw.c: Added #include "stackchk.h"
43 (scm_catch): Changed SCM_DEFER_INTS --> SCM_REDEFER_INTS and
44 SCM_ALLOW_INTS --> SCM_REALLOW_INTS. This is so that scm_catch
45 can be used in scm_call_with_new_root; Added reenabling of stack
46 checking when catching a throw.
47
48 Sat Sep 28 02:07:43 1996 Gary Houston <ghouston@actrix.gen.nz>
49
50 * strings.c, strings.h: (scm_makfrom0str, scm_makefrom0str_opt:
51 declare the char * to be const. Avoids a warning in rgx.c.
52
53 * ports.h: spelling fix.
54
55 * filesys.c (scm_sys_stat, scm_sys,lstat): include file name in
56 error messages.
57
58 * load.c (scm_sys_try_load_path): throw an error if file not found
59 (like it says it in NEWS).
60
61 Tue Sep 24 06:48:38 1996 Gary Houston <ghouston@actrix.gen.nz>
62
63 * load.c (scm_sys_try_load): don't check whether value returned
64 by scm_open_file is #f, it won't be. Always return SCM_UNSPECIFIED.
65 Change the Scheme name from %try-load to primitive-load.
66
67 * error.c (scm_error): convert a NULL message to SCM_BOOL_F.
68 Can avoid passing a message, allowing it to be derived in the
69 error handler (e.g., if we want to throw to the key both from
70 Scheme and C).
71
72 Mon Sep 23 00:42:15 1996 Mikael Djurfeldt <mdj@kenneth>
73
74 * * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular
75 references now have a new appearance which is more compact and
76 also gives a clue about what the target of the reference is.
77 By setting parameters in the print state, more fancy printing can
78 be achieved. This is used by the (not yet commited) backtrace
79 code.
80
81 Sun Sep 22 17:10:06 1996 Mikael Djurfeldt <mdj@kenneth>
82
83 * eval.c, numbers.h, unif.h, smob.h, srcprop.c: Added #include
84 "print.h"
85
86 * print.c: Added #include "struct.h". Removed function
87 scm_prlist.
88
89 * print.h: Modified prototypes for scm_iprlist, scm_prin1 and
90 scm_iprin1. Removed prototype for scm_prlist.
91
92 * arbiters.c (prinarb),
93 async.c (print_async),
94 debug.c (prindebugobj, prinmemoized),
95 eval.c (prinprom, prinmacro),
96 filesys.c (scm_fd_print, scm_dir_print),
97 kw.c (print_kw),
98 mallocs.c (prinmalloc),
99 numbers.c, numbers.h (scm_floprint, scm_bigprint),
100 smob.h (scm_smobfuns),
101 srcprop.c (prinsrcprops),
102 throw.c (prinjb),
103 unif.c, unif.h (scm_raprin1, rapr1),
104 variable.c (prin_var): Changed argument `int writing' to
105 `scm_print_state *pstate'.
106
107 * init.c (scm_boot_guile): Moved scm_init_struct upwards so
108 that it will be called before scm_init_print.
109
110 * print.c (scm_prin1): Print states are now allocated when calling
111 scm_prin1 and then passed around to all printing functions as an
112 argument. A cache `print_state_pool' enables reuse of print
113 states.
114 (scm_make_print_state): New function.
115 (scm_iprin1): Adaption to print states.
116 (scm_iprlist): An initial "hare and tortoise" scan brings down
117 time complexity to O (depth * N). (Better time complexity will be
118 achieved when the printing code is completely rewritten.)
119
120 Thu Sep 19 15:33:51 1996 Mikael Djurfeldt <mdj@kenneth>
121
122 * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref,
123 scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom
124 Lord's implementation of structs, allowing for tail arrays as
125 described in the manual. Also fixed some bugs. (Both the interface
126 and the implementation should be improved.)
127
128 * read.c (scm_init_read): Removed #ifdef READER_EXTENSIONS
129
130 * print.c, print.h: Closures now print like #<procedure foo (x)>.
131 People who whish to see the source can do `(print-enable 'source)'.
132 Removed #ifdef DEBUG_EXTENSIONS.
133
134 Thu Sep 19 00:00:29 1996 Gary Houston <ghouston@actrix.gen.nz>
135
136 * filesys.c (scsm_sys_stat): don't SIGSEGV if argument is an
137 integer (assuming for now accepting an integer is a good thing).
138
139 * error.c, fports.c: replace use of %S in lgh_error args with %s.
140 %S will be used instead for write'ing arguments.
141
142 * unif.c (scm_transpose_array): change arguments in the SCM_WNA
143 asserts. fix a few other asserts.
144 (scm_aind, scm_enclose_array, scm_array_in_bounds_p,
145 scm_uniform_vector_ref, scm_array_set_x,
146 scm_dimensions_to_unform_array): change args in
147 SCM_WNA SCM_ASSERTS and change scm_wta's to scm_wrong_num_args.
148 strop.c (scm_substring_move_left_x, scm_substring_move_right_x,
149 scm_substring_fill_x): likewise.
150 gsubr.c (scm_gsubr_apply): likewise.
151 eval.c (SCM_APPLY): likewise.
152
153 * eval.c (4 places): replace scm_everr with lgh_error or
154 scm_wrong_num_args.
155
156 * error.c, error.h (scm_wrong_num_args, scm_wrong_type_arg,
157 scm_memory_error): new procedures.
158 * scm_everr: deleted. can use scm_wta, dropping first two args.
159 scm_error: convert NULL subr to SCM_BOOL_F.
160
161 * __scm.h: don't define SCM_STACK_OVFLOW, SCM_EXIT, SCM_ARG6, SCM_ARG7,
162 SCM_ARGERR.
163
164 * stackchk.c (scm_report_stack_overflow): use lgh_error instead
165 of scm_wta.
166
167 * error.c, error.h: new error keys: scm_arg_type_key,
168 scm_args_number_key, scm_memory_alloc_key, scm_stack_overflow_key,
169 scm_misc_error_key.
170 scm_wta: reimplement using lgh_error instead of scm_everr.
171
172 Wed Sep 18 17:13:35 1996 Mikael Djurfeldt <mdj@kenneth>
173
174 * gdbint.c: scm_lread now has one more argument.
175
176 * ports.c, ports.h: Name change: scm_\(line\|column\)_number -->
177 scm_port_\1; Added mutator scm_set_port_filename_x (used when
178 loading source from non-file ports, which, e. g., happens when
179 using the Emacs interface).
180
181 * fports.c (scm_open_file): Don't call scm_makfrom0str on a scheme
182 object.
183
184 * read.c: Added code for recording of positions of source code
185 expressions; New functions: recsexpr, scm_lreadrecparen;
186 _scm_make_srcprops --> scm_make_srcprops
187 (scm_flush_ws): Removed updating of positions counters. This work
188 is already done by scm_gen_getc
189
190 * read.h: Added prototype for scm_lreadrecparen
191
192 * print.c: Added #include "alist.h"
193
194 * eval.c: Added #include "hash.h"
195
196 * eq.c: Added #include "ramap.h"
197
198 * options.c: Documentation fixes.
199
200 * srcprop.c (scm_finish_srcprop): Bugfix: update ptr.
201 (scm_init_srcprop): Adjusted size of initial source-whash. Name
202 changes: tc16_srcprops --> scm_tc16_srcprops, _scm_make_srcprops
203 --> scm_make_srcprops
204
205 * srcprop.h: Name changes: tc16_srcprops --> scm_tc16_srcprops,
206 _scm_make_srcprops --> scm_make_srcprops; Remove one layer of
207 function calls in the definition of the whash access macros.
208
209 Tue Sep 17 01:40:56 1996 Gary Houston <ghouston@actrix.gen.nz>
210
211 * ports.h (scm_port_table): put back file_name, it will be used to
212 support debugging. Undo related changes in fports.c, ioext.c,
213 ports.c, gc.c.
214
215 Sun Sep 15 03:58:29 1996 Gary Houston <ghouston@actrix.gen.nz>
216
217 * ports.h (scm_port_table): remove file_name member for now, it seems
218 undesirable.
219 * fports.c (scm_open_file): don't set file_name in PTAB.
220 (prinfport): don't use file_name in PTAB.
221 * ioext.c (scm_sys_duplicate_port): don't set file_name in PTAB.
222 * ports.c (scm_add_to_port_table): don't intialize file_name.
223 (scm_port_file_name): remove for now.
224 * gc.c (scm_gc_mark): don't mark PTAB file_name.
225
226 * fports.h (scm_mkfile): prototype deleted.
227 * fports.c (scm_mkfile): merged into scm_open_file to simplify.
228
229 * debug.c, unif.c: use scm_out_of_range instead of
230 wta for range errors (ASSERT still needs work).
231
232 * error.c, error.h (scm_out_of_range): new procedure.
233
234 * error.c, error.h (scm_out_of_range_key): new key.
235
236 * posix.c (scm_sync): #else was missing.
237
238 * error.c, error.h: append _key to names scm_num_overflow and
239 scm_system_error.
240
241 * __scm.h (SCM_SYSMISSING, SCM_NUM_OVERFLOW): use SCM_BOOL_F instead
242 of consing an empty list.
243 (SCM_SYSERROR etc.): move into error.c, make them procedures instead
244 of macros, saves code and string space.
245 error.c, fports.c, numbers.c, posix.c, ioext.c, filesys.c, socket.c,
246 fdsocket.c, simpos.c: change names of SCM_SYSERROR etc., to
247 lower case. Rename scm_syserror_m to scm_syserror_msg.
248 error.h: prototypes for new procedures.
249
250 Sat Sep 14 03:35:41 1996 Gary Houston <ghouston@actrix.gen.nz>
251
252 * numbers.c: use SCM_NUM_OVERFLOW instead of scm_wta or ASSERT.
253
254 * error.c, error.h: setup scm_num_overflow key.
255
256 * __scm.h: SCM_NUM_OVERFLOW: macro for reporting numerical overflow.
257 Remove definition of SCM_OVSCM_FLOW.
258
259 * fports.c (scm_open_file): use SCM_SYSERROR_M.
260
261 * __scm.h: SCM_SYSERROR_M: new macro for system errors with an
262 explicit message and args.
263
264 * error.c, error.h, __scm.h: change system_error_sym to
265 scm_system_error.
266
267 * error.c (system_error_sym): remove leading %% from the Scheme name
268 "%%system-error".
269
270 * __scm.h (SCM_SYSMISSING): Redefine using lgh_error.
271
272 Fri Sep 13 12:58:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
273
274 * __scm.h, chars.c, debug.c, eval.c, eval.h, extchrs.c, extchrs.h,
275 fdsocket.c, feature.c, mbstrings.c, mbstrings.h, numbers.c,
276 numbers.h, print.c, scmhob.h, simpos.h, symbols.c, symbols.h,
277 tags.h, throw.c, variable.h: Name cleanup. Lots of xxxSCM_yyy
278 renamed. (These were introduced by unsupervised name
279 substitution.)
280
281 Fri Sep 13 01:19:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
282
283 * * print.c: Added code for detection of circular references during
284 printing. (init_ref_stack, grow_ref_stack): New functions. Added
285 a hook for printing of closures (accessible via print options).
286 This leads to a split of calls to scm_iprin1 into two classes:
287 elementary print operations (e. g. the code which prints a smob)
288 still use scm_iprin1 while top level calls (like scm_display) use
289 scm_prin1. scm_prin1 begins by clearing the data structure used
290 to record reference information.
291
292 * print.h: Added declarations of scm_prin1 and scm_prlist.
293
294 * strports.c (scm_strprint_obj): scm_iprin1 --> scm_prin1
295
296 * gscm.c (gscm_portprint_obj): scm_iprin1 --> scm_prin1
297
298 * gscm.h (gscm_print_obj): scm_iprin1 --> scm_prin1
299
300 * error.c (err_head): scm_iprin1 --> scm_prin1
301
302 * debug.c: Adjusted header comment.
303
304 * tags.h: Typo.
305
306 Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
307
308 * strerror.c: Doc fix.
309
310 Thu Sep 12 00:00:32 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
311
312 * gdbint.c (gdb_read): Now possible to run during GC.
313 (unmark_port, remark_port): New functions.
314
315 * symbols.h (SCM_SETLENGTH): Use SCM_SETCAR.
316
317 * read.c (scm_grow_tok_buf): Use scm_vector_set_length_x instead
318 of allocating a new string object. Also, increase size by
319 the factor 2 instead of 1.5.
320
321 Wed Sep 11 15:10:38 1996 Petr Adamek <jimb@floss.cyclic.com>
322
323 * __scm.h (SCM_P): Corrected to run under traditional C.
324
325 * _scm.h (SCM_PROC): Extraneous semicolon (outside functions)
326 removed.
327
328 * async.c: Calls to scm_sysintern corrected.
329
330 * async.h (scm_async_clock): Redundant declaration removed.
331
332 * continuations.c (scm_dynthrow): Redundant declaration removed.
333
334 * debug.c (scm_single_step, scm_memoized, scm_lookup_soft):
335 Definition typos corrected.
336
337 * debug.h: Missing declarations of functions in debug.c added
338 (lots).
339
340 * eval.h (scm_eval_args, scm_deval_args, scm_m_undefine):
341 Missing declarations to functions in eval.c added.
342
343 * filesys.c: Possibly uninitialized variable rv.
344
345 * gc.h (scm_object_addr, scm_unhash_name): Missing
346 declarations of functions defined in gc.c added.
347
348 * genio.c: Possible typos str_data -> wstr_data. ???
349
350 * genio.c: Possibly unintended shadowing of local variable
351 `int c' (gotos out of scope of inner `c'). ???
352
353 * init.c: Uninitialized `SCM last' may be used.
354
355 * ioext.h: (scm_sys_isatty_p): Typo.
356
357 * list.h (scm_list_head): Missing prototype for function in
358 list.c added.
359
360 * numbers.c (scm_two_doubles): Changed from extern to static
361 (is used only within numbers.c).
362
363 * numbers.h: Repeated declarations removed.
364
365 * ports.h (scm_close_all_ports_except): Declaration for the
366 function defined in ports.c added.
367
368 * posix.h: Missing declarations added.
369
370 * procs.h (scm_make_subr_opt): Missing declaration added.
371
372 * socket.h (scm_sys_gethost): Missing declaration added.
373
374 * socket.h: Redundant declarations removed (they are in fdsocket.h).
375
376 * srcprop.h (scm_set_source_property_x, scm_finish_srcprop):
377 Missing declarations added.
378
379 * stime.h (scm_get_internal_real_time): Repeated declarations removed.
380
381 * struct.c: Uninitialized variable `SCM answer' may be used.
382
383 * unif.c (l2ra): Declaration prototype.
384
385 * unif.c (scm_array_equal_p): Dummy definition removed (it is
386 defined in ramap.c).
387
388 * unif.h (scm_raprin1, scm_istr2bve, scm_array_equal_p):
389 Redundant declarations removed (they are in ramap.h).
390
391 * variable.h (scm_make_udvariable,
392 scm_make_undefined_variable): Declaration corrected to
393 correspond variable.c.
394
395 * vectors.h (scm_vector_move_left_x, scm_vector_move_right_x):
396 Missing declarations added.
397
398 Wed Sep 11 14:38:50 1996 Jim Blandy <jimb@floss.cyclic.com>
399
400 * Makefile.in (distclean): Don't forget to delete fd.h.
401
402 Tue Sep 10 14:01:46 1996 Jim Blandy <jimb@floss.cyclic.com>
403
404 * fd.h.in, tags.h: Trivial cleanups.
405
406 * marksweep.c, marksweep.h: Deleted; marksweep.c was empty, and
407 marksweep.h just declared functions from gc.c.
408 * gc.h, libguile.h: Don't #include "marksweep.h".
409 * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit
410 marksweep.o, marksweep.h, marksweep.c, and marksweep.x. Other
411 dependencies updated.
412
413 * libguile.h: Don't #include "files.h"; it's been deleted.
414
415 * files.c (scm_sys_delete_file): Moved to filesys.c.
416 File is now empty; deleted.
417 * files.h: Deleted.
418 * filesys.c: scm_sys_delete_file is now here. Remove
419 #if's; they seem to rely on remnants of an old portability
420 regimen. If the problems come up again, solve them properly,
421 using autoconf. Specifically: Don't test M_SYSV, and #define
422 remove to be unlink if it's #defined; don't use remove just
423 because HAVE_STDC_HEADERS is #defined.
424 * filesys.h: Add declarations for scm_sys_delete_file.
425 * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit
426 files.o, files.h, files.c, and files.x.
427 * init.c: Don't #include "files.h", and don't call scm_init_files.
428
429 Use SCM_P instead of PROTO; the latter intrudes on the user's
430 namespace.
431 * params.h: Deleted; definition of SCM_P moved to...
432 * __scm.h: ... here, where it replaces PROTO macro.
433 * libguile.h, smob.h: Don't #include "params.h".
434 * continuations.c, error.h, feature.h, gc.c, gc.h, init.h, load.h,
435 smob.h: Fix prototypes accordingly.
436 * Makefile.in: Update dependencies.
437 (inner_h_files): Remove params.h.
438
439 * gc.c: #include "gc.h"; every module should include its header,
440 to let the compiler cross-check the declarations against the
441 definitions.
442
443 * eq.h, files.h, hashtab.h, load.h, mallocs.h, scmsigs.h,
444 simpos.h: #include "libguile/__scm.h".
445
446 Mon Sep 9 20:00:15 1996 Jim Blandy <jimb@floss.cyclic.com>
447
448 * init.c: Don't forget to #include smob.h and init.h.
449 * Makefile.in: Dependencies updated.
450
451 * smob.h: Use PROTO instead of #if __STDC__.
452
453 * continuations.c (scm_dynthrow): Use PROTO, not SCM_P.
454
455 * __scm.h: Doc fixes.
456
457 * __scm.h, libguile.h: Use "quotes" in the #includes, not
458 <angles>; this allows `make depends' to work properly.
459
460 * libguile.h: #include smob.h and pairs.h before the others; they
461 define typedefs used by other headers.
462
463 C files should #include only the header files they need, not
464 libguile.h (which #includes all the header files); the pointless
465 recompilation was wasting my time.
466 * Makefile.in (all .o dependency lists): Regenerated.
467 * libguile.h: Don't try to get a definition for size_t here...
468 * __scm.h: Do it here.
469 * _scm.h: Since this is the internal libguile header, put things
470 here that all (or a majority) of the libguile files will want.
471 Don't #include <libguile.h> here; that generates dependencies on
472 way too much. Instead, get "__scm.h", "error.h", "pairs.h",
473 "list.h", "gc.h", "gsubr.h", "procs.h", "numbers.h", "symbols.h",
474 "boolean.h", "strings.h", "vectors.h", "root.h", "ports.h", and
475 "async.h".
476 * alist.c: Get "eq.h", "list.h", "alist.h".
477 * append.c: Get "append.h", "list.h".
478 * arbiters.c: Get "arbiters.h", "smob.h".
479 * async.c: Get "async.h", "smob.h", "throw.h", "eval.h".
480 * boolean.c: Get "boolean.h".
481 * chars.c: Get "chars.h".
482 * continuations.c: Get "continuations.h", "dynwind.h", "debug.h",
483 "stackchk.h".
484 * debug.c: Get "debug.h", "feature.h", "read.h", "strports.h",
485 "continuations.h", "alist.h", "srcprop.h", "procprop.h", "smob.h",
486 "genio.h", "throw.h", "eval.h".
487 * dynwind.c: Get "dynwind.h", "alist.h", "eval.h".
488 * eq.c: Get "eq.h", "unif.h", "smob.h", "strorder.h",
489 "stackchk.h".
490 * error.c: Get "error.h", "throw.h", "genio.h", "pairs.h".
491 * eval.c: Get "eval.h", "stackchk.h", "srcprop.h", "debug.h",
492 "hashtab.h", "procprop.h", "markers.h", "smob.h", "throw.h",
493 "continuations.h", "eq.h", "sequences.h", "alist.h", "append.h",
494 "debug.h".
495 * fdsocket.c: Get "fdsocket.h", "unif.h", "filesys.h".
496 * feature.c: Get "feature.h".
497 * files.c: Get "files.h".
498 * filesys.c: Get "filesys.h", "smob.h", "genio.h".
499 * fports.c: Get "fports.h", "markers.h".
500 * gc.c: Get "async.h", "unif.h", "smob.h", "weaks.h",
501 "genio.h", "struct.h", "stackchk.h", "stime.h".
502 * gdbint.c: Get "gdbint.h", "chars.h", "eval.h", "print.h",
503 "read.h", "strports.h", "tag.h".
504 * genio.c: Get "genio.h", "chars.h".
505 * gsubr.c: Get "gsubr.h", "genio.h".
506 * hash.c: Get "hash.h", "chars.h".
507 * hashtab.c: Get "hashtab.h", "eval.h", "hash.h", "alist.h".
508 * init.c: Get everyone who has an scm_init_mumble function:
509 "weaks.h", "vports.h", "version.h", "vectors.h", "variable.h",
510 "unif.h", "throw.h", "tag.h", "symbols.h", "struct.h",
511 "strports.h", "strorder.h", "strop.h", "strings.h", "stime.h",
512 "stackchk.h", "srcprop.h", "socket.h", "simpos.h", "sequences.h",
513 "scmsigs.h", "read.h", "ramap.h", "procs.h", "procprop.h",
514 "print.h", "posix.h", "ports.h", "pairs.h", "options.h",
515 "objprop.h", "numbers.h", "mbstrings.h", "mallocs.h", "load.h",
516 "list.h", "kw.h", "ioext.h", "hashtab.h", "hash.h", "gsubr.h",
517 "gdbint.h", "gc.h", "fports.h", "filesys.h", "files.h",
518 "feature.h", "fdsocket.h", "eval.h", "error.h", "eq.h",
519 "dynwind.h", "debug.h", "continuations.h", "chars.h", "boolean.h",
520 "async.h", "arbiters.h", "append.h", "alist.h".
521 * ioext.c: Get "ioext.h", "fports.h".
522 * kw.c: Get "kw.h", "smob.h", "mbstrings.h", "genio.h".
523 * list.c: Get "list.h", "eq.h".
524 * load.c: Get "load.h", "eval.h", "read.h", "fports.h".
525 * mallocs.c: Get "smob.h", "genio.h".
526 * markers.c: Get "markers.h".
527 * mbstrings.c: Get "mbstrings.h", "read.h", "genio.h", "unif.h",
528 "chars.h".
529 * numbers.c: Get "unif.h", "genio.h".
530 * objprop.c: Get "objprop.h", "weaks.h", "alist.h", "hashtab.h".
531 * options.c: Get "options.h".
532 * ports.c: Get "ports.h", "vports.h", "strports.h", "fports.h",
533 "markers.h", "chars.h", "genio.h".
534 * posix.c: Get "posix.h", "sequences.h", "feature.h", "unif.h",
535 "read.h", "scmsigs.h", "genio.h", "fports.h".
536 * print.c: Get "print.h", "unif.h", "weaks.h", "read.h",
537 "procprop.h", "eval.h", "smob.h", "mbstrings.h", "genio.h",
538 "chars.h".
539 * procprop.c: Get "procprop.h", "eval.h", "alist.h".
540 * procs.c: Get "procs.h".
541 * ramap.c: Get "ramap.h", "feature.h", "eval.h", "eq.h",
542 "chars.h", "smob.h", "unif.h".
543 * read.c: Get "alist.h", "kw.h", "mbstrings.h", "unif.h",
544 "eval.h", "genio.h", "chars.h".
545 * root.c: Get "root.h", "stackchk.h".
546 * scmsigs.c: Get "scmsigs.h".
547 * sequences.c: Get "sequences.h".
548 * simpos.c: Get "simpos.h", "scmsigs.h".
549 * smob.c: Get "smob.h".
550 * socket.c: Get "socket.h", "feature.h".
551 * srcprop.c: Get "srcprop.h", "weaks.h", "hashtab.h", "debug.h",
552 "alist.h", "smob.h".
553 * stackchk.c: Get "stackchk.h", "genio.h".
554 * stime.c: Get "stime.h"."libguile/continuations.h".
555 * strings.c: Get "strings.h", "chars.h".
556 * strop.c: Get "strop.h", "chars.h".
557 * strorder.c: Get "strorder.h", "chars.h".
558 * strports.c: Get "strports.h", "print.h", "eval.h", "unif.h".
559 * struct.c: Get "struct.h", "chars.h".
560 * symbols.c: Get "symbols.h", "mbstrings.h", "alist.h",
561 "variable.h", "eval.h", "chars.h".
562 * tag.c: Get "tag.h", "struct.h", "chars.h".
563 * throw.c: Get "throw.h", "continuations.h", "debug.h",
564 "dynwind.h", "eval.h", "alist.h", "smob.h", "genio.h".
565 * unif.c: Get "unif.h", "feature.h", "strop.h", "sequences.h",
566 "smob.h", "genio.h", "eval.h", "chars.h".
567 * variable.c: Get "variable.h", "smob.h", "genio.h".
568 * vectors.c: Get "vectors.h", "eq.h".
569 * version.c: Get "version.h".
570 * vports.c: Get "vports.h", "fports.h", "chars.h", "eval.h".
571 * weaks.c: Get "weaks.h".
572
573 * stackchk.h: #include "libguile/debug.h",
574
575 * print.h, read.h: #include "options.h", since everyone who uses
576 either of these files will need that.
577
578 * smob.h: #include "ports.h", "genio.h", and "print.h", since
579 anyone who uses this file will need them to define the smob
580 printing functions. Also, get markers.h, since people will need
581 to #define the mark functions.
582
583 * smob.h (scm_ptobfuns, SCM_PTOBNUM): Definitions moved...
584 * ports.h: ... to here.
585
586 * ports.h (scm_port_table_size): Explicitly give type as 'int';
587 don't rely on archaic C default type rules.
588
589 * fports.h: #include "libguile/ports.h", since you need that in
590 order to parse this.
591
592 * genio.h: #include "libguile/print.h", because you need that to
593 parse this; don't bother #including "ports.h", since print.h gets
594 that.
595
596 * error.h: Don't #include "pairs.h"; _scm.h will do that now.
597
598 * eval.h (scm_top_level_lookup_thunk_var): Remove declaration for
599 this; it's now a reference to an element of *scm_root.
600
601 * debug.h: Don't #include "options.h"; the compiler won't be able
602 to find that once the headers are installed; instead, #include
603 "libguile/options.h".
604 * gc.h: Same, with marksweep.h.
605 * mbstrings.h: Same, with symbols.h.
606 * scmhob.h: Same, with _scm.h.
607 * smob.h: Same, with params.h.
608
609 * Makefile.in (depends): Don't nuke scmconfig.h and the generated
610 C files; there's no need for this, and it forces recompilations
611 unnecessarily.
612
613 Sat Sep 7 06:57:23 1996 Gary Houston <ghouston@actrix.gen.nz>
614
615 * error.c (scm_error): declare scm_error_callback.
616
617 * error.h: prototype for scm_error_callback.
618
619 * __scm.h: define lgh_error.
620 (SCM_SYSERROR): redefine using lgh_error.
621
622 Thu Sep 5 22:40:06 1996 Gary Houston <ghouston@actrix.gen.nz>
623
624 * error.c (scm_error): new procedure.
625
626 * error.h: prototype for scm_error.
627
628 * Makefile.in (install): install scmconfig.h from the current
629 directory, not $(srcdir).
630
631 Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
632
633 * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,
634 continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h,
635 feature.h, filesys.h, fports.h, gc.h, gdbint.h, genio.h, gsubr.h,
636 hash.h, init.h, ioext.h, kw.h, list.h, markers.h, marksweep.h,
637 mbstrings.h, numbers.h, objprop.h, options.h, pairs.h, ports.h,
638 posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h,
639 sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h,
640 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
641 tag.h, throw.h, unif.h, variable.h, vectors.h, version.h,
642 vports.h, weaks.h: #include "libguile/__scm.h", not
643 <libguile/__scm.h>. This allows 'gcc -MM' to determine which
644 dependencies are within libguile properly.
645
646 Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
647
648 * Makefile.in (.c.x): Simplify; there's no need to run this rule
649 when scmconfig.h doesn't exist.
650
651 * load.c (scm_sys_try_load): Correct spelling.
652
653 * feature.c (scm_loc_features): Make this static.
654
655 * Makefile.in (libpath.h): Omit trailing slash from path. We
656 shouldn't require it of users, so why put it here?
657
658 Move code to initialize and search %load-path from ice-9 to C
659 code, so we can use the load-path to find the ice-9 boot code;
660 this makes it easier to run Guile without installing it. See
661 corresponding changes in guile/Makefile.in.
662 * feature.c: Move stuff concerned with the load path to load.c.
663 (scm_compiled_library_path): Deleted.
664 Don't #include libpath.h here.
665 * feature.h: Don't mention scm_compiled_library_path.
666 * load.c: #include "libpath.h" here, as well as <sys/types.h>,
667 <sys/stat.h>, and <unistd.h> (if present).
668 (R_OK): #define if the system hasn't deigned to.
669 (scm_loc_load_path): New variable.
670 (scm_init_load_path, scm_sys_search_load_path,
671 scm_sys_try_load_path): New functions.
672 (scm_init_load): Initialize scm_loc_load_path to point to the
673 value cell of the Scheme %load-path variable.
674 * load.h: Add declarations for scm_sys_search_load_path,
675 scm_sys_try_load_path.
676 * init.c: Call scm_init_load_path.
677 * Makefile.in (feature.o, load.o): Dependencies updated.
678
679 * load.c, load.h: Rewrite using PROTO macro.
680
681 Thu Sep 5 01:54:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
682
683 * gc.c (scm_cellp): New function: C predicate to determine if an
684 SCM value can be regarded as a pointer to a cell on the heap.
685
686 * gc.h: Added declaration of scm_cellp.
687
688 * gdb_interface.h: New file: The GDB interface header from the GDB
689 distribution.
690
691 * gdbint.c: New file: GDB interface.
692
693 * gdbint.h: New file: GDB interface.
694
695 * libguile.h: Added #include <libguile/gdbint.h>.
696
697 * init.c (scm_boot_guile): Added scm_init_gdbint.
698
699 * Makefile.in: Added gdb_interface.h, gdbint.[hc].
700 Added -I.. to INCLUDE_CFLAGS (otherwise the include files won't be
701 found if object files and source are kept separate).
702
703 Wed Sep 4 14:35:02 1996 Jim Blandy <jimb@floss.cyclic.com>
704
705 * feature.h, feature.c: Use PROTO macro, instead of #if __STDC__.
706
707 Wed Sep 4 01:30:47 1996 Jim Blandy <jimb@totoro.cyclic.com>
708
709 * configure.in: Don't substitute the values of TCL_SRC_DIR and
710 TK_SRC_DIR; they're not relevant any more.
711
712 * Makefile.in (CC): Don't list -Wall here; it's a GCC-specific flag.
713 * configure.in: Instead, put it in CFLAGS here, iff we're using GCC.
714
715 Wed Sep 4 00:55:49 1996 Jim Blandy <jimb@floss.cyclic.com>
716
717 * PLUGIN/guile.config (xtra_cflags): Include .. in the header
718 search path, so we can find the <libguile/MUMBLE.h> headers.
719
720 * Makefile.in (ancillary): List aclocal.m4, for 'make dist'.
721
722 * Makefile.in (ALL_CFLAGS): Don't mention CFLAGS here; it's
723 implicit in the .c.o rule.
724 (.c.x): Don't mention ALL_CFLAGS here; its value is included in
725 $(CC) already.
726
727 Put the library path in a header file, instead of passing it on
728 the command line in every compilation.
729 * Makefile.in (libpath.h): New target.
730 (feature.o): Depend on libpath.h.
731 (clean): Delete libpath.h.
732 (ALL_CFLAGS): Don't use -DLIBRARY_PATH here. Instead ...
733 * feature.c: ... #include "libpath.h" here.
734 * .cvsignore: Ignore libpath.h.
735
736 * Don't install the unwashed masses of Guile header files in the
737 main #include path; put most of them in a subdirectory called
738 'libguile'. This avoids naming conflicts between Guile header
739 files and system header files (of which there were a few).
740 * Makefile.in (pkgincludedir): Deleted.
741 (innerincludedir): New variable; this and $(includedir) are enough.
742 (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..".
743 (installed_h_files): Divide this up. Now this variable lists
744 those header files which should go into $(includedir) (i.e. appear
745 directly in the #include path), and ...
746 (inner_h_files): ... this new variable says which files appear in
747 a subdirectory, and are referred to as <libguile/mumble.h>.
748 (h_files): List them both.
749 (install): Create innerincludedir, not pkgincludedir. Put
750 the installed_h_files and inner_h_files in their proper places.
751 (uninstall): Corresponding changes.
752 * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,
753 continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h,
754 feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h,
755 ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h,
756 mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h,
757 print.h, procprop.h, procs.h, ramap.h, read.h, root.h,
758 sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h,
759 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
760 tag.h, throw.h, unif.h, variable.h, vectors.h, version.h,
761 vports.h, weaks.h: Find __scm.h in its new location.
762 * __scm.h: Find scmconfig.h and tags.h in their new locations
763 (they're both "inner" files).
764
765 Tue Sep 3 20:27:35 1996 Jim Blandy <jimb@floss.cyclic.com>
766
767 * Makefile.in (.c.x): Remove duplicate use of $(ALL_CFLAGS).
768
769 Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
770
771 * posix.c: Doc fixes.
772
773 Mon Sep 2 15:22:40 1996 Jim Blandy <jimb@totoro.cyclic.com>
774
775 * socket.c: Don't include a prototype for inet_aton; just use a
776 K&R style declaration, to avoid warnings but minimize the chance
777 of conflicts with the system.
778
779 On NextStep, <utime.h> doesn't define struct utime, unless we
780 #define _POSIX_SOURCE before #including it.
781 * aclocal.m4 (GUILE_STRUCT_UTIMBUF): New test.
782 * acconfig.h: New comment text for above CPP symbol.
783 * configure.in: Call it.
784 * posix.c: #define _POSIX_SOURCE if it seems necessary.
785
786 * configure.in (AC_CHECK_HEADERS): Include sys/utime.h and utime.h
787 in the list.
788 * posix.c: Check HAVE_SYS_UTIME_H and HAVE_UTIME_H, instead of
789 testing for __EMX__.
790
791 * posix.c: #include <libc.h>, if it exists.
792
793 * posix.c: Cast the return result to GETGROUPS_T, not gid_t; we
794 don't even know if the latter exists.
795
796 * posix.c (s_sys_setpgid, s_sys_setsid, s_sys_ctermid,
797 s_sys_tcgetpgrp, s_sys_tcsetpgrp): Renamed from s_setpgid,
798 s_setsid, s_ctermid, s_tcgetpgrp, s_tcsetpgrp, for consistency.
799
800 * posix.c (R_OK, W_OK, X_OK, F_OK): #define these if the system's
801 header files don't.
802 (scm_init_posix): Use them when initializing the Scheme constants
803 of the same name.
804
805 Fri Aug 30 16:01:30 1996 Jim Blandy <jimb@floss.cyclic.com>
806
807 * Makefile.in (libdir, includedir, bindir): Use the
808 autoconf-supplied values, instead of deriving them ourselves.
809 (pkgincludedir, datadir, pkgdatadir): New variables.
810 (install, uninstall): Put the header files in a special
811 subdirectory, not in the main search path.
812
813 * Makefile.in (ALL_CFLAGS): Provide the proper value for
814 LIBRARY_PATH --- use $(pkgdatadir) instead of $(libdir).
815
816 * Makefile.in (IMPLPATH): Deleted; never used.
817
818 * Makefile.in (TCL_SRC_DIR, TK_SRC_DIR): Deleted; we don't depend
819 on the Tcl/Tk source any more.
820 (INCLUDE_CFLAGS): Remove references to the above.
821
822 * Makefile.in (version.o): Corrected dependencies.
823
824 Thu Aug 29 23:06:19 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
825
826 * libguile.h: #include "version.h"
827
828 * init.c (scm_boot_guile): Call scm_init_version.
829 * gscm.c (gscm_run_scm): Call scm_init_version.
830
831 * configure.in (GUILE_MAJOR_VERSION, GUILE_MINOR_VERSION,
832 GUILE_VERSION): AC_DEFINE these.
833 (acconfig.h): #undef the above symbols.
834
835 * Makefile.in (libobjs): Add version.o.
836 (installed_h_files): Add version.h.
837 (c_files): Add version.c.
838 (gen_c_files): Add version.x.
839 (version.o): New rule.
840 (alist.o, append.o, appinit.o, arbiters.o, async.o, boolean.o,
841 chars.o, continuations.o, dynwind.o, eq.o, error.o, eval.o,
842 fdsocket.o, feature.o, files.o, filesys.o, fports.o, gc.o,
843 genio.o, gsubr.o, hash.o, hashtab.o, init.o, kw.o, list.o, load.o,
844 mallocs.o, markers.o, marksweep.o, mbstrings.o, numbers.o,
845 objprop.o, pairs.o, ports.o, posix.o, print.o, procprop.o,
846 procs.o, ramap.o, read.o, root.o, scmsigs.o, sequences.o,
847 simpos.o, smob.o, socket.o, stackchk.o, stime.o, strings.o,
848 strop.o, strorder.o, strports.o, struct.o, symbols.o, tag.o,
849 throw.o, unif.o, variable.o, vectors.o, version.o, vports.o,
850 weaks.o): Add version.h to dependency lists.
851 (markers.o): Remove duplicate rule.
852
853 * version.h: New file.
854
855 * version.c: New file.
856
857 Thu Aug 29 15:21:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
858
859 * symbols.c (scm_strhash): scm_downcase is now a function, not an
860 array; use it appropriately. Since GCC is quite happy to
861 subscript functions, it never warned us about this; we should use
862 -Wpointer-arith in the future. I guess we never tested
863 case-insensitivity.
864
865 Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com>
866
867 * socket.c: Doc and copyright fixes.
868
869 Sat Aug 24 05:29:19 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
870
871 * debug.c: Fixed and improved gdb support.
872
873 Fri Aug 23 18:00:16 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
874
875 * socket.c: Added declaration of inet_aton to avoid compiler
876 warning. (Hope this solution is correct.)
877
878 * stime.c: Added declaration of ftime. (This is missing in
879 Solaris 2 headers.)
880
881 Fri Aug 23 02:03:32 1996 Gary Houston <ghouston@actrix.gen.nz>
882
883 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
884
885 * Makefile.in (c_files): add strerror.c.
886
887 * strerror.c: new file from Emacs' sysdep.c.
888 maybe configure should also check for sys_errlist.
889
890 * configure.in (AC_REPLACE_FUNCS): add strerror.
891
892 Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
893
894 * debug.c (scm_init_debug): Added initialization for
895 scm_evaluator_traps.
896
897 * debug.h, debug.c: Various name changes.
898 (Mostly prefixing with SCM_.) Renamed "debug-options" -->
899 "debug-options-interface". See commentary in options.c.
900
901 * options.h, options.c: Options now have documentation strings.
902 Also added a long explanatory commentary.
903
904 * eval.c, print.h, print.c, read.h, read.c: Modifications to
905 run-time options.
906
907 * gscm.c, init.c, root.c, throw.c: Bug fixes:
908 last_debug_info_frame is now updated in all cases.
909
910 * __scm.h, stackchk.h, stackchk.c: Guile now performs stack
911 checking.
912
913 Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
914
915 * __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
916 Added option STACK_CHECKING.
917
918 Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
919
920 * Makefile.in: Added {debug,options,srcprop}.{h,c}
921
922 * __scm.h: Removed symbols for debugging support.
923
924 * acconfig.h: Added symbols for debugging support.
925
926 * * configure.in: Added user option for debugging support.
927 --enable-debug will include the debugging code into libguile.a.
928
929 * continuations.c (scm_make_cont): Enlarged the #if 0 around
930 scm_relocate_chunk_to_heap.
931
932 * * debug.c: New file: low-level debugging support. It also
933 includes support for debugging with gdb. (The extensions to gdb
934 are written by Per Bothner at Cygnus.)
935
936 * debug.h: New file: low-level debugging support.
937
938 * * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
939 argument pairs. Extensive modifications to the debugging
940 evaluator. Added "SECTION:" commentaries to clarify what happens
941 when, during double compilation. Renamed EVALIMP --> EVALIM.
942 Renamed EVAL --> XEVAL. Removed function evalcar. Defined
943 evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
944 the beginning of the file. New procedure: scm_unmemocopy.
945 Added some global state variables needed by the debugging
946 evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
947 check_entry, check_apply, check_exit, debug_options and
948 evaluator_traps. New acro: undefine.
949
950 * eval.h: Renamed EVAL --> XEVAL.
951
952 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
953 --> scm_make_weak_key_hash_table.
954
955 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
956 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
957
958 * libguile.h: Conditionally include debug.h
959
960 * * objprop.c (scm_object_properties, scm_set_object_properties_x):
961 scm_object_properties shouldn't return handle. `handle' now gets
962 initialized in scm_set_object_properties_x. scm_object_properties
963 doesn't any longer create an entry in scm_object_whash.
964
965 * * options.c: New file: handling of run time options.
966
967 * options.h: New file: handling of run time options.
968
969 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
970
971 * * print.c: New procedure: scm_print_options
972
973 * print.h: Defines for print options.
974
975 * * read.c: New procedure: scm_read_options
976
977 * read.h: Defines for reader options.
978
979 * root.h: Added scm_source_whash among scm_sys_protects.
980
981 * * srcprop.c: New file: source properties.
982
983 * srcprop.h: New file: source properties.
984
985 * throw.c (jbsmob): Jump buffers are now correctly allocated.
986 (Bug found by A. Green.)
987
988 * * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
989
990 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
991
992 Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
993
994 * libguile.h: #include "objprop.h"; I guess this was forgotten.
995
996 * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
997 and should be called by the final client.
998
999 Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
1000
1001 * gc.h: Use the PROTO macro when declaring functions.
1002 * gc.c: Use the PROTO macro when declaring static functions.
1003 Remove the CPP hair around function definitions.
1004
1005 * gc.c (scm_init_storage): Initialize scm_asyncs.
1006
1007 * libguile.h: #include "__scm.h" before testing the STDC_HEADERS
1008 preprocessor symbol; "__scm.h" is where it might get #defined.
1009 * __scm.h: Similar: #include <scmconfig.h> before testing
1010 HAVE_LIMITS_H.
1011
1012 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
1013
1014 Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
1015
1016 * * init.c (scm_boot_guile): Add init_func argument; call
1017 (*init_func) instead of calling scm_appinit; it's ucky to
1018 hard-code names for the user's procedures.
1019 * init.h (scm_boot_guile): Adjust declaration.
1020
1021 * __scm.h (PROTO): New macro, for declaring functions with
1022 prototypes.
1023
1024 * init.h (scm_start_stack, scm_restart_stack): Use PROTO;
1025 eliminate all the __STDC__ conditionals.
1026 (scm_boot_guile): Add declaration.
1027 * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile):
1028 Remove __STDC__ conditionals around function definitions; the
1029 declarations in init.h will provide the same information, more
1030 usefully.
1031
1032 * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
1033 complain about it in the error message; the error message is
1034 adequate without that note, and there's nothing the user can do
1035 about it.
1036
1037 Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
1038
1039 * Makefile.in (ancillary): Drop def.sed.
1040
1041 * posix.c (scm_init_posix): Use numeric values, rather than
1042 CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
1043 F_OK. The symbols aren't available on some systems, and I'm
1044 pretty sure their values are fixed by common widespread practice.
1045 * ioext.c (scm_init_ioext): Code here defined them too; remove it.
1046
1047 More functions unavailable on some systems.
1048 * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
1049 tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
1050 check for.
1051 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
1052 * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
1053 scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
1054 bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
1055 stub that signals an error as the #else.
1056
1057 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
1058
1059 Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
1060
1061 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
1062
1063 * unif.c: include ramap.h.
1064
1065 * read.c (endif): case_insensative_p renamed case_insensitive_p.
1066
1067 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
1068
1069 * ports.c: include sys/ioctl.h.
1070
1071 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
1072
1073 * configure.in: check for sys/ioctl.h.
1074
1075 * ports.c: include <malloc.h> not "malloc.h".
1076
1077 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
1078
1079 * fports.c: remove ttyname and tmpnam declarations.
1080
1081 * posix.c: fewer ttyname declarations.
1082
1083 * fports.c: include <string.h> not "string.h".
1084
1085 * init.c, ioext.c: include string.h and unistd.h.
1086
1087 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
1088
1089 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
1090 genio.c, simpos.c, vports.c: include string.h.
1091
1092 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
1093
1094 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
1095 scm_sizet to int.
1096 (scm_addr_buffer_size): change type from scm_sizet to int.
1097 (accept, getsockname, getpeername, recvfrom): change type of tmp_size
1098 from scm_sizet to int.
1099
1100 * error.c: include unistd.h.
1101
1102 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
1103 defined.
1104
1105 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
1106
1107 * __scm.hd, def.sed: deleted.
1108
1109 Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
1110
1111 Changes for NeXT, suggested by Robert Brown.
1112 * configure.in: Call AC_TYPE_MODE_T.
1113 (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
1114 NeXT. Put header file list in alphabetical order.
1115 * configure, scmconfig.h.in: Regenerated.
1116 * filesys.c [HAVE_LIBC_H]: #include <libc.h>.
1117
1118 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
1119 for strerror.
1120
1121 * acconfig.h: New file, providing documentation for the CPP
1122 symbols defined in configure.in
1123 * acconfig-1.5.h: Removed; superceded by the above.
1124
1125 Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
1126
1127 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
1128
1129 * * fports.c (scm_open_file): don't return #f, throw error.
1130
1131 * * ioext.c (fileno): renamed from %fileno.
1132 (soft-fileno): deleted.
1133
1134 * ports.c (scm_port_revealed): don't need to check for -1 from
1135 scm_revealed_count.
1136 (scm_set_port_revealed_x): return unspecified, not #f.
1137
1138 * * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
1139
1140 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
1141
1142 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
1143
1144 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
1145
1146 Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
1147
1148 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
1149 This is necessary on Ultrix, and doesn't hurt portability.
1150
1151 * Makefile.in (dist-dir): New target, implementing a new dist system.
1152 (installed_h_files): Put in alphabetical order.
1153 Remove duplicate entries for markers.h and unif.h.
1154 (c_files): Remove duplicate entries for markers.c.
1155 (ancillary): Renamed from anillery; all uses changed. Remove
1156 PLUGIN; it's a directory, and needs special treatment in dist-dir.
1157 Remove all the ../doc/* files; doc/Makefile.in handles that.
1158
1159 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
1160
1161 * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
1162 every if must have an else, or else the whole command has a
1163 non-zero exit code whenever the if's condition is false.
1164
1165 Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
1166
1167 * posix.c: include string.h.
1168
1169 Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
1170
1171 * * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
1172 have been once.
1173
1174 * * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
1175 Remove leading % from scheme names.
1176 Do not return error values, call SCM_SYSERROR or similar.
1177
1178 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
1179
1180 Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
1181
1182 * struct.c (scm_init_struct): new file.
1183
1184 Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
1185
1186 * list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
1187 (scm_list_head): added list-head for rapidly chopping argument
1188 lists off of longer lists (and similar).
1189
1190 Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
1191
1192 * objprop.c (scm_object_property): assq the cdr of the whash
1193 handle for obj, not the handle itself.
1194
1195 Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
1196
1197 * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
1198 weak hash tables last of all marking to avoid an obscure gc bug.
1199 WARNING: circular lists stored in a weak hash table will hose us.
1200
1201 Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
1202
1203 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
1204 new functions similar to scm_substring_move_left_x and
1205 scm_substring_move_right_x.
1206
1207 Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
1208
1209 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
1210 scm_gc_heap_lock!
1211
1212 Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
1213
1214 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
1215
1216 Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
1217
1218 * strports.c (scm_strprint_obj): convenience function. C for
1219 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
1220
1221 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
1222 removed to a separate library
1223
1224 * init.c (scm_boot_guile): copied from guile-tcl.c.
1225 Initialization specific to tcl interpreters removed.
1226
1227 Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
1228
1229 * ports.c (scm_ports_prehistory): size malloced here doesn't
1230 matter so long as it is non-0 (got rid of "* 4").
1231
1232 Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
1233
1234 * gscm.h: gscm_mkarray eliminated (presumably was not being used
1235 since its definition was bogus).
1236
1237 Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
1238
1239 * mallocs.[ch]: back again (for rx at least).
1240
1241 Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
1242
1243 * ports.c: removed functions relating to the mapping between ports
1244 and descriptors. (That stuff is unix-specific and should be collected
1245 in a separate library).
1246
1247 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
1248 (Tom Mckay@avanticorp.com)
1249
1250 Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
1251
1252 * gc.c (scm_gc_sweep): Immediates in weak vectors were not
1253 handled correctly (SCM_FREEP was applied to them) -- test for
1254 NIMP. Keys in weak hash tables were spuriously (though harmlessly)
1255 being overwritten with #f. (brown@grettir.bibliotech.com)
1256
1257 Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
1258
1259 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
1260 for a specific symbol or for all symbols.
1261
1262 Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
1263
1264 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
1265 keys and weak values confused).
1266
1267 Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
1268
1269 * list.c (scm_last_pair): map '()=>'()
1270
1271 Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
1272
1273 * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
1274 Generalized assoc and hash-table functions.
1275 Factored pairs.c into multiple files.
1276
1277 Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
1278
1279 * gscm.c (gscm_run_scm): got rid of objprop.
1280
1281 Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
1282
1283 * genio.c (scm_getc):
1284 NOTE: fgetc may not be interruptable.
1285
1286 * procprop.c (scm_stand_in_scm_proc):
1287 NOTE: don't use a alist here.
1288 (scm_set_procedure_properties_x): fix type checking throughout this file.
1289
1290 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
1291
1292 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
1293 after freeing part of the port table.
1294
1295 Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
1296
1297 * strports.c (scm_mkstrport):
1298 * vports.c (scm_make_soft_port): allocate a port table entry
1299 (possibly triggering gc) before setting the tag of the corresponding
1300 ports handle.
1301
1302 * pairs.c (scm_delq_x): never throw an error.
1303
1304 * vectors.c (scm_make_vector): made the default vector fill argument
1305 into '() (much more useful than the previous value, "#unspecified")
1306
1307 Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
1308
1309 * ports.c (scm_add_to_port_table): Added fields
1310 to port table entries: file_name, line_num, col.
1311 Update these in open_file, gen_getc and gen_ungetc.
1312 Added procedures to access those fields.
1313
1314 Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
1315
1316 * procs.c (scm_make_subr_opt): new entry point for making
1317 anonymous subrs.
1318
1319 Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
1320
1321 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
1322
1323 Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
1324
1325 * numbers.c (scm_exact_p): This function no longer
1326 implements "integer?".
1327
1328 Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
1329
1330 * gc.c (scm_gc_end): simulate a signal at the end of each GC.
1331 (scm_gc_stats): return an assoc of useful data. Replaces "room"
1332 and the stats reporting formerlly built into repl.
1333
1334 * repl.[ch]: removed.
1335 GC statistics keeping moved to gc.c.
1336 Other statistics keeping can be done from Scheme.
1337 REPLS are now written in Scheme.
1338
1339 Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
1340
1341 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
1342 conservatively marked objects).
1343
1344 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
1345
1346 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
1347
1348 * feature.c (scm_compiled_library_path): moved here from repl.c.
1349 This file is for stuff relating specifically to Scheme libraries
1350 like slib.
1351
1352 * eval.c (scm_m_define): don't give warning about redefinition, don't
1353 check verbosity.
1354
1355 NOTE: this should throw a resumable exception with parameters --
1356 the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
1357
1358 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
1359
1360 * error.c: scm_warn eliminated.
1361
1362 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
1363
1364 * repl.c, marksweep.c, gc.c (various):
1365 lose exit_report, growth_mon.
1366
1367 * gscm.c: got rid of verbosity functions.
1368
1369 Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
1370
1371 * throw.c (scm_ithrow): guard against the bad-throw hook changing
1372 between the call to procedurep and use.
1373
1374 * error.c (scm_everr):
1375 * gc.c (fixconfig):
1376 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
1377 but less so.
1378
1379 * strports.c: don't reveal the port's string to the caller
1380 because it changes size.
1381
1382 (stputc stwrite): check/change the strings length with interrupts
1383 blocked.
1384
1385 * objprop.c (scm_set_object_property_x &c): use the generic
1386 hashing functions and be threadsafe.
1387
1388 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
1389 (per suggestion jaffer@gnu.ai.mit.edu).
1390
1391 * mbstrings.c (scm_multi_byte_string): guard against argument list
1392 changing length.
1393
1394 * strings.c (scm_make_string): loop cleanup
1395
1396 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
1397 a scheme function.
1398
1399 * weaks.c (scm_weak_vector): guard against argument list
1400 changing length.
1401
1402 * variable.c (scm_builtin_variable): check for/make a built-in
1403 variable automicly.
1404
1405 * vectors.c (scm_vector): while filling the new array,
1406 guard against a list of fill elements that grows after
1407 the vector is allocated.
1408
1409 * hashtab.c -- new file: general hash table
1410 functions. hash, hashq, hashv, hashx.
1411
1412 * tags.h: made wvect an option bit of vector.
1413
1414 Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
1415
1416 * symbols.c: made the basic symbol table operations atomic.
1417
1418 * root.c &c.: collected stack-specific global state.
1419 linum/colnum etc *should* be port-specific state.
1420
1421 * struct.c (scm_init_struct): init the first struct type during
1422 initialization to fix a race condition.
1423
1424 * continuations.c (scm_dynthrow): pass throwval in the 'regs'
1425 object, not in a global.
1426 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
1427
1428 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
1429 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
1430
1431 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
1432 and C symbols to begin with SCM_ or scm_.
1433
1434 Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
1435
1436 * gsubr.c (scm_gsubr_apply): statically allocate the
1437 array of arguments (bothner@cygnus.com).
1438
1439 Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
1440
1441 * scmsigs.c: Simplified to use async rountines.
1442
1443 * async.c: New support for interrupt handlers.
1444
1445 Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
1446
1447 * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
1448 set the multi_byte flag correctly in symbols. This is wrong.
1449 intern_obbary_soft and msymbolize should take an extra parameter.
1450 Also, weird multibyte symbols don't print correctly.
1451 The weird symbol syntax is also a bit bogus (emacs doesn't quite
1452 cope).
1453
1454 Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
1455
1456 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
1457 use the system symhash. == #t means create an uninterned symbol.
1458
1459 Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
1460
1461 * strings.c (scm_make_shared_substring): build'em.
1462 It might better to keep a table of these and use one
1463 less cons-pair per shared-substring.
1464
1465 Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
1466
1467 * strings.c (scm_string_shared_substring): create shared
1468 substrings. (Doesn't handle mb strings yet).
1469
1470 * mbstrings.c (scm_print_mb_string): handle RO strings.
1471
1472 * print.c (scm_iprin1): print substrings as their non-substring
1473 counterparts (dubious).
1474
1475 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
1476 strings.
1477
1478 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
1479
1480 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
1481
1482 * eq.c (scm_equal_p): handle RO and MB strings.
1483
1484 * symbols.c (scm_string_to_symbol):
1485 (scm_string_to_obarray_symbol):
1486 * strop.c (scm_i_index):
1487 (scm_i_rindex):
1488 (scm_string_null_p):
1489 (scm_string_to_list):
1490 * strings.c (scm_string_length):
1491 (scm_string_ref):
1492 (scm_substring):
1493 (scm_string_append):
1494 * simpos.c (scm_system):
1495 (scm_getenv):
1496 * fports.c (scm_open_file):
1497 * strorder.c (scm_string_equal_p):
1498 (scm_string_ci_equal_p):
1499 (scm_string_less_p):
1500 (scm_string_ci_less_p):
1501 * pairs.c (scm_obj_length):
1502 * mbstrings.c (scm_multi_byte_string_length):
1503
1504 Use RO string macros for RO strings.
1505
1506 Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
1507
1508 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
1509
1510 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
1511 index/rindex. Do handle embedded \000 characters.
1512
1513 Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
1514
1515 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
1516 Eliminate a (presumed) warning on some systems.
1517
1518 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
1519 (Mikael Djurfeldt <mdj@nada.kth.se>)
1520
1521 Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
1522
1523 * eval.c (scm_map): added argument type checking.
1524 (kawai@sail.t.u-tokyo.ac.jp)
1525
1526 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
1527 for C++. (Seth Alves <alves@gryphon.com>)
1528
1529 (gscm_cstr): uses an uninitialized local variable causing
1530 segv. (kawai@sail.t.u-tokyo.ac.jp)
1531
1532
1533 * lvectors.c (scm_get_lvector_hook):
1534 In guile-ii, the lvector code was broken. It was fixed in guile-iii.
1535 It seems to me like if it is broken again in guile-iv...Here is a patch.
1536 "! || (LENGTH (keyvec) == 0))"
1537 (From: Mikael Djurfeldt <mdj@nada.kth.se>)
1538
1539
1540 * gscm.c (gscm_sys_default_verbosity):
1541 incorrectly declared for non-__STDC__
1542 (Tom_Mckay@avanticorp.com)
1543
1544 * ports.c (scm_setfileno): Tweak the macro a bit
1545 to make it easier to port to systems that use
1546 more than a single structure field to hold a descriptor.
1547
1548 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
1549 Give a warning, not an error, for unrecognized modes.
1550
1551 * eval.c (SCM_CEVAL):
1552 static char scm_s_for_each[];
1553 static char scm_s_map[];
1554 not needed.
1555
1556 * strings.c (scm_string_p):
1557 static char s_string[];
1558 (see next entry)
1559
1560 * struct.c (scm_sys_struct_set_x):
1561 static char s_sys_make_struct[];
1562 static char s_sys_struct_ref[];
1563 static char s_sys_struct_set_x[];
1564 Rearrange code to eliminate those forward decls for the sake of
1565 broken compilers.
1566
1567 * variable.c (make_vcell_variable): static char s_make_variable[];
1568 isn't needed.
1569
1570 * fports.c (scm_port_mode):
1571 chars modes[3] = "";
1572 to
1573 chars modes[3];
1574 modes[0] = '\0';
1575 (Tom_Mckay@avanticorp.com)
1576
1577
1578 * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
1579 scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
1580 (Tom_Mckay@avanticorp.com)
1581
1582 * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
1583 scm_num_eq_p() was scm_equal_p().
1584 (Tom_Mckay@avanticorp.com)
1585
1586 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
1587 (Tom_Mckay@avanticorp.com)
1588
1589 Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
1590
1591 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
1592 (Tom_Mckay@avanticorp.com)
1593
1594 * strop.c (scm_substring_fill_x):
1595 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
1596 (Tom_Mckay@avanticorp.com)
1597
1598 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
1599 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
1600
1601 * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
1602 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
1603
1604 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
1605 can turn into an obscure gc bug.
1606
1607 * chars.c (scm_char_p): fixed PROC call.
1608
1609 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
1610 scm_vector_set.
1611
1612 Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
1613
1614 * elisp.c (new file): dynamic scoping and other bits for
1615 elisp. Don't use this yet unless you specificly want to
1616 hack on elisp emulation.
1617
1618 * dynwind.c (scm_dowinds): When entering or leaving a dynamic
1619 scope created by scm_with_dynamic_bindings_operation_x, swap
1620 the bindings of that scope with the corresponding globals.
1621
1622 * continuations.c (scm_make_cont): when a continuation is captured,
1623 relocate the continuation stack chunks registered on the wind chain
1624 to the heap.
1625
1626 Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
1627
1628 * eval.c (SCM_CEVAL): if the function position evaluates
1629 to a macro, process it accordingly. (Previously, macros were
1630 handled only if the function position was a symbol naming a
1631 variable bound to a macro).
1632
1633 Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
1634
1635 * eval.c (scm_m_set): allow multi-variable set! like
1636 (set! x 1 y 2 z 3).
1637
1638 Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
1639
1640 * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the
1641 STREAM of ports into the port table and replaced it with a
1642 port-table index.
1643
1644 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
1645
1646 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
1647
1648 * mbstrings.c (new file): functions on multi-byte strings.
1649
1650 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
1651 for multi-byte strings. Moved the string tag.
1652
1653 * chars.h chars.c repl.c (many functions): made scm_upcase and
1654 scm_downcase functions that are safe for extended character sets.
1655
1656 Changed the range of integer->char.
1657
1658 Changed the type of SCM_ICHR.
1659
1660 Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
1661
1662 * guile.c: Changed init file name from "SCM_INIT_PATH" to
1663 "GUILE_INIT_PATH"
1664
1665 Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
1666
1667 * guile.c (gscm_is_gscm_type): New function. (Without this how will we
1668 know that it's safe to pass an object to gscm_get_type?)
1669 (gscm_get_type): Fix tyop in error message.
1670
1671 * variable.c (scm_variable_ref): fixed assertion test.
1672 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
1673
1674 * gscm.h: fixed several prototypes, notably gscm_vref.
1675 Add gscm_is_eq and temporarily commented out gscm_eq (see
1676 the note in gscm.h near gscm_eq if this change effects your
1677 code).
1678 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
1679
1680 * pairs.c (scm_obj_length): see next entry.
1681
1682 * gscm.h (gscm_obj_length): A way to get an integer
1683 length for lists, strings, symbols (treated as strings),
1684 and vectors. Returns -1 on error.
1685
1686 * eq.c (scm_equal_p): fixed smob case.
1687 (William Gribble <grib@arlut.utexas.edu>)
1688
1689 * Makefile.in (X_CFLAGS): defined.
1690 (William Gribble <grib@arlut.utexas.edu>)
1691
1692 * gscm.h (gscm_2_double): provided now
1693 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
1694
1695 Tue Jun 13 01:04:09 1995 gnu
1696 * Vrooom!
1697
1698