* load.c: change s_try_load and s_try_load_path to s_primitive_load
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
523f5266
GH
1Sun Oct 27 01:22:04 1996 Gary Houston <ghouston@actrix.gen.nz>
2
3 * load.c: change s_try_load and s_try_load_path to s_primitive_load
4 and s_primitive_load_path.
5
6 * eval.c, load.c, error.c (scm_wta): use scm_misc_error.
7
8 * error.h: don't declare error symbols. prototype for scm_misc_error.
9
10 * stackchk.c (scm_stack_overflow_key): defined here instead of in
11 error.c.
12
13 * error.c: use SCM_SYMBOL to set up error keys.
14 scm_misc_error: new procedure.
15
3065a62a
JB
16Fri Oct 25 01:56:30 1996 Jim Blandy <jimb@floss.cyclic.com>
17
18 * read.c (scm_lreadr): Recognize SCSH-style block comments; text
19 between `#!' and `!#' is ignored.
20 (skip_scsh_block_comment): New function.
21
22 * feature.c (scm_set_program_arguments): New argument, FIRST.
23 * feature.h: Update prototype.
24 * init.c (scm_boot_guile_1): Pass new argument to
25 scm_set_program_arguments.
26
b6edbab2
JB
27Tue Oct 22 20:54:42 1996 Jim Blandy <jimb@floss.cyclic.com>
28
29 * init.c (scm_start_stack): Don't initialize scm_progargs here.
30 (scm_boot_guile): Call scm_set_program_arguments here, later than
31 the old initialization.
32
33* * init.c: (scm_boot_guile, scm_boot_guile_1): New, simplified
34 initialization procedure.
35 - Delete in, out, err arguments; there are other perfectly good
36 ways to override these when desired.
37 - Delete result argument; this function shouldn't ever return.
38 - Rename init_func argument to main_func, for less confusion.
39 - Delete boot_cmd argument; main_func is more general.
40 -Add 'closure' argument, to help people pass data to main_func
41 without resorting to global variables.
42 - Abort if reentered; don't bother returning an error code.
43 - Call scm_init_standard_ports to set up the default/current
44 standard ports; no need to pass them to scm_start_stack.
45 - Remove code to evaluate the boot_cmd, and start the repl; let
46 the user do something like that in main_func if they want.
47 - Remove code to package up a return value; main_func can do any
48 of that as needed.
49 - Call exit (0), instead of returning.
50 (scm_start_stack): Don't initialize the I/O ports here; that's
51 weird. Delete in, out, err arguments. Move guts to
52 scm_init_standard_ports, scm_stdio_to_port.
53 (scm_init_standard_ports): New function, to set up current and
54 default standard ports.
55 (scm_start_stack, scm_restart_stack): Make these static.
56 * init.h (scm_boot_guile): Adjust declaration.
57 (scm_start_stack, scm_restart_stack): Remove externally
58 visible declarations for these.
59 (enum scm_boot_status): Removed; now scm_boot_guile never returns.
60
61* * fports.c (scm_stdio_to_port): New function. Its guts used to be
62 written out several times in scm_start_stack.
63 * fports.h: New declaration for the above.
64
65* * feature.c (scm_set_program_arguments): New function.
66 * feature.h: New declaration for the above.
67
68 * ports.c: Formatting tweak.
69
5dbb2c62
MD
70Sun Oct 20 03:29:32 1996 Mikael Djurfeldt <mdj@kenneth>
71
72 * pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
73 ramap.c, symbols.c: Added new selectors SCM_CARLOC and SCM_CDRLOC
74 for obtaining the address of a car or cdr field. Motivation:
75 &SCM_CXR make assumptions about the internal structure of the
76 SCM_CXR selectors.
77
78 * eval.h, eval.c: Added new selector SCM_GLOC_VAL_LOC.
79 Motivation: see SCM_CXRLOC.
80
81 * pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h,
82 srcprop.h, tags.h, throw.c, unif.c: Added new selectors
83 SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR and SCM_SETOR_CDR.
84 Motivation: Safer use. Some other macros are defined in terms of
85 these operations. If these are defined using the SCM_SETCXR
86 (<e1>, SCM_CXR (<e1>) <op> <e2>) pattern a complex <e1> will lead
87 to inefficiency and an <e1> with side-effects could potentially
88 break. Also, these particular operations are heavily utilized in
89 the garbage collector. In unoptimized code there will be a
90 measurable speedup.
91
92 * alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c,
93 eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c,
94 ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h,
95 pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c,
96 procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h,
97 strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c,
98 vports.c: Cleaned up use of pairs: Don't make any special
99 assumptions about the internal structure of selectors and
100 mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>),
101 SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc.
102 (Among other things, this change makes it easier to build Guile
103 with certain compilers which have problems with casted lvalues.)
104
1bb961a3
MD
105Fri Oct 18 01:11:56 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
106
107 * stacks.c: Improve selection of relevant stack frames when making
108 a stack object. Introduce one level of indirection in the stack
109 object to make it possible to "narrow" to a certain region of the
110 stack. This facilitates making use of more clever algorithms (not
111 implemented) for selecting relevant frames and gives a cleaner
112 design since selection of frames can be done independently of
113 extraction of frames from the real stack.
114 (scm_stack_id): Also take #t as argument which means look at
115 current stack.
116
117 * stacks.h: In struct scm_stack: Turn field frames into a pointer.
118 Turn n_tail into an integer directly representing current number
119 of frames in stack. Add field tail.
120
121 * ports.c (scm_port_line_x, scm_port_column_x): New mutators.
122
123 * debug.c (scm_make_memoized): Made it available at scheme level.
124 (scm_unmemoize, scm_memoized_environment): Bugfix: Check for
125 SCM_NIMP before applying heavier predicates in argument checking.
126 (scm_local_eval): Also take memoized object as argument.
127
128 * backtrace.c (scm_display_error): Just a safety measure: Stacks
129 aren't created with zero length, but should such a strange
130 creature suddenly turn up...
131
e4c5095f
JB
132Wed Oct 16 11:08:41 1996 Marius Vollmer <mvo@zagadka.ping.de>
133
134 * hashtab.h (scm_hashx_remove_x): Renamed `delete' parameter to
135 `del', for the sake of C++ compilers. (Patch applied by JimB.)
136
d065b65f
JB
137Tue Oct 15 17:06:13 1996 Jim Blandy <jimb@floss.cyclic.com>
138
aa9576ad
JB
139 * variable.c (scm_make_variable): Make the name hint optional, as
140 documented.
141 (anonymous_variable_sym): Renamed from variable_sym. All uses
142 changed.
143
d065b65f
JB
144 * load.c (scm_primitive_load, scm_primitive_load_path): Renamed
145 from scm_sys_try_load and scm_sys_try_load_path. The Scheme name
146 of scm_primitive_load_path was also changed to
147 "primitive-load-path", from "%try-load-path". Callers changed.
148 We'd like to respect the convention that a function named
149 "try-mumble" should behave just like the function called "mumble",
150 but return #f instead of signalling some error.
151 * load.h: Rename prototypes.
152
7bf80fd0
MD
153Tue Oct 15 05:34:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
154
155 * print.c (make_print_state, grow_print_state), print.h: Modified
156 the print state representation: Don't use a tail array for
157 recording of circular references. Resizing of the print state
158 structure invalidates the print state pointer. To avoid passing
159 around an indirect print state reference to all printing
160 functions, we instead let the print state reference a resizable
161 vector.
162
820bb96d
JB
163Mon Oct 14 19:25:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
164
165 * alist.c (scm_sloppy_assq, scm_sloppy_assv, scm_sloppy_assoc):
166 Don't crash when passed an improper list terminated by a
167 non-immediate value.
168
2a786759
JB
169Mon Oct 14 19:08:33 1996 Jim Blandy <jimb@floss.cyclic.com>
170
171 Allocate data for structures on an eight-byte boundary, as
172 required by the tagging system.
173 * struct.c (alloc_struct): New function.
174 (scm_make_struct, scm_make_vtable_vtable): Call it.
175 * struct.h (scm_struct_n_extra_words): Bump to 3.
176 (scm_struct_i_ptr): New "field".
177 * gc.c (scm_gc_sweep): When we need to free the data, use the
178 information stored by alloc_struct to find the beginning of the
179 block allocated to the structure, so we can free it.
180
2dfc85c0
MD
181Mon Oct 14 17:07:55 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
182
183 * init.c (scm_boot_guile_1): Moved scm_init_struct in front of
184 scm_init_stacks.
185
186 * debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros.
187 (scm_debug_info): New member: id.
188
189 * stacks.c: Stacks are now represented as structs; Stacks have an
190 id given to them by `start-stack'.
191 (scm_last_stack_frame): Added predicates `stack?' and `frame?'.
192
193 * stacks.h: Added declarations of scm_stack_p and scm_frame_p;
194 Changed stack representation.
195
196 * debug.c (scm_procedure_name): Try procedure property `name' for
197 compiled closures aswell.
198
199 * gc.c (scm_init_storage): Initialize scm_stand_in_procs to SCM_EOL.
200
201 * eval.c: scm_i_name moved to gsubr.c
202 (scm_m_define): Record names of all kinds of procedure
203 objects. (Earlier, only closures were recorded.)
204
205 * procprop.h: Added declaration of scm_i_name.
206
207 * gsubr.c: Added global scm_i_name. Added #include "procprop.h".
208 (scm_make_gsubr): Record names of compiled closures.
209
4f0292cf
MD
210Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
211
212 * debug.c, debug.h: Removed obsolete code.
213
214 * continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
215 stacks.c: Renamed regs --> scm_contregs.
216
217 * print.c (scm_free_print_state): Cleanup print state before
218 returning it to pool. It is better to do it here than in
219 scm_prin1 since scm_prin1 is called often.
220
221 * srcprop.c (scm_source_properties, scm_set_source_properties_x,
222 s_set_source_property_x): Check that first argument is a pair or a
223 memoized object.
224
225 * srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy,
226 scm_i_line, scm_i_column and scm_i_breakpoint global.
227
228 * init.c: Added #include "backtrace.h" and #include "stacks.h".
229 (scm_boot_guile_1): Added calls to scm_init_backtrace and
230 scm_init_stacks.
231
232 * debug.h: Added debug object smob declaration and macro
233 definitions.
234
235 * configure.in: Build with backtrace.o and stacks.o if debug
236 support enabled.
237
238 * Makefile.in: Added entries for new files: backtrace.c,
239 backtrace.h, stacks.c and stacks.h.
240
241 * symbols.c (scm_sym2ovcell): Fixed documentation.
242
243 * _scm.h (min, max): Added.
244
245 * async.c: Moved `min' macro to _scm.h.
246
247 * debug.h: New debug options SCM_BACKTRACE_MAXDEPTH and
248 SCM_BACKTRACE_INDENT.
249
250 * eval.c: Added new debug options `maxdepth' and `indent'.
251
252 * print.c (make_print_state): Bugfix: Initialize pstate->ceiling.
253
254 * print.h: Added selector SCM_PRINT_STATE.
255
256 * print.c: New functions: scm_make_print_state,
257 scm_free_print_state.
258
259 * print.h: Added declarations for scm_make_print_state,
260 scm_free_print_state.
261
262* * debug.c (scm_m_start_stack): New acro.
263
264 * debug.h: Small cleanup.
265
266 * init.c (scm_boot_guile_1): Moved scm_init_debug below
267 scm_init_eval.
268
1cc91f1b
JB
269Sun Oct 13 20:14:53 1996 Jim Blandy <jimb@totoro.cyclic.com>
270
271 * __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
272 arbiters.c, arbiters.h, async.c, async.h, boolean.c, boolean.h,
273 chars.c, chars.h, continuations.c, continuations.h, debug.c,
274 debug.h, dynwind.c, dynwind.h, eq.c, eq.h, error.c, eval.c,
275 eval.h, extchrs.c, extchrs.h, fdsocket.c, fdsocket.h, filesys.c,
276 filesys.h, fports.c, fports.h, gc.c, gdb_interface.h, gdbint.c,
277 gdbint.h, genio.c, genio.h, gscm.c, gscm.h, gsubr.c, gsubr.h,
278 hash.c, hash.h, hashtab.c, hashtab.h, init.c, ioext.c, ioext.h,
279 kw.c, kw.h, libguile.h, mallocs.c, mallocs.h, markers.c,
280 markers.h, mbstrings.c, mbstrings.h, numbers.c, numbers.h,
281 objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h,
282 ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
283 procprop.h, procs.c, procs.h, ramap.c, ramap.h, read.c, read.h,
284 root.c, scmsigs.c, scmsigs.h, sequences.c, sequences.h, simpos.c,
285 simpos.h, smob.c, socket.c, socket.h, srcprop.c, srcprop.h,
286 stackchk.c, stackchk.h, stime.c, stime.h, strings.c, strings.h,
287 strop.c, strop.h, strorder.c, strorder.h, strports.c, strports.h,
288 struct.c, struct.h, symbols.c, symbols.h, tag.c, tag.h, unif.c,
289 unif.h, variable.c, variable.h, vectors.c, vectors.h, version.c,
290 version.h, vports.c, vports.h, weaks.c, weaks.h: Use SCM_P to
291 declare functions with prototypes. (Patch thanks to Marius
292 Vollmer.)
293
294 More prototype-related changes from Marius Vollmer:
295 * gdb_interface.h: Wrapped header file in #ifdef/#endif
296 * gscm.h (gscm_run_scm): Added prototype for `initfn' paramter.
297 * ports.h (ptobfuns): Added prototypes. This means some casting in
298 fports.c.
299 * fports.c: Added casts for initializations, since the functions
300 are defined to take FILE * as their stream argument, not SCM.
301 * fdsocket.c, fdsocket.h: Made `init_addr_buffer' static.
302 * genio.c (scm_gen_puts): Changed `unsigned char *str_data' parameter
303 to `char *str_data' to conform to prototype.
304
01f61221
GH
305Sat Oct 12 21:49:29 1996 Gary Houston <ghouston@actrix.gen.nz>
306
307 * error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error.
308
309 * __scm.h (lgh_error): removed, lgh shouldn't be in libguile.
310
311 * stime.c, stime.h: use SCM_P method.
312
0682f7ab
JB
313Sat Oct 12 16:16:25 1996 Jim Blandy <jimb@floss.cyclic.com>
314
315 * eval.c (scm_nconc2last): Don't accept an empty list; apply must
316 be given at least two arguments. Insist that lst's last element
317 be a list, but don't make any requirements of its predecessors.
318
e886fe62
JB
319Fri Oct 11 03:58:25 1996 Jim Blandy <jimb@floss.cyclic.com>
320
321 * eval.c (scm_nconc2last): Revert last change; there seems to be
322 other stuff going on here.
323
1eaceb61
JB
324Fri Oct 11 02:43:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
325
326 * eval.c (scm_nconc2last): Make sure that each element of lst
327 (which is a list of argument lists, except for the tail) is a
328 proper list, i.e., finite and terminated by '().
329
330Thu Oct 10 21:09:13 1996 Jim Blandy <jimb@totoro.cyclic.com>
331
332 * unif.c (scm_ra_set_contp): Localize `inc' declaration.
333 Clarifies flow.
334
335 * struct.c (scm_make_struct, scm_make_vtable_vtable): Use the
336 symbolic name for the tag, scm_tc3_cons_gloc, instead of just
337 saying "1".
338
339 * vectors.c (scm_make_vector): Fill vectors with the undefined
340 value, to help make Guile Scheme code more portable to other
341 Schemes.
342
343 * symbols.c (scm_intern_obarray_soft, scm_sysintern): Doc fixes.
344 * symbols.h, tags.h: Doc fixes.
345
a857bf16
JB
346Wed Oct 9 19:39:29 1996 Jim Blandy <jimb@floss.cyclic.com>
347
348 * async.c (scm_take_signal): Doc fixes.
349
40920279
JB
350Mon Oct 7 22:30:34 1996 Jim Blandy <jimb@totoro.cyclic.com>
351
352 * numbers.c (scm_divbigint): When the remainder is zero, we don't
353 want to subtract it from the modulus; we just want to leave it
354 alone.
355
e93ffe59
MD
356Mon Oct 7 00:14:17 1996 Mikael Djurfeldt <mdj@kenneth>
357
358 * init.c (scm_boot_guile_1): Bugfix: i --> base in argument to
359 `scm_init_threads'.
360
361 * throw.h (scm_catch_apply): Removed the `lazyp' argument.
362
363 * throw.c (scm_catch_apply): Finished implementation of
364 `lazy-catch'.
365
52f4f4d6
GH
366Sun Oct 6 05:26:05 1996 Gary Houston <ghouston@actrix.gen.nz>
367
368 * filesys.c (scm_sys_select): move SCM_ALLOW_INTS past the sreturn
369 check.
370 (scm_init_filesys): set "i/o-extensions" feature.
371 include feature.h.
372
00fb6d20
JB
373Sat Oct 5 12:22:00 1996 Jim Blandy <jimb@floss.cyclic.com>
374
375 * Makefile.in (root.o): Correct dependencies.
376
8b4a21d1
MD
377Sat Oct 5 18:40:42 1996 Mikael Djurfeldt <mdj@kenneth>
378
379 * Makefile.in: Added dependency entry for root.o.
380
381 * continuations.c, debug.[ch], eval.c, gscm.c init.c, root.c,
382 throw.c: Renamed last_debug_info_frame -> scm_last_debug_frame.
383
384 * init.c (scm_start_stack): Set initial root continuation number
385 to 0.
386
387 * procs.c: New function: scm_thunk_p.
388
389 * procs.h: Added declarations of scm_thunk_p.
390
391 * root.c: Renamed `call-with-new-root' -->
392 `call-with-dynamic-root'.
393 (cwdr): Removed allocation of new root state. This should be done
394 separately by use of scm_make_root.
395 (scm_apply_with_dynamic_root): New function: Does what it
396 sounds like. Needed when spawning threads.
397
398 * root.h: Added member last_debug_frame to root state.
399 Added #include "libguile/debug.h"
400
401 * throw.c: Renamed scm_catch --> scm_catch_apply and added more
402 arguments. The motivation is that code in root.c needs catch
403 functionality, and we want to avoid code duplication.
404 New functions: scm_catch, scm_lazy_catch. These are wrappers for
405 scm_catch_apply. scm_lazy_catch is intended to introduce catch
406 handlers that run without popping the stack into the dynwind
407 chain.
408
409 * throw.h: Added prototypes for scm_catch_apply and
410 scm_lazy_catch.
411
5614fe04
MD
412Thu Oct 3 11:12:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
413
414 * root.h (scm_root, scm_set_root): Decouple thread support details
415 by introducing the selector SCM_THREAD_LOCAL_DATA and the mutator
416 SCM_SET_THREAD_LOCAL_DATA.
417
418 * print.c (scm_iprlist): Bugfix: Added SCM_ECONSP tests in hare
419 and tortoise scanning loop.
420
c90c9685
JB
421Thu Oct 3 00:04:53 1996 Jim Blandy <jimb@totoro.cyclic.com>
422
423 * Makefile.in: Rebuild dependencies.
424
425 * libguile.h: #include "libguile/print.h" before "smob.h", since
426 the latter uses the print_state structure.
427
428 * throw.c (scm_ithrow): Use the correct variable when checking to
429 see if a given element of scm_dynwinds is a valid catch.
430
431 * throw.c (scm_ithrow): If scm_dynwinds has invalid list
432 structure, abort; don't just silently ignore the garbage.
433
434 * _scm.h: #include "print.h" here, since it seems to be used just
435 about everywhere.
436 * eval.c, gdbint.c, genio.h, numbers.h, smob.h, srcprop.c,
437 strports.c, unif.h: Don't #include "print.h".
438
951241c9
MD
439Tue Oct 1 05:15:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
440
441 * feature.h (scm_loc_features): Removed external declaration.
442 (Bug fix suggested by Petr Adamek <adamek@mit.edu>.)
443
1dd25d53
MD
444Tue Oct 1 00:00:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
445
446 * feature.c (scm_init_feature): Added threads feature (needs to be
447 initialized here, since features doesn't exist when
448 scm_init_threads is called).
449
450 * libguile.h: Added #include "libguile/../threads/threads.h".
451 (This is a kludge to get thread support working. This should be
452 fixed.)
453
454 * configure.in, acconfig.h: Added flags for thread support.
455
456 * scmsigs.c: Define `signal' to be `pthread_signal' if using
457 mit-pthreads.
458
459 * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and
460 SCM_THREAD_CRITICAL_SECTION_END. Moved marking of root data to
461 root.c:mark_root.
462
463 * _scm.h: Added conditional #include "threads.h"
464
465 * __scm.h (SCM_ASYNC_TICK): Added call to macro
466 SCM_THREADS_SWITCHING_CODE.
467
468 * init.c (scm_start_stack): Call `scm_make_root' to dynamically
469 allocate the basic dynamic root object.
470 (scm_boot_guile): Added call to scm_init_root.
471
472* * root.c, root.h: Added root smob.
473 (cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New
474 functions: Implements dynamic roots mostly according to spec in
475 SCM manual. Main difference is that the second argument is a
476 throw handler rather than an error "thunk".
477
478 * root.h: Added declaration of scm_init_root.
479
480 * root.c: Added #include "genio.h", #include "smob.h", #include
481 "pairs.h", #include "throw.h", #include "dynwind.h", #include
482 "eval.h"
483 (scm_init_root): Added #include "root.x".
484
485 * throw.c: Added #include "stackchk.h"
486 (scm_catch): Changed SCM_DEFER_INTS --> SCM_REDEFER_INTS and
487 SCM_ALLOW_INTS --> SCM_REALLOW_INTS. This is so that scm_catch
488 can be used in scm_call_with_new_root; Added reenabling of stack
489 checking when catching a throw.
490
c90c9685
JB
491Mon Sep 30 21:48:11 1996 Jim Blandy <jimb@totoro.cyclic.com>
492
493 * list.c, list.h: Use SCM_P instead of CPP hair. Doc fixes.
494
495 * list.c (scm_member, scm_memv, scm_memq): Return #f if a matching
496 element is not found, as per R4RS.
497
498Sat Sep 28 18:13:01 1996 Jim Blandy <jimb@totoro.cyclic.com>
499
500 * list.c: Doc fixes throughout.
501
dbece3a2
GH
502Sat Sep 28 02:07:43 1996 Gary Houston <ghouston@actrix.gen.nz>
503
504 * strings.c, strings.h: (scm_makfrom0str, scm_makefrom0str_opt:
505 declare the char * to be const. Avoids a warning in rgx.c.
506
507 * ports.h: spelling fix.
508
509 * filesys.c (scm_sys_stat, scm_sys,lstat): include file name in
510 error messages.
511
512 * load.c (scm_sys_try_load_path): throw an error if file not found
513 (like it says it in NEWS).
514
c90c9685
JB
515Fri Sep 27 18:27:01 1996 Jim Blandy <jimb@totoro.cyclic.com>
516
517 * symbols.c (scm_intern_obarray_soft): Initialize the new symbol's
518 PROPS slot to '(), not #f; it's an empty alist.
519
520 * throw.h, throw.c: Use SCM_P instead of #if hair.
521
522 Remove special support for uncaught throws; see throw.c for
523 rationale.
524 * throw.c (uncaught_throw): New function.
525 (scm_ithrow): Call uncaught_throw if we don't find a throw
526 target; don't mess with scm_bad_throw_vcell.
527 (scm_bad_throw_vcell): Variable deleted.
528 (scm_init_throw): Don't initialize it.
529
530 * throw.c (scm_ithrow): Don't let outer key matches shadow inner
531 #t catches.
532
533Wed Sep 25 04:35:50 1996 Jim Blandy <jimb@totoro.cyclic.com>
534
535 * numbers.c (scm_istr2int): If the number is short (as most
536 numbers are), just call scm_small_istr2int to deal with it.
537 (scm_small_istr2int): New function, created by un-#ifdefing the
538 non-bignum version of scm_istr2int and renaming it.
539
b59b97ba
GH
540Tue Sep 24 06:48:38 1996 Gary Houston <ghouston@actrix.gen.nz>
541
542 * load.c (scm_sys_try_load): don't check whether value returned
543 by scm_open_file is #f, it won't be. Always return SCM_UNSPECIFIED.
544 Change the Scheme name from %try-load to primitive-load.
545
546 * error.c (scm_error): convert a NULL message to SCM_BOOL_F.
547 Can avoid passing a message, allowing it to be derived in the
548 error handler (e.g., if we want to throw to the key both from
549 Scheme and C).
550
a0c97697
MD
551Mon Sep 23 00:42:15 1996 Mikael Djurfeldt <mdj@kenneth>
552
553* * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular
554 references now have a new appearance which is more compact and
555 also gives a clue about what the target of the reference is.
556 By setting parameters in the print state, more fancy printing can
557 be achieved. This is used by the (not yet commited) backtrace
558 code.
559
ec98b504
MD
560Sun Sep 22 17:10:06 1996 Mikael Djurfeldt <mdj@kenneth>
561
562 * eval.c, numbers.h, unif.h, smob.h, srcprop.c: Added #include
563 "print.h"
564
565 * print.c: Added #include "struct.h". Removed function
566 scm_prlist.
567
568 * print.h: Modified prototypes for scm_iprlist, scm_prin1 and
569 scm_iprin1. Removed prototype for scm_prlist.
570
571 * arbiters.c (prinarb),
572 async.c (print_async),
573 debug.c (prindebugobj, prinmemoized),
574 eval.c (prinprom, prinmacro),
575 filesys.c (scm_fd_print, scm_dir_print),
576 kw.c (print_kw),
577 mallocs.c (prinmalloc),
578 numbers.c, numbers.h (scm_floprint, scm_bigprint),
579 smob.h (scm_smobfuns),
580 srcprop.c (prinsrcprops),
581 throw.c (prinjb),
582 unif.c, unif.h (scm_raprin1, rapr1),
583 variable.c (prin_var): Changed argument `int writing' to
584 `scm_print_state *pstate'.
585
586 * init.c (scm_boot_guile): Moved scm_init_struct upwards so
587 that it will be called before scm_init_print.
588
589 * print.c (scm_prin1): Print states are now allocated when calling
590 scm_prin1 and then passed around to all printing functions as an
591 argument. A cache `print_state_pool' enables reuse of print
592 states.
593 (scm_make_print_state): New function.
594 (scm_iprin1): Adaption to print states.
595 (scm_iprlist): An initial "hare and tortoise" scan brings down
596 time complexity to O (depth * N). (Better time complexity will be
597 achieved when the printing code is completely rewritten.)
598
c90c9685
JB
599Fri Sep 20 22:01:36 1996 Jim Blandy <jimb@totoro.cyclic.com>
600
601 * aclocal.m4 (GUILE_STRUCT_UTIMBUF): Use AC_CACHE_CHECK instead of
602 AC_CACHE_VAL; #define UTIMBUF_NEEDS_POSIX outside AC_CACHE_VAL, so
603 it gets done whether or not the cache variable has a value.
604
605Thu Sep 19 17:06:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
606
607 Distinguish #f and ().
608 * __scm.h: #undef SICP.
609 * pairs.h (SCM_EOL): Delete this definition, equating it with
610 SCM_BOOL_F.
611 * tags.h (SCM_EOL): Give it a new definition here; I think I found
612 the value it used to have. Doc fixes, too.
613
d99bcec4
MD
614Thu Sep 19 15:33:51 1996 Mikael Djurfeldt <mdj@kenneth>
615
ec98b504
MD
616 * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref,
617 scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom
618 Lord's implementation of structs, allowing for tail arrays as
619 described in the manual. Also fixed some bugs. (Both the interface
620 and the implementation should be improved.)
621
d99bcec4
MD
622 * read.c (scm_init_read): Removed #ifdef READER_EXTENSIONS
623
624 * print.c, print.h: Closures now print like #<procedure foo (x)>.
625 People who whish to see the source can do `(print-enable 'source)'.
626 Removed #ifdef DEBUG_EXTENSIONS.
627
f5bf2977
GH
628Thu Sep 19 00:00:29 1996 Gary Houston <ghouston@actrix.gen.nz>
629
630 * filesys.c (scsm_sys_stat): don't SIGSEGV if argument is an
631 integer (assuming for now accepting an integer is a good thing).
632
633 * error.c, fports.c: replace use of %S in lgh_error args with %s.
634 %S will be used instead for write'ing arguments.
635
636 * unif.c (scm_transpose_array): change arguments in the SCM_WNA
637 asserts. fix a few other asserts.
638 (scm_aind, scm_enclose_array, scm_array_in_bounds_p,
639 scm_uniform_vector_ref, scm_array_set_x,
640 scm_dimensions_to_unform_array): change args in
641 SCM_WNA SCM_ASSERTS and change scm_wta's to scm_wrong_num_args.
642 strop.c (scm_substring_move_left_x, scm_substring_move_right_x,
643 scm_substring_fill_x): likewise.
644 gsubr.c (scm_gsubr_apply): likewise.
645 eval.c (SCM_APPLY): likewise.
646
647 * eval.c (4 places): replace scm_everr with lgh_error or
648 scm_wrong_num_args.
649
650 * error.c, error.h (scm_wrong_num_args, scm_wrong_type_arg,
651 scm_memory_error): new procedures.
652* scm_everr: deleted. can use scm_wta, dropping first two args.
653 scm_error: convert NULL subr to SCM_BOOL_F.
654
655 * __scm.h: don't define SCM_STACK_OVFLOW, SCM_EXIT, SCM_ARG6, SCM_ARG7,
656 SCM_ARGERR.
657
658 * stackchk.c (scm_report_stack_overflow): use lgh_error instead
659 of scm_wta.
660
661 * error.c, error.h: new error keys: scm_arg_type_key,
662 scm_args_number_key, scm_memory_alloc_key, scm_stack_overflow_key,
663 scm_misc_error_key.
664 scm_wta: reimplement using lgh_error instead of scm_everr.
665
7dd604b9
MD
666Wed Sep 18 17:13:35 1996 Mikael Djurfeldt <mdj@kenneth>
667
668 * gdbint.c: scm_lread now has one more argument.
669
670 * ports.c, ports.h: Name change: scm_\(line\|column\)_number -->
671 scm_port_\1; Added mutator scm_set_port_filename_x (used when
672 loading source from non-file ports, which, e. g., happens when
673 using the Emacs interface).
674
675 * fports.c (scm_open_file): Don't call scm_makfrom0str on a scheme
676 object.
677
678 * read.c: Added code for recording of positions of source code
679 expressions; New functions: recsexpr, scm_lreadrecparen;
680 _scm_make_srcprops --> scm_make_srcprops
681 (scm_flush_ws): Removed updating of positions counters. This work
682 is already done by scm_gen_getc
683
684 * read.h: Added prototype for scm_lreadrecparen
685
686 * print.c: Added #include "alist.h"
687
688 * eval.c: Added #include "hash.h"
689
690 * eq.c: Added #include "ramap.h"
691
692 * options.c: Documentation fixes.
693
694 * srcprop.c (scm_finish_srcprop): Bugfix: update ptr.
695 (scm_init_srcprop): Adjusted size of initial source-whash. Name
696 changes: tc16_srcprops --> scm_tc16_srcprops, _scm_make_srcprops
697 --> scm_make_srcprops
698
699 * srcprop.h: Name changes: tc16_srcprops --> scm_tc16_srcprops,
700 _scm_make_srcprops --> scm_make_srcprops; Remove one layer of
701 function calls in the definition of the whash access macros.
702
87735856
JB
703Tue Sep 17 11:33:16 1996 Lee Iverson <leei@Canada.AI.SRI.COM>
704
705 * init.c (scm_boot_guile): Add level of indirection to
706 scm_boot_guile_1() to ensure that stack base pointer is properly
707 initialized. There was no guarantee that variable i was the
708 highest/lowest variable on stack (i.e. the call frame of
709 scm_boot_guile was not completely protected from gc).
710
ebf7394e
GH
711Tue Sep 17 01:40:56 1996 Gary Houston <ghouston@actrix.gen.nz>
712
713 * ports.h (scm_port_table): put back file_name, it will be used to
714 support debugging. Undo related changes in fports.c, ioext.c,
715 ports.c, gc.c.
716
52859adf
GH
717Sun Sep 15 03:58:29 1996 Gary Houston <ghouston@actrix.gen.nz>
718
19639113
GH
719 * ports.h (scm_port_table): remove file_name member for now, it seems
720 undesirable.
721 * fports.c (scm_open_file): don't set file_name in PTAB.
722 (prinfport): don't use file_name in PTAB.
723 * ioext.c (scm_sys_duplicate_port): don't set file_name in PTAB.
724 * ports.c (scm_add_to_port_table): don't intialize file_name.
725 (scm_port_file_name): remove for now.
726 * gc.c (scm_gc_mark): don't mark PTAB file_name.
727
728 * fports.h (scm_mkfile): prototype deleted.
729 * fports.c (scm_mkfile): merged into scm_open_file to simplify.
730
52859adf
GH
731 * debug.c, unif.c: use scm_out_of_range instead of
732 wta for range errors (ASSERT still needs work).
733
734 * error.c, error.h (scm_out_of_range): new procedure.
735
736 * error.c, error.h (scm_out_of_range_key): new key.
737
738 * posix.c (scm_sync): #else was missing.
739
740 * error.c, error.h: append _key to names scm_num_overflow and
741 scm_system_error.
742
743 * __scm.h (SCM_SYSMISSING, SCM_NUM_OVERFLOW): use SCM_BOOL_F instead
744 of consing an empty list.
745 (SCM_SYSERROR etc.): move into error.c, make them procedures instead
746 of macros, saves code and string space.
747 error.c, fports.c, numbers.c, posix.c, ioext.c, filesys.c, socket.c,
748 fdsocket.c, simpos.c: change names of SCM_SYSERROR etc., to
749 lower case. Rename scm_syserror_m to scm_syserror_msg.
750 error.h: prototypes for new procedures.
751
e1724d20
GH
752Sat Sep 14 03:35:41 1996 Gary Houston <ghouston@actrix.gen.nz>
753
754 * numbers.c: use SCM_NUM_OVERFLOW instead of scm_wta or ASSERT.
755
756 * error.c, error.h: setup scm_num_overflow key.
757
758 * __scm.h: SCM_NUM_OVERFLOW: macro for reporting numerical overflow.
759 Remove definition of SCM_OVSCM_FLOW.
760
761 * fports.c (scm_open_file): use SCM_SYSERROR_M.
762
763 * __scm.h: SCM_SYSERROR_M: new macro for system errors with an
764 explicit message and args.
765
766 * error.c, error.h, __scm.h: change system_error_sym to
767 scm_system_error.
768
769 * error.c (system_error_sym): remove leading %% from the Scheme name
770 "%%system-error".
771
772 * __scm.h (SCM_SYSMISSING): Redefine using lgh_error.
773
05f92869
MD
774Fri Sep 13 12:58:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
775
776 * __scm.h, chars.c, debug.c, eval.c, eval.h, extchrs.c, extchrs.h,
777 fdsocket.c, feature.c, mbstrings.c, mbstrings.h, numbers.c,
778 numbers.h, print.c, scmhob.h, simpos.h, symbols.c, symbols.h,
779 tags.h, throw.c, variable.h: Name cleanup. Lots of xxxSCM_yyy
780 renamed. (These were introduced by unsupervised name
781 substitution.)
782
9a15c164
MD
783Fri Sep 13 01:19:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
784
785* * print.c: Added code for detection of circular references during
786 printing. (init_ref_stack, grow_ref_stack): New functions. Added
787 a hook for printing of closures (accessible via print options).
788 This leads to a split of calls to scm_iprin1 into two classes:
789 elementary print operations (e. g. the code which prints a smob)
790 still use scm_iprin1 while top level calls (like scm_display) use
791 scm_prin1. scm_prin1 begins by clearing the data structure used
792 to record reference information.
793
794 * print.h: Added declarations of scm_prin1 and scm_prlist.
795
796 * strports.c (scm_strprint_obj): scm_iprin1 --> scm_prin1
797
798 * gscm.c (gscm_portprint_obj): scm_iprin1 --> scm_prin1
799
800 * gscm.h (gscm_print_obj): scm_iprin1 --> scm_prin1
801
802 * error.c (err_head): scm_iprin1 --> scm_prin1
803
804 * debug.c: Adjusted header comment.
805
806 * tags.h: Typo.
807
1de18284
JB
808Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
809
810 * strerror.c: Doc fix.
811
7dc4b37a
MD
812Thu Sep 12 00:00:32 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
813
814 * gdbint.c (gdb_read): Now possible to run during GC.
815 (unmark_port, remark_port): New functions.
816
817 * symbols.h (SCM_SETLENGTH): Use SCM_SETCAR.
818
819 * read.c (scm_grow_tok_buf): Use scm_vector_set_length_x instead
820 of allocating a new string object. Also, increase size by
821 the factor 2 instead of 1.5.
822
d92b2b89
JB
823Wed Sep 11 15:10:38 1996 Petr Adamek <jimb@floss.cyclic.com>
824
825 * __scm.h (SCM_P): Corrected to run under traditional C.
826
827 * _scm.h (SCM_PROC): Extraneous semicolon (outside functions)
828 removed.
829
830 * async.c: Calls to scm_sysintern corrected.
831
832 * async.h (scm_async_clock): Redundant declaration removed.
833
834 * continuations.c (scm_dynthrow): Redundant declaration removed.
835
836 * debug.c (scm_single_step, scm_memoized, scm_lookup_soft):
837 Definition typos corrected.
838
839 * debug.h: Missing declarations of functions in debug.c added
840 (lots).
841
842 * eval.h (scm_eval_args, scm_deval_args, scm_m_undefine):
843 Missing declarations to functions in eval.c added.
844
845 * filesys.c: Possibly uninitialized variable rv.
846
847 * gc.h (scm_object_addr, scm_unhash_name): Missing
848 declarations of functions defined in gc.c added.
849
850 * genio.c: Possible typos str_data -> wstr_data. ???
851
852 * genio.c: Possibly unintended shadowing of local variable
853 `int c' (gotos out of scope of inner `c'). ???
854
855 * init.c: Uninitialized `SCM last' may be used.
856
857 * ioext.h: (scm_sys_isatty_p): Typo.
858
859 * list.h (scm_list_head): Missing prototype for function in
860 list.c added.
861
862 * numbers.c (scm_two_doubles): Changed from extern to static
863 (is used only within numbers.c).
864
865 * numbers.h: Repeated declarations removed.
866
867 * ports.h (scm_close_all_ports_except): Declaration for the
868 function defined in ports.c added.
869
870 * posix.h: Missing declarations added.
871
872 * procs.h (scm_make_subr_opt): Missing declaration added.
873
874 * socket.h (scm_sys_gethost): Missing declaration added.
875
876 * socket.h: Redundant declarations removed (they are in fdsocket.h).
877
878 * srcprop.h (scm_set_source_property_x, scm_finish_srcprop):
879 Missing declarations added.
880
881 * stime.h (scm_get_internal_real_time): Repeated declarations removed.
882
883 * struct.c: Uninitialized variable `SCM answer' may be used.
884
885 * unif.c (l2ra): Declaration prototype.
886
887 * unif.c (scm_array_equal_p): Dummy definition removed (it is
888 defined in ramap.c).
889
890 * unif.h (scm_raprin1, scm_istr2bve, scm_array_equal_p):
891 Redundant declarations removed (they are in ramap.h).
892
893 * variable.h (scm_make_udvariable,
894 scm_make_undefined_variable): Declaration corrected to
895 correspond variable.c.
896
897 * vectors.h (scm_vector_move_left_x, scm_vector_move_right_x):
898 Missing declarations added.
899
21dc7b47
JB
900Wed Sep 11 14:38:50 1996 Jim Blandy <jimb@floss.cyclic.com>
901
902 * Makefile.in (distclean): Don't forget to delete fd.h.
903
c5d51954
JB
904Tue Sep 10 14:01:46 1996 Jim Blandy <jimb@floss.cyclic.com>
905
30d14d55
JB
906 * fd.h.in, tags.h: Trivial cleanups.
907
4c11c885
JB
908 * marksweep.c, marksweep.h: Deleted; marksweep.c was empty, and
909 marksweep.h just declared functions from gc.c.
910 * gc.h, libguile.h: Don't #include "marksweep.h".
911 * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit
912 marksweep.o, marksweep.h, marksweep.c, and marksweep.x. Other
913 dependencies updated.
914
915 * libguile.h: Don't #include "files.h"; it's been deleted.
916
07fc1e20
JB
917 * files.c (scm_sys_delete_file): Moved to filesys.c.
918 File is now empty; deleted.
919 * files.h: Deleted.
920 * filesys.c: scm_sys_delete_file is now here. Remove
921 #if's; they seem to rely on remnants of an old portability
922 regimen. If the problems come up again, solve them properly,
923 using autoconf. Specifically: Don't test M_SYSV, and #define
924 remove to be unlink if it's #defined; don't use remove just
925 because HAVE_STDC_HEADERS is #defined.
926 * filesys.h: Add declarations for scm_sys_delete_file.
927 * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit
928 files.o, files.h, files.c, and files.x.
929 * init.c: Don't #include "files.h", and don't call scm_init_files.
930
35440081
JB
931 Use SCM_P instead of PROTO; the latter intrudes on the user's
932 namespace.
933 * params.h: Deleted; definition of SCM_P moved to...
934 * __scm.h: ... here, where it replaces PROTO macro.
935 * libguile.h, smob.h: Don't #include "params.h".
936 * continuations.c, error.h, feature.h, gc.c, gc.h, init.h, load.h,
937 smob.h: Fix prototypes accordingly.
938 * Makefile.in: Update dependencies.
939 (inner_h_files): Remove params.h.
940
c5d51954
JB
941 * gc.c: #include "gc.h"; every module should include its header,
942 to let the compiler cross-check the declarations against the
943 definitions.
944
945 * eq.h, files.h, hashtab.h, load.h, mallocs.h, scmsigs.h,
946 simpos.h: #include "libguile/__scm.h".
947
de15ba3a
JB
948Mon Sep 9 20:00:15 1996 Jim Blandy <jimb@floss.cyclic.com>
949
81643a34
JB
950 * init.c: Don't forget to #include smob.h and init.h.
951 * Makefile.in: Dependencies updated.
952
de15ba3a
JB
953 * smob.h: Use PROTO instead of #if __STDC__.
954
955 * continuations.c (scm_dynthrow): Use PROTO, not SCM_P.
956
957 * __scm.h: Doc fixes.
958
959 * __scm.h, libguile.h: Use "quotes" in the #includes, not
960 <angles>; this allows `make depends' to work properly.
961
962 * libguile.h: #include smob.h and pairs.h before the others; they
963 define typedefs used by other headers.
964
965 C files should #include only the header files they need, not
966 libguile.h (which #includes all the header files); the pointless
967 recompilation was wasting my time.
968 * Makefile.in (all .o dependency lists): Regenerated.
969 * libguile.h: Don't try to get a definition for size_t here...
970 * __scm.h: Do it here.
971 * _scm.h: Since this is the internal libguile header, put things
972 here that all (or a majority) of the libguile files will want.
973 Don't #include <libguile.h> here; that generates dependencies on
974 way too much. Instead, get "__scm.h", "error.h", "pairs.h",
975 "list.h", "gc.h", "gsubr.h", "procs.h", "numbers.h", "symbols.h",
976 "boolean.h", "strings.h", "vectors.h", "root.h", "ports.h", and
977 "async.h".
978 * alist.c: Get "eq.h", "list.h", "alist.h".
979 * append.c: Get "append.h", "list.h".
980 * arbiters.c: Get "arbiters.h", "smob.h".
981 * async.c: Get "async.h", "smob.h", "throw.h", "eval.h".
982 * boolean.c: Get "boolean.h".
983 * chars.c: Get "chars.h".
984 * continuations.c: Get "continuations.h", "dynwind.h", "debug.h",
985 "stackchk.h".
986 * debug.c: Get "debug.h", "feature.h", "read.h", "strports.h",
987 "continuations.h", "alist.h", "srcprop.h", "procprop.h", "smob.h",
988 "genio.h", "throw.h", "eval.h".
989 * dynwind.c: Get "dynwind.h", "alist.h", "eval.h".
990 * eq.c: Get "eq.h", "unif.h", "smob.h", "strorder.h",
991 "stackchk.h".
992 * error.c: Get "error.h", "throw.h", "genio.h", "pairs.h".
993 * eval.c: Get "eval.h", "stackchk.h", "srcprop.h", "debug.h",
994 "hashtab.h", "procprop.h", "markers.h", "smob.h", "throw.h",
995 "continuations.h", "eq.h", "sequences.h", "alist.h", "append.h",
996 "debug.h".
997 * fdsocket.c: Get "fdsocket.h", "unif.h", "filesys.h".
998 * feature.c: Get "feature.h".
999 * files.c: Get "files.h".
1000 * filesys.c: Get "filesys.h", "smob.h", "genio.h".
1001 * fports.c: Get "fports.h", "markers.h".
1002 * gc.c: Get "async.h", "unif.h", "smob.h", "weaks.h",
1003 "genio.h", "struct.h", "stackchk.h", "stime.h".
1004 * gdbint.c: Get "gdbint.h", "chars.h", "eval.h", "print.h",
1005 "read.h", "strports.h", "tag.h".
1006 * genio.c: Get "genio.h", "chars.h".
1007 * gsubr.c: Get "gsubr.h", "genio.h".
1008 * hash.c: Get "hash.h", "chars.h".
1009 * hashtab.c: Get "hashtab.h", "eval.h", "hash.h", "alist.h".
1010 * init.c: Get everyone who has an scm_init_mumble function:
1011 "weaks.h", "vports.h", "version.h", "vectors.h", "variable.h",
1012 "unif.h", "throw.h", "tag.h", "symbols.h", "struct.h",
1013 "strports.h", "strorder.h", "strop.h", "strings.h", "stime.h",
1014 "stackchk.h", "srcprop.h", "socket.h", "simpos.h", "sequences.h",
1015 "scmsigs.h", "read.h", "ramap.h", "procs.h", "procprop.h",
1016 "print.h", "posix.h", "ports.h", "pairs.h", "options.h",
1017 "objprop.h", "numbers.h", "mbstrings.h", "mallocs.h", "load.h",
1018 "list.h", "kw.h", "ioext.h", "hashtab.h", "hash.h", "gsubr.h",
1019 "gdbint.h", "gc.h", "fports.h", "filesys.h", "files.h",
1020 "feature.h", "fdsocket.h", "eval.h", "error.h", "eq.h",
1021 "dynwind.h", "debug.h", "continuations.h", "chars.h", "boolean.h",
1022 "async.h", "arbiters.h", "append.h", "alist.h".
1023 * ioext.c: Get "ioext.h", "fports.h".
1024 * kw.c: Get "kw.h", "smob.h", "mbstrings.h", "genio.h".
1025 * list.c: Get "list.h", "eq.h".
1026 * load.c: Get "load.h", "eval.h", "read.h", "fports.h".
1027 * mallocs.c: Get "smob.h", "genio.h".
1028 * markers.c: Get "markers.h".
1029 * mbstrings.c: Get "mbstrings.h", "read.h", "genio.h", "unif.h",
1030 "chars.h".
1031 * numbers.c: Get "unif.h", "genio.h".
1032 * objprop.c: Get "objprop.h", "weaks.h", "alist.h", "hashtab.h".
1033 * options.c: Get "options.h".
1034 * ports.c: Get "ports.h", "vports.h", "strports.h", "fports.h",
1035 "markers.h", "chars.h", "genio.h".
1036 * posix.c: Get "posix.h", "sequences.h", "feature.h", "unif.h",
1037 "read.h", "scmsigs.h", "genio.h", "fports.h".
1038 * print.c: Get "print.h", "unif.h", "weaks.h", "read.h",
1039 "procprop.h", "eval.h", "smob.h", "mbstrings.h", "genio.h",
1040 "chars.h".
1041 * procprop.c: Get "procprop.h", "eval.h", "alist.h".
1042 * procs.c: Get "procs.h".
1043 * ramap.c: Get "ramap.h", "feature.h", "eval.h", "eq.h",
1044 "chars.h", "smob.h", "unif.h".
1045 * read.c: Get "alist.h", "kw.h", "mbstrings.h", "unif.h",
1046 "eval.h", "genio.h", "chars.h".
1047 * root.c: Get "root.h", "stackchk.h".
1048 * scmsigs.c: Get "scmsigs.h".
1049 * sequences.c: Get "sequences.h".
1050 * simpos.c: Get "simpos.h", "scmsigs.h".
1051 * smob.c: Get "smob.h".
1052 * socket.c: Get "socket.h", "feature.h".
1053 * srcprop.c: Get "srcprop.h", "weaks.h", "hashtab.h", "debug.h",
1054 "alist.h", "smob.h".
1055 * stackchk.c: Get "stackchk.h", "genio.h".
1056 * stime.c: Get "stime.h"."libguile/continuations.h".
1057 * strings.c: Get "strings.h", "chars.h".
1058 * strop.c: Get "strop.h", "chars.h".
1059 * strorder.c: Get "strorder.h", "chars.h".
1060 * strports.c: Get "strports.h", "print.h", "eval.h", "unif.h".
1061 * struct.c: Get "struct.h", "chars.h".
1062 * symbols.c: Get "symbols.h", "mbstrings.h", "alist.h",
1063 "variable.h", "eval.h", "chars.h".
1064 * tag.c: Get "tag.h", "struct.h", "chars.h".
1065 * throw.c: Get "throw.h", "continuations.h", "debug.h",
1066 "dynwind.h", "eval.h", "alist.h", "smob.h", "genio.h".
1067 * unif.c: Get "unif.h", "feature.h", "strop.h", "sequences.h",
1068 "smob.h", "genio.h", "eval.h", "chars.h".
1069 * variable.c: Get "variable.h", "smob.h", "genio.h".
1070 * vectors.c: Get "vectors.h", "eq.h".
1071 * version.c: Get "version.h".
1072 * vports.c: Get "vports.h", "fports.h", "chars.h", "eval.h".
1073 * weaks.c: Get "weaks.h".
1074
1075 * stackchk.h: #include "libguile/debug.h",
1076
1077 * print.h, read.h: #include "options.h", since everyone who uses
1078 either of these files will need that.
1079
1080 * smob.h: #include "ports.h", "genio.h", and "print.h", since
1081 anyone who uses this file will need them to define the smob
1082 printing functions. Also, get markers.h, since people will need
1083 to #define the mark functions.
1084
1085 * smob.h (scm_ptobfuns, SCM_PTOBNUM): Definitions moved...
1086 * ports.h: ... to here.
1087
1088 * ports.h (scm_port_table_size): Explicitly give type as 'int';
1089 don't rely on archaic C default type rules.
1090
1091 * fports.h: #include "libguile/ports.h", since you need that in
1092 order to parse this.
1093
1094 * genio.h: #include "libguile/print.h", because you need that to
1095 parse this; don't bother #including "ports.h", since print.h gets
1096 that.
1097
1098 * error.h: Don't #include "pairs.h"; _scm.h will do that now.
1099
1100 * eval.h (scm_top_level_lookup_thunk_var): Remove declaration for
1101 this; it's now a reference to an element of *scm_root.
1102
1103 * debug.h: Don't #include "options.h"; the compiler won't be able
1104 to find that once the headers are installed; instead, #include
1105 "libguile/options.h".
1106 * gc.h: Same, with marksweep.h.
1107 * mbstrings.h: Same, with symbols.h.
1108 * scmhob.h: Same, with _scm.h.
1109 * smob.h: Same, with params.h.
1110
1111 * Makefile.in (depends): Don't nuke scmconfig.h and the generated
1112 C files; there's no need for this, and it forces recompilations
1113 unnecessarily.
1114
7cb1d4d3
GH
1115Sat Sep 7 06:57:23 1996 Gary Houston <ghouston@actrix.gen.nz>
1116
1117 * error.c (scm_error): declare scm_error_callback.
1118
1119 * error.h: prototype for scm_error_callback.
1120
1121 * __scm.h: define lgh_error.
1122 (SCM_SYSERROR): redefine using lgh_error.
1123
cceac91b
GH
1124Thu Sep 5 22:40:06 1996 Gary Houston <ghouston@actrix.gen.nz>
1125
7cb1d4d3
GH
1126 * error.c (scm_error): new procedure.
1127
1128 * error.h: prototype for scm_error.
1129
cceac91b
GH
1130 * Makefile.in (install): install scmconfig.h from the current
1131 directory, not $(srcdir).
1132
de15ba3a
JB
1133Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
1134
1135 * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,
1136 continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h,
1137 feature.h, filesys.h, fports.h, gc.h, gdbint.h, genio.h, gsubr.h,
1138 hash.h, init.h, ioext.h, kw.h, list.h, markers.h, marksweep.h,
1139 mbstrings.h, numbers.h, objprop.h, options.h, pairs.h, ports.h,
1140 posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h,
1141 sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h,
1142 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
1143 tag.h, throw.h, unif.h, variable.h, vectors.h, version.h,
1144 vports.h, weaks.h: #include "libguile/__scm.h", not
1145 <libguile/__scm.h>. This allows 'gcc -MM' to determine which
1146 dependencies are within libguile properly.
1147
393ee9a8
JB
1148Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
1149
ae5d8fbb
JB
1150 * Makefile.in (.c.x): Simplify; there's no need to run this rule
1151 when scmconfig.h doesn't exist.
1152
393ee9a8
JB
1153 * load.c (scm_sys_try_load): Correct spelling.
1154
1155 * feature.c (scm_loc_features): Make this static.
1156
1157 * Makefile.in (libpath.h): Omit trailing slash from path. We
1158 shouldn't require it of users, so why put it here?
1159
1160 Move code to initialize and search %load-path from ice-9 to C
1161 code, so we can use the load-path to find the ice-9 boot code;
1162 this makes it easier to run Guile without installing it. See
1163 corresponding changes in guile/Makefile.in.
1164 * feature.c: Move stuff concerned with the load path to load.c.
de15ba3a 1165 (scm_compiled_library_path): Deleted.
393ee9a8
JB
1166 Don't #include libpath.h here.
1167 * feature.h: Don't mention scm_compiled_library_path.
1168 * load.c: #include "libpath.h" here, as well as <sys/types.h>,
1169 <sys/stat.h>, and <unistd.h> (if present).
1170 (R_OK): #define if the system hasn't deigned to.
1171 (scm_loc_load_path): New variable.
de15ba3a 1172 (scm_init_load_path, scm_sys_search_load_path,
393ee9a8
JB
1173 scm_sys_try_load_path): New functions.
1174 (scm_init_load): Initialize scm_loc_load_path to point to the
1175 value cell of the Scheme %load-path variable.
1176 * load.h: Add declarations for scm_sys_search_load_path,
1177 scm_sys_try_load_path.
1178 * init.c: Call scm_init_load_path.
1179 * Makefile.in (feature.o, load.o): Dependencies updated.
1180
1181 * load.c, load.h: Rewrite using PROTO macro.
1182
bb82c5ff
MD
1183Thu Sep 5 01:54:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1184
1185 * gc.c (scm_cellp): New function: C predicate to determine if an
1186 SCM value can be regarded as a pointer to a cell on the heap.
1187
1188 * gc.h: Added declaration of scm_cellp.
1189
1190 * gdb_interface.h: New file: The GDB interface header from the GDB
1191 distribution.
1192
1193 * gdbint.c: New file: GDB interface.
1194
1195 * gdbint.h: New file: GDB interface.
1196
1197 * libguile.h: Added #include <libguile/gdbint.h>.
1198
1199 * init.c (scm_boot_guile): Added scm_init_gdbint.
1200
1201 * Makefile.in: Added gdb_interface.h, gdbint.[hc].
1202 Added -I.. to INCLUDE_CFLAGS (otherwise the include files won't be
1203 found if object files and source are kept separate).
1204
393ee9a8
JB
1205Wed Sep 4 14:35:02 1996 Jim Blandy <jimb@floss.cyclic.com>
1206
1207 * feature.h, feature.c: Use PROTO macro, instead of #if __STDC__.
1208
d35bbe1a
JB
1209Wed Sep 4 01:30:47 1996 Jim Blandy <jimb@totoro.cyclic.com>
1210
1211 * configure.in: Don't substitute the values of TCL_SRC_DIR and
1212 TK_SRC_DIR; they're not relevant any more.
1213
1214 * Makefile.in (CC): Don't list -Wall here; it's a GCC-specific flag.
1215 * configure.in: Instead, put it in CFLAGS here, iff we're using GCC.
1216
818a980d
JB
1217Wed Sep 4 00:55:49 1996 Jim Blandy <jimb@floss.cyclic.com>
1218
1219 * PLUGIN/guile.config (xtra_cflags): Include .. in the header
1220 search path, so we can find the <libguile/MUMBLE.h> headers.
1221
1222 * Makefile.in (ancillary): List aclocal.m4, for 'make dist'.
1223
1224 * Makefile.in (ALL_CFLAGS): Don't mention CFLAGS here; it's
1225 implicit in the .c.o rule.
1226 (.c.x): Don't mention ALL_CFLAGS here; its value is included in
1227 $(CC) already.
1228
1229 Put the library path in a header file, instead of passing it on
1230 the command line in every compilation.
1231 * Makefile.in (libpath.h): New target.
1232 (feature.o): Depend on libpath.h.
1233 (clean): Delete libpath.h.
1234 (ALL_CFLAGS): Don't use -DLIBRARY_PATH here. Instead ...
1235 * feature.c: ... #include "libpath.h" here.
1236 * .cvsignore: Ignore libpath.h.
1237
fef5d92f 1238* Don't install the unwashed masses of Guile header files in the
818a980d
JB
1239 main #include path; put most of them in a subdirectory called
1240 'libguile'. This avoids naming conflicts between Guile header
1241 files and system header files (of which there were a few).
1242 * Makefile.in (pkgincludedir): Deleted.
1243 (innerincludedir): New variable; this and $(includedir) are enough.
1244 (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..".
1245 (installed_h_files): Divide this up. Now this variable lists
1246 those header files which should go into $(includedir) (i.e. appear
1247 directly in the #include path), and ...
1248 (inner_h_files): ... this new variable says which files appear in
1249 a subdirectory, and are referred to as <libguile/mumble.h>.
1250 (h_files): List them both.
1251 (install): Create innerincludedir, not pkgincludedir. Put
1252 the installed_h_files and inner_h_files in their proper places.
1253 (uninstall): Corresponding changes.
1254 * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,
1255 continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h,
1256 feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h,
1257 ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h,
1258 mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h,
1259 print.h, procprop.h, procs.h, ramap.h, read.h, root.h,
1260 sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h,
1261 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
1262 tag.h, throw.h, unif.h, variable.h, vectors.h, version.h,
1263 vports.h, weaks.h: Find __scm.h in its new location.
1264 * __scm.h: Find scmconfig.h and tags.h in their new locations
1265 (they're both "inner" files).
1266
1267Tue Sep 3 20:27:35 1996 Jim Blandy <jimb@floss.cyclic.com>
1268
1269 * Makefile.in (.c.x): Remove duplicate use of $(ALL_CFLAGS).
1270
74440903
JB
1271Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
1272
1273 * posix.c: Doc fixes.
1274
9e6758ee
JB
1275Mon Sep 2 15:22:40 1996 Jim Blandy <jimb@totoro.cyclic.com>
1276
1277 * socket.c: Don't include a prototype for inet_aton; just use a
1278 K&R style declaration, to avoid warnings but minimize the chance
1279 of conflicts with the system.
1280
1281 On NextStep, <utime.h> doesn't define struct utime, unless we
1282 #define _POSIX_SOURCE before #including it.
1283 * aclocal.m4 (GUILE_STRUCT_UTIMBUF): New test.
1284 * acconfig.h: New comment text for above CPP symbol.
1285 * configure.in: Call it.
1286 * posix.c: #define _POSIX_SOURCE if it seems necessary.
1287
1288 * configure.in (AC_CHECK_HEADERS): Include sys/utime.h and utime.h
1289 in the list.
1290 * posix.c: Check HAVE_SYS_UTIME_H and HAVE_UTIME_H, instead of
1291 testing for __EMX__.
1292
1293 * posix.c: #include <libc.h>, if it exists.
1294
1295 * posix.c: Cast the return result to GETGROUPS_T, not gid_t; we
1296 don't even know if the latter exists.
1297
1298 * posix.c (s_sys_setpgid, s_sys_setsid, s_sys_ctermid,
1299 s_sys_tcgetpgrp, s_sys_tcsetpgrp): Renamed from s_setpgid,
1300 s_setsid, s_ctermid, s_tcgetpgrp, s_tcsetpgrp, for consistency.
1301
1302 * posix.c (R_OK, W_OK, X_OK, F_OK): #define these if the system's
1303 header files don't.
1304 (scm_init_posix): Use them when initializing the Scheme constants
1305 of the same name.
1306
e4ef46d4
JB
1307Fri Aug 30 16:01:30 1996 Jim Blandy <jimb@floss.cyclic.com>
1308
1309 * Makefile.in (libdir, includedir, bindir): Use the
1310 autoconf-supplied values, instead of deriving them ourselves.
1311 (pkgincludedir, datadir, pkgdatadir): New variables.
1312 (install, uninstall): Put the header files in a special
1313 subdirectory, not in the main search path.
1314
3eee6dad
JB
1315 * Makefile.in (ALL_CFLAGS): Provide the proper value for
1316 LIBRARY_PATH --- use $(pkgdatadir) instead of $(libdir).
1317
e4ef46d4
JB
1318 * Makefile.in (IMPLPATH): Deleted; never used.
1319
1320 * Makefile.in (TCL_SRC_DIR, TK_SRC_DIR): Deleted; we don't depend
1321 on the Tcl/Tk source any more.
1322 (INCLUDE_CFLAGS): Remove references to the above.
1323
1324 * Makefile.in (version.o): Corrected dependencies.
1325
e9b367a5
JB
1326Thu Aug 29 23:06:19 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
1327
1328 * libguile.h: #include "version.h"
1329
1330 * init.c (scm_boot_guile): Call scm_init_version.
1331 * gscm.c (gscm_run_scm): Call scm_init_version.
1332
1333 * configure.in (GUILE_MAJOR_VERSION, GUILE_MINOR_VERSION,
1334 GUILE_VERSION): AC_DEFINE these.
1335 (acconfig.h): #undef the above symbols.
1336
1337 * Makefile.in (libobjs): Add version.o.
1338 (installed_h_files): Add version.h.
1339 (c_files): Add version.c.
1340 (gen_c_files): Add version.x.
1341 (version.o): New rule.
1342 (alist.o, append.o, appinit.o, arbiters.o, async.o, boolean.o,
1343 chars.o, continuations.o, dynwind.o, eq.o, error.o, eval.o,
1344 fdsocket.o, feature.o, files.o, filesys.o, fports.o, gc.o,
1345 genio.o, gsubr.o, hash.o, hashtab.o, init.o, kw.o, list.o, load.o,
1346 mallocs.o, markers.o, marksweep.o, mbstrings.o, numbers.o,
1347 objprop.o, pairs.o, ports.o, posix.o, print.o, procprop.o,
1348 procs.o, ramap.o, read.o, root.o, scmsigs.o, sequences.o,
1349 simpos.o, smob.o, socket.o, stackchk.o, stime.o, strings.o,
1350 strop.o, strorder.o, strports.o, struct.o, symbols.o, tag.o,
1351 throw.o, unif.o, variable.o, vectors.o, version.o, vports.o,
1352 weaks.o): Add version.h to dependency lists.
1353 (markers.o): Remove duplicate rule.
1354
1355 * version.h: New file.
1356
1357 * version.c: New file.
1358
a585a27d
JB
1359Thu Aug 29 15:21:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
1360
1361 * symbols.c (scm_strhash): scm_downcase is now a function, not an
1362 array; use it appropriately. Since GCC is quite happy to
1363 subscript functions, it never warned us about this; we should use
1364 -Wpointer-arith in the future. I guess we never tested
1365 case-insensitivity.
1366
1367Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com>
1368
1369 * socket.c: Doc and copyright fixes.
1370
1f3f68bf
MD
1371Sat Aug 24 05:29:19 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1372
1373 * debug.c: Fixed and improved gdb support.
1374
1f99d12b
MD
1375Fri Aug 23 18:00:16 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1376
1377 * socket.c: Added declaration of inet_aton to avoid compiler
1378 warning. (Hope this solution is correct.)
1379
1380 * stime.c: Added declaration of ftime. (This is missing in
1381 Solaris 2 headers.)
1382
14a7e04c
GH
1383Fri Aug 23 02:03:32 1996 Gary Houston <ghouston@actrix.gen.nz>
1384
1385 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
1386
1387 * Makefile.in (c_files): add strerror.c.
1388
1389 * strerror.c: new file from Emacs' sysdep.c.
1390 maybe configure should also check for sys_errlist.
1391
1392 * configure.in (AC_REPLACE_FUNCS): add strerror.
1393
a8959050
MD
1394Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1395
37bac800
MD
1396 * debug.c (scm_init_debug): Added initialization for
1397 scm_evaluator_traps.
1398
a8959050
MD
1399 * debug.h, debug.c: Various name changes.
1400 (Mostly prefixing with SCM_.) Renamed "debug-options" -->
1401 "debug-options-interface". See commentary in options.c.
1402
1403 * options.h, options.c: Options now have documentation strings.
1404 Also added a long explanatory commentary.
1405
1406 * eval.c, print.h, print.c, read.h, read.c: Modifications to
1407 run-time options.
1408
1409 * gscm.c, init.c, root.c, throw.c: Bug fixes:
1410 last_debug_info_frame is now updated in all cases.
1411
1efc5155
MD
1412 * __scm.h, stackchk.h, stackchk.c: Guile now performs stack
1413 checking.
a8959050 1414
5391bb63
MD
1415Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1416
a8959050
MD
1417 * __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
1418 Added option STACK_CHECKING.
5391bb63 1419
0190d683
MD
1420Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
1421
1422 * Makefile.in: Added {debug,options,srcprop}.{h,c}
1423
1424 * __scm.h: Removed symbols for debugging support.
1425
1426 * acconfig.h: Added symbols for debugging support.
1427
1428* * configure.in: Added user option for debugging support.
1429 --enable-debug will include the debugging code into libguile.a.
1430
1431 * continuations.c (scm_make_cont): Enlarged the #if 0 around
1432 scm_relocate_chunk_to_heap.
1433
1434* * debug.c: New file: low-level debugging support. It also
1435 includes support for debugging with gdb. (The extensions to gdb
1436 are written by Per Bothner at Cygnus.)
1437
1438 * debug.h: New file: low-level debugging support.
1439
1440* * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
1441 argument pairs. Extensive modifications to the debugging
1442 evaluator. Added "SECTION:" commentaries to clarify what happens
1443 when, during double compilation. Renamed EVALIMP --> EVALIM.
1444 Renamed EVAL --> XEVAL. Removed function evalcar. Defined
1445 evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
1446 the beginning of the file. New procedure: scm_unmemocopy.
1447 Added some global state variables needed by the debugging
1448 evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
1449 check_entry, check_apply, check_exit, debug_options and
1450 evaluator_traps. New acro: undefine.
1451
1452 * eval.h: Renamed EVAL --> XEVAL.
1453
1454 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
1455 --> scm_make_weak_key_hash_table.
1456
1457 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
1458 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
1459
1460 * libguile.h: Conditionally include debug.h
1461
1462* * objprop.c (scm_object_properties, scm_set_object_properties_x):
1463 scm_object_properties shouldn't return handle. `handle' now gets
1464 initialized in scm_set_object_properties_x. scm_object_properties
1465 doesn't any longer create an entry in scm_object_whash.
1466
1467* * options.c: New file: handling of run time options.
1468
1469 * options.h: New file: handling of run time options.
1470
1471 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
1472
1473* * print.c: New procedure: scm_print_options
1474
1475 * print.h: Defines for print options.
1476
1477* * read.c: New procedure: scm_read_options
1478
1479 * read.h: Defines for reader options.
1480
1481 * root.h: Added scm_source_whash among scm_sys_protects.
1482
1483* * srcprop.c: New file: source properties.
1484
1485 * srcprop.h: New file: source properties.
1486
1487 * throw.c (jbsmob): Jump buffers are now correctly allocated.
1488 (Bug found by A. Green.)
1489
1490* * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
1491
1492 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
1493
253efac3
JB
1494Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
1495
1496 * libguile.h: #include "objprop.h"; I guess this was forgotten.
1497
1498 * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
1499 and should be called by the final client.
1500
1501Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
1502
1503 * gc.h: Use the PROTO macro when declaring functions.
1504 * gc.c: Use the PROTO macro when declaring static functions.
1505 Remove the CPP hair around function definitions.
1506
1507 * gc.c (scm_init_storage): Initialize scm_asyncs.
1508
1509 * libguile.h: #include "__scm.h" before testing the STDC_HEADERS
1510 preprocessor symbol; "__scm.h" is where it might get #defined.
1511 * __scm.h: Similar: #include <scmconfig.h> before testing
1512 HAVE_LIMITS_H.
1513
1514 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
1515
1516Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
1517
1518* * init.c (scm_boot_guile): Add init_func argument; call
1519 (*init_func) instead of calling scm_appinit; it's ucky to
1520 hard-code names for the user's procedures.
1521 * init.h (scm_boot_guile): Adjust declaration.
1522
1523 * __scm.h (PROTO): New macro, for declaring functions with
1524 prototypes.
1525
1526 * init.h (scm_start_stack, scm_restart_stack): Use PROTO;
1527 eliminate all the __STDC__ conditionals.
1528 (scm_boot_guile): Add declaration.
1529 * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile):
1530 Remove __STDC__ conditionals around function definitions; the
1531 declarations in init.h will provide the same information, more
1532 usefully.
1533
1534 * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
1535 complain about it in the error message; the error message is
1536 adequate without that note, and there's nothing the user can do
1537 about it.
1538
dd447b63
JB
1539Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
1540
1541 * Makefile.in (ancillary): Drop def.sed.
1542
1543 * posix.c (scm_init_posix): Use numeric values, rather than
1544 CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
1545 F_OK. The symbols aren't available on some systems, and I'm
1546 pretty sure their values are fixed by common widespread practice.
1547 * ioext.c (scm_init_ioext): Code here defined them too; remove it.
1548
1549 More functions unavailable on some systems.
1550 * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
1551 tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
1552 check for.
1553 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
1554 * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
1555 scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
1556 bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
1557 stub that signals an error as the #else.
1558
1559 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
1560
95b88819
GH
1561Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
1562
1563 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
1564
1565 * unif.c: include ramap.h.
1566
1567 * read.c (endif): case_insensative_p renamed case_insensitive_p.
1568
1569 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
1570
1571 * ports.c: include sys/ioctl.h.
1572
1573 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
1574
1575 * configure.in: check for sys/ioctl.h.
1576
1577 * ports.c: include <malloc.h> not "malloc.h".
1578
1579 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
1580
1581 * fports.c: remove ttyname and tmpnam declarations.
1582
1583 * posix.c: fewer ttyname declarations.
1584
1585 * fports.c: include <string.h> not "string.h".
1586
1587 * init.c, ioext.c: include string.h and unistd.h.
1588
1589 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
1590
dd447b63
JB
1591 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
1592 genio.c, simpos.c, vports.c: include string.h.
95b88819
GH
1593
1594 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
1595
1596 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
1597 scm_sizet to int.
1598 (scm_addr_buffer_size): change type from scm_sizet to int.
1599 (accept, getsockname, getpeername, recvfrom): change type of tmp_size
1600 from scm_sizet to int.
1601
1602 * error.c: include unistd.h.
1603
1604 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
1605 defined.
1606
1607 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
1608
1609 * __scm.hd, def.sed: deleted.
1610
458d621d
JB
1611Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
1612
1613 Changes for NeXT, suggested by Robert Brown.
1614 * configure.in: Call AC_TYPE_MODE_T.
1615 (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
1616 NeXT. Put header file list in alphabetical order.
1617 * configure, scmconfig.h.in: Regenerated.
1618 * filesys.c [HAVE_LIBC_H]: #include <libc.h>.
1619
1620 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
1621 for strerror.
1622
1623 * acconfig.h: New file, providing documentation for the CPP
1624 symbols defined in configure.in
1625 * acconfig-1.5.h: Removed; superceded by the above.
1626
2e18892a
GH
1627Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
1628
8b13c6b3
GH
1629 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
1630
253efac3 1631* * fports.c (scm_open_file): don't return #f, throw error.
8b13c6b3 1632
253efac3 1633* * ioext.c (fileno): renamed from %fileno.
8b13c6b3
GH
1634 (soft-fileno): deleted.
1635
1636 * ports.c (scm_port_revealed): don't need to check for -1 from
1637 scm_revealed_count.
1638 (scm_set_port_revealed_x): return unspecified, not #f.
1639
253efac3 1640* * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
8b13c6b3 1641
2e18892a
GH
1642 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
1643
1644 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
1645
1646 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
1647
a44a755d
JB
1648Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
1649
0f1c2da6
JB
1650 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
1651 This is necessary on Ultrix, and doesn't hurt portability.
1652
a44a755d
JB
1653 * Makefile.in (dist-dir): New target, implementing a new dist system.
1654 (installed_h_files): Put in alphabetical order.
1655 Remove duplicate entries for markers.h and unif.h.
1656 (c_files): Remove duplicate entries for markers.c.
1657 (ancillary): Renamed from anillery; all uses changed. Remove
1658 PLUGIN; it's a directory, and needs special treatment in dist-dir.
1659 Remove all the ../doc/* files; doc/Makefile.in handles that.
1660
0f1c2da6
JB
1661 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
1662
9be2a49b
JB
1663 * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
1664 every if must have an else, or else the whole command has a
1665 non-zero exit code whenever the if's condition is false.
1666
02b754d3
GH
1667Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
1668
1669 * posix.c: include string.h.
1670
1671Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
1672
253efac3 1673* * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
02b754d3
GH
1674 have been once.
1675
253efac3 1676* * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
02b754d3
GH
1677 Remove leading % from scheme names.
1678 Do not return error values, call SCM_SYSERROR or similar.
1679
1680 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
1681
0f2d19dd
JB
1682Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
1683
1684 * struct.c (scm_init_struct): new file.
1685
1686Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
1687
1688 * list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
1689 (scm_list_head): added list-head for rapidly chopping argument
1690 lists off of longer lists (and similar).
1691
1692Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
1693
1694 * objprop.c (scm_object_property): assq the cdr of the whash
1695 handle for obj, not the handle itself.
1696
1697Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
1698
1699 * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
1700 weak hash tables last of all marking to avoid an obscure gc bug.
1701 WARNING: circular lists stored in a weak hash table will hose us.
1702
1703Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
1704
1705 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
1706 new functions similar to scm_substring_move_left_x and
1707 scm_substring_move_right_x.
1708
1709Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
1710
1711 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
1712 scm_gc_heap_lock!
1713
1714Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
1715
1716 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
1717
1718Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
1719
1720 * strports.c (scm_strprint_obj): convenience function. C for
1721 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
1722
1723 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
1724 removed to a separate library
1725
1726 * init.c (scm_boot_guile): copied from guile-tcl.c.
1727 Initialization specific to tcl interpreters removed.
1728
1729Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
1730
1731 * ports.c (scm_ports_prehistory): size malloced here doesn't
1732 matter so long as it is non-0 (got rid of "* 4").
1733
1734Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
1735
1736 * gscm.h: gscm_mkarray eliminated (presumably was not being used
1737 since its definition was bogus).
1738
1739Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
1740
1741 * mallocs.[ch]: back again (for rx at least).
1742
1743Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
1744
1745 * ports.c: removed functions relating to the mapping between ports
1746 and descriptors. (That stuff is unix-specific and should be collected
1747 in a separate library).
1748
1749 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
1750 (Tom Mckay@avanticorp.com)
1751
1752Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
1753
1754 * gc.c (scm_gc_sweep): Immediates in weak vectors were not
1755 handled correctly (SCM_FREEP was applied to them) -- test for
1756 NIMP. Keys in weak hash tables were spuriously (though harmlessly)
1757 being overwritten with #f. (brown@grettir.bibliotech.com)
1758
1759Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
1760
1761 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
1762 for a specific symbol or for all symbols.
1763
1764Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
1765
1766 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
1767 keys and weak values confused).
1768
1769Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
1770
1771 * list.c (scm_last_pair): map '()=>'()
1772
1773Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
1774
1775 * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
1776 Generalized assoc and hash-table functions.
1777 Factored pairs.c into multiple files.
1778
1779Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
1780
1781 * gscm.c (gscm_run_scm): got rid of objprop.
1782
1783Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
1784
1785 * genio.c (scm_getc):
1786 NOTE: fgetc may not be interruptable.
1787
1788 * procprop.c (scm_stand_in_scm_proc):
1789 NOTE: don't use a alist here.
1790 (scm_set_procedure_properties_x): fix type checking throughout this file.
1791
1792 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
1793
1794 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
1795 after freeing part of the port table.
1796
1797Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
1798
1799 * strports.c (scm_mkstrport):
1800 * vports.c (scm_make_soft_port): allocate a port table entry
1801 (possibly triggering gc) before setting the tag of the corresponding
1802 ports handle.
1803
1804 * pairs.c (scm_delq_x): never throw an error.
1805
1806 * vectors.c (scm_make_vector): made the default vector fill argument
1807 into '() (much more useful than the previous value, "#unspecified")
1808
1809Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
1810
1811 * ports.c (scm_add_to_port_table): Added fields
1812 to port table entries: file_name, line_num, col.
1813 Update these in open_file, gen_getc and gen_ungetc.
1814 Added procedures to access those fields.
1815
1816Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
1817
1818 * procs.c (scm_make_subr_opt): new entry point for making
1819 anonymous subrs.
1820
1821Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
1822
1823 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
1824
1825Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
1826
1827 * numbers.c (scm_exact_p): This function no longer
1828 implements "integer?".
1829
1830Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
1831
1832 * gc.c (scm_gc_end): simulate a signal at the end of each GC.
1833 (scm_gc_stats): return an assoc of useful data. Replaces "room"
1834 and the stats reporting formerlly built into repl.
1835
1836 * repl.[ch]: removed.
1837 GC statistics keeping moved to gc.c.
1838 Other statistics keeping can be done from Scheme.
1839 REPLS are now written in Scheme.
1840
1841Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
1842
1843 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
1844 conservatively marked objects).
1845
1846 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
1847
1848 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
1849
1850 * feature.c (scm_compiled_library_path): moved here from repl.c.
1851 This file is for stuff relating specifically to Scheme libraries
1852 like slib.
1853
1854 * eval.c (scm_m_define): don't give warning about redefinition, don't
1855 check verbosity.
1856
1857 NOTE: this should throw a resumable exception with parameters --
1858 the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
1859
1860 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
1861
1862 * error.c: scm_warn eliminated.
1863
1864 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
1865
1866 * repl.c, marksweep.c, gc.c (various):
1867 lose exit_report, growth_mon.
1868
1869 * gscm.c: got rid of verbosity functions.
1870
1871Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
1872
1873 * throw.c (scm_ithrow): guard against the bad-throw hook changing
1874 between the call to procedurep and use.
1875
1876 * error.c (scm_everr):
1877 * gc.c (fixconfig):
1878 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
1879 but less so.
1880
1881 * strports.c: don't reveal the port's string to the caller
1882 because it changes size.
1883
1884 (stputc stwrite): check/change the strings length with interrupts
1885 blocked.
1886
1887 * objprop.c (scm_set_object_property_x &c): use the generic
1888 hashing functions and be threadsafe.
1889
1890 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
1891 (per suggestion jaffer@gnu.ai.mit.edu).
1892
1893 * mbstrings.c (scm_multi_byte_string): guard against argument list
1894 changing length.
1895
1896 * strings.c (scm_make_string): loop cleanup
1897
1898 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
1899 a scheme function.
1900
1901 * weaks.c (scm_weak_vector): guard against argument list
1902 changing length.
1903
1904 * variable.c (scm_builtin_variable): check for/make a built-in
1905 variable automicly.
1906
1907 * vectors.c (scm_vector): while filling the new array,
1908 guard against a list of fill elements that grows after
1909 the vector is allocated.
1910
1911 * hashtab.c -- new file: general hash table
1912 functions. hash, hashq, hashv, hashx.
1913
1914 * tags.h: made wvect an option bit of vector.
1915
1916Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
1917
1918 * symbols.c: made the basic symbol table operations atomic.
1919
1920 * root.c &c.: collected stack-specific global state.
1921 linum/colnum etc *should* be port-specific state.
1922
1923 * struct.c (scm_init_struct): init the first struct type during
1924 initialization to fix a race condition.
1925
1926 * continuations.c (scm_dynthrow): pass throwval in the 'regs'
1927 object, not in a global.
1928 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
1929
1930 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
1931 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
1932
1933 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
1934 and C symbols to begin with SCM_ or scm_.
1935
1936Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
1937
1938 * gsubr.c (scm_gsubr_apply): statically allocate the
1939 array of arguments (bothner@cygnus.com).
1940
1941Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
1942
1943 * scmsigs.c: Simplified to use async rountines.
1944
1945 * async.c: New support for interrupt handlers.
1946
1947Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
1948
1949 * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
1950 set the multi_byte flag correctly in symbols. This is wrong.
1951 intern_obbary_soft and msymbolize should take an extra parameter.
1952 Also, weird multibyte symbols don't print correctly.
1953 The weird symbol syntax is also a bit bogus (emacs doesn't quite
1954 cope).
1955
1956Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
1957
1958 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
1959 use the system symhash. == #t means create an uninterned symbol.
1960
1961Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
1962
1963 * strings.c (scm_make_shared_substring): build'em.
1964 It might better to keep a table of these and use one
1965 less cons-pair per shared-substring.
1966
1967Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
1968
1969 * strings.c (scm_string_shared_substring): create shared
1970 substrings. (Doesn't handle mb strings yet).
1971
1972 * mbstrings.c (scm_print_mb_string): handle RO strings.
1973
1974 * print.c (scm_iprin1): print substrings as their non-substring
1975 counterparts (dubious).
1976
1977 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
1978 strings.
1979
1980 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
1981
1982 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
1983
1984 * eq.c (scm_equal_p): handle RO and MB strings.
1985
1986 * symbols.c (scm_string_to_symbol):
1987 (scm_string_to_obarray_symbol):
1988 * strop.c (scm_i_index):
1989 (scm_i_rindex):
1990 (scm_string_null_p):
1991 (scm_string_to_list):
1992 * strings.c (scm_string_length):
1993 (scm_string_ref):
1994 (scm_substring):
1995 (scm_string_append):
1996 * simpos.c (scm_system):
1997 (scm_getenv):
1998 * fports.c (scm_open_file):
1999 * strorder.c (scm_string_equal_p):
2000 (scm_string_ci_equal_p):
2001 (scm_string_less_p):
2002 (scm_string_ci_less_p):
2003 * pairs.c (scm_obj_length):
2004 * mbstrings.c (scm_multi_byte_string_length):
2005
2006 Use RO string macros for RO strings.
2007
2008Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
2009
2010 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
2011
2012 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
2013 index/rindex. Do handle embedded \000 characters.
2014
2015Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
2016
2017 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
2018 Eliminate a (presumed) warning on some systems.
2019
2020 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
2021 (Mikael Djurfeldt <mdj@nada.kth.se>)
2022
2023Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
2024
2025 * eval.c (scm_map): added argument type checking.
2026 (kawai@sail.t.u-tokyo.ac.jp)
2027
2028 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
2029 for C++. (Seth Alves <alves@gryphon.com>)
2030
2031 (gscm_cstr): uses an uninitialized local variable causing
2032 segv. (kawai@sail.t.u-tokyo.ac.jp)
2033
2034
2035 * lvectors.c (scm_get_lvector_hook):
2036 In guile-ii, the lvector code was broken. It was fixed in guile-iii.
2037 It seems to me like if it is broken again in guile-iv...Here is a patch.
2038 "! || (LENGTH (keyvec) == 0))"
2039 (From: Mikael Djurfeldt <mdj@nada.kth.se>)
2040
2041
2042 * gscm.c (gscm_sys_default_verbosity):
2043 incorrectly declared for non-__STDC__
2044 (Tom_Mckay@avanticorp.com)
2045
2046 * ports.c (scm_setfileno): Tweak the macro a bit
2047 to make it easier to port to systems that use
2048 more than a single structure field to hold a descriptor.
2049
2050 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
2051 Give a warning, not an error, for unrecognized modes.
2052
2053 * eval.c (SCM_CEVAL):
2054 static char scm_s_for_each[];
2055 static char scm_s_map[];
2056 not needed.
2057
2058 * strings.c (scm_string_p):
2059 static char s_string[];
2060 (see next entry)
2061
2062 * struct.c (scm_sys_struct_set_x):
2063 static char s_sys_make_struct[];
2064 static char s_sys_struct_ref[];
2065 static char s_sys_struct_set_x[];
2066 Rearrange code to eliminate those forward decls for the sake of
2067 broken compilers.
2068
2069 * variable.c (make_vcell_variable): static char s_make_variable[];
2070 isn't needed.
2071
2072 * fports.c (scm_port_mode):
2073 chars modes[3] = "";
2074 to
2075 chars modes[3];
2076 modes[0] = '\0';
2077 (Tom_Mckay@avanticorp.com)
2078
2079
2080 * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
2081 scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
2082 (Tom_Mckay@avanticorp.com)
2083
2084 * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
2085 scm_num_eq_p() was scm_equal_p().
2086 (Tom_Mckay@avanticorp.com)
2087
2088 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
2089 (Tom_Mckay@avanticorp.com)
2090
2091Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
2092
2093 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
2094 (Tom_Mckay@avanticorp.com)
2095
2096 * strop.c (scm_substring_fill_x):
2097 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
2098 (Tom_Mckay@avanticorp.com)
2099
2100 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
2101 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
2102
2103 * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
2104 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
2105
2106 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
2107 can turn into an obscure gc bug.
2108
2109 * chars.c (scm_char_p): fixed PROC call.
2110
2111 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
2112 scm_vector_set.
2113
2114Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
2115
2116 * elisp.c (new file): dynamic scoping and other bits for
2117 elisp. Don't use this yet unless you specificly want to
2118 hack on elisp emulation.
2119
2120 * dynwind.c (scm_dowinds): When entering or leaving a dynamic
2121 scope created by scm_with_dynamic_bindings_operation_x, swap
2122 the bindings of that scope with the corresponding globals.
2123
2124 * continuations.c (scm_make_cont): when a continuation is captured,
2125 relocate the continuation stack chunks registered on the wind chain
2126 to the heap.
2127
2128Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
2129
2130 * eval.c (SCM_CEVAL): if the function position evaluates
2131 to a macro, process it accordingly. (Previously, macros were
2132 handled only if the function position was a symbol naming a
2133 variable bound to a macro).
2134
2135Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
2136
2137 * eval.c (scm_m_set): allow multi-variable set! like
2138 (set! x 1 y 2 z 3).
2139
2140Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
2141
a585a27d
JB
2142 * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the
2143 STREAM of ports into the port table and replaced it with a
2144 port-table index.
0f2d19dd
JB
2145
2146 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
2147
2148 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
2149
2150 * mbstrings.c (new file): functions on multi-byte strings.
2151
2152 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
2153 for multi-byte strings. Moved the string tag.
2154
a585a27d
JB
2155 * chars.h chars.c repl.c (many functions): made scm_upcase and
2156 scm_downcase functions that are safe for extended character sets.
0f2d19dd
JB
2157
2158 Changed the range of integer->char.
2159
de15ba3a 2160 Changed the type of SCM_ICHR.
0f2d19dd
JB
2161
2162Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
2163
2164 * guile.c: Changed init file name from "SCM_INIT_PATH" to
2165 "GUILE_INIT_PATH"
2166
2167Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
2168
2169 * guile.c (gscm_is_gscm_type): New function. (Without this how will we
2170 know that it's safe to pass an object to gscm_get_type?)
2171 (gscm_get_type): Fix tyop in error message.
2172
2173 * variable.c (scm_variable_ref): fixed assertion test.
2174 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
2175
2176 * gscm.h: fixed several prototypes, notably gscm_vref.
2177 Add gscm_is_eq and temporarily commented out gscm_eq (see
2178 the note in gscm.h near gscm_eq if this change effects your
2179 code).
2180 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
2181
2182 * pairs.c (scm_obj_length): see next entry.
2183
2184 * gscm.h (gscm_obj_length): A way to get an integer
2185 length for lists, strings, symbols (treated as strings),
2186 and vectors. Returns -1 on error.
2187
2188 * eq.c (scm_equal_p): fixed smob case.
2189 (William Gribble <grib@arlut.utexas.edu>)
2190
2191 * Makefile.in (X_CFLAGS): defined.
2192 (William Gribble <grib@arlut.utexas.edu>)
2193
2194 * gscm.h (gscm_2_double): provided now
2195 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
2196
2197Tue Jun 13 01:04:09 1995 gnu
2198 * Vrooom!
2199
2200