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