Commit | Line | Data |
---|---|---|
523f5266 GH |
1 | Sun 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 |
16 | Fri 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 |
27 | Tue 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 |
70 | Sun 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 |
105 | Fri 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 |
132 | Wed 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 |
137 | Tue 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 |
153 | Tue 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 |
163 | Mon 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 |
169 | Mon 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 |
181 | Mon 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 |
210 | Mon 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 |
269 | Sun 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 |
305 | Sat 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 |
313 | Sat 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 |
319 | Fri 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 |
324 | Fri 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 | ||
330 | Thu 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 |
346 | Wed Oct 9 19:39:29 1996 Jim Blandy <jimb@floss.cyclic.com> |
347 | ||
348 | * async.c (scm_take_signal): Doc fixes. | |
349 | ||
40920279 JB |
350 | Mon 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 |
356 | Mon 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 |
366 | Sun 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 |
373 | Sat Oct 5 12:22:00 1996 Jim Blandy <jimb@floss.cyclic.com> |
374 | ||
375 | * Makefile.in (root.o): Correct dependencies. | |
376 | ||
8b4a21d1 MD |
377 | Sat 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 |
412 | Thu 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 |
421 | Thu 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 |
439 | Tue 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 |
444 | Tue 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 |
491 | Mon 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 | ||
498 | Sat Sep 28 18:13:01 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
499 | ||
500 | * list.c: Doc fixes throughout. | |
501 | ||
dbece3a2 GH |
502 | Sat 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 |
515 | Fri 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 | ||
533 | Wed 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 |
540 | Tue 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 |
551 | Mon 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 |
560 | Sun 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 |
599 | Fri 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 | ||
605 | Thu 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 |
614 | Thu 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 |
628 | Thu 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 |
666 | Wed 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 |
703 | Tue 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 |
711 | Tue 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 |
717 | Sun 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 |
752 | Sat 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 |
774 | Fri 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 |
783 | Fri 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 |
808 | Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com> |
809 | ||
810 | * strerror.c: Doc fix. | |
811 | ||
7dc4b37a MD |
812 | Thu 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 |
823 | Wed 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 |
900 | Wed 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 |
904 | Tue 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 |
948 | Mon 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 |
1115 | Sat 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 |
1124 | Thu 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 |
1133 | Thu 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 |
1148 | Thu 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 |
1183 | Thu 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 |
1205 | Wed 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 |
1209 | Wed 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 |
1217 | Wed 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 | ||
1267 | Tue 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 |
1271 | Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1272 | ||
1273 | * posix.c: Doc fixes. | |
1274 | ||
9e6758ee JB |
1275 | Mon 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 |
1307 | Fri 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 |
1326 | Thu 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 |
1359 | Thu 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 | ||
1367 | Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1368 | ||
1369 | * socket.c: Doc and copyright fixes. | |
1370 | ||
1f3f68bf MD |
1371 | Sat 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 |
1375 | Fri 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 |
1383 | Fri 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 |
1394 | Fri 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 |
1415 | Thu 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 |
1420 | Tue 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 |
1494 | Thu 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 | ||
1501 | Wed 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 | ||
1516 | Fri 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 |
1539 | Wed 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 |
1561 | Wed 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 |
1611 | Tue 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 |
1627 | Sat 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 |
1648 | Thu 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 |
1667 | Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz> |
1668 | ||
1669 | * posix.c: include string.h. | |
1670 | ||
1671 | Wed 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 |
1682 | Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive> |
1683 | ||
1684 | * struct.c (scm_init_struct): new file. | |
1685 | ||
1686 | Fri 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 | ||
1692 | Tue 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 | ||
1697 | Mon 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 | ||
1703 | Fri 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 | ||
1709 | Wed 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 | ||
1714 | Wed 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 | ||
1718 | Thu 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 | ||
1729 | Wed 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 | ||
1734 | Tue 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 | ||
1739 | Mon May 6 13:02:56 1996 Tom Lord <lord@beehive> | |
1740 | ||
1741 | * mallocs.[ch]: back again (for rx at least). | |
1742 | ||
1743 | Wed 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 | ||
1752 | Mon 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 | ||
1759 | Tue 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 | ||
1764 | Mon 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 | ||
1769 | Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive> | |
1770 | ||
1771 | * list.c (scm_last_pair): map '()=>'() | |
1772 | ||
1773 | Wed 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 | ||
1779 | Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive> | |
1780 | ||
1781 | * gscm.c (gscm_run_scm): got rid of objprop. | |
1782 | ||
1783 | Fri 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 | ||
1797 | Thu 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 | ||
1809 | Mon 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 | ||
1816 | Sun 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 | ||
1821 | Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive> | |
1822 | ||
1823 | * gc.h: SCM_STACK_GROWS_UP is now set by autoconf. | |
1824 | ||
1825 | Fri 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 | ||
1830 | Thu 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 | ||
1841 | Wed 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 | ||
1871 | Tue 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 | ||
1916 | Mon 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 | ||
1936 | Sun 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 | ||
1941 | Sat 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 | ||
1947 | Thu 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 | ||
1956 | Tue 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 | ||
1961 | Wed 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 | ||
1967 | Tue 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 | ||
2008 | Tue 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 | ||
2015 | Sun 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 | ||
2023 | Sat 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 | ||
2091 | Fri 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 | ||
2114 | Tue 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 | ||
2128 | Sun 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 | ||
2135 | Sat 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 | ||
2140 | Wed 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 | |
2162 | Tue 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 | ||
2167 | Sun 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 | ||
2197 | Tue Jun 13 01:04:09 1995 gnu | |
2198 | * Vrooom! | |
2199 | ||
2200 |