Commit | Line | Data |
---|---|---|
67ec3667 GH |
1 | Wed Mar 26 04:10:32 1997 Gary Houston <ghouston@actrix.gen.nz> |
2 | ||
3 | * ioext.c (scm_setfileno): throw a runtime error if SET_FILE_FD_FIELD | |
4 | wan't defined. Don't include fd.h. | |
5 | ||
6 | * Previously fd.h was regenerated whenever configure was run, | |
7 | forcing a couple of files to be recompiled. | |
8 | ||
9 | * fd.h.in: deleted, SET_FILE_FD_FIELD moved to ioext.c. | |
10 | * configure.in: AC_DEFINE FD_SETTER instead of HAVE_FD_SETTER. | |
11 | Check for _fileno as well as _file. | |
12 | Don't output fd.h. | |
13 | * ioext.c: don't fd.h. | |
14 | * acconfig.h: remove duplicate HAVE_FD_SETTER and change the | |
15 | other to FD_SETTER. | |
16 | ||
17 | * Change the stratigy for getting information about errno | |
18 | (and now signal number) values, e.g., ENOSYS, SIGKILL. Instead of | |
19 | generating lists of symbols during the build process, which will | |
20 | not always work, include comprehensive lists in the distribution. | |
21 | To help keep the lists up to date, the "check_signals" and | |
22 | "check_errnos" make targets can be used. | |
23 | ||
24 | * configure.in: don't check for a command to extract errno codes. | |
25 | * Makefile.am: update file lists, remove errnos.list and errnos.c | |
26 | targets, add cpp_err_symbols.c, cpp_sig_symbols.c, check_signals, | |
27 | check_errnos targets. | |
28 | (CLEANFILES): remove errnos.c and errnos.list, add | |
29 | cpp_err_symbols_here cpp_err_symbols_diff cpp_err_symbols_new | |
30 | cpp_sig_symbols_here cpp_sig_symbols_diff cpp_sig_symbols_new | |
31 | * errnos.default: deleted. | |
32 | * cpp_signal.c: new file. | |
33 | * cpp_errno.c: renamed from errnos_get.c. | |
34 | * cpp_err_symbols, cpp_sig_symbols: new files. | |
35 | * cpp_cnvt.awk: renamed from errnos_cnvt_awk. | |
36 | * error.c (scm_init_error): #include cpp_err_symbols instead of | |
37 | errnos.c. | |
38 | * posix.c (scm_init_posix): don't intern signal symbols. #include | |
39 | cpp_sig_symbols.c. | |
ef12d978 | 40 | |
67ec3667 GH |
41 | Tue Mar 25 04:51:10 1997 Gary Houston <ghouston@actrix.gen.nz> |
42 | ||
43 | * strop.c (scm_i_index): allow the lower bound to be equal to the | |
44 | length of the string, so a null string doesn't always give an error. | |
45 | ||
46 | * posix.h: new prototypes. | |
47 | * posix.c (scm_status_exit_val, scm_status_term_sig, | |
48 | scm_status_stop_sig): new functions, as in scsh. They break down | |
49 | process status values as returned by waitpid. | |
50 | ||
51 | Sat Mar 22 18:16:29 1997 Gary Houston <ghouston@actrix.gen.nz> | |
52 | ||
ef12d978 GH |
53 | * net_db.c (scm_gethost): don't check HAVE_GETHOSTENT, since |
54 | configure doesn't know about it. | |
55 | ||
78f9f47b MD |
56 | Fri Mar 21 23:49:28 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
57 | ||
58 | * snarf.h, backtrace.c: Name change SCM_GLOBAL --> SCM_VCELL. | |
59 | ||
60 | * snarf.h: Added new macros SCM_GLOBAL_SYMBOL and SCM_GLOBAL_VCELL | |
61 | which defines C variables with global linkage. | |
62 | ||
d0104d7e MD |
63 | Mon Mar 17 05:57:11 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
64 | ||
65 | * snarf.h (SCM_PROC1): Bugfix: Use (void) rather than (...) for | |
66 | zero arg subrs. | |
67 | ||
c75e83b7 MD |
68 | Sun Mar 16 11:43:49 1997 Mikael Djurfeldt <mdj@floss.cyclic.com> |
69 | ||
70 | * eval.c (safe_setjmp): Temporarily use old setjmp until someone | |
71 | has time to check why this doesn't work well with continuations. | |
72 | ||
e500ef70 JB |
73 | Sun Mar 16 05:09:55 1997 Jim Blandy <jimb@totoro.cyclic.com> |
74 | ||
75 | * Fix shell syntax error; some shells won't tolerate | |
76 | multiple "fi" statements on a single line. (Thanks to Fred Fish.) | |
77 | ||
a574455a GH |
78 | Sat Mar 15 01:11:40 1997 Gary Houston <ghouston@actrix.gen.nz> |
79 | ||
80 | * posix.c (scm_uname): throw an error if uname fails instead | |
81 | of returning errno. | |
82 | ||
83 | * error.h (scm_errno, scm_perror): obsolete prototypes removed. | |
84 | ||
85 | * error.c (err_head, scm_errno, scm_perror): obsolete procedures | |
86 | removed. | |
87 | ||
88 | * async.c (scm_ints_disabled): definition moved from error.c. | |
89 | ||
dfa84eae MD |
90 | Sat Mar 15 00:06:08 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
91 | ||
c6433b2a MD |
92 | * acconfig.h: Removed PACKAGE. |
93 | ||
94 | * scmconfig.h.in: Regenerated. | |
95 | ||
dfa84eae MD |
96 | * snarf.h: g++ says it's non-portable not to specify the first |
97 | argument in a varargs declaration. I introduced the first | |
98 | argument by using preprocessor conditionals. | |
99 | ||
ae2fa5bc GH |
100 | Thu Mar 13 21:28:25 1997 Gary Houston <ghouston@actrix.gen.nz> |
101 | ||
102 | * ioext.c (scm_read_delimited_x): use RO string macros for delims. | |
103 | (scm_freopen): use RO string macros for filename and modes. | |
104 | (scm_duplicate_port, scm_fdopen): use RO string macros for modes. | |
105 | ||
106 | * posix.c (scm_getgrgid): simplify conversion of name to C string. | |
107 | (scm_mknod): use RO string macros for path. | |
108 | ||
109 | * socket.c (scm_fill_sockaddr, scm_send, scm_sendto): | |
110 | use SCM_ROSTRINGP, SCM_ROCHARS, SCM_ROLENGTH. | |
111 | ||
112 | * net_db.c (scm_gethost, scm_getnet, scm_getproto, scm_getserv): | |
113 | use SCM_ROSTRINGP and SCM_ROCHARS. | |
114 | ||
216fb108 MD |
115 | Thu Mar 13 18:31:33 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
116 | ||
117 | * unif.c (scm_array_set_x): Cast ICHR (obj) to char if storing in | |
118 | a scm_tc7_byvect. | |
119 | ||
120 | * ramap.c (scm_ra_matchp, scm_ra_matchp, scm_array_fill_int, racp, | |
121 | scm_array_index_map_x, raeql_1, scm_array_equal_p): Completed | |
122 | support for byte vectors. | |
123 | ||
124 | * print.c (scm_iprin1): Limit number of vector elements printed | |
125 | according to pstate->length. | |
126 | ||
c37e0e55 GH |
127 | Thu Mar 13 00:12:35 1997 Gary Houston <ghouston@actrix.gen.nz> |
128 | ||
129 | * backtrace.c (scm_display_error_message): don't segv if message | |
130 | is an immediate. | |
131 | ||
132 | * error.h: prototype for scm_error_scm. | |
133 | ||
134 | * error.c (scm_error_scm): new procedure, reimplements scm-error | |
135 | in C and uses scm_error. | |
136 | ||
14de3b42 GH |
137 | Tue Mar 11 03:51:00 1997 Gary Houston <ghouston@actrix.gen.nz> |
138 | ||
139 | * read.c (scm_read_hash_extend): make scm_read_hash_procedures a | |
140 | pointer to the Scheme variable read-hash-procedures and intern it | |
141 | in scm_init_read. Modify scm_read_hash_extend and | |
142 | scm_get_hash_procedure to use the pointer. | |
143 | ||
144 | Mon Mar 10 06:28:54 1997 Gary Houston <ghouston@actrix.gen.nz> | |
c7733771 GH |
145 | |
146 | * read.h (SCM_N_READ_OPTIONS): increase SCM_N_READ_OPTIONS to 4. | |
147 | (SCM_KEYWORD_STYLE): defined. | |
148 | ||
149 | * read.c (scm_read_opts): add a keywords option. This isn't a | |
150 | boolean option, in case someone wants to add support for DSSSL | |
151 | keywords too. | |
152 | Setup scm_keyword_prefix symbol. | |
153 | (scm_lreadr): Only process keywords if SCM_KEYWORD_STYLE is | |
154 | set to 'prefix. | |
155 | * I've left keyword support disabled by default, since it doesn't | |
156 | seem to break the module system and it gives R4RS standard behaviour. | |
157 | It can be reactivated with (read-set! keywords 'prefix). | |
158 | ||
b045e532 MD |
159 | Sun Mar 9 14:14:39 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
160 | ||
161 | * arbiters.c (scm_make_arbiter): Bugfix: Must SCM_DEFER_INTS | |
162 | before constructing arbiter. | |
163 | ||
164 | * eval.c (scm_m_define): Bugfix: Check that the object is a | |
165 | closure before setting the procedure property! | |
166 | ||
167 | * ports.h: Removed prototype for scm_ungetc_char_ready_p. | |
168 | ||
169 | * ports.c: Removed `ungetc-char-ready?'. | |
170 | ||
deca31e1 GH |
171 | Sat Mar 8 00:27:05 1997 Gary Houston <ghouston@actrix.gen.nz> |
172 | ||
fed9c9a2 GH |
173 | * read.c (scm_init_read): intitialise scm_read_hash_procedures |
174 | (idea from Mikael: make it a pair so scm_permanent object only | |
175 | called once.) | |
176 | (scm_read_hash_extend): don't call scm_permanent_object. | |
177 | (ideas from Mikael): if chr is already in the list, replace its | |
e3473097 | 178 | procedure instead of appending it again. If proc is #f, remove |
fed9c9a2 GH |
179 | it from the list. |
180 | (scm_get_hash_procedure): take CDR of scm_read_hash_procedures. | |
181 | ||
deca31e1 GH |
182 | * strports.c (scm_read_0str, scm_eval_0str): update scm_read usage. |
183 | ||
184 | * gdbint.c (gdb_read): update scm_lreadr usage. | |
185 | ||
186 | * load.h: update prototypes. | |
187 | ||
188 | * load.c (scm_primitive_load, scm_read_and_eval_x, | |
189 | scm_primitive_load_path): remove case_insensitive_p, sharp arguments. | |
190 | ||
191 | * read.h: add prototype for scm_read_hash_extend. Change args for | |
192 | other prototypes. | |
193 | ||
194 | * read.c (scm_read_hash_procedures): new variable. | |
195 | (scm_read_hash_extend): new procedure. | |
196 | (scm_get_hash_procedure): new procedure. | |
197 | * (scm_lreadr): use scm_get_hash_procedure instead of an argument | |
198 | for extended # processing. | |
199 | (scm_read, scm_lreadr, scm_lreadrecparen, scm_lreadparen, | |
200 | scm_read_token): remove case_i, sharp arguments. Change callers. | |
201 | ||
202 | Fri Mar 7 08:58:21 1997 Gary Houston <ghouston@actrix.gen.nz> | |
203 | ||
204 | * read.h (SCM_N_READ_OPTIONS): increase to 3. | |
205 | (SCM_CASE_INSENSITIVE_P): define. | |
206 | ||
207 | * read.c: add case-insensitive option to scm_read_opts. | |
208 | * (scm_read_token): use SCM_CASE_INSENSITIVE_P instead of an argument | |
209 | to determine whether to convert symbol case. | |
210 | (default_case_i): definition removed. | |
211 | * read.c (scm_read_token): if case_i, downcase ic before doing | |
212 | anything with it. | |
213 | ||
71d3aa6d MD |
214 | Sat Mar 8 03:49:03 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
215 | ||
25a301d6 MD |
216 | * configure.in: Added configuration option `guile-debug'. |
217 | Configure with --enable-guile-debug if you want a bunch of extra | |
218 | functions used for debugging when developing Guile. | |
219 | ||
220 | * acconfig.h: Added new preprocessor symbol GUILE_DEBUG. | |
221 | ||
222 | * procs.c (make-cclo): New undocumented debugging procedure: Make | |
223 | compiled closure with internal procedure PROC and length LENGTH. | |
224 | Only compiled if GUILE_DEBUG is defined. | |
225 | ||
226 | * debug.c: Only include `debug-hang' if GUILE_DEBUG is defined. | |
227 | ||
228 | * print.c: Put #ifdef GUILE_DEBUG around `current-pstate'. | |
229 | ||
230 | * ports.c: Changed preprocessor symbol DEBUG --> GUILE_DEBUG. | |
231 | ||
71d3aa6d MD |
232 | * eval.c (SCM_CEVAL): Added code sections for handling of rpsubrs |
233 | with 3 or more args internally to the evaluator. | |
234 | ||
a1e2cfe3 MD |
235 | Fri Mar 7 19:38:18 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
236 | ||
237 | * eval.c (SCM_CEVAL): Added code sections for handling of asubrs | |
238 | with 3 or more args internally to the evaluator. This is mainly | |
239 | because we don't want to pass entry and exit points of the | |
240 | debug support twice, but it also seems to increase the speed of | |
241 | the evaluator for such calls (e. g. (+ 1 2 3)). | |
242 | ||
243 | * * backtrace.c (scm_display_application): New procedure: | |
244 | display-application; Set fancy printing parameters individually | |
245 | for different types of display (backtrace, error, application). | |
246 | (These should of course be customizable!) | |
247 | ||
248 | * debug.h (SCM_RESET_DEBUG_MODE): Bugfix: The old code didn't | |
249 | clear the CHECK-flags. | |
250 | ||
ee4274a6 MD |
251 | Thu Mar 6 00:53:02 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
252 | ||
253 | * tags.h, eval.c (iqq): Fixes to comments about SCM_ECONSP. | |
254 | ||
b2530d66 MD |
255 | Wed Mar 5 23:31:21 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
256 | ||
257 | * tags.h (SCM_ECONSP, SCM_NECONSP): Bugfix: Discriminate structs | |
258 | from pairs with a GLOC in the car. | |
259 | ||
260 | * symbols.c (msymbolize): Bugfix: Also initialize SCM_SYMBOL_HASH, | |
261 | otherwise `symbol-hash' will behave badly. | |
262 | (scm_symbol_hash): Bugfix: Must msymbolize if tc7_ssymbol, othwise | |
263 | we get segmentation fault! | |
264 | ||
bc6b266a | 265 | * * symbols.c: Added #include "weaks.h". New functions: |
b2530d66 MD |
266 | `builtin-bindings' and `builtin-weak-bindings'. (These will be |
267 | moved to an extraneous library when we split libguile.) | |
268 | ||
c0ebd8c5 MD |
269 | Tue Mar 4 19:50:07 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
270 | ||
271 | * filesys.c (scm_stat): stat now takes fport arguments too as | |
272 | documented in the manual. | |
273 | ||
274 | Mon Mar 3 07:11:33 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> | |
275 | ||
276 | * debug.c (scm_single_step): Bugfix: Call continuation with | |
277 | scm_call_continuation instead of throwing to it. | |
278 | ||
44493941 GH |
279 | Mon Mar 3 09:07:56 1997 Gary Houston <ghouston@actrix.gen.nz> |
280 | ||
281 | * ports.c (scm_char_ready_p): bug fix: in SCM_PROC char-ready's | |
282 | argument wasn't declared to be optional. | |
283 | ||
876c87ce MD |
284 | Sun Mar 2 16:34:40 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
285 | ||
286 | * stime.c (scm_init_stime): Add feature "current-time". | |
287 | ||
1a36eef2 GH |
288 | Sun Mar 2 06:37:31 1997 Gary Houston <ghouston@actrix.gen.nz> |
289 | ||
290 | * throw.h: prototype for scm_exit_status. | |
291 | * throw.c (scm_handle_by_message): if a 'quit is caught, use its | |
292 | args to derive an exit status. Allows (quit) to work from a | |
293 | script. | |
294 | (scm_exit_status): new function. | |
295 | #include "eq.h". | |
296 | ||
77a6036b MD |
297 | Sat Mar 1 00:09:15 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
298 | ||
c6a4fbce MD |
299 | * eval.c (scm_deval): Removed some old code. |
300 | (ENTER_APPLY): Bugfix: Reset apply-frame trap on trap as is done | |
301 | with the others. | |
302 | (ENTER_APPLY, scm_deval): Reset trace flag on apply-frame and | |
303 | exit-frame traps. | |
304 | ||
77a6036b MD |
305 | * symbols.c (msymbolize): Bugfix: Must initialize property list to |
306 | SCM_EOL. | |
f76c22af MD |
307 | |
308 | * procs.c: Introduce the existent C function scm_thunk_p at the | |
309 | Scheme level as well. | |
310 | ||
1dd28b3d MD |
311 | Wed Feb 26 12:53:58 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
312 | ||
313 | * symbols.c, symbols.h (scm_symbol_value0): New function. Can be | |
314 | used from C to easily lookup the value of a symbol in the current | |
315 | module. | |
316 | ||
15ae1bee MD |
317 | Tue Feb 25 00:14:10 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
318 | ||
319 | * unif.c (scm_init_unif): Added #include "unif.x". (There are two | |
320 | scm_init_unif in this file. This will also fix a previous problem | |
321 | with guile-snarf.) | |
322 | ||
323 | * configure.in: Added AM_MAINTAINER_MODE | |
324 | ||
01c77a0a MD |
325 | Fri Feb 21 23:07:26 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
326 | ||
327 | * gdb_interface.h (GDB_INTERFACE): Added some (void *) casts to | |
328 | avoid warnings. | |
329 | ||
a7580a97 MV |
330 | Fri Feb 21 18:00:38 1997 Marius Vollmer <mvo@zagadka.ping.de> |
331 | ||
332 | * Makefile.am (EXTRA_libguile_la_SOURCES): New variable to hold | |
333 | source files that are not always included in libguile but should | |
334 | have their dependencies calculated by automake. This variable is | |
335 | recognized by automake, no further magic is needed. | |
336 | (libguile_la_DEPENDENCIES): Changed to @LIBLOBJS@. Libtool wants | |
337 | to deal exclusively with *.lo files, as it seems. The *.o files | |
338 | are built automatically when the corresponding *.lo file gets | |
339 | built. | |
340 | ||
413b4ab6 JB |
341 | Wed Feb 19 14:04:23 1997 Jim Blandy <jimb@floss.cyclic.com> |
342 | ||
343 | * list.h (scm_list_cdr_ref): Delete prototype; function no longer | |
344 | exists. | |
345 | ||
0aa0871f GH |
346 | Thu Feb 13 21:44:07 1997 Gary Houston <ghouston@actrix.gen.nz> |
347 | ||
348 | * unif.c (scm_array_set_x): minor change to argument error checking. | |
349 | ||
413b4ab6 JB |
350 | Tue Feb 11 18:19:47 1997 Jim Blandy <jimb@floss.cyclic.com> |
351 | ||
352 | * Makefile.am (libguile_la_SOURCES): Remove backtrace.c, debug.c, | |
353 | inet_aton.c, srcprop.c, stacks.c, and strerror.c from this list. | |
354 | They should only be included in the library at configure.in's | |
355 | discretion. | |
356 | (libguile_la_LDADD): Include the appropriate .lo files here. | |
357 | (libguile_la_DEPENDENCIES): List the corresponding .o files here, | |
358 | so we know when to build them (and their .lo bretheren). | |
359 | * configure.in (LIBLOBJS): New substituted variable. We let | |
360 | configure decide which .o files to include in LIBOBJS, and then | |
361 | put the corresponding list of .lo files in LIBLOBJS. The latter | |
362 | is what we pass to libtool. | |
363 | * Makefile.in, configure: regenerated. | |
364 | ||
5aab5d96 MD |
365 | Mon Feb 10 00:08:08 1997 Mikael Djurfeldt <mdj@kenneth> |
366 | ||
367 | * symbols.c (scm_sysintern0): New function. Contains the core of | |
368 | old scm_sysintern but doesn't take a second value argument. | |
369 | (scm_sysintern): Now uses scm_sysintern0. | |
370 | (scm_sysintern_no_module_lookup): Renamed to | |
371 | scm_sysintern0_no_module_lookup and doesn't take a second value | |
372 | argument any longer. | |
373 | ||
374 | * symbols.h (scm_sysintern0: Added declaration. | |
375 | ||
376 | * options.c (scm_init_opts): Use scm_sysintern0 instead of | |
377 | scm_sysintern when interning option keys. Otherwise we risk | |
378 | destroying the values of already interned variables. | |
379 | ||
380 | * symbols.c (scm_sym2vcell): Bugfix: Treat definedp as | |
381 | scheme-level boolean (use SCM_NFALSEP). | |
382 | ||
383 | * backtrace.c (scm_init_backtrace): Make Scheme-level variable | |
384 | `the-last-stack'. | |
385 | (scm_backtrace): New function. (C version of old function from | |
386 | boot-9.scm) Motivation: Make it possible to display backtraces | |
387 | without depending on boot-9.scm. (I'm uncertain if this | |
388 | motivation is good enough...) | |
389 | ||
390 | * root.h (scm_root_state): Add member the_last_stack_var. | |
391 | (scm_the_stack_var): Defined to scm_root->the_last_stack_var. | |
392 | ||
393 | * root.c (mark_root): Mark scm_the_last_stack_var. | |
394 | ||
395 | * init.c (scm_start_stack): Initialize scm_the_last_stack_var to | |
396 | SCM_BOOL_F. | |
397 | ||
3197e30d MD |
398 | Sun Feb 9 18:04:41 1997 Mikael Djurfeldt <mdj@kenneth> |
399 | ||
400 | * throw.c (mark_lazy_catch, free_lazy_catch): Removed. | |
401 | 1. mark_lazy_catch didn't mark the smob. | |
402 | 2. Both functions above have standard variants: | |
403 | (lazy_catch_funs): Changed mark_lazy_catch --> scm_mark0, | |
404 | free_lazy_catch --> scm_free0. | |
405 | ||
2e4fe934 JB |
406 | Fri Feb 7 17:30:26 1997 Jim Blandy <jimb@floss.cyclic.com> |
407 | ||
408 | * throw.c (scm_internal_lazy_catch): New function. | |
409 | (scm_lazy_catch): Rewritten to use it. | |
410 | (scm_ithrow): Handle the new lazy catch representation. | |
411 | Use SCM_LAZY_CATCH_P, instead of assuming that any wind list entry | |
412 | that doesn't have a jmpbuf is a lazy catch clause. | |
413 | (tc16_lazy_catch, struct lazy_catch, mark_lazy_catch, | |
414 | free_lazy_catch, print_lazy_catch, lazy_catch_funs, | |
415 | make_lazy_catch, SCM_LAZY_CATCH_P): Support funs, including a new | |
416 | smob. | |
417 | (scm_init_throw): Register the new lazy-catch smob type. | |
418 | * throw.h (scm_internal_lazy_catch): decl for new function. | |
419 | ||
420 | * throw.c (scm_internal_catch): Doc fixes. | |
421 | ||
422 | * alloca.c: New file, needed to support the AC_FUNC_ALLOCA call in | |
423 | configure.in. Including this might cause problems if applications | |
424 | that link against libguile include their own copies of alloca, but | |
425 | if they're using autoconf, they should be adding libguile to LIBS | |
426 | before calling AC_FUNC_ALLOCA anyway, in which case they'll find | |
427 | the copy in libguile, and things will be okay. (I think.) | |
428 | ||
c101e39e GH |
429 | Thu Feb 6 03:10:32 1997 Gary Houston <ghouston@actrix.gen.nz> |
430 | ||
431 | * strop.c (scm_string_upcase_x, scm_string_downcase_x): moved from | |
432 | unif.c. | |
433 | strop.h: move prototypes too. | |
434 | ||
435 | Wed Feb 5 08:33:00 1997 Gary Houston <ghouston@actrix.gen.nz> | |
436 | ||
437 | * posix.c (scm_init_posix): don't intern EINTR since it's now done | |
438 | elsewhere. | |
439 | ||
440 | * ioext.c (scm_init_ioext): don't intern stat macros, S_IRUSR | |
441 | etc. I deleted them from filesys.c long ago, but didn't | |
442 | notice they were here too (although ineffective since | |
443 | sys/stat.h wasn't included). | |
444 | ||
5862b540 TT |
445 | Tue Feb 4 18:17:50 1997 Tom Tromey <tromey@cygnus.com> |
446 | ||
447 | * eval.c: Don't define alloca in GCC case. gcc will automatically | |
448 | use __builtin_alloca if appropriate. | |
449 | ||
5ede70d0 JB |
450 | Tue Feb 4 16:57:40 1997 Jim Blandy <jimb@floss.cyclic.com> |
451 | ||
c687fa59 JB |
452 | * eval.c (safe_setjmp): New function: trivial wrapper for setjmp. |
453 | (SCM_CEVAL, SCM_APPLY): Call it, instead of setjmp, to make sure | |
454 | that values of automatic variables are preserved. See comments | |
455 | for safe_setjmp for details. | |
456 | ||
c4314b4f JB |
457 | Change from Thomas Morgan: |
458 | * variable.c: Include eq.h. | |
459 | (var_equal): New function. | |
460 | (variable_smob): Use var_equal as the discriminator for variables. | |
461 | ||
462 | * throw.c (s_throw): Remove extraneous declaration. | |
463 | ||
5ede70d0 JB |
464 | * configure.in: Call AC_FUNC_ALLOCA, to see if we have alloca. |
465 | * eval.c: Add necessary CPP cruft to support that. | |
bd4b91ed | 466 | * configure, Makefile.in, scmconfig.h.in: regenerated. |
5ede70d0 JB |
467 | |
468 | Change from Thomas Morgan: | |
469 | * procprop.c (scm_procedure_properties): Convert the Scheme | |
470 | boolean returned by scm_procedure_p into a C boolean before using | |
471 | it as a condition for SCM_ASSERT. | |
472 | (scm_procedure_property): Likewise. | |
473 | ||
474 | * simpos.c (SYSTNAME): Accept both 'unix' and '__unix' as | |
475 | indications of Unixness. | |
476 | * stime.c: Same. | |
477 | ||
03bc4386 GH |
478 | Tue Feb 4 05:07:35 1997 Gary Houston <ghouston@actrix.gen.nz> |
479 | ||
480 | * * net_db.c (scm_lnaof): change scheme name from lnaof to inet-lnaof. | |
481 | ||
482 | Mon Feb 3 06:12:37 1997 Gary Houston <ghouston@actrix.gen.nz> | |
483 | ||
484 | * read.c (scm_lreadr): use scm_misc_error to improve one of the | |
485 | "unknown # object" error messages. | |
486 | ||
487 | * strop.c (scm_i_index, scm_i_rindex): combine into one procedure | |
488 | (scm_i_index) and declare it static. Add a 'direction' argument | |
489 | to indicate what way the search should go. | |
490 | (scm_i_index): throw out-of-range error instead of wrong-type-arg | |
491 | if indices are bad. | |
492 | (scm_string_index, scm_string_rindex): adjust usage of scm_i_index. | |
493 | strop.h: remove scm_i_index, scm_i_rindex prototypes. | |
494 | ||
063e05be GH |
495 | Fri Jan 31 04:33:11 1997 Gary Houston <ghouston@actrix.gen.nz> |
496 | ||
497 | * ioext.c, ioext.h: remove obsolete _sys_ from 9 procedure names. | |
498 | ||
499 | * * posix.c (scm_fork): Scheme name changed from fork to primitive-fork, | |
500 | to avoid clash with various scsh forks. | |
501 | ||
ad310508 MD |
502 | Thu Jan 30 20:14:09 1997 Mikael Djurfeldt <mdj@syk-0606.pdc.kth.se> |
503 | ||
504 | The following two changes (ramap.c, throw.c) are motivated by the | |
505 | apparent unportability of forward declarations of static arrays of | |
506 | the form `static foo bar[];'. | |
507 | ||
508 | * ramap.c (scm_array_fill_x): Moved above scm_array_fill_int. | |
509 | (ra_rpsubrs, ra_asubrs): Moved to the top of array code. | |
510 | ||
511 | * throw.c (scm_throw): Moved above scm_ithrow. | |
512 | ||
513 | * options.h: Removed the extern declarations of scm_yes_sym and | |
514 | scm_no_sym since these are static. | |
515 | ||
1146b6cd GH |
516 | Fri Jan 24 06:16:32 1997 Gary Houston <ghouston@actrix.gen.nz> |
517 | ||
518 | * ports.c: add SCM_PROC declarations for pt-size and pt-member. | |
519 | ||
520 | * Makefile.am: remove AWK=@AWK@. | |
521 | Add a rule for generating errnos.list. | |
522 | (CLEANFILES): put errnos.list here instead of in DISTCLEANFILES. | |
523 | ||
524 | * configure.in: add AC_SUBST(AWK) and AC_SUBST(ERRNO_EXTRACT). | |
525 | don't extract errnos, just set a variable (avoids the | |
526 | need to recompile error.c just because configure is run.) | |
527 | ||
528 | * unif.h: update prototypes. | |
529 | * unif.c (scm_uniform_array_read,write): change the offset and | |
530 | length arguments to start and end, for consistency. | |
531 | ||
532 | * __scm.h: uncomment SCM_ARG6 and SCM_ARG7, I needed SCM_ARG6. | |
533 | ||
534 | * ioext.h: update prototypes. | |
535 | * * ioext.c (scm_read_delimited_x): replaces scm_read_line and | |
536 | scm_read_line_x, it's a more general procedure using an | |
537 | interface from scsh. read-line and read-line! are now defined | |
538 | in boot-9.scm. | |
539 | * Note that the new read-line trims the terminator | |
540 | by default, previously it was appended to the returned string. An | |
541 | optional argument specifies how to process the terminator (scsh | |
542 | compatible). For the old behaviour: (read-line port 'concat). | |
543 | scm_read_line, scm_read_line_x: deleted. (read-line port 'split) | |
544 | returns a pair, but is converted to multiple values if the scsh | |
545 | module is loaded. | |
546 | ||
547 | socket.h: update prototypes. | |
548 | * socket.c (scm_recvfrom): for consistency with other procedures, | |
549 | take start and end as separate optional arguments. | |
550 | * (scm_recv, scm_recvfrom): don't allow the second argument | |
551 | to be a size, only a buffer. Change the scheme names to | |
552 | recv! and recvfrom!. Don't return the buffer. | |
553 | ||
554 | * ioext.h, posix.h: move prototypes too. | |
555 | * ioext.c, posix.c (scm_read_line, scm_read_line_x, scm_write_line: | |
556 | moved back from posix.c to ioext.c. Also move #includes of "genio.h" | |
557 | "read.h" and "unif.h". | |
558 | * ioext.c: include "chars.h" | |
559 | ||
a063340e MV |
560 | Mon Jan 20 19:54:49 1997 Marius Vollmer <mvo@zagadka.ping.de> |
561 | ||
562 | * dynl.c: The dynamic linking and module registration functions | |
563 | are now defined even when dynamic linking is not available for the | |
564 | host system. Some of their functionality can be done without | |
565 | dynamic linking; when it's really needed, they throw errors. | |
566 | ||
567 | Thu Jan 16 16:39:29 1997 Marius Vollmer <mvo@zagadka.ping.de> | |
568 | ||
569 | * configure.in: Only define DYNAMIC_LINKING when one of the system | |
570 | dependent functions is detected. | |
571 | * dynl.c (scm_dynamic_func): New function to get the address of a | |
572 | function in a dynamic object. | |
573 | (scm_dynamic_call, scm_dynamic_args_call): Accept the values | |
574 | produced by scm_dynamic_func as the thing to call. | |
575 | ||
576 | Sun Jan 12 21:09:42 1997 Marius Vollmer <mvo@zagadka.ping.de> | |
577 | ||
578 | * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c: Restructured. | |
579 | (scm_register_module_xxx, scm_registered_modules, | |
580 | scm_clear_registered_modules): New functions. | |
581 | ||
582 | Sat Jan 11 21:37:15 1997 Marius Vollmer <mvo@zagadka.ping.de> | |
583 | ||
584 | * symbols.c (scm_sysintern): Renamed to | |
585 | scm_sysintern_no_module_lookup. | |
586 | (scm_sysintern): New function to take the place of the old | |
587 | scm_sysintern. It uses the current toplevel lookup closure to give | |
588 | the symbol its value. This is a temporary hack to put packages | |
589 | like gtcltk into their own module. | |
590 | (scm_can_use_top_level_lookup_closure_var): New variable to tell | |
591 | us whether `scm_top_level_lookup_closure_var' has been initialized | |
592 | and is usable. | |
593 | * eval.c (scm_init_eval): Set it. | |
594 | ||
3d8d56df GH |
595 | Sat Jan 18 00:03:31 1997 Gary Houston <ghouston@actrix.gen.nz> |
596 | ||
597 | * fports.c (scm_open_file): pass errno to scm_syserror_msg. | |
598 | * filesys.h: update prototypes. Remove macros: SCM_FD_P, SCM_FD_FLAGS, | |
599 | SCM_FD. | |
600 | * filesys.c (scm_sys_stat, scm_sys_lstat): pass errno to | |
601 | scm_syserror_msg. | |
602 | * (scm_sys_read_fd, scm_sys_write_fd, scm_sys_close, scm_sys_lseek, | |
603 | scm_sys_dup): deleted: FD capability will be added to other | |
604 | procedures. | |
605 | * Remove support for the FD object type: scm_tc16_fd, scm_fd_print, | |
606 | scm_fd_free, fd_smob, scm_intern_fd. | |
607 | * (scm_open): renamed from scm_sys_open. Return a port instead of | |
608 | an FD object. Make the mode argument optional. | |
609 | * (scm_sys_create): deleted, it's just a special case of open. | |
610 | (scm_init_filesys): move interning of constants O_CREAT etc., | |
611 | here (were previously using SCM_CONST_LONG macro). | |
612 | Add missing constants: O_RDONLY, O_WRONLY, O_RDWR, O_CREAT. | |
613 | don't newsmob fd. | |
614 | (numerous _sys_ procedures): remove gratuitous _sys_ from names. | |
615 | include "fports.h" and <stdio.h> | |
616 | (scm_stat, scm_select): don't support FD objects. | |
617 | ||
618 | * error.h: adjust scm_syserror_msg prototype. | |
619 | * error.c (scm_syserror_msg): take an extra argument for errno. | |
620 | Using the global value didn't always work, since it could be | |
621 | reset by procedure calls in the message or args arguments. | |
622 | ||
623 | * fports.c (scm_setbuf0): call setbuf even if FIONREAD is not defined. | |
624 | I don't understand why the check was there (and what about the | |
625 | ultrix check?) | |
626 | ||
627 | * strop.c (scm_string_copy): allow shared substrings to be copied. | |
628 | ||
629 | * unif.h: corresponding change to prototypes. | |
630 | * unif.c (scm_uniform_array_read_x, scm_uniform_array_write_x): | |
631 | recognize two new optional arguments: offset and length. Allow | |
632 | the port argument to be an integer (file descriptor, for scsh). | |
633 | Include <unistd.h> for "read" prototype. | |
634 | ||
635 | Tue Jan 14 02:42:02 1997 Gary Houston <ghouston@actrix.gen.nz> | |
636 | ||
637 | * socket.c: don't include filesys.h. | |
638 | ||
ee78fbb0 GH |
639 | Mon Jan 13 03:47:04 1997 Gary Houston <ghouston@actrix.gen.nz> |
640 | ||
be9edf15 GH |
641 | * Makefile.am: add AWK=@AWK@ (?) |
642 | ||
ee78fbb0 GH |
643 | * Makefile.am (EXTRA_DIST): add errnos_cnvt.awk, errnos.default, |
644 | errnos_get.c. | |
645 | Add a rule to generate errnos.c from errnos. | |
646 | * error.c (scm_init_error): include errnos.c. | |
647 | * errnos_cnvt.awk: new file, converts the list of errno codes to | |
648 | C expressions. | |
649 | * errnos_get.c: new file. | |
650 | * errnos.default: new file, contains errnos to try if they can't | |
651 | be extracted from errno.h. | |
652 | * configure.in: if using GCC, try and extract errno codes from | |
653 | errno.h. | |
654 | Added AC_PROG_AWK. | |
655 | ||
b9e19a27 MV |
656 | Sat Jan 11 14:47:00 1997 Marius Vollmer <mvo@zagadka.ping.de> |
657 | ||
658 | * configure.in: Replaced AC_PROG_RANLIB with AM_PROG_LIBTOOL. | |
659 | * Makefile.am: Made libguile into a libtool library. | |
660 | * PLUGIN/guile.config: Removed "-L ../libguile" from xtra_cflags. | |
661 | Set libtool_libs to indicate that libguile is a libtool library. | |
662 | See guile/ChangeLog for details. | |
663 | * .cvsignore: ignore "*.lo", the libtool library objects. | |
664 | ||
65b376c7 GH |
665 | Wed Jan 8 06:54:54 1997 Gary Houston <ghouston@actrix.gen.nz> |
666 | ||
667 | * net_db.c (scm_getserv): add missing SCM_ALLOW_INTS. | |
668 | use htons in getservbyport argument. | |
669 | ||
0b1786d8 JB |
670 | Tue Jan 7 18:11:24 1997 Jim Blandy <jimb@floss.cyclic.com> |
671 | ||
9986a72f JB |
672 | * ports.h (SCM_PTOBNUM): Removed extraneous semicolon. |
673 | * smob.h: (SCM_PTOBNUM): Removed entirely; this definition is a | |
674 | duplicate. | |
675 | ||
198befde JB |
676 | * objprop.c (scm_object_property): No need to take the CDR of the |
677 | value returned by scm_object_properties, since Aug 20 change. | |
678 | ||
01fce0f0 JB |
679 | * configure.in: When checking for struct linger, #include |
680 | <sys/types.h> as well as <sys/socket.h>. I've never known | |
681 | <sys/types.h> to cause any portability problems, and Solaris's | |
682 | <sys/socket.h> needs it. | |
683 | * configure: Rebuilt. | |
684 | ||
ae65f9f9 JB |
685 | I think the Sun compiler has chosen a perverse way to interpret |
686 | ANSI declarations combined with K&R definitions. We'll | |
687 | appease it a little bit. But when it invades France, we fight. | |
688 | * print.c (scm_iprlist): Change 'tlr' argument to an int. | |
689 | * print.h (scm_iprlist): Here too. | |
690 | * numbers.c (scm_divbigdig): Change definition to match | |
691 | declaration in numbers.h. | |
692 | * unif.c (scm_makflo): Change definition to match declaration in | |
693 | unif.h. | |
694 | ||
695 | * init.c (scm_boot_guile): Don't return the value of | |
696 | scm_boot_guile_1. This function doesn't return a value; | |
697 | scm_boot_guile_1 doesn't return a value (or return at all). | |
698 | ||
699 | * eval.c (unmemocopy): Add a semicolon to appease the Sun | |
700 | compiler. | |
701 | ||
0b1786d8 JB |
702 | * simpos.c (SYSTNAME): Add case for AIX; otherwise it won't |
703 | compile. I have a feeling this function is a bad idea anyway --- | |
704 | one should always test for features, not systems. | |
705 | ||
706 | * smob.h (SCM_SMOBNUM, SCM_PTOBNUM): Remove extraneous | |
707 | semicolons. Only pure luck kept this from being noticed earlier. | |
708 | ||
239294da MD |
709 | Tue Jan 7 15:04:06 1997 Mikael Djurfeldt <mdj@kenneth> |
710 | ||
711 | * socket.c (scm_recvfrom): Added missing semicolon. | |
712 | ||
678b8532 GH |
713 | Mon Jan 6 20:39:08 1997 Gary Houston <ghouston@actrix.gen.nz> |
714 | ||
715 | * socket.c (scm_recvfrom): allow buff_or_size to be a list containing | |
ee78fbb0 | 716 | the buffer and start and end positions for scsh networking |
678b8532 GH |
717 | implementation. |
718 | ||
7a818853 JB |
719 | Sun Jan 5 13:53:53 1997 Jim Blandy <jimb@floss.cyclic.com> |
720 | ||
af8e756e JB |
721 | * configure.in: Revert previous change to this file; the problem |
722 | is due to transient automake weirdness. | |
723 | * configure: Rebuilt. | |
724 | ||
7a818853 JB |
725 | * Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in, not |
726 | PLUGIN/guile.libs. configure generates the latter from the former. | |
727 | * Makefile.in: Rebuilt. | |
728 | ||
729 | * configure.in: Call AM_PROG_INSTALL; the automake manual says we | |
730 | need this if we install scripts, like guile-snarf. | |
731 | * configure: Rebuilt. | |
732 | ||
ebd75e1b MV |
733 | Thu Jan 2 01:56:38 1997 Marius Vollmer <mvo@zagadka.ping.de> |
734 | ||
735 | * Makefile.am (EXTRA_DIST): Added DYNAMIC-LINKING | |
736 | ||
4ecd21bc GH |
737 | Sat Dec 28 19:14:01 1996 Gary Houston <ghouston@actrix.gen.nz> |
738 | ||
739 | * socket.c (scm_addr_vector): fix faulty scm_listify. | |
740 | ||
a9f041b5 MV |
741 | Sat Dec 28 13:55:58 1996 Marius Vollmer <mvo@zagadka.ping.de> |
742 | ||
743 | * read.c (scm_lreadr): Encountering EOF after skipping a SCSH | |
744 | style block comment is no longer considered an error. | |
b9e19a27 | 745 | |
11cc7daf MV |
746 | Fri Dec 27 13:44:23 1996 Marius Vollmer <mvo@zagadka.ping.de> |
747 | ||
748 | * PLUGIN/guile.libs.in: New file. | |
749 | * PLUGIN/guile.libs: Removed from repository. | |
750 | * configure.in: Create PLUGIN/guile.libs from | |
751 | PLUGIN/guile.libs.in. This is for including additonal libraries | |
752 | needed for dynamic linking. | |
753 | * Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in | |
754 | instead of PLUGIN/guile.libs. | |
755 | ||
756 | * Makefile.am: Added explicit dependency "dynl.o: dynl.x". | |
757 | ||
506067f0 JB |
758 | Sun Dec 22 23:06:14 1996 Jim Blandy <jimb@floss.cyclic.com> |
759 | ||
7a818853 | 760 | * list.c (scm_delq_x, scm_delv_x, scm_delete_x): Delete all |
506067f0 JB |
761 | occurrences of the given element from the list, not just the |
762 | first. This is how the Emacs Lisp functions behave, how the | |
763 | analogous Common Lisp functions behave, and (I believe) how the | |
764 | older Maclisp functions worked. I realize that this change may | |
765 | break code, but it seemed better to break it before the Guile | |
766 | release than after. | |
767 | ||
7a818853 | 768 | * gc.c (scm_protect_object, scm_unprotect_object): New functions. |
506067f0 JB |
769 | Their prototypes were already present in gc.h, but they weren't |
770 | implemented. | |
771 | (scm_init_storage): Initialize scm_protects. | |
772 | * root.c (scm_protects): New element of scm_sys_protects. | |
773 | ||
774 | * net_db.h (scm_init_net_db): Fix spelling from scm_init_netdb. | |
775 | ||
6f9dc845 JB |
776 | Sat Dec 21 15:38:32 1996 Jim Blandy <jimb@floss.cyclic.com> |
777 | ||
778 | * libguile.h: Added #include "libguile/net_db.h". | |
779 | ||
65558930 JB |
780 | * libguile.h: Don't #include "libguile/libpath.h", contrary to Oct |
781 | 30 change. That file is only meant for communication between the | |
782 | configuration process and load.c. If code linked against libguile | |
783 | wants to get at the paths mentioned in libpath.h, it can call | |
784 | functions declared in load.h. | |
785 | ||
cae76441 MD |
786 | Sat Dec 21 14:50:42 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
787 | ||
1d361fe0 MD |
788 | * libguile.h: Removed #include "libguile/fdsocket.h" |
789 | ||
cae76441 MD |
790 | * net_db.c: Added #include <sys/socket.h>. |
791 | ||
370312ae GH |
792 | Sat Dec 21 00:33:03 1996 Gary Houston <ghouston@actrix.gen.nz> |
793 | ||
794 | * filesys.c (scm_input_waiting_p): use select in preference to | |
795 | FIONREAD, since the latter doesn't detect EOF. | |
796 | Throw error if neither select nor FIONREAD available. | |
797 | ||
798 | * socket.c (scm_connect): take a port, not a fd object. | |
799 | (scm_fill_sockaddr): throw an error if fam is not recognised. | |
800 | (scm_bind): use scm_fill_sockaddr. | |
801 | (scm_listen): take a port, not a fd object. | |
4ecd21bc | 802 | (scm_accept): take and return a port. return #f in the car if |
370312ae GH |
803 | address can't be got |
804 | (scm_sock_fd_to_port): new procedure. | |
805 | (scm_socket): use scm_sock_fd_to_port. | |
806 | (scm_addr_vector): throw error if unrecognised address type. | |
807 | take an extra argument with the calling procedure name. | |
808 | (scm_getsockname): take a port. return #f if address can't be got. | |
809 | (scm_getpeername): take a port. return #f if address can't be got. | |
810 | (scm_recvfrom): take a port. return #f for address component if can't | |
811 | be got. | |
812 | (scm_sendto, scm_socketpair, scm_getsockopt scm_shutdown, | |
813 | scm_setsockopt, scm_recv, scm_send): take a port not a fd object. | |
814 | ||
dfff89a1 JB |
815 | Fri Dec 20 23:06:53 1996 Jim Blandy <jimb@floss.cyclic.com> |
816 | ||
817 | * throw.c (scm_internal_catch): Make body funcs and handler funcs | |
818 | use separate data pointers, to allow them to be designed | |
819 | independently and reused. | |
820 | (scm_body_thunk, scm_handle_by_proc, scm_handle_by_message): | |
821 | Renamed from catch_body, catch_handler, and uncaught_throw; made | |
822 | generically useful. | |
823 | (struct scm_catch_body_data): Renamed from catch_body_data; moved | |
824 | to throw.h. | |
825 | (scm_catch): Use the above. | |
826 | (scm_throw): Don't bother printing a message for an uncaught | |
827 | throw; we establish a default handler in init. | |
828 | * throw.h (scm_internal_catch): Prototype updated. | |
829 | (scm_body_thunk, scm_handle_by_proc, scm_handle_by_message): New | |
830 | decls. | |
831 | (struct scm_body_thunk_data): New structure, used as data | |
832 | argument to scm_body_thunk. | |
833 | * init.c (struct main_func_closure): New structure, packaging up | |
834 | the data to pass to the user's main function. | |
835 | (scm_boot_guile): Create one. Pass it to scm_boot_guile_1. | |
836 | (scm_boot_guile_1): Pass it through to invoke_main_func. Use | |
837 | scm_internal_catch to establish a catch-all handler, using | |
838 | scm_handle_by_message. This replaces the special-case code in | |
839 | scm_throw. | |
840 | (invoke_main_func): Body function for scm_internal_catch; invoke | |
841 | the user's main function, using the main_func_closure pointer to | |
842 | decide what to pass it. | |
843 | * root.c (struct cwdr_body_data): Remove handler_proc member. | |
844 | (cwdr): Use scm_handle_by_proc instead of cwdr_handler. | |
845 | (cwdr_handler): Removed. | |
846 | ||
370312ae GH |
847 | Thu Dec 19 00:00:26 1996 Gary Houston <ghouston@actrix.gen.nz> |
848 | ||
849 | * socket.h (SCM_P): update bind prototype. | |
850 | * socket.c (scm_init_socket): intern PF_UNSPEC, PF_UNIX, PF_INET. | |
851 | include "feature.h". | |
852 | (scm_socket): return a port, not a file descriptor object. | |
853 | include "fports.h" and <unistd.h> | |
854 | (scm_bind): take a port, not a file descriptor object. | |
855 | take an extra argument for address args. | |
856 | ||
857 | * net_db.c (scm_init_net_db): intern INADDR_ANY, INADDR_BROADCAST, | |
858 | INADDR_NONE, INADDR_LOOPBACK. | |
859 | ||
860 | Tue Dec 17 22:58:26 1996 Gary Houston <ghouston@actrix.gen.nz> | |
861 | ||
862 | * init.c: include net_db.h and not fdsocket.h. | |
863 | (scm_boot_guile_1): call scm_init_net_db and not scm_init_fdsocket. | |
864 | ||
865 | * Makefile.am: corresponding changes. | |
866 | * socket.h: renamed from fdsocket.h, fix names. | |
867 | * net_db.h: renamed from socket.h, fix names. | |
868 | * socket.c: renamed from fdsocket.c. | |
869 | remove _sys from procedure names. | |
870 | (scm_init_socket): rename from scm_init_fdsocket. include socket.x. | |
871 | add "socket" to features list. | |
872 | * net_db.c: renamed from socket.c. | |
873 | remove _sys from procedure names. | |
874 | (scm_init_net_db): rename from scm_init_socket. include net_db.x. | |
875 | add "net-db" to features list. | |
876 | include "net_db.h". don't include <sys/socket.h> or | |
877 | <sys/un.h>. | |
878 | ||
ae603dec MD |
879 | Thu Dec 19 14:03:24 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
880 | ||
881 | * tags.h (scm_tags): Removed comma at end of last enumerator. | |
882 | ||
70d4fe69 JB |
883 | Thu Dec 19 02:54:59 1996 Jim Blandy <jimb@floss.cyclic.com> |
884 | ||
885 | Don't use GCC extensions to allocate space for debugging frames. | |
886 | (Here he goes again! Why do we put up with this?!) | |
887 | * debug.h (scm_debug_frame): Make the 'vect' member a pointer to | |
888 | an scm_debug_info structure, not an in-line array of them. Add | |
889 | 'info' member, to say how many vect elements we've used, for eval | |
890 | frames. | |
891 | * eval.c (SCM_CEVAL): Use alloca to allocate space for vect. Use | |
892 | a new variable debug_info_end to mark the end of vect, instead of | |
893 | the address of the 'info' pointer itself. | |
894 | [DEVAL] (ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Remove casts of | |
895 | &debug to scm_debug_frame *; debug is a real scm_debug_frame now. | |
896 | (SCM_APPLY): Explicitly allocate space for debug.vect. | |
897 | * debug.c (scm_m_start_stack): Same, for vframe.vect. | |
898 | * stacks.c: Adjusted for new debug frame structure. | |
899 | (RELOC_INFO, RELOC_FRAME): New macros. | |
900 | (stack_depth, read_frames): Use them, and new scm_debug_frame | |
901 | element 'info', instead of magically knowing that eval frames have | |
902 | an info pointer sitting after vect. | |
903 | (scm_make_stack, scm_stack_id, scm_last_stack_frame): Use | |
904 | RELOC_FRAME. | |
905 | (scm_init_stacks): Formatting tweaks. | |
906 | ||
4d46a027 JB |
907 | Wed Dec 18 14:57:57 1996 Jim Blandy <jimb@floss.cyclic.com> |
908 | ||
909 | Give GCC more control flow information, so it can be sure that | |
910 | variables aren't used uninitialized. | |
911 | * error.h (scm_error, scm_syserror, scm_syserror_msg, | |
912 | scm_sysmissing, scm_num_overflow, scm_out_of_range, | |
913 | scm_wrong_num_args, scm_wrong_type_arg, scm_memory_error, | |
914 | scm_misc_error): Tell GCC that these functions never return. | |
915 | * struct.c (scm_struct_ref, scm_struct_set_x): If we can't figure | |
916 | out the field type, call abort if SCM_ASSERT returns, to placate | |
917 | the optimizer. | |
918 | * stacks.c (scm_make_stack, scm_last_stack_frame): abort if | |
919 | scm_wta ever returns. We can't handle this case anyway, and this | |
920 | gives the optimizer more information. | |
921 | * unif.c (scm_uniform_vector_ref, scm_array_set_x): Abort if | |
922 | scm_wta ever returns. | |
923 | ||
924 | In some cases, the code is fine, but GCC isn't smart enough to | |
925 | figure that out; this usually happens when one variable is only | |
926 | initialized and used when a particular condition holds true, and | |
927 | we know that condition will never change within a given invocation | |
928 | of the function. In this case, we simply initialize the variables | |
929 | to placate the compiler, hopefully to a value which will cause a | |
930 | crash if it is ever actually used. | |
931 | * print.c (scm_iprin1): Initialize mw_pos. | |
932 | * read.c (scm_lreadrecparen): Initialize tl2, ans2. | |
933 | * throw.c (scm_ithrow): Initialize dynpair. | |
934 | * unif.c (scm_uniform_vector_ref): Initialize cra. | |
935 | * struct.c (init_struct): Initialize prot. | |
936 | * mbstrings.c (scm_print_mb_symbol): Initialize mw_pos and inc. | |
937 | ||
938 | * strports.c (scm_eval_0str): Don't return uninitialized garbage | |
939 | if EXPR contains no expressions. | |
940 | ||
1b306e16 JB |
941 | Wed Dec 18 11:43:22 1996 Jim Blandy <jimb@totoro.cyclic.com> |
942 | ||
943 | * eval.c, debug.h: Revert changes of Dec 16 and Nov 21. They | |
944 | cause an infinite loop (???). So much for the algebraic | |
945 | equivalency of variable-sized arrays and alloca... | |
946 | ||
e4bcd6d9 MV |
947 | Tue Dec 17 20:29:03 1996 Marius Vollmer <mvo@zagadka.ping.de> |
948 | ||
949 | * backtrace.c (scm_display_error): Bugfix: scm_procedure_p returns | |
950 | a SCM boolean, not a C boolean. | |
951 | ||
952 | Sat Dec 14 23:21:45 1996 Marius Vollmer <mvo@zagadka.ping.de> | |
953 | ||
954 | * gc.c (SCM_MTRIGGER_HYSTERESIS): New memory management parameter. | |
955 | (scm_must_malloc, scm_must_realloc): Added a hysteresis to the | |
956 | rules for raising scm_mtrigger. Previously, unfortunate but not | |
957 | unlikely circumstances could result in almost constant invokation | |
958 | of the gc. Now, this situations should be less likely, but they | |
959 | are not prevented completely. | |
960 | ||
458917df JB |
961 | Tue Dec 17 16:19:07 1996 Jim Blandy <jimb@totoro.cyclic.com> |
962 | ||
963 | * numbers.c (scm_fuck): Procedure removed; looks like old test | |
964 | code. | |
5e06e4db | 965 | * numbers.h: Prototype removed. |
458917df | 966 | |
00325954 JB |
967 | Mon Dec 16 18:20:32 1996 Jim Blandy <jimb@totoro.cyclic.com> |
968 | ||
969 | * debug.h (scm_debug_frame): Change `vect' member from an in-line | |
970 | array to a pointer, to match my Nov 21 change in eval.c. | |
971 | ||
efcb39f2 MD |
972 | Fri Dec 13 16:12:14 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
973 | ||
974 | * libguile.h: Added #include "libguile/backtrace.h", #include | |
975 | "libguile/stacks.h". | |
976 | ||
977 | * strings.c (scm_string scm_make_string scm_string_ref | |
978 | scm_string_set_x scm_string_equal_p scm_string_append): | |
979 | Bugfix according to scm patch from Aubrey Jaffer: | |
980 | Corrected long-standing | |
981 | (not (eqv? (integer->char 128) | |
982 | (string-ref (make-string 1 (integer->char 128)) 0))) | |
983 | bug found by John Kozak <jk@noontide.demon.co.uk>. | |
984 | ||
7a818853 | 985 | * strports.c, strports.h: Make scm_eval_0str return the value of |
efcb39f2 MD |
986 | the last expression evaluated (previously, it returned void). |
987 | ||
7a818853 | 988 | * strports.c, strports.h: New function: scm_read_0str. Does what |
efcb39f2 MD |
989 | it sounds like. |
990 | ||
9373b387 GH |
991 | Tue Dec 10 23:38:43 1996 Gary Houston <ghouston@actrix.gen.nz> |
992 | ||
993 | * simpos.c (scm_getenv): return #f if string can't be found in the | |
994 | environment instead of throwing an exception, for compatibility | |
995 | with numerous other systems. | |
996 | ||
adb75a41 TT |
997 | Mon Dec 9 23:23:35 1996 Tom Tromey <tromey@cygnus.com> |
998 | ||
999 | * Makefile.am (.c.x): Use guile-snarf. | |
1000 | * configure.in (AC_OUTPUT): Generate guile-snarf; make it | |
1001 | executable. | |
1002 | * guile-snarf.in: New file, resurrected from old guile-snarf.sh. | |
1003 | ||
52b60d44 JB |
1004 | Mon Dec 9 18:36:50 1996 Jim Blandy <jimb@duality.gnu.ai.mit.edu> |
1005 | ||
1006 | * backtrace.c (scm_display_error_message): Made non-static, and | |
1007 | renamed from display_error_message. | |
1008 | * backtrace.h (scm_display_error_message): Added extern decl. | |
1009 | * throw.c (uncaught_throw): Use it to display the error message. | |
1010 | ||
5ce61f24 TT |
1011 | Mon Dec 9 10:10:38 1996 Tom Tromey <tromey@cygnus.com> |
1012 | ||
1013 | * inet_aton.c: Use #if 0, not #ifdef 0. | |
1014 | ||
8588fa12 GH |
1015 | Mon Dec 9 06:36:48 1996 Gary Houston <ghouston@actrix.gen.nz> |
1016 | ||
1017 | * ioext.c (scm_sys_ftell): use scm_long2num instead of SCM_MAKINUM | |
1018 | to convert the returned value. | |
1019 | (scm_sys_fseek): use scm_num2long instead of SCM_INUM to convert | |
1020 | the offset argument. | |
1021 | ||
5b9ad5c2 JB |
1022 | Sun Dec 8 21:06:38 1996 Jim Blandy <jimb@duality.gnu.ai.mit.edu> |
1023 | ||
1024 | Add new interface to catch/throw, usable from C as well as | |
1025 | Scheme. | |
1026 | * throw.h (scm_catch_body_t, scm_catch_handler_t): New types. | |
1027 | (scm_internal_catch): New function, replaces... | |
1028 | (scm_catch_apply): Deleted. | |
1029 | * throw.c (scm_catch_apply): Deleted; replaced with a more general | |
1030 | mechanism which is a bit more code, but can be used nicely from C | |
1031 | and implement the Scheme semantics as well. | |
1032 | (scm_internal_catch): This is the replacement; it's named after | |
1033 | the analogous function in Emacs. | |
1034 | (scm_catch): Reimplemented in terms of the above. | |
1035 | (struct catch_body_data, catch_body, catch_handler): New | |
1036 | functions, used by scm_catch. | |
1037 | * root.c (cwdr): Reimplemented in terms of scm_internal_catch. | |
1038 | (struct cwdr_body_data, cwdr_body, cwdr_handler): New functions; | |
1039 | support for new cwdr. | |
1040 | ||
1041 | * Makefile.am (libpath.h): Re-incorporate Mikael's changes of Wed | |
1042 | Oct 30. | |
1043 | ||
0734d246 MV |
1044 | Sun Dec 8 17:55:34 1996 Marius Vollmer <mvo@zagadka.ping.de> |
1045 | ||
1046 | * acconfig.h: Added DYNAMIC_LINKING symbol. | |
1047 | * configure.in: Add option and checks for dynamic linking. | |
1048 | * dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c, | |
1049 | dynl.h: New files for dynamic linking support. | |
1050 | * Makefile.am (libguile_a_SOURCES): | |
1051 | Added "dynl.c". | |
1052 | (modinclude_HEADERS): Added "dynl.h". | |
1053 | (EXTRA_DIST): Added "dynl-dl.c", "dynl-dld.c", "dynl-shl.c" and | |
1054 | "dynl-vms.c". | |
1055 | * init.c (scm_boot_guile_1): Call | |
1056 | scm_init_dynamic_linking to initialize dynamic linking support. | |
1057 | ||
1058 | Thu Dec 5 22:47:53 1996 Marius Vollmer <mvo@zagadka.ping.de> | |
1059 | ||
1060 | * init.c (scm_boot_guile_1): Moved `live' variable to the toplevel | |
1061 | (as we Schemers say). It needs to be global, so that I can tweak | |
1062 | it for the proper operation of unexec. | |
1063 | (scm_boot_guile_1_live): New variable, see above. | |
1064 | ||
733943b9 TT |
1065 | Sun Dec 1 00:00:49 1996 Tom Tromey <tromey@cygnus.com> |
1066 | ||
1067 | * guile-snarf.sh: Removed. | |
1068 | * PLUGIN/guile.libs: Added dependency for -lm. | |
1069 | * acinclude.m4: Renamed from aclocal.m4. | |
1070 | * PLUGIN/greet: Removed. | |
1071 | * Makefile.am, aclocal.m4: New files. | |
1072 | * configure.in: Updated for Automake. | |
1073 | ||
4417e7a7 MV |
1074 | Thu Nov 28 00:23:55 1996 Marius Vollmer <mvo@zagadka.ping.de> |
1075 | ||
1076 | * eval.c (scm_definedp): Use top_level_lookup_closure_var | |
1077 | and not top_level_lookup_thunk_var. | |
1078 | ||
07304dad JB |
1079 | Wed Nov 27 22:04:19 1996 Jim Blandy <jimb@baalperazim.frob.com> |
1080 | ||
1081 | * Makefile.in (ancillary): List ChangeLog-scm, not ChangeLog.scm. | |
1082 | ||
84abd243 MV |
1083 | Wed Nov 27 14:14:56 1996 Marius Vollmer <mvo@zagadka.ping.de> |
1084 | ||
1085 | * eval.c (scm_definedp): Incompatibly changed to be a builtin | |
1086 | Scheme function, instead of syntax. Single argument is now a | |
1087 | symbol. | |
1088 | ||
4aff3ae2 JB |
1089 | Thu Nov 21 20:26:36 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1090 | ||
1091 | * ramap.c (scm_ra_sum, scm_ra_difference, scm_ra_product, | |
1092 | scm_ra_divide): Properly terminate statements passed as arguments | |
1093 | to IVDEP macros. (Thanks to Bernard Urban.) | |
1094 | ||
1095 | * eval.c (SCM_CEVAL): Use alloca, not GCC's extensions for arrays | |
1096 | with non-constant sizes. (Thanks to Bernard Urban.) | |
1097 | ||
935aa279 JB |
1098 | Thu Nov 21 11:17:42 1996 Jim Blandy <jimb@floss.cyclic.com> |
1099 | ||
1100 | It's an "eval closure", not an "eval thunk." A thunk is a | |
1101 | function of no arguments. | |
1102 | * root.h (struct scm_root_state): Renamed | |
1103 | top_level_lookup_closure_var from top_level_lookup_thunk_var. | |
1104 | (scm_top_level_lookup_closure_var): Renamed from | |
1105 | scm_top_level_lookup_thunk_var. | |
1106 | * root.c (mark_root): Uses changed. | |
1107 | * gdbint.c (gdb_eval, gdb_binding): Uses changed. | |
1108 | * init.c (scm_start_stack): Uses changed. | |
1109 | * eval.c (scm_eval, scm_eval_x, scm_init_eval): Rename uses. | |
1110 | Change scheme-visible name to *top-level-lookup-closure* from | |
1111 | *top-level-lookup-thunk*. | |
1112 | ||
3763761c JB |
1113 | Tue Nov 19 22:43:31 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1114 | ||
1115 | * gc.c (scm_igc, scm_gc_mark): Round up the size of the stack we | |
1116 | pass to scm_mark_locations. (Thanks to Aubrey Jaffer.) | |
1117 | ||
8f9a51ac JB |
1118 | Sun Nov 10 13:35:05 1996 Jim Blandy <jimb@floss.cyclic.com> |
1119 | ||
1120 | * gc.c (struct scm_heap_seg_data): Doc fixes. | |
1121 | ||
8715b331 JB |
1122 | * gc.c (scm_gc_sweep): Empty all segments' freelists before |
1123 | sweeping. Then, prepend each segment's free cells to its | |
8f9a51ac JB |
1124 | freelist, rather than wiping out the old value. (Thanks to Marius |
1125 | Vollmer.) | |
1126 | ||
1127 | * gc.c (which_seg, scm_map_free_list, scm_newcell_count, | |
1128 | scm_check_freelist, scm_debug_newcell): New functions and | |
1129 | variables, for debugging freelist problems. | |
1130 | * pairs.h (SCM_NEWCELL): New debugging version added. | |
1131 | * gc.h (scm_debug_newcell): Added extern declaration, used by | |
1132 | debugging version of SCM_NEWCELL. | |
1133 | ||
8512dea6 JB |
1134 | Sat Nov 9 19:02:46 1996 Jim Blandy <jimb@floss.cyclic.com> |
1135 | ||
1136 | On some systems <libc.h> conflicts with <unistd.h>, and should not | |
1137 | be #included at all. | |
1138 | * aclocal.m4 (GUILE_HEADER_LIBC_WITH_UNISTD): New autoconf macro. | |
1139 | * acconfig.h (LIBC_H_WITH_UNISTD_H): New CPP symbol. | |
1140 | * configure.in: Call it. | |
1141 | * posix.c, filesys.c: Use its results to decide whether or not to | |
1142 | #include <libc.h>. | |
1143 | * configure, scmconfig.h.in: Rebuilt with autoconf and | |
1144 | autoheader. | |
1145 | ||
1146 | Wed Nov 6 16:19:50 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1147 | ||
1148 | * fports.c (scm_stdio_to_port, scm_open_file): Set the port's | |
1149 | pointer to the stdio stream before calling scm_setbuf0, so the | |
1150 | latter will be able to retrieve it. I'm surprised this didn't | |
1151 | segfault earlier. (Thanks to Christopher Lee.) | |
1152 | ||
23e89125 MD |
1153 | Wed Nov 6 16:01:20 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
1154 | ||
1155 | * throw.c (scm_lazy_catch, scm_ithrow): Completed implementation | |
1156 | of `lazy-catch'. | |
1157 | ||
7ad737b6 MD |
1158 | Sat Nov 2 21:01:48 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
1159 | ||
7a818853 | 1160 | * stacks.c, stacks.h (scm_make_stack): Now takes arbitrary |
7ad737b6 MD |
1161 | number of stack narrowing specifier pairs. The first specifier in |
1162 | a pair controls inner border, the second the outer border. A | |
1163 | number means cut that number of frames, a procedure object means | |
1164 | cut until that object is found in operator position in a frame. | |
1165 | ||
1166 | * root.c (cwdr): Bugfix. | |
1167 | ||
7a818853 | 1168 | * read.c: Recording of positions disabled by default. |
7ad737b6 | 1169 | |
7a818853 | 1170 | * procs.c (scm_closure_p): New function. |
7ad737b6 | 1171 | |
7a818853 | 1172 | * posix.c (scm_tmpnam): New function. |
7ad737b6 MD |
1173 | |
1174 | * load.c: Added #include "throw.h". | |
7a818853 | 1175 | (scm_sys_search_load_path): Bugfix: Don't add an extra '/' if path |
7ad737b6 MD |
1176 | ends with '/'. |
1177 | ||
7a818853 | 1178 | * load.c, load.h (scm_read_and_eval_x): New function. |
7ad737b6 | 1179 | |
7a818853 | 1180 | * eval.c: Renamed debug option "deval" to "debug". |
7ad737b6 | 1181 | |
7a818853 | 1182 | (scm_eval_x): `eval!' is no longer accessible from the scheme |
7ad737b6 MD |
1183 | level. Motivation: We can't allow operations which introduce |
1184 | glocs into the scheme level. Guile's type system can't handle | |
1185 | these as data. Use `eval' or `read-and-eval!' as replacement. | |
1186 | ||
1187 | * debug.c (scm_m_start_stack): Bugfix: Use SCM_ECONSP instead of | |
1188 | SCM_CONSP since this is a macro!; Set vframe.prev to | |
1189 | scm_last_debug_frame instead of 0. In this way we can look | |
1190 | "above" the virtual start stack frame if we wish. | |
1191 | (scm_debug_hang): New function: Useful for debugging Guile in | |
1192 | certain tricky situations. Will probably be removed later... | |
1193 | ||
7a818853 | 1194 | * debug.h: Changed semantics of debug option "backtrace". This |
7ad737b6 MD |
1195 | option now only indicates whether we want automatic backtrace at |
1196 | an error. | |
1197 | ||
11835a09 MD |
1198 | Wed Oct 30 00:31:55 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
1199 | ||
1200 | * ports.c: #include "filesys.h" | |
1201 | (scm_char_ready_p): input_waiting renamed and moved to filesys.c. | |
1202 | ||
1203 | * filesys.c, filesys.h (scm_input_waiting_p): Moved from ports.c. | |
1204 | Motivation: This is system specific code which is related to file | |
1205 | I/O. It also may use select. Added code by Gary Houston to | |
1206 | detect presence of character in stdio buffers. | |
1207 | ||
1208 | * libguile.h: #include "libguile/libpath.h" | |
1209 | ||
1210 | * Makefile.in (libpath.h): Renamed definition of: LIBRARY_PATH --> | |
1211 | SCM_LIBRARY_DIR; Added definitions of: SCM_PKGDATA_DIR, | |
1212 | SCM_SITE_DIR; Install libpath.h among the other include files. | |
1213 | ||
1214 | * load.c, load.h (scm_sys_package_data_dir): New function. | |
1215 | ||
1216 | Mon Oct 28 11:43:41 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> | |
1217 | ||
1218 | * stacks.h: Bugfix: Don't use tail-array length field as stack | |
7ad737b6 MD |
1219 | length field! This screwed GC. |
1220 | ||
1221 | Tue Oct 22 01:01:00 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> | |
1222 | ||
1223 | * _scm.h: Added #ifndef around definition of macros min and max. | |
1224 | ||
1225 | * __scm.h: Added hooks for threads to plugin to in ints protection | |
1226 | macros: SCM_THREAD_DEFER, SCM_THREAD_ALLOW, SCM_THREAD_REDEFER, | |
1227 | SCM_THREAD_ALLOW_1, SCM_THREAD_ALLOW_2. Motivation: We don't want | |
1228 | the main code in these macros duplicated and spread over multiple | |
1229 | files. Renamed SCM_THREADS_SWITCHING_CODE -> | |
1230 | SCM_THREAD_SWITCHING_CODE. | |
11835a09 | 1231 | |
3027db9d JB |
1232 | Tue Oct 29 14:55:40 1996 Marius Vollmer <mvo@zagadka.ping.de> |
1233 | ||
1234 | * snarf.h: New file. | |
1235 | * guile-snarf.sh: New file. | |
1236 | * Makefile.in (inner_h_files): Added snarf.h | |
1237 | (ancillary, install, uninstall, distclean): Added actions for | |
1238 | guile-snarf. | |
1239 | (.c.x): Use guile-snarf. | |
1240 | (guile-snarf): New rule, to produce guile-snarf from guile-snarf.sh. | |
1241 | (gen_c_files): Note that these depend on guile-snarf. | |
1242 | * _scm.h: Removed the snarfing macros (SCM_PROC, etc). They are | |
1243 | now in "snarf.h". Added #include "snarf.h" to get them. | |
1244 | * libguile.h: Added #include "snarf.h". | |
1245 | (Patches applied and tweaked by Jim Blandy.) | |
1246 | ||
1247 | Tue Oct 29 13:21:13 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1248 | ||
1249 | * socket.c: Use K&R style declaration for 'close'; the GNU coding | |
1250 | standards suggest against providing prototypes for system | |
1251 | functions. Thanks to Greg Troxel. | |
1252 | ||
99f97bfe JB |
1253 | Mon Oct 28 16:48:32 1996 Jim Blandy <jimb@floss.cyclic.com> |
1254 | ||
f193864b JB |
1255 | * strports.c (scm_eval_0str): New function. |
1256 | #include "read.h", to get prototype for scm_read. | |
1257 | * Makefile.in (strports.o): Update dependencies. | |
1258 | * strports.h: New prototype. | |
1259 | ||
7a818853 | 1260 | * numbers.c (scm_integer_p): Renamed from scm_int_p; change its |
f193864b JB |
1261 | scheme name from "int?" to "integer?". It seems to do the job. |
1262 | * numbers.h: Rename prototype too. | |
1263 | * scmhob.h (intp): Change definition to refer to scm_integer_p. I | |
1264 | hope this is right. | |
1265 | ||
7a818853 | 1266 | * numbers.c (scm_less_p, scm_gr_p, scm_leq_p, scm_geq_p, |
f193864b JB |
1267 | scm_num_eq_p): Rename these according to R4RS conventions: call |
1268 | them <, <=, =, >, and >=, not <?, <=?, =?, >?, and >=?. En route | |
1269 | to making libguile R4RS compliant without ice-9... | |
1270 | ||
7a818853 | 1271 | * load.c (scm_sys_search_load_path): Search for files under all |
99f97bfe JB |
1272 | extensions listed in the %load-extensions variable. If FILENAME |
1273 | is absolute, return it unchanged, without searching the load path. | |
7a818853 | 1274 | (scm_loc_load_extensions): New variable, pointing to |
99f97bfe JB |
1275 | %load-extensions' value cell. |
1276 | (scm_init_load): Initialize it, and the value it points to. | |
1277 | (scm_primitive_load_path): Improve error reporting. | |
1278 | ||
7a818853 | 1279 | * load.c (scm_loc_load_hook): New variable, pointing to value cell |
99f97bfe JB |
1280 | of new Scheme variable %load-hook. |
1281 | (scm_primitive_load): Apply %load-hook to filename. | |
1282 | ||
f93ddd39 GH |
1283 | Mon Oct 28 06:28:28 1996 Gary Houston <ghouston@actrix.gen.nz> |
1284 | ||
1285 | * configure.in: add tests for figuring out whether buffered data | |
1286 | is available in a FILE structure, which is needed by char-ready. | |
1287 | ||
1288 | * acconfig.h: define FILE_CNT_FIELD, FILE_CNT_GPTR and | |
1289 | FILE_CNT_READPTR. | |
1290 | ||
1291 | * simpos.c (scm_getenv): renamed from scm_sys_getenv. Throw | |
1292 | exceptions using misc_error instead of syserror. It seems a bit | |
1293 | odd to throw an exception if a string can't be found in the | |
1294 | environment, but it's consistent with open-file, stat etc. | |
1295 | (simpos.h): remove sys_ from getenv. | |
1296 | ||
1297 | * posix.c (scm_putenv): renamed from scm_sys_putenv. If an error | |
1298 | occurs, throw an error instead of returning errno. Return value | |
1299 | is now unspecified. | |
1300 | (numerous in posix.c and posix.h): removed superfluous sys_ from names. | |
1301 | ||
523f5266 GH |
1302 | Sun Oct 27 01:22:04 1996 Gary Houston <ghouston@actrix.gen.nz> |
1303 | ||
ae5253c5 GH |
1304 | * filesys.c (scm_stat2scm): derive file type and permissions from |
1305 | the stat mode and append them to the returned vector. | |
1306 | There isn't much overhead in doing this and it avoids the need to | |
1307 | work with S_IRUSR et al. in Scheme. | |
1308 | Define symbols scm_sym_regular etc. | |
1309 | (scm_init_filesys): don't intern S_IRUSR etc. | |
1310 | ||
523f5266 GH |
1311 | * load.c: change s_try_load and s_try_load_path to s_primitive_load |
1312 | and s_primitive_load_path. | |
1313 | ||
1314 | * eval.c, load.c, error.c (scm_wta): use scm_misc_error. | |
1315 | ||
1316 | * error.h: don't declare error symbols. prototype for scm_misc_error. | |
1317 | ||
1318 | * stackchk.c (scm_stack_overflow_key): defined here instead of in | |
1319 | error.c. | |
1320 | ||
1321 | * error.c: use SCM_SYMBOL to set up error keys. | |
1322 | scm_misc_error: new procedure. | |
1323 | ||
3065a62a JB |
1324 | Fri Oct 25 01:56:30 1996 Jim Blandy <jimb@floss.cyclic.com> |
1325 | ||
1326 | * read.c (scm_lreadr): Recognize SCSH-style block comments; text | |
1327 | between `#!' and `!#' is ignored. | |
1328 | (skip_scsh_block_comment): New function. | |
1329 | ||
1330 | * feature.c (scm_set_program_arguments): New argument, FIRST. | |
1331 | * feature.h: Update prototype. | |
1332 | * init.c (scm_boot_guile_1): Pass new argument to | |
1333 | scm_set_program_arguments. | |
1334 | ||
b6edbab2 JB |
1335 | Tue Oct 22 20:54:42 1996 Jim Blandy <jimb@floss.cyclic.com> |
1336 | ||
1337 | * init.c (scm_start_stack): Don't initialize scm_progargs here. | |
1338 | (scm_boot_guile): Call scm_set_program_arguments here, later than | |
1339 | the old initialization. | |
1340 | ||
7a818853 | 1341 | * init.c: (scm_boot_guile, scm_boot_guile_1): New, simplified |
b6edbab2 JB |
1342 | initialization procedure. |
1343 | - Delete in, out, err arguments; there are other perfectly good | |
1344 | ways to override these when desired. | |
1345 | - Delete result argument; this function shouldn't ever return. | |
1346 | - Rename init_func argument to main_func, for less confusion. | |
1347 | - Delete boot_cmd argument; main_func is more general. | |
1348 | -Add 'closure' argument, to help people pass data to main_func | |
1349 | without resorting to global variables. | |
1350 | - Abort if reentered; don't bother returning an error code. | |
1351 | - Call scm_init_standard_ports to set up the default/current | |
1352 | standard ports; no need to pass them to scm_start_stack. | |
1353 | - Remove code to evaluate the boot_cmd, and start the repl; let | |
1354 | the user do something like that in main_func if they want. | |
1355 | - Remove code to package up a return value; main_func can do any | |
1356 | of that as needed. | |
1357 | - Call exit (0), instead of returning. | |
1358 | (scm_start_stack): Don't initialize the I/O ports here; that's | |
1359 | weird. Delete in, out, err arguments. Move guts to | |
1360 | scm_init_standard_ports, scm_stdio_to_port. | |
1361 | (scm_init_standard_ports): New function, to set up current and | |
1362 | default standard ports. | |
1363 | (scm_start_stack, scm_restart_stack): Make these static. | |
1364 | * init.h (scm_boot_guile): Adjust declaration. | |
1365 | (scm_start_stack, scm_restart_stack): Remove externally | |
1366 | visible declarations for these. | |
1367 | (enum scm_boot_status): Removed; now scm_boot_guile never returns. | |
1368 | ||
7a818853 | 1369 | * fports.c (scm_stdio_to_port): New function. Its guts used to be |
b6edbab2 JB |
1370 | written out several times in scm_start_stack. |
1371 | * fports.h: New declaration for the above. | |
1372 | ||
7a818853 | 1373 | * feature.c (scm_set_program_arguments): New function. |
b6edbab2 JB |
1374 | * feature.h: New declaration for the above. |
1375 | ||
1376 | * ports.c: Formatting tweak. | |
1377 | ||
5dbb2c62 MD |
1378 | Sun Oct 20 03:29:32 1996 Mikael Djurfeldt <mdj@kenneth> |
1379 | ||
1380 | * pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c, | |
1381 | ramap.c, symbols.c: Added new selectors SCM_CARLOC and SCM_CDRLOC | |
1382 | for obtaining the address of a car or cdr field. Motivation: | |
1383 | &SCM_CXR make assumptions about the internal structure of the | |
1384 | SCM_CXR selectors. | |
1385 | ||
1386 | * eval.h, eval.c: Added new selector SCM_GLOC_VAL_LOC. | |
1387 | Motivation: see SCM_CXRLOC. | |
1388 | ||
1389 | * pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h, | |
1390 | srcprop.h, tags.h, throw.c, unif.c: Added new selectors | |
1391 | SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR and SCM_SETOR_CDR. | |
1392 | Motivation: Safer use. Some other macros are defined in terms of | |
1393 | these operations. If these are defined using the SCM_SETCXR | |
1394 | (<e1>, SCM_CXR (<e1>) <op> <e2>) pattern a complex <e1> will lead | |
1395 | to inefficiency and an <e1> with side-effects could potentially | |
1396 | break. Also, these particular operations are heavily utilized in | |
1397 | the garbage collector. In unoptimized code there will be a | |
1398 | measurable speedup. | |
1399 | ||
1400 | * alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c, | |
1401 | eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c, | |
1402 | ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h, | |
1403 | pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c, | |
1404 | procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h, | |
1405 | strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c, | |
1406 | vports.c: Cleaned up use of pairs: Don't make any special | |
1407 | assumptions about the internal structure of selectors and | |
1408 | mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>), | |
1409 | SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc. | |
1410 | (Among other things, this change makes it easier to build Guile | |
1411 | with certain compilers which have problems with casted lvalues.) | |
1412 | ||
1bb961a3 MD |
1413 | Fri Oct 18 01:11:56 1996 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
1414 | ||
1415 | * stacks.c: Improve selection of relevant stack frames when making | |
1416 | a stack object. Introduce one level of indirection in the stack | |
1417 | object to make it possible to "narrow" to a certain region of the | |
1418 | stack. This facilitates making use of more clever algorithms (not | |
1419 | implemented) for selecting relevant frames and gives a cleaner | |
1420 | design since selection of frames can be done independently of | |
1421 | extraction of frames from the real stack. | |
1422 | (scm_stack_id): Also take #t as argument which means look at | |
1423 | current stack. | |
1424 | ||
1425 | * stacks.h: In struct scm_stack: Turn field frames into a pointer. | |
1426 | Turn n_tail into an integer directly representing current number | |
1427 | of frames in stack. Add field tail. | |
1428 | ||
1429 | * ports.c (scm_port_line_x, scm_port_column_x): New mutators. | |
1430 | ||
1431 | * debug.c (scm_make_memoized): Made it available at scheme level. | |
1432 | (scm_unmemoize, scm_memoized_environment): Bugfix: Check for | |
1433 | SCM_NIMP before applying heavier predicates in argument checking. | |
1434 | (scm_local_eval): Also take memoized object as argument. | |
1435 | ||
1436 | * backtrace.c (scm_display_error): Just a safety measure: Stacks | |
1437 | aren't created with zero length, but should such a strange | |
1438 | creature suddenly turn up... | |
1439 | ||
e4c5095f JB |
1440 | Wed Oct 16 11:08:41 1996 Marius Vollmer <mvo@zagadka.ping.de> |
1441 | ||
1442 | * hashtab.h (scm_hashx_remove_x): Renamed `delete' parameter to | |
1443 | `del', for the sake of C++ compilers. (Patch applied by JimB.) | |
1444 | ||
d065b65f JB |
1445 | Tue Oct 15 17:06:13 1996 Jim Blandy <jimb@floss.cyclic.com> |
1446 | ||
aa9576ad JB |
1447 | * variable.c (scm_make_variable): Make the name hint optional, as |
1448 | documented. | |
1449 | (anonymous_variable_sym): Renamed from variable_sym. All uses | |
1450 | changed. | |
1451 | ||
d065b65f JB |
1452 | * load.c (scm_primitive_load, scm_primitive_load_path): Renamed |
1453 | from scm_sys_try_load and scm_sys_try_load_path. The Scheme name | |
1454 | of scm_primitive_load_path was also changed to | |
1455 | "primitive-load-path", from "%try-load-path". Callers changed. | |
1456 | We'd like to respect the convention that a function named | |
1457 | "try-mumble" should behave just like the function called "mumble", | |
1458 | but return #f instead of signalling some error. | |
1459 | * load.h: Rename prototypes. | |
1460 | ||
7bf80fd0 MD |
1461 | Tue Oct 15 05:34:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1462 | ||
1463 | * print.c (make_print_state, grow_print_state), print.h: Modified | |
1464 | the print state representation: Don't use a tail array for | |
1465 | recording of circular references. Resizing of the print state | |
1466 | structure invalidates the print state pointer. To avoid passing | |
1467 | around an indirect print state reference to all printing | |
1468 | functions, we instead let the print state reference a resizable | |
1469 | vector. | |
1470 | ||
820bb96d JB |
1471 | Mon Oct 14 19:25:00 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1472 | ||
1473 | * alist.c (scm_sloppy_assq, scm_sloppy_assv, scm_sloppy_assoc): | |
1474 | Don't crash when passed an improper list terminated by a | |
1475 | non-immediate value. | |
1476 | ||
2a786759 JB |
1477 | Mon Oct 14 19:08:33 1996 Jim Blandy <jimb@floss.cyclic.com> |
1478 | ||
1479 | Allocate data for structures on an eight-byte boundary, as | |
1480 | required by the tagging system. | |
1481 | * struct.c (alloc_struct): New function. | |
1482 | (scm_make_struct, scm_make_vtable_vtable): Call it. | |
1483 | * struct.h (scm_struct_n_extra_words): Bump to 3. | |
1484 | (scm_struct_i_ptr): New "field". | |
1485 | * gc.c (scm_gc_sweep): When we need to free the data, use the | |
1486 | information stored by alloc_struct to find the beginning of the | |
1487 | block allocated to the structure, so we can free it. | |
1488 | ||
2dfc85c0 MD |
1489 | Mon Oct 14 17:07:55 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1490 | ||
1491 | * init.c (scm_boot_guile_1): Moved scm_init_struct in front of | |
1492 | scm_init_stacks. | |
1493 | ||
1494 | * debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros. | |
1495 | (scm_debug_info): New member: id. | |
1496 | ||
1497 | * stacks.c: Stacks are now represented as structs; Stacks have an | |
1498 | id given to them by `start-stack'. | |
1499 | (scm_last_stack_frame): Added predicates `stack?' and `frame?'. | |
1500 | ||
1501 | * stacks.h: Added declarations of scm_stack_p and scm_frame_p; | |
1502 | Changed stack representation. | |
1503 | ||
1504 | * debug.c (scm_procedure_name): Try procedure property `name' for | |
1505 | compiled closures aswell. | |
1506 | ||
1507 | * gc.c (scm_init_storage): Initialize scm_stand_in_procs to SCM_EOL. | |
1508 | ||
1509 | * eval.c: scm_i_name moved to gsubr.c | |
1510 | (scm_m_define): Record names of all kinds of procedure | |
1511 | objects. (Earlier, only closures were recorded.) | |
1512 | ||
1513 | * procprop.h: Added declaration of scm_i_name. | |
1514 | ||
1515 | * gsubr.c: Added global scm_i_name. Added #include "procprop.h". | |
1516 | (scm_make_gsubr): Record names of compiled closures. | |
1517 | ||
4f0292cf MD |
1518 | Mon Oct 14 04:21:51 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1519 | ||
1520 | * debug.c, debug.h: Removed obsolete code. | |
1521 | ||
1522 | * continuations.c, continuations.h, debug.c, gc.c, init.c, root.c, | |
1523 | stacks.c: Renamed regs --> scm_contregs. | |
1524 | ||
1525 | * print.c (scm_free_print_state): Cleanup print state before | |
1526 | returning it to pool. It is better to do it here than in | |
1527 | scm_prin1 since scm_prin1 is called often. | |
1528 | ||
1529 | * srcprop.c (scm_source_properties, scm_set_source_properties_x, | |
1530 | s_set_source_property_x): Check that first argument is a pair or a | |
1531 | memoized object. | |
1532 | ||
1533 | * srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy, | |
1534 | scm_i_line, scm_i_column and scm_i_breakpoint global. | |
1535 | ||
1536 | * init.c: Added #include "backtrace.h" and #include "stacks.h". | |
1537 | (scm_boot_guile_1): Added calls to scm_init_backtrace and | |
1538 | scm_init_stacks. | |
1539 | ||
1540 | * debug.h: Added debug object smob declaration and macro | |
1541 | definitions. | |
1542 | ||
1543 | * configure.in: Build with backtrace.o and stacks.o if debug | |
1544 | support enabled. | |
1545 | ||
1546 | * Makefile.in: Added entries for new files: backtrace.c, | |
1547 | backtrace.h, stacks.c and stacks.h. | |
1548 | ||
1549 | * symbols.c (scm_sym2ovcell): Fixed documentation. | |
1550 | ||
1551 | * _scm.h (min, max): Added. | |
1552 | ||
1553 | * async.c: Moved `min' macro to _scm.h. | |
1554 | ||
1555 | * debug.h: New debug options SCM_BACKTRACE_MAXDEPTH and | |
1556 | SCM_BACKTRACE_INDENT. | |
1557 | ||
1558 | * eval.c: Added new debug options `maxdepth' and `indent'. | |
1559 | ||
1560 | * print.c (make_print_state): Bugfix: Initialize pstate->ceiling. | |
1561 | ||
1562 | * print.h: Added selector SCM_PRINT_STATE. | |
1563 | ||
1564 | * print.c: New functions: scm_make_print_state, | |
1565 | scm_free_print_state. | |
1566 | ||
1567 | * print.h: Added declarations for scm_make_print_state, | |
1568 | scm_free_print_state. | |
1569 | ||
7a818853 | 1570 | * debug.c (scm_m_start_stack): New acro. |
4f0292cf MD |
1571 | |
1572 | * debug.h: Small cleanup. | |
1573 | ||
1574 | * init.c (scm_boot_guile_1): Moved scm_init_debug below | |
1575 | scm_init_eval. | |
1576 | ||
1cc91f1b JB |
1577 | Sun Oct 13 20:14:53 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1578 | ||
1579 | * __scm.h, alist.c, alist.h, append.c, append.h, appinit.c, | |
1580 | arbiters.c, arbiters.h, async.c, async.h, boolean.c, boolean.h, | |
1581 | chars.c, chars.h, continuations.c, continuations.h, debug.c, | |
1582 | debug.h, dynwind.c, dynwind.h, eq.c, eq.h, error.c, eval.c, | |
1583 | eval.h, extchrs.c, extchrs.h, fdsocket.c, fdsocket.h, filesys.c, | |
1584 | filesys.h, fports.c, fports.h, gc.c, gdb_interface.h, gdbint.c, | |
1585 | gdbint.h, genio.c, genio.h, gscm.c, gscm.h, gsubr.c, gsubr.h, | |
1586 | hash.c, hash.h, hashtab.c, hashtab.h, init.c, ioext.c, ioext.h, | |
1587 | kw.c, kw.h, libguile.h, mallocs.c, mallocs.h, markers.c, | |
1588 | markers.h, mbstrings.c, mbstrings.h, numbers.c, numbers.h, | |
1589 | objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h, | |
1590 | ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c, | |
1591 | procprop.h, procs.c, procs.h, ramap.c, ramap.h, read.c, read.h, | |
1592 | root.c, scmsigs.c, scmsigs.h, sequences.c, sequences.h, simpos.c, | |
1593 | simpos.h, smob.c, socket.c, socket.h, srcprop.c, srcprop.h, | |
1594 | stackchk.c, stackchk.h, stime.c, stime.h, strings.c, strings.h, | |
1595 | strop.c, strop.h, strorder.c, strorder.h, strports.c, strports.h, | |
1596 | struct.c, struct.h, symbols.c, symbols.h, tag.c, tag.h, unif.c, | |
1597 | unif.h, variable.c, variable.h, vectors.c, vectors.h, version.c, | |
1598 | version.h, vports.c, vports.h, weaks.c, weaks.h: Use SCM_P to | |
1599 | declare functions with prototypes. (Patch thanks to Marius | |
1600 | Vollmer.) | |
1601 | ||
1602 | More prototype-related changes from Marius Vollmer: | |
1603 | * gdb_interface.h: Wrapped header file in #ifdef/#endif | |
1604 | * gscm.h (gscm_run_scm): Added prototype for `initfn' paramter. | |
1605 | * ports.h (ptobfuns): Added prototypes. This means some casting in | |
1606 | fports.c. | |
1607 | * fports.c: Added casts for initializations, since the functions | |
1608 | are defined to take FILE * as their stream argument, not SCM. | |
1609 | * fdsocket.c, fdsocket.h: Made `init_addr_buffer' static. | |
1610 | * genio.c (scm_gen_puts): Changed `unsigned char *str_data' parameter | |
1611 | to `char *str_data' to conform to prototype. | |
1612 | ||
01f61221 GH |
1613 | Sat Oct 12 21:49:29 1996 Gary Houston <ghouston@actrix.gen.nz> |
1614 | ||
1615 | * error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error. | |
1616 | ||
1617 | * __scm.h (lgh_error): removed, lgh shouldn't be in libguile. | |
1618 | ||
1619 | * stime.c, stime.h: use SCM_P method. | |
1620 | ||
0682f7ab JB |
1621 | Sat Oct 12 16:16:25 1996 Jim Blandy <jimb@floss.cyclic.com> |
1622 | ||
1623 | * eval.c (scm_nconc2last): Don't accept an empty list; apply must | |
1624 | be given at least two arguments. Insist that lst's last element | |
1625 | be a list, but don't make any requirements of its predecessors. | |
1626 | ||
e886fe62 JB |
1627 | Fri Oct 11 03:58:25 1996 Jim Blandy <jimb@floss.cyclic.com> |
1628 | ||
1629 | * eval.c (scm_nconc2last): Revert last change; there seems to be | |
1630 | other stuff going on here. | |
1631 | ||
1eaceb61 JB |
1632 | Fri Oct 11 02:43:59 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1633 | ||
1634 | * eval.c (scm_nconc2last): Make sure that each element of lst | |
1635 | (which is a list of argument lists, except for the tail) is a | |
1636 | proper list, i.e., finite and terminated by '(). | |
1637 | ||
1638 | Thu Oct 10 21:09:13 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1639 | ||
1640 | * unif.c (scm_ra_set_contp): Localize `inc' declaration. | |
1641 | Clarifies flow. | |
1642 | ||
1643 | * struct.c (scm_make_struct, scm_make_vtable_vtable): Use the | |
1644 | symbolic name for the tag, scm_tc3_cons_gloc, instead of just | |
1645 | saying "1". | |
1646 | ||
1647 | * vectors.c (scm_make_vector): Fill vectors with the undefined | |
1648 | value, to help make Guile Scheme code more portable to other | |
1649 | Schemes. | |
1650 | ||
1651 | * symbols.c (scm_intern_obarray_soft, scm_sysintern): Doc fixes. | |
1652 | * symbols.h, tags.h: Doc fixes. | |
1653 | ||
a857bf16 JB |
1654 | Wed Oct 9 19:39:29 1996 Jim Blandy <jimb@floss.cyclic.com> |
1655 | ||
1656 | * async.c (scm_take_signal): Doc fixes. | |
1657 | ||
40920279 JB |
1658 | Mon Oct 7 22:30:34 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1659 | ||
1660 | * numbers.c (scm_divbigint): When the remainder is zero, we don't | |
1661 | want to subtract it from the modulus; we just want to leave it | |
1662 | alone. | |
1663 | ||
e93ffe59 MD |
1664 | Mon Oct 7 00:14:17 1996 Mikael Djurfeldt <mdj@kenneth> |
1665 | ||
1666 | * init.c (scm_boot_guile_1): Bugfix: i --> base in argument to | |
1667 | `scm_init_threads'. | |
1668 | ||
1669 | * throw.h (scm_catch_apply): Removed the `lazyp' argument. | |
1670 | ||
1671 | * throw.c (scm_catch_apply): Finished implementation of | |
1672 | `lazy-catch'. | |
1673 | ||
52f4f4d6 GH |
1674 | Sun Oct 6 05:26:05 1996 Gary Houston <ghouston@actrix.gen.nz> |
1675 | ||
1676 | * filesys.c (scm_sys_select): move SCM_ALLOW_INTS past the sreturn | |
1677 | check. | |
1678 | (scm_init_filesys): set "i/o-extensions" feature. | |
1679 | include feature.h. | |
1680 | ||
00fb6d20 JB |
1681 | Sat Oct 5 12:22:00 1996 Jim Blandy <jimb@floss.cyclic.com> |
1682 | ||
1683 | * Makefile.in (root.o): Correct dependencies. | |
1684 | ||
8b4a21d1 MD |
1685 | Sat Oct 5 18:40:42 1996 Mikael Djurfeldt <mdj@kenneth> |
1686 | ||
1687 | * Makefile.in: Added dependency entry for root.o. | |
1688 | ||
1689 | * continuations.c, debug.[ch], eval.c, gscm.c init.c, root.c, | |
1690 | throw.c: Renamed last_debug_info_frame -> scm_last_debug_frame. | |
1691 | ||
1692 | * init.c (scm_start_stack): Set initial root continuation number | |
1693 | to 0. | |
1694 | ||
1695 | * procs.c: New function: scm_thunk_p. | |
1696 | ||
1697 | * procs.h: Added declarations of scm_thunk_p. | |
1698 | ||
1699 | * root.c: Renamed `call-with-new-root' --> | |
1700 | `call-with-dynamic-root'. | |
1701 | (cwdr): Removed allocation of new root state. This should be done | |
1702 | separately by use of scm_make_root. | |
1703 | (scm_apply_with_dynamic_root): New function: Does what it | |
1704 | sounds like. Needed when spawning threads. | |
1705 | ||
1706 | * root.h: Added member last_debug_frame to root state. | |
1707 | Added #include "libguile/debug.h" | |
1708 | ||
1709 | * throw.c: Renamed scm_catch --> scm_catch_apply and added more | |
1710 | arguments. The motivation is that code in root.c needs catch | |
1711 | functionality, and we want to avoid code duplication. | |
1712 | New functions: scm_catch, scm_lazy_catch. These are wrappers for | |
1713 | scm_catch_apply. scm_lazy_catch is intended to introduce catch | |
1714 | handlers that run without popping the stack into the dynwind | |
1715 | chain. | |
1716 | ||
1717 | * throw.h: Added prototypes for scm_catch_apply and | |
1718 | scm_lazy_catch. | |
1719 | ||
5614fe04 MD |
1720 | Thu Oct 3 11:12:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1721 | ||
1722 | * root.h (scm_root, scm_set_root): Decouple thread support details | |
1723 | by introducing the selector SCM_THREAD_LOCAL_DATA and the mutator | |
1724 | SCM_SET_THREAD_LOCAL_DATA. | |
1725 | ||
1726 | * print.c (scm_iprlist): Bugfix: Added SCM_ECONSP tests in hare | |
1727 | and tortoise scanning loop. | |
1728 | ||
c90c9685 JB |
1729 | Thu Oct 3 00:04:53 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1730 | ||
1731 | * Makefile.in: Rebuild dependencies. | |
1732 | ||
1733 | * libguile.h: #include "libguile/print.h" before "smob.h", since | |
1734 | the latter uses the print_state structure. | |
1735 | ||
1736 | * throw.c (scm_ithrow): Use the correct variable when checking to | |
1737 | see if a given element of scm_dynwinds is a valid catch. | |
1738 | ||
1739 | * throw.c (scm_ithrow): If scm_dynwinds has invalid list | |
1740 | structure, abort; don't just silently ignore the garbage. | |
1741 | ||
1742 | * _scm.h: #include "print.h" here, since it seems to be used just | |
1743 | about everywhere. | |
1744 | * eval.c, gdbint.c, genio.h, numbers.h, smob.h, srcprop.c, | |
1745 | strports.c, unif.h: Don't #include "print.h". | |
1746 | ||
951241c9 MD |
1747 | Tue Oct 1 05:15:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1748 | ||
1749 | * feature.h (scm_loc_features): Removed external declaration. | |
1750 | (Bug fix suggested by Petr Adamek <adamek@mit.edu>.) | |
1751 | ||
1dd25d53 MD |
1752 | Tue Oct 1 00:00:10 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
1753 | ||
1754 | * feature.c (scm_init_feature): Added threads feature (needs to be | |
1755 | initialized here, since features doesn't exist when | |
1756 | scm_init_threads is called). | |
1757 | ||
1758 | * libguile.h: Added #include "libguile/../threads/threads.h". | |
1759 | (This is a kludge to get thread support working. This should be | |
1760 | fixed.) | |
1761 | ||
1762 | * configure.in, acconfig.h: Added flags for thread support. | |
1763 | ||
1764 | * scmsigs.c: Define `signal' to be `pthread_signal' if using | |
1765 | mit-pthreads. | |
1766 | ||
1767 | * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and | |
1768 | SCM_THREAD_CRITICAL_SECTION_END. Moved marking of root data to | |
1769 | root.c:mark_root. | |
1770 | ||
1771 | * _scm.h: Added conditional #include "threads.h" | |
1772 | ||
1773 | * __scm.h (SCM_ASYNC_TICK): Added call to macro | |
1774 | SCM_THREADS_SWITCHING_CODE. | |
1775 | ||
1776 | * init.c (scm_start_stack): Call `scm_make_root' to dynamically | |
1777 | allocate the basic dynamic root object. | |
1778 | (scm_boot_guile): Added call to scm_init_root. | |
1779 | ||
7a818853 | 1780 | * root.c, root.h: Added root smob. |
1dd25d53 MD |
1781 | (cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New |
1782 | functions: Implements dynamic roots mostly according to spec in | |
1783 | SCM manual. Main difference is that the second argument is a | |
1784 | throw handler rather than an error "thunk". | |
1785 | ||
1786 | * root.h: Added declaration of scm_init_root. | |
1787 | ||
1788 | * root.c: Added #include "genio.h", #include "smob.h", #include | |
1789 | "pairs.h", #include "throw.h", #include "dynwind.h", #include | |
1790 | "eval.h" | |
1791 | (scm_init_root): Added #include "root.x". | |
1792 | ||
1793 | * throw.c: Added #include "stackchk.h" | |
1794 | (scm_catch): Changed SCM_DEFER_INTS --> SCM_REDEFER_INTS and | |
1795 | SCM_ALLOW_INTS --> SCM_REALLOW_INTS. This is so that scm_catch | |
1796 | can be used in scm_call_with_new_root; Added reenabling of stack | |
1797 | checking when catching a throw. | |
1798 | ||
c90c9685 JB |
1799 | Mon Sep 30 21:48:11 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1800 | ||
1801 | * list.c, list.h: Use SCM_P instead of CPP hair. Doc fixes. | |
1802 | ||
1803 | * list.c (scm_member, scm_memv, scm_memq): Return #f if a matching | |
1804 | element is not found, as per R4RS. | |
1805 | ||
1806 | Sat Sep 28 18:13:01 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1807 | ||
1808 | * list.c: Doc fixes throughout. | |
1809 | ||
dbece3a2 GH |
1810 | Sat Sep 28 02:07:43 1996 Gary Houston <ghouston@actrix.gen.nz> |
1811 | ||
1812 | * strings.c, strings.h: (scm_makfrom0str, scm_makefrom0str_opt: | |
1813 | declare the char * to be const. Avoids a warning in rgx.c. | |
1814 | ||
1815 | * ports.h: spelling fix. | |
1816 | ||
1817 | * filesys.c (scm_sys_stat, scm_sys,lstat): include file name in | |
1818 | error messages. | |
1819 | ||
1820 | * load.c (scm_sys_try_load_path): throw an error if file not found | |
1821 | (like it says it in NEWS). | |
1822 | ||
c90c9685 JB |
1823 | Fri Sep 27 18:27:01 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1824 | ||
1825 | * symbols.c (scm_intern_obarray_soft): Initialize the new symbol's | |
1826 | PROPS slot to '(), not #f; it's an empty alist. | |
1827 | ||
1828 | * throw.h, throw.c: Use SCM_P instead of #if hair. | |
1829 | ||
1830 | Remove special support for uncaught throws; see throw.c for | |
1831 | rationale. | |
1832 | * throw.c (uncaught_throw): New function. | |
1833 | (scm_ithrow): Call uncaught_throw if we don't find a throw | |
1834 | target; don't mess with scm_bad_throw_vcell. | |
1835 | (scm_bad_throw_vcell): Variable deleted. | |
1836 | (scm_init_throw): Don't initialize it. | |
1837 | ||
1838 | * throw.c (scm_ithrow): Don't let outer key matches shadow inner | |
1839 | #t catches. | |
1840 | ||
1841 | Wed Sep 25 04:35:50 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1842 | ||
1843 | * numbers.c (scm_istr2int): If the number is short (as most | |
1844 | numbers are), just call scm_small_istr2int to deal with it. | |
1845 | (scm_small_istr2int): New function, created by un-#ifdefing the | |
1846 | non-bignum version of scm_istr2int and renaming it. | |
1847 | ||
b59b97ba GH |
1848 | Tue Sep 24 06:48:38 1996 Gary Houston <ghouston@actrix.gen.nz> |
1849 | ||
1850 | * load.c (scm_sys_try_load): don't check whether value returned | |
1851 | by scm_open_file is #f, it won't be. Always return SCM_UNSPECIFIED. | |
1852 | Change the Scheme name from %try-load to primitive-load. | |
1853 | ||
1854 | * error.c (scm_error): convert a NULL message to SCM_BOOL_F. | |
1855 | Can avoid passing a message, allowing it to be derived in the | |
1856 | error handler (e.g., if we want to throw to the key both from | |
1857 | Scheme and C). | |
1858 | ||
a0c97697 MD |
1859 | Mon Sep 23 00:42:15 1996 Mikael Djurfeldt <mdj@kenneth> |
1860 | ||
7a818853 | 1861 | * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular |
a0c97697 MD |
1862 | references now have a new appearance which is more compact and |
1863 | also gives a clue about what the target of the reference is. | |
1864 | By setting parameters in the print state, more fancy printing can | |
1865 | be achieved. This is used by the (not yet commited) backtrace | |
1866 | code. | |
1867 | ||
ec98b504 MD |
1868 | Sun Sep 22 17:10:06 1996 Mikael Djurfeldt <mdj@kenneth> |
1869 | ||
1870 | * eval.c, numbers.h, unif.h, smob.h, srcprop.c: Added #include | |
1871 | "print.h" | |
1872 | ||
1873 | * print.c: Added #include "struct.h". Removed function | |
1874 | scm_prlist. | |
1875 | ||
1876 | * print.h: Modified prototypes for scm_iprlist, scm_prin1 and | |
1877 | scm_iprin1. Removed prototype for scm_prlist. | |
1878 | ||
1879 | * arbiters.c (prinarb), | |
1880 | async.c (print_async), | |
1881 | debug.c (prindebugobj, prinmemoized), | |
1882 | eval.c (prinprom, prinmacro), | |
1883 | filesys.c (scm_fd_print, scm_dir_print), | |
1884 | kw.c (print_kw), | |
1885 | mallocs.c (prinmalloc), | |
1886 | numbers.c, numbers.h (scm_floprint, scm_bigprint), | |
1887 | smob.h (scm_smobfuns), | |
1888 | srcprop.c (prinsrcprops), | |
1889 | throw.c (prinjb), | |
1890 | unif.c, unif.h (scm_raprin1, rapr1), | |
1891 | variable.c (prin_var): Changed argument `int writing' to | |
1892 | `scm_print_state *pstate'. | |
1893 | ||
1894 | * init.c (scm_boot_guile): Moved scm_init_struct upwards so | |
1895 | that it will be called before scm_init_print. | |
1896 | ||
1897 | * print.c (scm_prin1): Print states are now allocated when calling | |
1898 | scm_prin1 and then passed around to all printing functions as an | |
1899 | argument. A cache `print_state_pool' enables reuse of print | |
1900 | states. | |
1901 | (scm_make_print_state): New function. | |
1902 | (scm_iprin1): Adaption to print states. | |
1903 | (scm_iprlist): An initial "hare and tortoise" scan brings down | |
1904 | time complexity to O (depth * N). (Better time complexity will be | |
1905 | achieved when the printing code is completely rewritten.) | |
1906 | ||
c90c9685 JB |
1907 | Fri Sep 20 22:01:36 1996 Jim Blandy <jimb@totoro.cyclic.com> |
1908 | ||
1909 | * aclocal.m4 (GUILE_STRUCT_UTIMBUF): Use AC_CACHE_CHECK instead of | |
1910 | AC_CACHE_VAL; #define UTIMBUF_NEEDS_POSIX outside AC_CACHE_VAL, so | |
1911 | it gets done whether or not the cache variable has a value. | |
1912 | ||
1913 | Thu Sep 19 17:06:39 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
1914 | ||
1915 | Distinguish #f and (). | |
1916 | * __scm.h: #undef SICP. | |
1917 | * pairs.h (SCM_EOL): Delete this definition, equating it with | |
1918 | SCM_BOOL_F. | |
1919 | * tags.h (SCM_EOL): Give it a new definition here; I think I found | |
1920 | the value it used to have. Doc fixes, too. | |
1921 | ||
d99bcec4 MD |
1922 | Thu Sep 19 15:33:51 1996 Mikael Djurfeldt <mdj@kenneth> |
1923 | ||
ec98b504 MD |
1924 | * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref, |
1925 | scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom | |
1926 | Lord's implementation of structs, allowing for tail arrays as | |
1927 | described in the manual. Also fixed some bugs. (Both the interface | |
1928 | and the implementation should be improved.) | |
1929 | ||
d99bcec4 MD |
1930 | * read.c (scm_init_read): Removed #ifdef READER_EXTENSIONS |
1931 | ||
1932 | * print.c, print.h: Closures now print like #<procedure foo (x)>. | |
1933 | People who whish to see the source can do `(print-enable 'source)'. | |
1934 | Removed #ifdef DEBUG_EXTENSIONS. | |
1935 | ||
f5bf2977 GH |
1936 | Thu Sep 19 00:00:29 1996 Gary Houston <ghouston@actrix.gen.nz> |
1937 | ||
1938 | * filesys.c (scsm_sys_stat): don't SIGSEGV if argument is an | |
1939 | integer (assuming for now accepting an integer is a good thing). | |
1940 | ||
1941 | * error.c, fports.c: replace use of %S in lgh_error args with %s. | |
1942 | %S will be used instead for write'ing arguments. | |
1943 | ||
1944 | * unif.c (scm_transpose_array): change arguments in the SCM_WNA | |
1945 | asserts. fix a few other asserts. | |
1946 | (scm_aind, scm_enclose_array, scm_array_in_bounds_p, | |
1947 | scm_uniform_vector_ref, scm_array_set_x, | |
1948 | scm_dimensions_to_unform_array): change args in | |
1949 | SCM_WNA SCM_ASSERTS and change scm_wta's to scm_wrong_num_args. | |
1950 | strop.c (scm_substring_move_left_x, scm_substring_move_right_x, | |
1951 | scm_substring_fill_x): likewise. | |
1952 | gsubr.c (scm_gsubr_apply): likewise. | |
1953 | eval.c (SCM_APPLY): likewise. | |
1954 | ||
1955 | * eval.c (4 places): replace scm_everr with lgh_error or | |
1956 | scm_wrong_num_args. | |
1957 | ||
1958 | * error.c, error.h (scm_wrong_num_args, scm_wrong_type_arg, | |
1959 | scm_memory_error): new procedures. | |
7a818853 | 1960 | scm_everr: deleted. can use scm_wta, dropping first two args. |
f5bf2977 GH |
1961 | scm_error: convert NULL subr to SCM_BOOL_F. |
1962 | ||
1963 | * __scm.h: don't define SCM_STACK_OVFLOW, SCM_EXIT, SCM_ARG6, SCM_ARG7, | |
1964 | SCM_ARGERR. | |
1965 | ||
1966 | * stackchk.c (scm_report_stack_overflow): use lgh_error instead | |
1967 | of scm_wta. | |
1968 | ||
1969 | * error.c, error.h: new error keys: scm_arg_type_key, | |
1970 | scm_args_number_key, scm_memory_alloc_key, scm_stack_overflow_key, | |
1971 | scm_misc_error_key. | |
1972 | scm_wta: reimplement using lgh_error instead of scm_everr. | |
1973 | ||
7dd604b9 MD |
1974 | Wed Sep 18 17:13:35 1996 Mikael Djurfeldt <mdj@kenneth> |
1975 | ||
1976 | * gdbint.c: scm_lread now has one more argument. | |
1977 | ||
1978 | * ports.c, ports.h: Name change: scm_\(line\|column\)_number --> | |
1979 | scm_port_\1; Added mutator scm_set_port_filename_x (used when | |
1980 | loading source from non-file ports, which, e. g., happens when | |
1981 | using the Emacs interface). | |
1982 | ||
1983 | * fports.c (scm_open_file): Don't call scm_makfrom0str on a scheme | |
1984 | object. | |
1985 | ||
1986 | * read.c: Added code for recording of positions of source code | |
1987 | expressions; New functions: recsexpr, scm_lreadrecparen; | |
1988 | _scm_make_srcprops --> scm_make_srcprops | |
1989 | (scm_flush_ws): Removed updating of positions counters. This work | |
1990 | is already done by scm_gen_getc | |
1991 | ||
1992 | * read.h: Added prototype for scm_lreadrecparen | |
1993 | ||
1994 | * print.c: Added #include "alist.h" | |
1995 | ||
1996 | * eval.c: Added #include "hash.h" | |
1997 | ||
1998 | * eq.c: Added #include "ramap.h" | |
1999 | ||
2000 | * options.c: Documentation fixes. | |
2001 | ||
2002 | * srcprop.c (scm_finish_srcprop): Bugfix: update ptr. | |
2003 | (scm_init_srcprop): Adjusted size of initial source-whash. Name | |
2004 | changes: tc16_srcprops --> scm_tc16_srcprops, _scm_make_srcprops | |
2005 | --> scm_make_srcprops | |
2006 | ||
2007 | * srcprop.h: Name changes: tc16_srcprops --> scm_tc16_srcprops, | |
2008 | _scm_make_srcprops --> scm_make_srcprops; Remove one layer of | |
2009 | function calls in the definition of the whash access macros. | |
2010 | ||
87735856 JB |
2011 | Tue Sep 17 11:33:16 1996 Lee Iverson <leei@Canada.AI.SRI.COM> |
2012 | ||
2013 | * init.c (scm_boot_guile): Add level of indirection to | |
2014 | scm_boot_guile_1() to ensure that stack base pointer is properly | |
2015 | initialized. There was no guarantee that variable i was the | |
2016 | highest/lowest variable on stack (i.e. the call frame of | |
2017 | scm_boot_guile was not completely protected from gc). | |
2018 | ||
ebf7394e GH |
2019 | Tue Sep 17 01:40:56 1996 Gary Houston <ghouston@actrix.gen.nz> |
2020 | ||
2021 | * ports.h (scm_port_table): put back file_name, it will be used to | |
2022 | support debugging. Undo related changes in fports.c, ioext.c, | |
2023 | ports.c, gc.c. | |
2024 | ||
52859adf GH |
2025 | Sun Sep 15 03:58:29 1996 Gary Houston <ghouston@actrix.gen.nz> |
2026 | ||
19639113 GH |
2027 | * ports.h (scm_port_table): remove file_name member for now, it seems |
2028 | undesirable. | |
2029 | * fports.c (scm_open_file): don't set file_name in PTAB. | |
2030 | (prinfport): don't use file_name in PTAB. | |
2031 | * ioext.c (scm_sys_duplicate_port): don't set file_name in PTAB. | |
2032 | * ports.c (scm_add_to_port_table): don't intialize file_name. | |
2033 | (scm_port_file_name): remove for now. | |
2034 | * gc.c (scm_gc_mark): don't mark PTAB file_name. | |
2035 | ||
2036 | * fports.h (scm_mkfile): prototype deleted. | |
2037 | * fports.c (scm_mkfile): merged into scm_open_file to simplify. | |
2038 | ||
52859adf GH |
2039 | * debug.c, unif.c: use scm_out_of_range instead of |
2040 | wta for range errors (ASSERT still needs work). | |
2041 | ||
2042 | * error.c, error.h (scm_out_of_range): new procedure. | |
2043 | ||
2044 | * error.c, error.h (scm_out_of_range_key): new key. | |
2045 | ||
2046 | * posix.c (scm_sync): #else was missing. | |
2047 | ||
2048 | * error.c, error.h: append _key to names scm_num_overflow and | |
2049 | scm_system_error. | |
2050 | ||
2051 | * __scm.h (SCM_SYSMISSING, SCM_NUM_OVERFLOW): use SCM_BOOL_F instead | |
2052 | of consing an empty list. | |
2053 | (SCM_SYSERROR etc.): move into error.c, make them procedures instead | |
2054 | of macros, saves code and string space. | |
2055 | error.c, fports.c, numbers.c, posix.c, ioext.c, filesys.c, socket.c, | |
2056 | fdsocket.c, simpos.c: change names of SCM_SYSERROR etc., to | |
2057 | lower case. Rename scm_syserror_m to scm_syserror_msg. | |
2058 | error.h: prototypes for new procedures. | |
2059 | ||
e1724d20 GH |
2060 | Sat Sep 14 03:35:41 1996 Gary Houston <ghouston@actrix.gen.nz> |
2061 | ||
2062 | * numbers.c: use SCM_NUM_OVERFLOW instead of scm_wta or ASSERT. | |
2063 | ||
2064 | * error.c, error.h: setup scm_num_overflow key. | |
2065 | ||
2066 | * __scm.h: SCM_NUM_OVERFLOW: macro for reporting numerical overflow. | |
2067 | Remove definition of SCM_OVSCM_FLOW. | |
2068 | ||
2069 | * fports.c (scm_open_file): use SCM_SYSERROR_M. | |
2070 | ||
2071 | * __scm.h: SCM_SYSERROR_M: new macro for system errors with an | |
2072 | explicit message and args. | |
2073 | ||
2074 | * error.c, error.h, __scm.h: change system_error_sym to | |
2075 | scm_system_error. | |
2076 | ||
2077 | * error.c (system_error_sym): remove leading %% from the Scheme name | |
2078 | "%%system-error". | |
2079 | ||
2080 | * __scm.h (SCM_SYSMISSING): Redefine using lgh_error. | |
2081 | ||
05f92869 MD |
2082 | Fri Sep 13 12:58:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2083 | ||
2084 | * __scm.h, chars.c, debug.c, eval.c, eval.h, extchrs.c, extchrs.h, | |
2085 | fdsocket.c, feature.c, mbstrings.c, mbstrings.h, numbers.c, | |
2086 | numbers.h, print.c, scmhob.h, simpos.h, symbols.c, symbols.h, | |
2087 | tags.h, throw.c, variable.h: Name cleanup. Lots of xxxSCM_yyy | |
2088 | renamed. (These were introduced by unsupervised name | |
2089 | substitution.) | |
2090 | ||
9a15c164 MD |
2091 | Fri Sep 13 01:19:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2092 | ||
7a818853 | 2093 | * print.c: Added code for detection of circular references during |
9a15c164 MD |
2094 | printing. (init_ref_stack, grow_ref_stack): New functions. Added |
2095 | a hook for printing of closures (accessible via print options). | |
2096 | This leads to a split of calls to scm_iprin1 into two classes: | |
2097 | elementary print operations (e. g. the code which prints a smob) | |
2098 | still use scm_iprin1 while top level calls (like scm_display) use | |
2099 | scm_prin1. scm_prin1 begins by clearing the data structure used | |
2100 | to record reference information. | |
2101 | ||
2102 | * print.h: Added declarations of scm_prin1 and scm_prlist. | |
2103 | ||
2104 | * strports.c (scm_strprint_obj): scm_iprin1 --> scm_prin1 | |
2105 | ||
2106 | * gscm.c (gscm_portprint_obj): scm_iprin1 --> scm_prin1 | |
2107 | ||
2108 | * gscm.h (gscm_print_obj): scm_iprin1 --> scm_prin1 | |
2109 | ||
2110 | * error.c (err_head): scm_iprin1 --> scm_prin1 | |
2111 | ||
2112 | * debug.c: Adjusted header comment. | |
2113 | ||
2114 | * tags.h: Typo. | |
2115 | ||
1de18284 JB |
2116 | Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2117 | ||
2118 | * strerror.c: Doc fix. | |
2119 | ||
7dc4b37a MD |
2120 | Thu Sep 12 00:00:32 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2121 | ||
2122 | * gdbint.c (gdb_read): Now possible to run during GC. | |
2123 | (unmark_port, remark_port): New functions. | |
2124 | ||
2125 | * symbols.h (SCM_SETLENGTH): Use SCM_SETCAR. | |
2126 | ||
2127 | * read.c (scm_grow_tok_buf): Use scm_vector_set_length_x instead | |
2128 | of allocating a new string object. Also, increase size by | |
2129 | the factor 2 instead of 1.5. | |
2130 | ||
d92b2b89 JB |
2131 | Wed Sep 11 15:10:38 1996 Petr Adamek <jimb@floss.cyclic.com> |
2132 | ||
2133 | * __scm.h (SCM_P): Corrected to run under traditional C. | |
2134 | ||
2135 | * _scm.h (SCM_PROC): Extraneous semicolon (outside functions) | |
2136 | removed. | |
2137 | ||
2138 | * async.c: Calls to scm_sysintern corrected. | |
2139 | ||
2140 | * async.h (scm_async_clock): Redundant declaration removed. | |
2141 | ||
2142 | * continuations.c (scm_dynthrow): Redundant declaration removed. | |
2143 | ||
2144 | * debug.c (scm_single_step, scm_memoized, scm_lookup_soft): | |
2145 | Definition typos corrected. | |
2146 | ||
2147 | * debug.h: Missing declarations of functions in debug.c added | |
2148 | (lots). | |
2149 | ||
2150 | * eval.h (scm_eval_args, scm_deval_args, scm_m_undefine): | |
2151 | Missing declarations to functions in eval.c added. | |
2152 | ||
2153 | * filesys.c: Possibly uninitialized variable rv. | |
2154 | ||
2155 | * gc.h (scm_object_addr, scm_unhash_name): Missing | |
2156 | declarations of functions defined in gc.c added. | |
2157 | ||
2158 | * genio.c: Possible typos str_data -> wstr_data. ??? | |
2159 | ||
2160 | * genio.c: Possibly unintended shadowing of local variable | |
2161 | `int c' (gotos out of scope of inner `c'). ??? | |
2162 | ||
2163 | * init.c: Uninitialized `SCM last' may be used. | |
2164 | ||
2165 | * ioext.h: (scm_sys_isatty_p): Typo. | |
2166 | ||
2167 | * list.h (scm_list_head): Missing prototype for function in | |
2168 | list.c added. | |
2169 | ||
2170 | * numbers.c (scm_two_doubles): Changed from extern to static | |
2171 | (is used only within numbers.c). | |
2172 | ||
2173 | * numbers.h: Repeated declarations removed. | |
2174 | ||
2175 | * ports.h (scm_close_all_ports_except): Declaration for the | |
2176 | function defined in ports.c added. | |
2177 | ||
2178 | * posix.h: Missing declarations added. | |
2179 | ||
2180 | * procs.h (scm_make_subr_opt): Missing declaration added. | |
2181 | ||
2182 | * socket.h (scm_sys_gethost): Missing declaration added. | |
2183 | ||
2184 | * socket.h: Redundant declarations removed (they are in fdsocket.h). | |
2185 | ||
2186 | * srcprop.h (scm_set_source_property_x, scm_finish_srcprop): | |
2187 | Missing declarations added. | |
2188 | ||
2189 | * stime.h (scm_get_internal_real_time): Repeated declarations removed. | |
2190 | ||
2191 | * struct.c: Uninitialized variable `SCM answer' may be used. | |
2192 | ||
2193 | * unif.c (l2ra): Declaration prototype. | |
2194 | ||
2195 | * unif.c (scm_array_equal_p): Dummy definition removed (it is | |
2196 | defined in ramap.c). | |
2197 | ||
2198 | * unif.h (scm_raprin1, scm_istr2bve, scm_array_equal_p): | |
2199 | Redundant declarations removed (they are in ramap.h). | |
2200 | ||
2201 | * variable.h (scm_make_udvariable, | |
2202 | scm_make_undefined_variable): Declaration corrected to | |
2203 | correspond variable.c. | |
2204 | ||
2205 | * vectors.h (scm_vector_move_left_x, scm_vector_move_right_x): | |
2206 | Missing declarations added. | |
2207 | ||
21dc7b47 JB |
2208 | Wed Sep 11 14:38:50 1996 Jim Blandy <jimb@floss.cyclic.com> |
2209 | ||
2210 | * Makefile.in (distclean): Don't forget to delete fd.h. | |
2211 | ||
c5d51954 JB |
2212 | Tue Sep 10 14:01:46 1996 Jim Blandy <jimb@floss.cyclic.com> |
2213 | ||
30d14d55 JB |
2214 | * fd.h.in, tags.h: Trivial cleanups. |
2215 | ||
4c11c885 JB |
2216 | * marksweep.c, marksweep.h: Deleted; marksweep.c was empty, and |
2217 | marksweep.h just declared functions from gc.c. | |
2218 | * gc.h, libguile.h: Don't #include "marksweep.h". | |
2219 | * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit | |
2220 | marksweep.o, marksweep.h, marksweep.c, and marksweep.x. Other | |
2221 | dependencies updated. | |
2222 | ||
2223 | * libguile.h: Don't #include "files.h"; it's been deleted. | |
2224 | ||
07fc1e20 JB |
2225 | * files.c (scm_sys_delete_file): Moved to filesys.c. |
2226 | File is now empty; deleted. | |
2227 | * files.h: Deleted. | |
2228 | * filesys.c: scm_sys_delete_file is now here. Remove | |
2229 | #if's; they seem to rely on remnants of an old portability | |
2230 | regimen. If the problems come up again, solve them properly, | |
2231 | using autoconf. Specifically: Don't test M_SYSV, and #define | |
2232 | remove to be unlink if it's #defined; don't use remove just | |
2233 | because HAVE_STDC_HEADERS is #defined. | |
2234 | * filesys.h: Add declarations for scm_sys_delete_file. | |
2235 | * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit | |
2236 | files.o, files.h, files.c, and files.x. | |
2237 | * init.c: Don't #include "files.h", and don't call scm_init_files. | |
2238 | ||
35440081 JB |
2239 | Use SCM_P instead of PROTO; the latter intrudes on the user's |
2240 | namespace. | |
2241 | * params.h: Deleted; definition of SCM_P moved to... | |
2242 | * __scm.h: ... here, where it replaces PROTO macro. | |
2243 | * libguile.h, smob.h: Don't #include "params.h". | |
2244 | * continuations.c, error.h, feature.h, gc.c, gc.h, init.h, load.h, | |
2245 | smob.h: Fix prototypes accordingly. | |
2246 | * Makefile.in: Update dependencies. | |
2247 | (inner_h_files): Remove params.h. | |
2248 | ||
c5d51954 JB |
2249 | * gc.c: #include "gc.h"; every module should include its header, |
2250 | to let the compiler cross-check the declarations against the | |
2251 | definitions. | |
2252 | ||
2253 | * eq.h, files.h, hashtab.h, load.h, mallocs.h, scmsigs.h, | |
2254 | simpos.h: #include "libguile/__scm.h". | |
2255 | ||
de15ba3a JB |
2256 | Mon Sep 9 20:00:15 1996 Jim Blandy <jimb@floss.cyclic.com> |
2257 | ||
81643a34 JB |
2258 | * init.c: Don't forget to #include smob.h and init.h. |
2259 | * Makefile.in: Dependencies updated. | |
2260 | ||
de15ba3a JB |
2261 | * smob.h: Use PROTO instead of #if __STDC__. |
2262 | ||
2263 | * continuations.c (scm_dynthrow): Use PROTO, not SCM_P. | |
2264 | ||
2265 | * __scm.h: Doc fixes. | |
2266 | ||
2267 | * __scm.h, libguile.h: Use "quotes" in the #includes, not | |
2268 | <angles>; this allows `make depends' to work properly. | |
2269 | ||
2270 | * libguile.h: #include smob.h and pairs.h before the others; they | |
2271 | define typedefs used by other headers. | |
2272 | ||
2273 | C files should #include only the header files they need, not | |
2274 | libguile.h (which #includes all the header files); the pointless | |
2275 | recompilation was wasting my time. | |
2276 | * Makefile.in (all .o dependency lists): Regenerated. | |
2277 | * libguile.h: Don't try to get a definition for size_t here... | |
2278 | * __scm.h: Do it here. | |
2279 | * _scm.h: Since this is the internal libguile header, put things | |
2280 | here that all (or a majority) of the libguile files will want. | |
2281 | Don't #include <libguile.h> here; that generates dependencies on | |
2282 | way too much. Instead, get "__scm.h", "error.h", "pairs.h", | |
2283 | "list.h", "gc.h", "gsubr.h", "procs.h", "numbers.h", "symbols.h", | |
2284 | "boolean.h", "strings.h", "vectors.h", "root.h", "ports.h", and | |
2285 | "async.h". | |
2286 | * alist.c: Get "eq.h", "list.h", "alist.h". | |
2287 | * append.c: Get "append.h", "list.h". | |
2288 | * arbiters.c: Get "arbiters.h", "smob.h". | |
2289 | * async.c: Get "async.h", "smob.h", "throw.h", "eval.h". | |
2290 | * boolean.c: Get "boolean.h". | |
2291 | * chars.c: Get "chars.h". | |
2292 | * continuations.c: Get "continuations.h", "dynwind.h", "debug.h", | |
2293 | "stackchk.h". | |
2294 | * debug.c: Get "debug.h", "feature.h", "read.h", "strports.h", | |
2295 | "continuations.h", "alist.h", "srcprop.h", "procprop.h", "smob.h", | |
2296 | "genio.h", "throw.h", "eval.h". | |
2297 | * dynwind.c: Get "dynwind.h", "alist.h", "eval.h". | |
2298 | * eq.c: Get "eq.h", "unif.h", "smob.h", "strorder.h", | |
2299 | "stackchk.h". | |
2300 | * error.c: Get "error.h", "throw.h", "genio.h", "pairs.h". | |
2301 | * eval.c: Get "eval.h", "stackchk.h", "srcprop.h", "debug.h", | |
2302 | "hashtab.h", "procprop.h", "markers.h", "smob.h", "throw.h", | |
2303 | "continuations.h", "eq.h", "sequences.h", "alist.h", "append.h", | |
2304 | "debug.h". | |
2305 | * fdsocket.c: Get "fdsocket.h", "unif.h", "filesys.h". | |
2306 | * feature.c: Get "feature.h". | |
2307 | * files.c: Get "files.h". | |
2308 | * filesys.c: Get "filesys.h", "smob.h", "genio.h". | |
2309 | * fports.c: Get "fports.h", "markers.h". | |
2310 | * gc.c: Get "async.h", "unif.h", "smob.h", "weaks.h", | |
2311 | "genio.h", "struct.h", "stackchk.h", "stime.h". | |
2312 | * gdbint.c: Get "gdbint.h", "chars.h", "eval.h", "print.h", | |
2313 | "read.h", "strports.h", "tag.h". | |
2314 | * genio.c: Get "genio.h", "chars.h". | |
2315 | * gsubr.c: Get "gsubr.h", "genio.h". | |
2316 | * hash.c: Get "hash.h", "chars.h". | |
2317 | * hashtab.c: Get "hashtab.h", "eval.h", "hash.h", "alist.h". | |
2318 | * init.c: Get everyone who has an scm_init_mumble function: | |
2319 | "weaks.h", "vports.h", "version.h", "vectors.h", "variable.h", | |
2320 | "unif.h", "throw.h", "tag.h", "symbols.h", "struct.h", | |
2321 | "strports.h", "strorder.h", "strop.h", "strings.h", "stime.h", | |
2322 | "stackchk.h", "srcprop.h", "socket.h", "simpos.h", "sequences.h", | |
2323 | "scmsigs.h", "read.h", "ramap.h", "procs.h", "procprop.h", | |
2324 | "print.h", "posix.h", "ports.h", "pairs.h", "options.h", | |
2325 | "objprop.h", "numbers.h", "mbstrings.h", "mallocs.h", "load.h", | |
2326 | "list.h", "kw.h", "ioext.h", "hashtab.h", "hash.h", "gsubr.h", | |
2327 | "gdbint.h", "gc.h", "fports.h", "filesys.h", "files.h", | |
2328 | "feature.h", "fdsocket.h", "eval.h", "error.h", "eq.h", | |
2329 | "dynwind.h", "debug.h", "continuations.h", "chars.h", "boolean.h", | |
2330 | "async.h", "arbiters.h", "append.h", "alist.h". | |
2331 | * ioext.c: Get "ioext.h", "fports.h". | |
2332 | * kw.c: Get "kw.h", "smob.h", "mbstrings.h", "genio.h". | |
2333 | * list.c: Get "list.h", "eq.h". | |
2334 | * load.c: Get "load.h", "eval.h", "read.h", "fports.h". | |
2335 | * mallocs.c: Get "smob.h", "genio.h". | |
2336 | * markers.c: Get "markers.h". | |
2337 | * mbstrings.c: Get "mbstrings.h", "read.h", "genio.h", "unif.h", | |
2338 | "chars.h". | |
2339 | * numbers.c: Get "unif.h", "genio.h". | |
2340 | * objprop.c: Get "objprop.h", "weaks.h", "alist.h", "hashtab.h". | |
2341 | * options.c: Get "options.h". | |
2342 | * ports.c: Get "ports.h", "vports.h", "strports.h", "fports.h", | |
2343 | "markers.h", "chars.h", "genio.h". | |
2344 | * posix.c: Get "posix.h", "sequences.h", "feature.h", "unif.h", | |
2345 | "read.h", "scmsigs.h", "genio.h", "fports.h". | |
2346 | * print.c: Get "print.h", "unif.h", "weaks.h", "read.h", | |
2347 | "procprop.h", "eval.h", "smob.h", "mbstrings.h", "genio.h", | |
2348 | "chars.h". | |
2349 | * procprop.c: Get "procprop.h", "eval.h", "alist.h". | |
2350 | * procs.c: Get "procs.h". | |
2351 | * ramap.c: Get "ramap.h", "feature.h", "eval.h", "eq.h", | |
2352 | "chars.h", "smob.h", "unif.h". | |
2353 | * read.c: Get "alist.h", "kw.h", "mbstrings.h", "unif.h", | |
2354 | "eval.h", "genio.h", "chars.h". | |
2355 | * root.c: Get "root.h", "stackchk.h". | |
2356 | * scmsigs.c: Get "scmsigs.h". | |
2357 | * sequences.c: Get "sequences.h". | |
2358 | * simpos.c: Get "simpos.h", "scmsigs.h". | |
2359 | * smob.c: Get "smob.h". | |
2360 | * socket.c: Get "socket.h", "feature.h". | |
2361 | * srcprop.c: Get "srcprop.h", "weaks.h", "hashtab.h", "debug.h", | |
2362 | "alist.h", "smob.h". | |
2363 | * stackchk.c: Get "stackchk.h", "genio.h". | |
2364 | * stime.c: Get "stime.h"."libguile/continuations.h". | |
2365 | * strings.c: Get "strings.h", "chars.h". | |
2366 | * strop.c: Get "strop.h", "chars.h". | |
2367 | * strorder.c: Get "strorder.h", "chars.h". | |
2368 | * strports.c: Get "strports.h", "print.h", "eval.h", "unif.h". | |
2369 | * struct.c: Get "struct.h", "chars.h". | |
2370 | * symbols.c: Get "symbols.h", "mbstrings.h", "alist.h", | |
2371 | "variable.h", "eval.h", "chars.h". | |
2372 | * tag.c: Get "tag.h", "struct.h", "chars.h". | |
2373 | * throw.c: Get "throw.h", "continuations.h", "debug.h", | |
2374 | "dynwind.h", "eval.h", "alist.h", "smob.h", "genio.h". | |
2375 | * unif.c: Get "unif.h", "feature.h", "strop.h", "sequences.h", | |
2376 | "smob.h", "genio.h", "eval.h", "chars.h". | |
2377 | * variable.c: Get "variable.h", "smob.h", "genio.h". | |
2378 | * vectors.c: Get "vectors.h", "eq.h". | |
2379 | * version.c: Get "version.h". | |
2380 | * vports.c: Get "vports.h", "fports.h", "chars.h", "eval.h". | |
2381 | * weaks.c: Get "weaks.h". | |
2382 | ||
2383 | * stackchk.h: #include "libguile/debug.h", | |
2384 | ||
2385 | * print.h, read.h: #include "options.h", since everyone who uses | |
2386 | either of these files will need that. | |
2387 | ||
2388 | * smob.h: #include "ports.h", "genio.h", and "print.h", since | |
2389 | anyone who uses this file will need them to define the smob | |
2390 | printing functions. Also, get markers.h, since people will need | |
2391 | to #define the mark functions. | |
2392 | ||
2393 | * smob.h (scm_ptobfuns, SCM_PTOBNUM): Definitions moved... | |
2394 | * ports.h: ... to here. | |
2395 | ||
2396 | * ports.h (scm_port_table_size): Explicitly give type as 'int'; | |
2397 | don't rely on archaic C default type rules. | |
2398 | ||
2399 | * fports.h: #include "libguile/ports.h", since you need that in | |
2400 | order to parse this. | |
2401 | ||
2402 | * genio.h: #include "libguile/print.h", because you need that to | |
2403 | parse this; don't bother #including "ports.h", since print.h gets | |
2404 | that. | |
2405 | ||
2406 | * error.h: Don't #include "pairs.h"; _scm.h will do that now. | |
2407 | ||
2408 | * eval.h (scm_top_level_lookup_thunk_var): Remove declaration for | |
2409 | this; it's now a reference to an element of *scm_root. | |
2410 | ||
2411 | * debug.h: Don't #include "options.h"; the compiler won't be able | |
2412 | to find that once the headers are installed; instead, #include | |
2413 | "libguile/options.h". | |
2414 | * gc.h: Same, with marksweep.h. | |
2415 | * mbstrings.h: Same, with symbols.h. | |
2416 | * scmhob.h: Same, with _scm.h. | |
2417 | * smob.h: Same, with params.h. | |
2418 | ||
2419 | * Makefile.in (depends): Don't nuke scmconfig.h and the generated | |
2420 | C files; there's no need for this, and it forces recompilations | |
2421 | unnecessarily. | |
2422 | ||
7cb1d4d3 GH |
2423 | Sat Sep 7 06:57:23 1996 Gary Houston <ghouston@actrix.gen.nz> |
2424 | ||
2425 | * error.c (scm_error): declare scm_error_callback. | |
2426 | ||
2427 | * error.h: prototype for scm_error_callback. | |
2428 | ||
2429 | * __scm.h: define lgh_error. | |
2430 | (SCM_SYSERROR): redefine using lgh_error. | |
2431 | ||
cceac91b GH |
2432 | Thu Sep 5 22:40:06 1996 Gary Houston <ghouston@actrix.gen.nz> |
2433 | ||
7cb1d4d3 GH |
2434 | * error.c (scm_error): new procedure. |
2435 | ||
2436 | * error.h: prototype for scm_error. | |
2437 | ||
cceac91b GH |
2438 | * Makefile.in (install): install scmconfig.h from the current |
2439 | directory, not $(srcdir). | |
2440 | ||
de15ba3a JB |
2441 | Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com> |
2442 | ||
2443 | * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h, | |
2444 | continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, | |
2445 | feature.h, filesys.h, fports.h, gc.h, gdbint.h, genio.h, gsubr.h, | |
2446 | hash.h, init.h, ioext.h, kw.h, list.h, markers.h, marksweep.h, | |
2447 | mbstrings.h, numbers.h, objprop.h, options.h, pairs.h, ports.h, | |
2448 | posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h, | |
2449 | sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, | |
2450 | strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, | |
2451 | tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, | |
2452 | vports.h, weaks.h: #include "libguile/__scm.h", not | |
2453 | <libguile/__scm.h>. This allows 'gcc -MM' to determine which | |
2454 | dependencies are within libguile properly. | |
2455 | ||
393ee9a8 JB |
2456 | Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com> |
2457 | ||
ae5d8fbb JB |
2458 | * Makefile.in (.c.x): Simplify; there's no need to run this rule |
2459 | when scmconfig.h doesn't exist. | |
2460 | ||
393ee9a8 JB |
2461 | * load.c (scm_sys_try_load): Correct spelling. |
2462 | ||
2463 | * feature.c (scm_loc_features): Make this static. | |
2464 | ||
2465 | * Makefile.in (libpath.h): Omit trailing slash from path. We | |
2466 | shouldn't require it of users, so why put it here? | |
2467 | ||
2468 | Move code to initialize and search %load-path from ice-9 to C | |
2469 | code, so we can use the load-path to find the ice-9 boot code; | |
2470 | this makes it easier to run Guile without installing it. See | |
2471 | corresponding changes in guile/Makefile.in. | |
2472 | * feature.c: Move stuff concerned with the load path to load.c. | |
de15ba3a | 2473 | (scm_compiled_library_path): Deleted. |
393ee9a8 JB |
2474 | Don't #include libpath.h here. |
2475 | * feature.h: Don't mention scm_compiled_library_path. | |
2476 | * load.c: #include "libpath.h" here, as well as <sys/types.h>, | |
2477 | <sys/stat.h>, and <unistd.h> (if present). | |
2478 | (R_OK): #define if the system hasn't deigned to. | |
2479 | (scm_loc_load_path): New variable. | |
de15ba3a | 2480 | (scm_init_load_path, scm_sys_search_load_path, |
393ee9a8 JB |
2481 | scm_sys_try_load_path): New functions. |
2482 | (scm_init_load): Initialize scm_loc_load_path to point to the | |
2483 | value cell of the Scheme %load-path variable. | |
2484 | * load.h: Add declarations for scm_sys_search_load_path, | |
2485 | scm_sys_try_load_path. | |
2486 | * init.c: Call scm_init_load_path. | |
2487 | * Makefile.in (feature.o, load.o): Dependencies updated. | |
2488 | ||
2489 | * load.c, load.h: Rewrite using PROTO macro. | |
2490 | ||
bb82c5ff MD |
2491 | Thu Sep 5 01:54:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2492 | ||
2493 | * gc.c (scm_cellp): New function: C predicate to determine if an | |
2494 | SCM value can be regarded as a pointer to a cell on the heap. | |
2495 | ||
2496 | * gc.h: Added declaration of scm_cellp. | |
2497 | ||
2498 | * gdb_interface.h: New file: The GDB interface header from the GDB | |
2499 | distribution. | |
2500 | ||
2501 | * gdbint.c: New file: GDB interface. | |
2502 | ||
2503 | * gdbint.h: New file: GDB interface. | |
2504 | ||
2505 | * libguile.h: Added #include <libguile/gdbint.h>. | |
2506 | ||
2507 | * init.c (scm_boot_guile): Added scm_init_gdbint. | |
2508 | ||
2509 | * Makefile.in: Added gdb_interface.h, gdbint.[hc]. | |
2510 | Added -I.. to INCLUDE_CFLAGS (otherwise the include files won't be | |
2511 | found if object files and source are kept separate). | |
2512 | ||
393ee9a8 JB |
2513 | Wed Sep 4 14:35:02 1996 Jim Blandy <jimb@floss.cyclic.com> |
2514 | ||
2515 | * feature.h, feature.c: Use PROTO macro, instead of #if __STDC__. | |
2516 | ||
d35bbe1a JB |
2517 | Wed Sep 4 01:30:47 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2518 | ||
2519 | * configure.in: Don't substitute the values of TCL_SRC_DIR and | |
2520 | TK_SRC_DIR; they're not relevant any more. | |
2521 | ||
2522 | * Makefile.in (CC): Don't list -Wall here; it's a GCC-specific flag. | |
2523 | * configure.in: Instead, put it in CFLAGS here, iff we're using GCC. | |
2524 | ||
818a980d JB |
2525 | Wed Sep 4 00:55:49 1996 Jim Blandy <jimb@floss.cyclic.com> |
2526 | ||
2527 | * PLUGIN/guile.config (xtra_cflags): Include .. in the header | |
2528 | search path, so we can find the <libguile/MUMBLE.h> headers. | |
2529 | ||
2530 | * Makefile.in (ancillary): List aclocal.m4, for 'make dist'. | |
2531 | ||
2532 | * Makefile.in (ALL_CFLAGS): Don't mention CFLAGS here; it's | |
2533 | implicit in the .c.o rule. | |
2534 | (.c.x): Don't mention ALL_CFLAGS here; its value is included in | |
2535 | $(CC) already. | |
2536 | ||
2537 | Put the library path in a header file, instead of passing it on | |
2538 | the command line in every compilation. | |
2539 | * Makefile.in (libpath.h): New target. | |
2540 | (feature.o): Depend on libpath.h. | |
2541 | (clean): Delete libpath.h. | |
2542 | (ALL_CFLAGS): Don't use -DLIBRARY_PATH here. Instead ... | |
2543 | * feature.c: ... #include "libpath.h" here. | |
2544 | * .cvsignore: Ignore libpath.h. | |
2545 | ||
7a818853 | 2546 | Don't install the unwashed masses of Guile header files in the |
818a980d JB |
2547 | main #include path; put most of them in a subdirectory called |
2548 | 'libguile'. This avoids naming conflicts between Guile header | |
2549 | files and system header files (of which there were a few). | |
2550 | * Makefile.in (pkgincludedir): Deleted. | |
2551 | (innerincludedir): New variable; this and $(includedir) are enough. | |
2552 | (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..". | |
2553 | (installed_h_files): Divide this up. Now this variable lists | |
2554 | those header files which should go into $(includedir) (i.e. appear | |
2555 | directly in the #include path), and ... | |
2556 | (inner_h_files): ... this new variable says which files appear in | |
2557 | a subdirectory, and are referred to as <libguile/mumble.h>. | |
2558 | (h_files): List them both. | |
2559 | (install): Create innerincludedir, not pkgincludedir. Put | |
2560 | the installed_h_files and inner_h_files in their proper places. | |
2561 | (uninstall): Corresponding changes. | |
2562 | * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h, | |
2563 | continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, | |
2564 | feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h, | |
2565 | ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h, | |
2566 | mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h, | |
2567 | print.h, procprop.h, procs.h, ramap.h, read.h, root.h, | |
2568 | sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, | |
2569 | strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, | |
2570 | tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, | |
2571 | vports.h, weaks.h: Find __scm.h in its new location. | |
2572 | * __scm.h: Find scmconfig.h and tags.h in their new locations | |
2573 | (they're both "inner" files). | |
2574 | ||
2575 | Tue Sep 3 20:27:35 1996 Jim Blandy <jimb@floss.cyclic.com> | |
2576 | ||
2577 | * Makefile.in (.c.x): Remove duplicate use of $(ALL_CFLAGS). | |
2578 | ||
74440903 JB |
2579 | Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2580 | ||
2581 | * posix.c: Doc fixes. | |
2582 | ||
9e6758ee JB |
2583 | Mon Sep 2 15:22:40 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2584 | ||
2585 | * socket.c: Don't include a prototype for inet_aton; just use a | |
2586 | K&R style declaration, to avoid warnings but minimize the chance | |
2587 | of conflicts with the system. | |
2588 | ||
2589 | On NextStep, <utime.h> doesn't define struct utime, unless we | |
2590 | #define _POSIX_SOURCE before #including it. | |
2591 | * aclocal.m4 (GUILE_STRUCT_UTIMBUF): New test. | |
2592 | * acconfig.h: New comment text for above CPP symbol. | |
2593 | * configure.in: Call it. | |
2594 | * posix.c: #define _POSIX_SOURCE if it seems necessary. | |
2595 | ||
2596 | * configure.in (AC_CHECK_HEADERS): Include sys/utime.h and utime.h | |
2597 | in the list. | |
2598 | * posix.c: Check HAVE_SYS_UTIME_H and HAVE_UTIME_H, instead of | |
2599 | testing for __EMX__. | |
2600 | ||
2601 | * posix.c: #include <libc.h>, if it exists. | |
2602 | ||
2603 | * posix.c: Cast the return result to GETGROUPS_T, not gid_t; we | |
2604 | don't even know if the latter exists. | |
2605 | ||
2606 | * posix.c (s_sys_setpgid, s_sys_setsid, s_sys_ctermid, | |
2607 | s_sys_tcgetpgrp, s_sys_tcsetpgrp): Renamed from s_setpgid, | |
2608 | s_setsid, s_ctermid, s_tcgetpgrp, s_tcsetpgrp, for consistency. | |
2609 | ||
2610 | * posix.c (R_OK, W_OK, X_OK, F_OK): #define these if the system's | |
2611 | header files don't. | |
2612 | (scm_init_posix): Use them when initializing the Scheme constants | |
2613 | of the same name. | |
2614 | ||
e4ef46d4 JB |
2615 | Fri Aug 30 16:01:30 1996 Jim Blandy <jimb@floss.cyclic.com> |
2616 | ||
2617 | * Makefile.in (libdir, includedir, bindir): Use the | |
2618 | autoconf-supplied values, instead of deriving them ourselves. | |
2619 | (pkgincludedir, datadir, pkgdatadir): New variables. | |
2620 | (install, uninstall): Put the header files in a special | |
2621 | subdirectory, not in the main search path. | |
2622 | ||
3eee6dad JB |
2623 | * Makefile.in (ALL_CFLAGS): Provide the proper value for |
2624 | LIBRARY_PATH --- use $(pkgdatadir) instead of $(libdir). | |
2625 | ||
e4ef46d4 JB |
2626 | * Makefile.in (IMPLPATH): Deleted; never used. |
2627 | ||
2628 | * Makefile.in (TCL_SRC_DIR, TK_SRC_DIR): Deleted; we don't depend | |
2629 | on the Tcl/Tk source any more. | |
2630 | (INCLUDE_CFLAGS): Remove references to the above. | |
2631 | ||
2632 | * Makefile.in (version.o): Corrected dependencies. | |
2633 | ||
e9b367a5 JB |
2634 | Thu Aug 29 23:06:19 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu> |
2635 | ||
2636 | * libguile.h: #include "version.h" | |
2637 | ||
2638 | * init.c (scm_boot_guile): Call scm_init_version. | |
2639 | * gscm.c (gscm_run_scm): Call scm_init_version. | |
2640 | ||
2641 | * configure.in (GUILE_MAJOR_VERSION, GUILE_MINOR_VERSION, | |
2642 | GUILE_VERSION): AC_DEFINE these. | |
2643 | (acconfig.h): #undef the above symbols. | |
2644 | ||
2645 | * Makefile.in (libobjs): Add version.o. | |
2646 | (installed_h_files): Add version.h. | |
2647 | (c_files): Add version.c. | |
2648 | (gen_c_files): Add version.x. | |
2649 | (version.o): New rule. | |
2650 | (alist.o, append.o, appinit.o, arbiters.o, async.o, boolean.o, | |
2651 | chars.o, continuations.o, dynwind.o, eq.o, error.o, eval.o, | |
2652 | fdsocket.o, feature.o, files.o, filesys.o, fports.o, gc.o, | |
2653 | genio.o, gsubr.o, hash.o, hashtab.o, init.o, kw.o, list.o, load.o, | |
2654 | mallocs.o, markers.o, marksweep.o, mbstrings.o, numbers.o, | |
2655 | objprop.o, pairs.o, ports.o, posix.o, print.o, procprop.o, | |
2656 | procs.o, ramap.o, read.o, root.o, scmsigs.o, sequences.o, | |
2657 | simpos.o, smob.o, socket.o, stackchk.o, stime.o, strings.o, | |
2658 | strop.o, strorder.o, strports.o, struct.o, symbols.o, tag.o, | |
2659 | throw.o, unif.o, variable.o, vectors.o, version.o, vports.o, | |
2660 | weaks.o): Add version.h to dependency lists. | |
2661 | (markers.o): Remove duplicate rule. | |
2662 | ||
2663 | * version.h: New file. | |
2664 | ||
2665 | * version.c: New file. | |
2666 | ||
a585a27d JB |
2667 | Thu Aug 29 15:21:39 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2668 | ||
2669 | * symbols.c (scm_strhash): scm_downcase is now a function, not an | |
2670 | array; use it appropriately. Since GCC is quite happy to | |
2671 | subscript functions, it never warned us about this; we should use | |
2672 | -Wpointer-arith in the future. I guess we never tested | |
2673 | case-insensitivity. | |
2674 | ||
2675 | Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
2676 | ||
2677 | * socket.c: Doc and copyright fixes. | |
2678 | ||
1f3f68bf MD |
2679 | Sat Aug 24 05:29:19 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2680 | ||
2681 | * debug.c: Fixed and improved gdb support. | |
2682 | ||
1f99d12b MD |
2683 | Fri Aug 23 18:00:16 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2684 | ||
2685 | * socket.c: Added declaration of inet_aton to avoid compiler | |
2686 | warning. (Hope this solution is correct.) | |
2687 | ||
2688 | * stime.c: Added declaration of ftime. (This is missing in | |
2689 | Solaris 2 headers.) | |
2690 | ||
14a7e04c GH |
2691 | Fri Aug 23 02:03:32 1996 Gary Houston <ghouston@actrix.gen.nz> |
2692 | ||
2693 | * configure, scmconfig.h.in: Updated, using autoconf and autoheader. | |
2694 | ||
2695 | * Makefile.in (c_files): add strerror.c. | |
2696 | ||
2697 | * strerror.c: new file from Emacs' sysdep.c. | |
2698 | maybe configure should also check for sys_errlist. | |
2699 | ||
2700 | * configure.in (AC_REPLACE_FUNCS): add strerror. | |
2701 | ||
a8959050 MD |
2702 | Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2703 | ||
37bac800 MD |
2704 | * debug.c (scm_init_debug): Added initialization for |
2705 | scm_evaluator_traps. | |
2706 | ||
a8959050 MD |
2707 | * debug.h, debug.c: Various name changes. |
2708 | (Mostly prefixing with SCM_.) Renamed "debug-options" --> | |
2709 | "debug-options-interface". See commentary in options.c. | |
2710 | ||
2711 | * options.h, options.c: Options now have documentation strings. | |
2712 | Also added a long explanatory commentary. | |
2713 | ||
2714 | * eval.c, print.h, print.c, read.h, read.c: Modifications to | |
2715 | run-time options. | |
2716 | ||
2717 | * gscm.c, init.c, root.c, throw.c: Bug fixes: | |
2718 | last_debug_info_frame is now updated in all cases. | |
2719 | ||
1efc5155 MD |
2720 | * __scm.h, stackchk.h, stackchk.c: Guile now performs stack |
2721 | checking. | |
a8959050 | 2722 | |
5391bb63 MD |
2723 | Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se> |
2724 | ||
a8959050 MD |
2725 | * __scm.h: SCM_STACK_LIMIT removed (now a run-time option). |
2726 | Added option STACK_CHECKING. | |
5391bb63 | 2727 | |
0190d683 MD |
2728 | Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se> |
2729 | ||
2730 | * Makefile.in: Added {debug,options,srcprop}.{h,c} | |
2731 | ||
2732 | * __scm.h: Removed symbols for debugging support. | |
2733 | ||
2734 | * acconfig.h: Added symbols for debugging support. | |
2735 | ||
7a818853 | 2736 | * configure.in: Added user option for debugging support. |
0190d683 MD |
2737 | --enable-debug will include the debugging code into libguile.a. |
2738 | ||
2739 | * continuations.c (scm_make_cont): Enlarged the #if 0 around | |
2740 | scm_relocate_chunk_to_heap. | |
2741 | ||
7a818853 | 2742 | * debug.c: New file: low-level debugging support. It also |
0190d683 MD |
2743 | includes support for debugging with gdb. (The extensions to gdb |
2744 | are written by Per Bothner at Cygnus.) | |
2745 | ||
2746 | * debug.h: New file: low-level debugging support. | |
2747 | ||
7a818853 | 2748 | * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple |
0190d683 MD |
2749 | argument pairs. Extensive modifications to the debugging |
2750 | evaluator. Added "SECTION:" commentaries to clarify what happens | |
2751 | when, during double compilation. Renamed EVALIMP --> EVALIM. | |
2752 | Renamed EVAL --> XEVAL. Removed function evalcar. Defined | |
2753 | evalcar to scm_eval_car. Added explanation of "EVAL" symbols to | |
2754 | the beginning of the file. New procedure: scm_unmemocopy. | |
2755 | Added some global state variables needed by the debugging | |
2756 | evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode, | |
2757 | check_entry, check_apply, check_exit, debug_options and | |
2758 | evaluator_traps. New acro: undefine. | |
2759 | ||
2760 | * eval.h: Renamed EVAL --> XEVAL. | |
2761 | ||
2762 | * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table | |
2763 | --> scm_make_weak_key_hash_table. | |
2764 | ||
2765 | * init.c (scm_restart_stack, scm_boot_guile): Added initialization | |
2766 | of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}. | |
2767 | ||
2768 | * libguile.h: Conditionally include debug.h | |
2769 | ||
7a818853 | 2770 | * objprop.c (scm_object_properties, scm_set_object_properties_x): |
0190d683 MD |
2771 | scm_object_properties shouldn't return handle. `handle' now gets |
2772 | initialized in scm_set_object_properties_x. scm_object_properties | |
2773 | doesn't any longer create an entry in scm_object_whash. | |
2774 | ||
7a818853 | 2775 | * options.c: New file: handling of run time options. |
0190d683 MD |
2776 | |
2777 | * options.h: New file: handling of run time options. | |
2778 | ||
2779 | * posix.c (scm_getpgrp): Cast pointer to getpgrp. | |
2780 | ||
7a818853 | 2781 | * print.c: New procedure: scm_print_options |
0190d683 MD |
2782 | |
2783 | * print.h: Defines for print options. | |
2784 | ||
7a818853 | 2785 | * read.c: New procedure: scm_read_options |
0190d683 MD |
2786 | |
2787 | * read.h: Defines for reader options. | |
2788 | ||
2789 | * root.h: Added scm_source_whash among scm_sys_protects. | |
2790 | ||
7a818853 | 2791 | * srcprop.c: New file: source properties. |
0190d683 MD |
2792 | |
2793 | * srcprop.h: New file: source properties. | |
2794 | ||
2795 | * throw.c (jbsmob): Jump buffers are now correctly allocated. | |
2796 | (Bug found by A. Green.) | |
2797 | ||
7a818853 | 2798 | * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table. |
0190d683 MD |
2799 | |
2800 | * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table. | |
2801 | ||
253efac3 JB |
2802 | Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2803 | ||
2804 | * libguile.h: #include "objprop.h"; I guess this was forgotten. | |
2805 | ||
2806 | * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin, | |
2807 | and should be called by the final client. | |
2808 | ||
2809 | Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
2810 | ||
2811 | * gc.h: Use the PROTO macro when declaring functions. | |
2812 | * gc.c: Use the PROTO macro when declaring static functions. | |
2813 | Remove the CPP hair around function definitions. | |
2814 | ||
2815 | * gc.c (scm_init_storage): Initialize scm_asyncs. | |
2816 | ||
2817 | * libguile.h: #include "__scm.h" before testing the STDC_HEADERS | |
2818 | preprocessor symbol; "__scm.h" is where it might get #defined. | |
2819 | * __scm.h: Similar: #include <scmconfig.h> before testing | |
2820 | HAVE_LIMITS_H. | |
2821 | ||
2822 | * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH. | |
2823 | ||
2824 | Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com> | |
2825 | ||
7a818853 | 2826 | * init.c (scm_boot_guile): Add init_func argument; call |
253efac3 JB |
2827 | (*init_func) instead of calling scm_appinit; it's ucky to |
2828 | hard-code names for the user's procedures. | |
2829 | * init.h (scm_boot_guile): Adjust declaration. | |
2830 | ||
2831 | * __scm.h (PROTO): New macro, for declaring functions with | |
2832 | prototypes. | |
2833 | ||
2834 | * init.h (scm_start_stack, scm_restart_stack): Use PROTO; | |
2835 | eliminate all the __STDC__ conditionals. | |
2836 | (scm_boot_guile): Add declaration. | |
2837 | * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile): | |
2838 | Remove __STDC__ conditionals around function definitions; the | |
2839 | declarations in init.h will provide the same information, more | |
2840 | usefully. | |
2841 | ||
2842 | * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't | |
2843 | complain about it in the error message; the error message is | |
2844 | adequate without that note, and there's nothing the user can do | |
2845 | about it. | |
2846 | ||
dd447b63 JB |
2847 | Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2848 | ||
2849 | * Makefile.in (ancillary): Drop def.sed. | |
2850 | ||
2851 | * posix.c (scm_init_posix): Use numeric values, rather than | |
2852 | CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and | |
2853 | F_OK. The symbols aren't available on some systems, and I'm | |
2854 | pretty sure their values are fixed by common widespread practice. | |
2855 | * ioext.c (scm_init_ioext): Code here defined them too; remove it. | |
2856 | ||
2857 | More functions unavailable on some systems. | |
2858 | * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid, | |
2859 | tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to | |
2860 | check for. | |
2861 | * configure, scmconfig.h.in: Updated, using autoconf and autoheader. | |
2862 | * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid, | |
2863 | scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the | |
2864 | bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a | |
2865 | stub that signals an error as the #else. | |
2866 | ||
2867 | * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h. | |
2868 | ||
95b88819 GH |
2869 | Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz> |
2870 | ||
2871 | * Fixes motivated by Petr Adamek <adamek@mit.edu>: | |
2872 | ||
2873 | * unif.c: include ramap.h. | |
2874 | ||
2875 | * read.c (endif): case_insensative_p renamed case_insensitive_p. | |
2876 | ||
2877 | * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x. | |
2878 | ||
2879 | * ports.c: include sys/ioctl.h. | |
2880 | ||
2881 | * scmconfig.h.in: add HAVE_SYS_IOCTL_H. | |
2882 | ||
2883 | * configure.in: check for sys/ioctl.h. | |
2884 | ||
2885 | * ports.c: include <malloc.h> not "malloc.h". | |
2886 | ||
2887 | * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h. | |
2888 | ||
2889 | * fports.c: remove ttyname and tmpnam declarations. | |
2890 | ||
2891 | * posix.c: fewer ttyname declarations. | |
2892 | ||
2893 | * fports.c: include <string.h> not "string.h". | |
2894 | ||
2895 | * init.c, ioext.c: include string.h and unistd.h. | |
2896 | ||
2897 | * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h. | |
2898 | ||
dd447b63 JB |
2899 | * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c, |
2900 | genio.c, simpos.c, vports.c: include string.h. | |
95b88819 GH |
2901 | |
2902 | * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H. | |
2903 | ||
2904 | * fdsocket.c (getsockopt, setsockopt): change type of optlen from | |
2905 | scm_sizet to int. | |
2906 | (scm_addr_buffer_size): change type from scm_sizet to int. | |
2907 | (accept, getsockname, getpeername, recvfrom): change type of tmp_size | |
2908 | from scm_sizet to int. | |
2909 | ||
2910 | * error.c: include unistd.h. | |
2911 | ||
2912 | * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't | |
2913 | defined. | |
2914 | ||
2915 | * Makefile.in: remove references to .hd, .cd suffix and __scm.hd. | |
2916 | ||
2917 | * __scm.hd, def.sed: deleted. | |
2918 | ||
458d621d JB |
2919 | Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2920 | ||
2921 | Changes for NeXT, suggested by Robert Brown. | |
2922 | * configure.in: Call AC_TYPE_MODE_T. | |
2923 | (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the | |
2924 | NeXT. Put header file list in alphabetical order. | |
2925 | * configure, scmconfig.h.in: Regenerated. | |
2926 | * filesys.c [HAVE_LIBC_H]: #include <libc.h>. | |
2927 | ||
2928 | * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype | |
2929 | for strerror. | |
2930 | ||
2931 | * acconfig.h: New file, providing documentation for the CPP | |
2932 | symbols defined in configure.in | |
2933 | * acconfig-1.5.h: Removed; superceded by the above. | |
2934 | ||
2e18892a GH |
2935 | Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz> |
2936 | ||
8b13c6b3 GH |
2937 | * ioext.c (scm_sys_fdopen): fix the port-table assignment. |
2938 | ||
7a818853 | 2939 | * fports.c (scm_open_file): don't return #f, throw error. |
8b13c6b3 | 2940 | |
7a818853 | 2941 | * ioext.c (fileno): renamed from %fileno. |
8b13c6b3 GH |
2942 | (soft-fileno): deleted. |
2943 | ||
2944 | * ports.c (scm_port_revealed): don't need to check for -1 from | |
2945 | scm_revealed_count. | |
2946 | (scm_set_port_revealed_x): return unspecified, not #f. | |
2947 | ||
7a818853 | 2948 | * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0. |
8b13c6b3 | 2949 | |
2e18892a GH |
2950 | * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER. |
2951 | ||
2952 | * scmconfig.h.in: add HAVE_STRUCT_LINGER. | |
2953 | ||
2954 | * configure.in: check for struct linger, set HAVE_STRUCT_LINGER. | |
2955 | ||
a44a755d JB |
2956 | Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com> |
2957 | ||
0f1c2da6 JB |
2958 | * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>. |
2959 | This is necessary on Ultrix, and doesn't hurt portability. | |
2960 | ||
a44a755d JB |
2961 | * Makefile.in (dist-dir): New target, implementing a new dist system. |
2962 | (installed_h_files): Put in alphabetical order. | |
2963 | Remove duplicate entries for markers.h and unif.h. | |
2964 | (c_files): Remove duplicate entries for markers.c. | |
2965 | (ancillary): Renamed from anillery; all uses changed. Remove | |
2966 | PLUGIN; it's a directory, and needs special treatment in dist-dir. | |
2967 | Remove all the ../doc/* files; doc/Makefile.in handles that. | |
2968 | ||
0f1c2da6 JB |
2969 | * Makefile.in (libobjs): Remove duplicate entry for markers.o. |
2970 | ||
9be2a49b JB |
2971 | * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell: |
2972 | every if must have an else, or else the whole command has a | |
2973 | non-zero exit code whenever the if's condition is false. | |
2974 | ||
02b754d3 GH |
2975 | Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz> |
2976 | ||
2977 | * posix.c: include string.h. | |
2978 | ||
2979 | Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz> | |
2980 | ||
7a818853 | 2981 | * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must |
02b754d3 GH |
2982 | have been once. |
2983 | ||
7a818853 | 2984 | * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c: |
02b754d3 GH |
2985 | Remove leading % from scheme names. |
2986 | Do not return error values, call SCM_SYSERROR or similar. | |
2987 | ||
2988 | * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros. | |
2989 | ||
0f2d19dd JB |
2990 | Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive> |
2991 | ||
2992 | * struct.c (scm_init_struct): new file. | |
2993 | ||
2994 | Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive> | |
2995 | ||
2996 | * list.c (scm_list_tail): list-cdr-ref is the same as list-tail. | |
2997 | (scm_list_head): added list-head for rapidly chopping argument | |
2998 | lists off of longer lists (and similar). | |
2999 | ||
3000 | Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive> | |
3001 | ||
3002 | * objprop.c (scm_object_property): assq the cdr of the whash | |
3003 | handle for obj, not the handle itself. | |
3004 | ||
3005 | Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive> | |
3006 | ||
3007 | * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of | |
3008 | weak hash tables last of all marking to avoid an obscure gc bug. | |
3009 | WARNING: circular lists stored in a weak hash table will hose us. | |
3010 | ||
3011 | Fri May 24 09:53:39 1996 Tom Lord <lord@beehive> | |
3012 | ||
3013 | * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x): | |
3014 | new functions similar to scm_substring_move_left_x and | |
3015 | scm_substring_move_right_x. | |
3016 | ||
3017 | Wed May 22 20:07:01 1996 Tom Lord <lord@beehive> | |
3018 | ||
3019 | * init.c (scm_boot_guile): prevent gc with scm_block_gc not | |
3020 | scm_gc_heap_lock! | |
3021 | ||
3022 | Wed May 15 16:13:29 1996 Tom Lord <lord@beehive> | |
3023 | ||
3024 | * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure. | |
3025 | ||
3026 | Thu May 9 09:33:17 1996 Tom Lord <lord@beehive> | |
3027 | ||
3028 | * strports.c (scm_strprint_obj): convenience function. C for | |
3029 | (lambda (obj) (call-with-output-string (lambda (p) (write obj p)))) | |
3030 | ||
3031 | * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch] | |
3032 | removed to a separate library | |
3033 | ||
3034 | * init.c (scm_boot_guile): copied from guile-tcl.c. | |
3035 | Initialization specific to tcl interpreters removed. | |
3036 | ||
3037 | Wed May 8 15:07:37 1996 Tom Lord <lord@beehive> | |
3038 | ||
3039 | * ports.c (scm_ports_prehistory): size malloced here doesn't | |
3040 | matter so long as it is non-0 (got rid of "* 4"). | |
3041 | ||
3042 | Tue May 7 11:43:37 1996 Tom Lord <lord@beehive> | |
3043 | ||
3044 | * gscm.h: gscm_mkarray eliminated (presumably was not being used | |
3045 | since its definition was bogus). | |
3046 | ||
3047 | Mon May 6 13:02:56 1996 Tom Lord <lord@beehive> | |
3048 | ||
3049 | * mallocs.[ch]: back again (for rx at least). | |
3050 | ||
3051 | Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive> | |
3052 | ||
3053 | * ports.c: removed functions relating to the mapping between ports | |
3054 | and descriptors. (That stuff is unix-specific and should be collected | |
3055 | in a separate library). | |
3056 | ||
3057 | * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>. | |
3058 | (Tom Mckay@avanticorp.com) | |
3059 | ||
3060 | Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive> | |
3061 | ||
3062 | * gc.c (scm_gc_sweep): Immediates in weak vectors were not | |
3063 | handled correctly (SCM_FREEP was applied to them) -- test for | |
3064 | NIMP. Keys in weak hash tables were spuriously (though harmlessly) | |
3065 | being overwritten with #f. (brown@grettir.bibliotech.com) | |
3066 | ||
3067 | Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive> | |
3068 | ||
3069 | * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs | |
3070 | for a specific symbol or for all symbols. | |
3071 | ||
3072 | Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive> | |
3073 | ||
3074 | * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak | |
3075 | keys and weak values confused). | |
3076 | ||
3077 | Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive> | |
3078 | ||
3079 | * list.c (scm_last_pair): map '()=>'() | |
3080 | ||
3081 | Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive> | |
3082 | ||
3083 | * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c: | |
3084 | Generalized assoc and hash-table functions. | |
3085 | Factored pairs.c into multiple files. | |
3086 | ||
3087 | Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive> | |
3088 | ||
3089 | * gscm.c (gscm_run_scm): got rid of objprop. | |
3090 | ||
3091 | Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive> | |
3092 | ||
3093 | * genio.c (scm_getc): | |
3094 | NOTE: fgetc may not be interruptable. | |
3095 | ||
3096 | * procprop.c (scm_stand_in_scm_proc): | |
3097 | NOTE: don't use a alist here. | |
3098 | (scm_set_procedure_properties_x): fix type checking throughout this file. | |
3099 | ||
3100 | * gc.c (scm_gc_sweep): free heap segments with free, not must_free. | |
3101 | ||
3102 | * ports.c (scm_remove_from_port_table): adjust scm_mallocated | |
3103 | after freeing part of the port table. | |
3104 | ||
3105 | Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive> | |
3106 | ||
3107 | * strports.c (scm_mkstrport): | |
3108 | * vports.c (scm_make_soft_port): allocate a port table entry | |
3109 | (possibly triggering gc) before setting the tag of the corresponding | |
3110 | ports handle. | |
3111 | ||
3112 | * pairs.c (scm_delq_x): never throw an error. | |
3113 | ||
3114 | * vectors.c (scm_make_vector): made the default vector fill argument | |
3115 | into '() (much more useful than the previous value, "#unspecified") | |
3116 | ||
3117 | Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive> | |
3118 | ||
3119 | * ports.c (scm_add_to_port_table): Added fields | |
3120 | to port table entries: file_name, line_num, col. | |
3121 | Update these in open_file, gen_getc and gen_ungetc. | |
3122 | Added procedures to access those fields. | |
3123 | ||
3124 | Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive> | |
3125 | ||
3126 | * procs.c (scm_make_subr_opt): new entry point for making | |
3127 | anonymous subrs. | |
3128 | ||
3129 | Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive> | |
3130 | ||
3131 | * gc.h: SCM_STACK_GROWS_UP is now set by autoconf. | |
3132 | ||
3133 | Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive> | |
3134 | ||
3135 | * numbers.c (scm_exact_p): This function no longer | |
3136 | implements "integer?". | |
3137 | ||
3138 | Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive> | |
3139 | ||
3140 | * gc.c (scm_gc_end): simulate a signal at the end of each GC. | |
3141 | (scm_gc_stats): return an assoc of useful data. Replaces "room" | |
3142 | and the stats reporting formerlly built into repl. | |
3143 | ||
3144 | * repl.[ch]: removed. | |
3145 | GC statistics keeping moved to gc.c. | |
3146 | Other statistics keeping can be done from Scheme. | |
3147 | REPLS are now written in Scheme. | |
3148 | ||
3149 | Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive> | |
3150 | ||
3151 | * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky | |
3152 | conservatively marked objects). | |
3153 | ||
3154 | * throw.c (scm_ithrow): Unwind up to the right catch during a throw! | |
3155 | ||
3156 | * error.c (scm_init_error): init system_error_sym here, not in repl.c. | |
3157 | ||
3158 | * feature.c (scm_compiled_library_path): moved here from repl.c. | |
3159 | This file is for stuff relating specifically to Scheme libraries | |
3160 | like slib. | |
3161 | ||
3162 | * eval.c (scm_m_define): don't give warning about redefinition, don't | |
3163 | check verbosity. | |
3164 | ||
3165 | NOTE: this should throw a resumable exception with parameters -- | |
3166 | the name, the top-level env, the variable, the definition, #t/#f: redefining builtin? | |
3167 | ||
3168 | * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity. | |
3169 | ||
3170 | * error.c: scm_warn eliminated. | |
3171 | ||
3172 | * read.c (scm_lreadr): extra right paren gets an error, not a warning. | |
3173 | ||
3174 | * repl.c, marksweep.c, gc.c (various): | |
3175 | lose exit_report, growth_mon. | |
3176 | ||
3177 | * gscm.c: got rid of verbosity functions. | |
3178 | ||
3179 | Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive> | |
3180 | ||
3181 | * throw.c (scm_ithrow): guard against the bad-throw hook changing | |
3182 | between the call to procedurep and use. | |
3183 | ||
3184 | * error.c (scm_everr): | |
3185 | * gc.c (fixconfig): | |
3186 | * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong, | |
3187 | but less so. | |
3188 | ||
3189 | * strports.c: don't reveal the port's string to the caller | |
3190 | because it changes size. | |
3191 | ||
3192 | (stputc stwrite): check/change the strings length with interrupts | |
3193 | blocked. | |
3194 | ||
3195 | * objprop.c (scm_set_object_property_x &c): use the generic | |
3196 | hashing functions and be threadsafe. | |
3197 | ||
3198 | * eval.c (scm_unmemocar): do this operation in a thread-safe way. | |
3199 | (per suggestion jaffer@gnu.ai.mit.edu). | |
3200 | ||
3201 | * mbstrings.c (scm_multi_byte_string): guard against argument list | |
3202 | changing length. | |
3203 | ||
3204 | * strings.c (scm_make_string): loop cleanup | |
3205 | ||
3206 | * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer | |
3207 | a scheme function. | |
3208 | ||
3209 | * weaks.c (scm_weak_vector): guard against argument list | |
3210 | changing length. | |
3211 | ||
3212 | * variable.c (scm_builtin_variable): check for/make a built-in | |
3213 | variable automicly. | |
3214 | ||
3215 | * vectors.c (scm_vector): while filling the new array, | |
3216 | guard against a list of fill elements that grows after | |
3217 | the vector is allocated. | |
3218 | ||
3219 | * hashtab.c -- new file: general hash table | |
3220 | functions. hash, hashq, hashv, hashx. | |
3221 | ||
3222 | * tags.h: made wvect an option bit of vector. | |
3223 | ||
3224 | Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive> | |
3225 | ||
3226 | * symbols.c: made the basic symbol table operations atomic. | |
3227 | ||
3228 | * root.c &c.: collected stack-specific global state. | |
3229 | linum/colnum etc *should* be port-specific state. | |
3230 | ||
3231 | * struct.c (scm_init_struct): init the first struct type during | |
3232 | initialization to fix a race condition. | |
3233 | ||
3234 | * continuations.c (scm_dynthrow): pass throwval in the 'regs' | |
3235 | object, not in a global. | |
3236 | (suggested by green@cygnus, jaffer@gnu.ai.mit.edu) | |
3237 | ||
3238 | * throw.c (_scm_throw): Pass throwval on the stack, not in a global | |
3239 | (suggested by green@cygnus, jaffer@gnu.ai.mit.edu) | |
3240 | ||
3241 | * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP | |
3242 | and C symbols to begin with SCM_ or scm_. | |
3243 | ||
3244 | Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive> | |
3245 | ||
3246 | * gsubr.c (scm_gsubr_apply): statically allocate the | |
3247 | array of arguments (bothner@cygnus.com). | |
3248 | ||
3249 | Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive> | |
3250 | ||
3251 | * scmsigs.c: Simplified to use async rountines. | |
3252 | ||
3253 | * async.c: New support for interrupt handlers. | |
3254 | ||
3255 | Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive> | |
3256 | ||
3257 | * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to | |
3258 | set the multi_byte flag correctly in symbols. This is wrong. | |
3259 | intern_obbary_soft and msymbolize should take an extra parameter. | |
3260 | Also, weird multibyte symbols don't print correctly. | |
3261 | The weird symbol syntax is also a bit bogus (emacs doesn't quite | |
3262 | cope). | |
3263 | ||
3264 | Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive> | |
3265 | ||
3266 | * symbols.c (scm_string_to_obarray_symbol): obarray == #f means | |
3267 | use the system symhash. == #t means create an uninterned symbol. | |
3268 | ||
3269 | Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive> | |
3270 | ||
3271 | * strings.c (scm_make_shared_substring): build'em. | |
3272 | It might better to keep a table of these and use one | |
3273 | less cons-pair per shared-substring. | |
3274 | ||
3275 | Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive> | |
3276 | ||
3277 | * strings.c (scm_string_shared_substring): create shared | |
3278 | substrings. (Doesn't handle mb strings yet). | |
3279 | ||
3280 | * mbstrings.c (scm_print_mb_string): handle RO strings. | |
3281 | ||
3282 | * print.c (scm_iprin1): print substrings as their non-substring | |
3283 | counterparts (dubious). | |
3284 | ||
3285 | * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB | |
3286 | strings. | |
3287 | ||
3288 | * hash.c (scm_hasher): hash RO and MB strings as bytestrings. | |
3289 | ||
3290 | * eval.c (SCM_CEVAL): self-evaluate RO and MB strings. | |
3291 | ||
3292 | * eq.c (scm_equal_p): handle RO and MB strings. | |
3293 | ||
3294 | * symbols.c (scm_string_to_symbol): | |
3295 | (scm_string_to_obarray_symbol): | |
3296 | * strop.c (scm_i_index): | |
3297 | (scm_i_rindex): | |
3298 | (scm_string_null_p): | |
3299 | (scm_string_to_list): | |
3300 | * strings.c (scm_string_length): | |
3301 | (scm_string_ref): | |
3302 | (scm_substring): | |
3303 | (scm_string_append): | |
3304 | * simpos.c (scm_system): | |
3305 | (scm_getenv): | |
3306 | * fports.c (scm_open_file): | |
3307 | * strorder.c (scm_string_equal_p): | |
3308 | (scm_string_ci_equal_p): | |
3309 | (scm_string_less_p): | |
3310 | (scm_string_ci_less_p): | |
3311 | * pairs.c (scm_obj_length): | |
3312 | * mbstrings.c (scm_multi_byte_string_length): | |
3313 | ||
3314 | Use RO string macros for RO strings. | |
3315 | ||
3316 | Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive> | |
3317 | ||
3318 | * Makefile.in (CFLAGS ALL_CFLAGS): be more standard. | |
3319 | ||
3320 | * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions | |
3321 | index/rindex. Do handle embedded \000 characters. | |
3322 | ||
3323 | Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive> | |
3324 | ||
3325 | * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos | |
3326 | Eliminate a (presumed) warning on some systems. | |
3327 | ||
3328 | * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH | |
3329 | (Mikael Djurfeldt <mdj@nada.kth.se>) | |
3330 | ||
3331 | Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive> | |
3332 | ||
3333 | * eval.c (scm_map): added argument type checking. | |
3334 | (kawai@sail.t.u-tokyo.ac.jp) | |
3335 | ||
3336 | * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val" | |
3337 | for C++. (Seth Alves <alves@gryphon.com>) | |
3338 | ||
3339 | (gscm_cstr): uses an uninitialized local variable causing | |
3340 | segv. (kawai@sail.t.u-tokyo.ac.jp) | |
3341 | ||
3342 | ||
3343 | * lvectors.c (scm_get_lvector_hook): | |
3344 | In guile-ii, the lvector code was broken. It was fixed in guile-iii. | |
3345 | It seems to me like if it is broken again in guile-iv...Here is a patch. | |
3346 | "! || (LENGTH (keyvec) == 0))" | |
3347 | (From: Mikael Djurfeldt <mdj@nada.kth.se>) | |
3348 | ||
3349 | ||
3350 | * gscm.c (gscm_sys_default_verbosity): | |
3351 | incorrectly declared for non-__STDC__ | |
3352 | (Tom_Mckay@avanticorp.com) | |
3353 | ||
3354 | * ports.c (scm_setfileno): Tweak the macro a bit | |
3355 | to make it easier to port to systems that use | |
3356 | more than a single structure field to hold a descriptor. | |
3357 | ||
3358 | * debug.c (change_mode): Avoid GNUCism "int foo[n];" | |
3359 | Give a warning, not an error, for unrecognized modes. | |
3360 | ||
3361 | * eval.c (SCM_CEVAL): | |
3362 | static char scm_s_for_each[]; | |
3363 | static char scm_s_map[]; | |
3364 | not needed. | |
3365 | ||
3366 | * strings.c (scm_string_p): | |
3367 | static char s_string[]; | |
3368 | (see next entry) | |
3369 | ||
3370 | * struct.c (scm_sys_struct_set_x): | |
3371 | static char s_sys_make_struct[]; | |
3372 | static char s_sys_struct_ref[]; | |
3373 | static char s_sys_struct_set_x[]; | |
3374 | Rearrange code to eliminate those forward decls for the sake of | |
3375 | broken compilers. | |
3376 | ||
3377 | * variable.c (make_vcell_variable): static char s_make_variable[]; | |
3378 | isn't needed. | |
3379 | ||
3380 | * fports.c (scm_port_mode): | |
3381 | chars modes[3] = ""; | |
3382 | to | |
3383 | chars modes[3]; | |
3384 | modes[0] = '\0'; | |
3385 | (Tom_Mckay@avanticorp.com) | |
3386 | ||
3387 | ||
3388 | * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of | |
3389 | scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon | |
3390 | (Tom_Mckay@avanticorp.com) | |
3391 | ||
3392 | * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of | |
3393 | scm_num_eq_p() was scm_equal_p(). | |
3394 | (Tom_Mckay@avanticorp.com) | |
3395 | ||
3396 | * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..." | |
3397 | (Tom_Mckay@avanticorp.com) | |
3398 | ||
3399 | Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive> | |
3400 | ||
3401 | * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..." | |
3402 | (Tom_Mckay@avanticorp.com) | |
3403 | ||
3404 | * strop.c (scm_substring_fill_x): | |
3405 | Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon | |
3406 | (Tom_Mckay@avanticorp.com) | |
3407 | ||
3408 | * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info. | |
3409 | Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com) | |
3410 | ||
3411 | * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X) | |
3412 | Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com) | |
3413 | ||
3414 | * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which | |
3415 | can turn into an obscure gc bug. | |
3416 | ||
3417 | * chars.c (scm_char_p): fixed PROC call. | |
3418 | ||
3419 | * gscm.h (gscm_vset): use scm_vector_set_x not (the missing) | |
3420 | scm_vector_set. | |
3421 | ||
3422 | Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive> | |
3423 | ||
3424 | * elisp.c (new file): dynamic scoping and other bits for | |
3425 | elisp. Don't use this yet unless you specificly want to | |
3426 | hack on elisp emulation. | |
3427 | ||
3428 | * dynwind.c (scm_dowinds): When entering or leaving a dynamic | |
3429 | scope created by scm_with_dynamic_bindings_operation_x, swap | |
3430 | the bindings of that scope with the corresponding globals. | |
3431 | ||
3432 | * continuations.c (scm_make_cont): when a continuation is captured, | |
3433 | relocate the continuation stack chunks registered on the wind chain | |
3434 | to the heap. | |
3435 | ||
3436 | Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive> | |
3437 | ||
3438 | * eval.c (SCM_CEVAL): if the function position evaluates | |
3439 | to a macro, process it accordingly. (Previously, macros were | |
3440 | handled only if the function position was a symbol naming a | |
3441 | variable bound to a macro). | |
3442 | ||
3443 | Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive> | |
3444 | ||
3445 | * eval.c (scm_m_set): allow multi-variable set! like | |
3446 | (set! x 1 y 2 z 3). | |
3447 | ||
3448 | Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive> | |
3449 | ||
a585a27d JB |
3450 | * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the |
3451 | STREAM of ports into the port table and replaced it with a | |
3452 | port-table index. | |
0f2d19dd JB |
3453 | |
3454 | * repl.c (iprin1): added tc7_mb_string -- same as tc7_string. | |
3455 | ||
3456 | * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string. | |
3457 | ||
3458 | * mbstrings.c (new file): functions on multi-byte strings. | |
3459 | ||
3460 | * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag | |
3461 | for multi-byte strings. Moved the string tag. | |
3462 | ||
a585a27d JB |
3463 | * chars.h chars.c repl.c (many functions): made scm_upcase and |
3464 | scm_downcase functions that are safe for extended character sets. | |
0f2d19dd JB |
3465 | |
3466 | Changed the range of integer->char. | |
3467 | ||
de15ba3a | 3468 | Changed the type of SCM_ICHR. |
0f2d19dd JB |
3469 | |
3470 | Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se> | |
3471 | ||
3472 | * guile.c: Changed init file name from "SCM_INIT_PATH" to | |
3473 | "GUILE_INIT_PATH" | |
3474 | ||
3475 | Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu> | |
3476 | ||
3477 | * guile.c (gscm_is_gscm_type): New function. (Without this how will we | |
3478 | know that it's safe to pass an object to gscm_get_type?) | |
3479 | (gscm_get_type): Fix tyop in error message. | |
3480 | ||
3481 | * variable.c (scm_variable_ref): fixed assertion test. | |
3482 | (Robert STRANDH <strandh@labri.u-bordeaux.fr>) | |
3483 | ||
3484 | * gscm.h: fixed several prototypes, notably gscm_vref. | |
3485 | Add gscm_is_eq and temporarily commented out gscm_eq (see | |
3486 | the note in gscm.h near gscm_eq if this change effects your | |
3487 | code). | |
3488 | (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>) | |
3489 | ||
3490 | * pairs.c (scm_obj_length): see next entry. | |
3491 | ||
3492 | * gscm.h (gscm_obj_length): A way to get an integer | |
3493 | length for lists, strings, symbols (treated as strings), | |
3494 | and vectors. Returns -1 on error. | |
3495 | ||
3496 | * eq.c (scm_equal_p): fixed smob case. | |
3497 | (William Gribble <grib@arlut.utexas.edu>) | |
3498 | ||
3499 | * Makefile.in (X_CFLAGS): defined. | |
3500 | (William Gribble <grib@arlut.utexas.edu>) | |
3501 | ||
3502 | * gscm.h (gscm_2_double): provided now | |
3503 | (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>) | |
3504 | ||
3505 | Tue Jun 13 01:04:09 1995 gnu | |
3506 | * Vrooom! | |
3507 | ||
3508 |