Commit | Line | Data |
---|---|---|
31b9e767 JB |
1 | 1998-10-09 Jim Blandy <jimb@zwingli.cygnus.com> |
2 | ||
c6ff295e JB |
3 | * Makefile.am (libguile_la_LDFLAGS): Increment shared library |
4 | version number. | |
5 | * Makefile.in: Regenerated. | |
6 | ||
31b9e767 JB |
7 | * fports.h (scm_setbuf0, scm_setvbuf, scm_setfileno, |
8 | scm_evict_ports, scm_open_file, scm_stdio_to_port): Get rid of | |
9 | SCM_P macro. | |
10 | ||
11 | Do magic to mix reads and writes on stdio FILE-based ports. | |
0445f9f2 | 12 | (Thanks to Christian Lynbech.) |
31b9e767 JB |
13 | * fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY): |
14 | New macros. | |
15 | (pre_read, pre_write): New functions. | |
16 | (local_fgetc, local_fgets, local_ffwrite, local_fputc, | |
17 | local_fputs): Call them. | |
18 | (local_fflush): Mark the port as ready for reading and writing. | |
19 | (scm_stdio_to_port): Set the FPORT_READ_SAFE, FPORT_WRITE_SAFE | |
20 | flags on new port objects. This might not be accurate --- who | |
21 | knows what state the FILE * is in when we get it --- but it won't | |
22 | do extraneous calls to fflush or fseek, so it's no worse than the | |
23 | behavior before this change. | |
24 | * ports.h: Add comment. | |
25 | ||
26 | Centralize the creation of port objects based on stdio FILE * in | |
27 | fports.c; don't just throw them together anywhere. | |
28 | * fports.c (scm_stdio_to_port): Make NAME a SCM value, which is | |
29 | what the rest of Guile wants. Don't set the revealed count; | |
30 | that's only appropriate for stdin, stdout, stderr. | |
31 | (scm_standard_stream_to_port): This function does set the revealed | |
32 | count. | |
33 | * init.c (scm_init_standard_ports): Use scm_standard_stream_to_port, | |
34 | not scm_stdio_to_port. | |
35 | * filesys.c (scm_open): Call scm_stdio_to_port; don't write it out. | |
36 | * fports.c (scm_open_file): Same. | |
37 | * posix.c (scm_pipe): Same. | |
38 | * socket.c (scm_sock_fd_to_port): Same. | |
39 | * ioext.c (scm_fdopen): Same. | |
40 | (scm_freopen): Moved from here to... | |
41 | * fports.c (scm_freopen): ... here. This is really something that | |
42 | munges the internals of an fport, so it should go here. | |
43 | * fports.h (scm_stdio_to_port): Adjust prototype. | |
44 | (scm_standard_stream_to_port, scm_freopen): New protoypes. | |
45 | * ioext.h (scm_freopen): Prototype removed. | |
46 | ||
47 | * filesys.c (set_element, get_element): This can work on both pipe | |
48 | and file ports, so use SCM_FPORTP to typecheck, instead of testing | |
49 | for scm_tc16_fport. | |
50 | ||
51 | * scmconfig.h.in: Regenerated. | |
52 | ||
53 | Change the definition of the functions in scm_ptobfuns so that | |
54 | they get passed the port object, not the port's stream. | |
55 | * ports.h (scm_ptobfuns): Rename all `stream' arguments to `port'. | |
56 | * gc.c (scm_gc_sweep): Pass the port itself to the free function. | |
57 | * genio.c (scm_putc, scm_puts, scm_lfwrite, scm_fflush, scm_getc): | |
58 | Pass the port itself to the scm_ptobs function. | |
59 | * ports.c (scm_close_port, scm_force_output, scm_flush_all_ports, | |
60 | scm_generic_fgets): Same. | |
61 | (putc_void_port, puts_void_port, write_void_port, flush_void_port, | |
62 | getc_void_port, fgets_void_port, close_void_port): Just change the | |
63 | argument names; these functions don't really do anything. | |
64 | * fports.c (local_fgetc, local_fgets, local_fclose, local_fflush, | |
65 | local_fputc, local_fputs, local_ffwrite, local_pclose): Take the | |
66 | port as an argument, and use SCM_STREAM to get the stdio FILE *. | |
67 | Also, use prototyped definitions, and get rid of the extra | |
68 | declarations. | |
69 | (scm_fptob, scm_pipob): We don't need casts here any more. | |
70 | * strports.c (prinstpt): Use prototype declarations. | |
71 | (stputc, stwrite, stputs, stgetc): Take the port as an argument, | |
72 | and use SCM_STREAM to get the string info. Also, use prototyped | |
73 | definitions, and get rid of the extra declarations. | |
74 | * vports.c (sfputc, sfwrite, sfputs, sfflush, sfgetc, sfclose, | |
75 | noop0): Same. | |
76 | ||
77 | * ports.h (scm_ptobfuns): Replace uses of SCM_P with a straight | |
78 | prototype; it's okay (preferred, even!) to use ANSI C in Guile. | |
79 | ||
80 | * fports.c (local_fgetc, local_fgets): Renamed from scm_fgetc and | |
81 | scm_fgets, for consistency. | |
82 | (scm_fptop, scm_pipob): References updated. | |
83 | ||
6d921cd6 JB |
84 | 1998-10-08 Jim Blandy <jimb@zwingli.cygnus.com> |
85 | ||
86 | Include the source location in error messages for scripts. | |
87 | * init.c (scm_boot_guile_1): Use scm_internal_lazy_catch, so the | |
88 | stack is still there when we catch the error. | |
89 | * throw.c (handler_message): If we are handling an error with a | |
90 | message, then put together the proper arguments and call | |
91 | scm_display_error, instead of scm_display_error_message. That | |
92 | displays source location, if it can find it. | |
93 | ||
13af3048 JB |
94 | 1998-10-07 Jim Blandy <jimb@zwingli.cygnus.com> |
95 | ||
a8e05009 JB |
96 | * gc.c (scm_unprotect_object): Change this so that calls to |
97 | scm_protect_object and scm_unprotect_object nest properly. | |
98 | (scm_protect_object): Doc fixes. | |
99 | ||
3c0a54bd JB |
100 | * strings.c (scm_string_set_x): Require the argument to be a |
101 | writable string, not a substring or a symbol. | |
102 | * strings.h (SCM_RWSTRINGP, SCM_NRWSTRINGP): New predicates. | |
74f87516 JB |
103 | (Thanks to John Redford and Charbel Jacquin.) |
104 | ||
13af3048 JB |
105 | * scmconfig.h.in: Regenerated; ../acconfig.h has changed. |
106 | ||
6ea669d7 JB |
107 | 1998-10-07 Jim Blandy <jimb@totoro.red-bean.com> |
108 | ||
109 | * eval.c (safe_setjmp): Remove this misunderstanding. | |
110 | (ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Replace with references to | |
111 | ordinary setjmp. | |
112 | ||
2d0937bc JB |
113 | 1998-10-06 Jim Blandy <jimb@zwingli.cygnus.com> |
114 | ||
115 | * libguile.h: Mark these as C declarations, for compilation by C++ | |
116 | compilers. | |
117 | ||
118 | * snarf.h (SCM_PROC, SCM_PROC1): Remove very odd code in #ifdef | |
119 | __cplusplus clause. I seriously doubt this ever worked the way | |
120 | the author seems to have intended. | |
121 | ||
122 | 1998-10-05 Jim Blandy <jimb@zwingli.cygnus.com> | |
123 | ||
124 | Utterly needless cleanups to hopelessly messy code. | |
125 | * ports.c: Doc fixes. | |
126 | (scm_fflush): Moved to ... | |
127 | * genio.c (scm_fflush): ... here, amongst all the other port | |
128 | method invocation functions. | |
129 | * genio.h, ports.h: The prototype moves too. | |
130 | ||
53314947 JB |
131 | 1998-10-04 Jim Blandy <jimb@zwingli.cygnus.com> |
132 | ||
8b49142f JB |
133 | * backtrace.c (display_error_body): The current frame does not |
134 | always have a parent frame; consider a function called directly | |
135 | from the MAIN_FUNC passed to scm_boot_guile. (Thanks to Maciej | |
136 | Stachowiak.) | |
137 | ||
53314947 JB |
138 | * alloca.c (alloca): Undo yesterday's changes, and simply call |
139 | malloc directly for storage, and abort if we don't get what we | |
140 | want. The situation is much simpler --- just call malloc. Emacs | |
141 | has bizarre/evil requirements (signal handlers might malloc unless | |
142 | you set this global flag, so you have to set the flag around all | |
143 | calls to malloc) which we are certainly not going to conform to, | |
144 | so we can do the simple and obvious thing. | |
145 | ||
146 | * coop.c (coop_condition_variable_wait): Make this function | |
147 | static. It's only useful internally --- you should never just | |
148 | wait on a condition variable. | |
149 | * coop-defs.h (coop_condition_variable_wait): Delete prototype. | |
150 | ||
026065b7 JB |
151 | 1998-10-03 Jim Blandy <jimb@zwingli.cygnus.com> |
152 | ||
7265de70 JB |
153 | * unif.c (scm_array_set_x): Accept any kind of number as an |
154 | element for a uniform vector of doubles. This is more consistent | |
155 | with Scheme's view of numbers. (Thanks to Miroslav Silovic.) | |
156 | ||
a9fe62cb JB |
157 | * alloca.c: Use scm_must_malloc to obtain storage. Hopefully this |
158 | works; I can't conveniently test it myself. (Thanks to Dvid | |
159 | Tillman for the bug report.) | |
160 | ||
026065b7 JB |
161 | * init.c: Doc fixes. |
162 | ||
163 | * init.c (invoke_main_func): Load the startup files (boot-9.scm) | |
164 | from here, not from scm_compile_shell_switches (which is a pretty | |
165 | dumb place to do it). | |
166 | (scm_load_startup_files): New function. | |
167 | (scm_ice_9_already_loaded): Variable moved to here from script.c. | |
168 | * script.c (scm_compile_shell_switches): Don't load the startup | |
169 | files here. | |
170 | (scm_ice_9_already_loaded): Variable moved. | |
171 | * init.c (scm_load_startup_files): Prototype for new function. | |
172 | * gh_init.c (gh_enter): Doc fix. | |
173 | ||
541716d1 JB |
174 | 1998-10-03 <jimb@savonarola.red-bean.com> |
175 | ||
176 | Some anti-warning changes from Greg Harvey. | |
177 | * gh_data.c (gh_scm2doubles): Initialize m, to avoid compiler | |
178 | warnings when it doesn't understand our NORETURN declarations in | |
179 | error.h. | |
180 | * posix.c (scm_mknod): Similar. | |
181 | ||
f9d12ce8 JB |
182 | 1998-10-03 Jim Blandy <jimb@zwingli.cygnus.com> |
183 | ||
184 | * posix.c (scm_getpwuid): If we can't find an entry, return our | |
185 | own message, instead of using scm_syserror --- the getpwMUMBLE | |
186 | functions don't set `errno' to anything interesting. | |
187 | ||
0553d3a2 JB |
188 | 1998-10-03 <jimb@savonarola.red-bean.com> |
189 | ||
190 | Get rid of warnings from the cooperative threading system. | |
191 | * threads.h (scm_single_thread_p, scm_yield, | |
192 | scm_call_with_new_thread, scm_join_thread, scm_make_mutex, | |
193 | scm_lock_mutex, scm_unlock_mutex, scm_make_condition_variable, | |
194 | scm_wait_condition_variable, scm_signal_condition_variable): Add | |
195 | prototypes for these Scheme-visible functions. | |
196 | * coop-defs.h (coop_next_runnable_thread, | |
197 | coop_wait_for_runnable_thread_now, coop_wait_for_runnable_thread): | |
198 | Prototypes for these here, even though they're from iselect.c. | |
199 | (coop_condition_variable_wait, coop_join): Add prototypes. | |
200 | * coop-threads.c (scm_threads_free_thread, scm_threads_free_mutex, | |
201 | scm_threads_free_condvar): Make these smob functions static. | |
202 | * coop-threads.h (coop_init): Give this a real prototype. | |
203 | * coop.c: #include <unistd.h>, if we have it, for `usleep' and `sleep'. | |
204 | (coop_next_runnable_thread): No need to provide prototype; it's in | |
205 | coop-defs.h. | |
206 | ||
207 | * scmconfig.h.in: .detarenegeR | |
208 | ||
209 | * iselect.c, threads.c: Doc fixes. | |
210 | ||
235bb3fe JB |
211 | 1998-10-03 Jim Blandy <jimb@zwingli.cygnus.com> |
212 | ||
213 | * Makefile.in: Regenerated with a patched automake, to get | |
214 | dependency generation right when using EGCS. | |
215 | ||
216 | * inet_aton.c (inet_aton): Add prototype, to remove compiler | |
217 | warning. (Thanks to Robert Pluim.) | |
218 | ||
219 | * inet_aton.c (inet_aton): Reassure the compiler that the | |
220 | arguments to the <ctype.h> macros are all unsigned characters, not | |
221 | signed characters. | |
222 | ||
83d1c666 JB |
223 | 1998-10-03 <jimb@savonarola.red-bean.com> |
224 | ||
225 | Getting rid of more warnings... | |
226 | * iselect.c: Test for MISSING_BZERO_DECL, not DECLARE_BZERO; see | |
227 | today's change to ../configure.in. | |
228 | * scmsigs.c: Test for MISSING_USLEEP_DECL, not DECLARE_USLEEP. | |
229 | * scmconfig.h.in: Regenertaded.de.,.__ | |
230 | * stime.c (strptime): Declare this, #ifdef MISSING_STRPTIME_DECL. | |
231 | (scm_localtime, scm_mktime): Use a const char * to manipulate the | |
232 | time zone name. | |
233 | ||
234 | * readline.c: Doc fix. | |
235 | (rl_cleanup_after_signal, rl_free_line_state): Make these static. | |
236 | * readline.h (scm_filename_completion_function): Add prototype. | |
237 | (scm_init_readline): Make this into a prototype. | |
238 | ||
239 | * readline.c (scm_filename_completion_function): Use SCM_PROC to | |
240 | declare this, instead of calling scm_make_subr manually. | |
241 | ||
242 | 1998-10-02 <jimb@savonarola.red-bean.com> | |
243 | ||
244 | * readline.h (scm_init_readline): Add prototype for this. | |
245 | (scm_init_readline): Make this a real prototype. | |
246 | ||
94c0b3b8 JB |
247 | 1998-09-30 Jim Blandy <jimb@zwingli.cygnus.com> |
248 | ||
249 | Warning fixes from Maciej Stachowiak: | |
250 | * backtrace.h (scm_display_application, scm_backtrace): Add | |
251 | prototypes. | |
252 | * debug.c (scm_m_start_stack): Make this function static. | |
253 | * fluids.h (scm_fluid_p): Add prototype. | |
254 | * procprop.c (scm_i_procedure_arity): Make this function static. | |
255 | * regex-posix.c (scm_regexp_error_msg): Make this function static. | |
256 | * regex-posix.h (scm_init_regex_posix): Use prototype, not K&R decl. | |
257 | * root.h (scm_dynamic_root): Add external prototype. | |
258 | * scmsigs.h (scm_usleep): Add external prototype. | |
259 | * script.h (scm_init_script): Use prototype, not K&R decl. | |
260 | * stacks.h (scm_stack_id): Add external prototype. | |
261 | * symbols.h (scm_sysintern0_no_module_lookup): Add external prototype. | |
262 | ||
dc9f6d6a MG |
263 | 1998-09-30 Mark Galassi <rosalia@cygnus.com> |
264 | ||
265 | * gh.h: took out the definitions of vset and vref, since they are | |
266 | replaced by the proper vector routines that correspond to the R4RS | |
267 | procedures. | |
268 | ||
61a9ba48 JB |
269 | 1998-09-29 Jim Blandy <jimb@totoro.red-bean.com> |
270 | ||
94c0b3b8 | 271 | * snarf.h (SCM_VCELL_INIT, SCM_GLOBAL_VCELL_INIT): New macros; |
61a9ba48 JB |
272 | these are analogous to SCM_VCELL and SCM_GLOBAL_VCELL but take a |
273 | third argument, a C expression that should result in a SCM value, | |
274 | which is used to initialize the variable. Reimplemented | |
275 | SCM_CONST_LONG in terms of SCM_VCELL_INIT. (Thanks to Maciej | |
276 | Stachowiak.) | |
277 | ||
278 | * version.h (scm_libguile_config_stamp): Add prototype. | |
279 | (From Maciej Stachowiak.) | |
280 | ||
9a3c1149 JB |
281 | 1998-09-26 Jim Blandy <jimb@zwingli.cygnus.com> |
282 | ||
283 | * eval.c (scm_force): Assert that x is SCM_NIMP to fix segv when | |
284 | (force 9) is tried. (Thanks to Karl M. Hegbloom.) | |
285 | ||
52591c80 JB |
286 | 1998-09-06 Jim Blandy <jimb@zwingli.cygnus.com> |
287 | ||
6925bc4e JB |
288 | * print.c (scm_iprin1): Rather than having one i, and using it in |
289 | several places, declare a fresh i local to each block where it is | |
290 | used, and give it a signedness appropriate to its use in each case. | |
291 | (scm_iprlist): Same. | |
292 | ||
293 | * print.c (scm_iprin1): Add cast to avoid unsigned/signed | |
294 | comparison warnings. | |
295 | ||
296 | * print.c (ENTER_NESTED_DATA): Make i an unsigned long, to avoid | |
297 | signed/unsigned clashes. | |
298 | ||
299 | * posix.h (scm_tmpnam): Added prototype. | |
300 | ||
52591c80 JB |
301 | * objects.h (scm_set_object_procedure_x, scm_make_class_object, |
302 | scm_make_subclass_object): Add external prototypes. | |
303 | ||
304 | * numbers.c (scm_mkbig): Add cast, and note that signed/unsigned | |
305 | comparison is okay here. | |
306 | ||
307 | * numbers.c (scm_istr2int): Add cast; len is known to be positive. | |
308 | ||
309 | * numbers.c (scm_bigcomp): Clarify logic, and avoid relying on the | |
310 | (true, but confusing) fact that -1 == ((unsigned) 0 - 1). | |
311 | ||
312 | * numbers.c (scm_adjbig): Make nsiz an scm_sizet, to avoid mixing | |
313 | signed/unsigned. | |
314 | ||
315 | * load.c (swap_port): Make this function static. | |
316 | ||
317 | * load.c (scm_search_path): Make max_path_len and max_ext_len | |
318 | unsigned, since they're compared against string sizes. | |
319 | ||
320 | * load.c (init_build_info): Make i unsigned. | |
321 | ||
322 | * ioext.h (scm_read_line): Add prototype. | |
323 | ||
324 | * hashtab.c (scm_hash_fn_get_handle, scm_hash_fn_create_handle_x, | |
325 | scm_hash_fn_remove_x): Make hash bucket index local variable k | |
326 | unsigned. Use scm_ulong2num to pass it to SCM_ASSERT as | |
327 | accurately as possible. | |
328 | ||
329 | * gh_data.c (gh_set_substr): Add casts to avoid signed/unsigned | |
330 | comparisons, and range checking to make sure those casts are | |
331 | harmless. | |
2d2c87e1 JB |
332 | |
333 | * stackchk.h (SCM_STACK_OVERFLOW_P): Change definition to avoid | |
334 | signed/unsigned comparisons. | |
335 | ||
336 | * smob.c (scm_numsmob): Make this an int, not an scm_sizet, to | |
337 | avoid signed/unsigned comparisons. | |
338 | * smob.h (scm_numsmob): Change extern declaration to match. | |
339 | ||
340 | * ports.c (scm_numptob): Make this an int, not an scm_sizet, to | |
341 | avoid signed/unsigned comparisons. | |
342 | * ports.h (scm_numptob): Change extern declaration to match. | |
343 | (scm_current_load_port, scm_set_port_line_x, | |
344 | scm_set_port_column_x): New prototypes. | |
345 | ||
346 | * gsubr.c (GSUBR_TEST): Don't #define this. Nobody's using the | |
347 | test code, and it causes warnings. | |
348 | ||
349 | * gh.h (gh_int2scmb, gh_uniform_vector_length, | |
350 | gh_uniform_vector_ref): Added prototypes. | |
351 | ||
352 | * Makefile.am (libguile_la_SOURCES): Include Scheme-level | |
353 | debugging support unconditionally. That's backtrace.c, stack.c, | |
354 | debug.c, and srcprop.c. | |
355 | (EXTRA_libguile_la_SOURCES): Omit those from here. | |
356 | * Makefile.in: Regenerated. | |
357 | ||
a9b70caf MD |
358 | 1998-08-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
359 | ||
360 | * options.c (scm_options): Bugfix: Allow empty list of options! | |
361 | ||
362 | * debug.c, debug.h (scm_single_step): Removed. | |
363 | (scm_with_traps): New procedure. This procedure could easily be | |
364 | written in Scheme but needs to be highly optimized. | |
365 | ||
366 | * eval.h, eval.c: New evaluator trap flag: SCM_TRAPS_P. | |
367 | ||
368 | * eval.c (SCM_CEVAL, SCM_APPLY): Removed resetting of trap flags. | |
369 | Check SCM_TRAPS_P before trapping. | |
370 | ||
6dd78771 JB |
371 | 1998-07-30 Jim Blandy <jimb@zwingli.cygnus.com> |
372 | ||
373 | Changes to avoid signed/unsigned comparison warnings. | |
374 | * gc.c (scm_mtrigger, scm_heap_size): Make these unsigned longs. | |
375 | (scm_gc_sweep): Make n and j local to the blocks they're used in, | |
376 | so they can have appropriate types for each application. Make i | |
377 | signed. Use initializers in some spots. I'll probably pay for | |
378 | all this tweaking. | |
379 | (scm_must_malloc, scm_must_realloc): Use scm_sizet for size args. | |
380 | (scm_must_realloc): Make nm unsigned. | |
381 | (init_heap_seg): Make new_seg_index and n_new_objects signed. | |
382 | (scm_init_storage): Use prototype-style definition, and make the | |
383 | argument unsigned. | |
384 | * gc.h (scm_heap_size, scm_mtrigger, scm_must_malloc, | |
385 | scm_must_realloc, scm_init_storage): Adjust prototype accordingly. | |
386 | ||
387 | * filesys.c (scm_readlink): Make local vars rv and size ints, to | |
388 | avoid signed/unsigned comparison warnings, and because the return | |
389 | value of readlink may be -1. Don't bother casting the third | |
390 | argument to readlink. | |
391 | ||
392 | * filesys.c (scm_dirname, scm_basename): Move these to their own | |
393 | page, at the end of the file. | |
394 | * filesys.h (scm_dirname, scm_basename): Add prototypes for these. | |
395 | ||
396 | * eval.h (scm_eval_options_interface): Add external prototype for this. | |
397 | * eval.c (scm_eval_options_interface): Use prototype-style def'n. | |
398 | ||
399 | * eval.c (scm_lookupcar1): Make this static. | |
400 | ||
401 | * dynl.h (scm_registered_modules, scm_clear_registered_modules): | |
402 | Make these prototype declarations, not K&R-style. | |
403 | ||
404 | * chars.c (scm_tables_prehistory): Add cast, to remove signed/ | |
405 | unsigned comparison warning. | |
406 | ||
407 | * appinit.c: File removed. It had a single function in it, empty, | |
408 | whose reason for existence is explained in no documentation or | |
409 | comment. I think it's there as a default for some Tcl-style | |
410 | initialization, but Tcl abandoned that approach a while ago. | |
411 | * Makefile.am (libguile_la_SOURCES): Remove appinit.c. | |
412 | (BUILT_SOURCES): Remove appinit.x. | |
413 | * Makefile.in: Regenerated. | |
414 | ||
0dcbc17a JB |
415 | 1998-07-29 Jim Blandy <jimb@zwingli.cygnus.com> |
416 | ||
417 | * Makefile.in: Regenerated using the last public version of | |
418 | automake, not the hacked Cygnus version. | |
419 | ||
1f5ae2fd JB |
420 | 1998-07-28 Jim Blandy <jimb@zwingli.cygnus.com> |
421 | ||
422 | Remove Totoro kludge. | |
423 | * Makefile.in, scmconfig.h.in: Regenerated. | |
424 | * init.c, readline.c: Don't check if TOTORO is #defined. | |
425 | ||
e99cbcd6 JB |
426 | 1998-07-26 Jim Blandy <jimb@zwingli.cygnus.com> |
427 | ||
428 | * Makefile.am: Adjust for new thread configuration system. | |
429 | (INCLUDES): Include the value of THREAD_CPPFLAGS. | |
430 | (guile_LDADD, check_ldadd): THREAD_LIBS_LOCAL has been renamed from | |
431 | THREAD_LIBS. | |
432 | (THREAD_LIBS): Definition deleted; automake will generate such | |
433 | things automatically. | |
434 | * Makefile.in: Regenerated. | |
435 | ||
87148d9e JB |
436 | 1998-07-23 Jim Blandy <jimb@zwingli.cygnus.com> |
437 | ||
438 | Simplify smob and port marking; set the mark bit in the generic | |
439 | marking code, and make marker routines only responsible for | |
440 | turning up outgoing pointers. | |
441 | * gc.c (scm_gc_mark): Set the mark bit on ports and smobs here, | |
442 | before calling the marking function. Don't call the marking | |
443 | function if it's zero. | |
444 | * markers.c (scm_mark0): Just return #f. This function isn't | |
445 | necessary at all now, but it's harmless to call it. We'll leave | |
446 | it in so other folks' code doesn't croak at link time. | |
447 | (scm_markcdr): Don't call SCM_SETGC8MARK. | |
448 | * async.c (mark_async): Don't call SCM_SETGC8MARK. | |
449 | * dynl.c (mark_dynl_obj): Same. | |
450 | * root.c (mark_root): Same. | |
451 | * srcprop.c (marksrcprops): Same. | |
452 | * unif.c (markra): Same. | |
453 | * variable.c (scm_markvar): Same. | |
454 | * ports.c (scm_markstream): Same. | |
455 | (void_port_ptob): Specify zero for our marking function. | |
456 | * debug.c (debugobjsmob): Same. | |
457 | * dynwind.c (guardsmob): Same. | |
458 | * filesys.c (dir_smob): Same. | |
459 | * fluids.c (fluid_smob): Same. | |
460 | * fports.c (scm_fptob, scm_pipob): Same. | |
461 | * mallocs.c (mallocsmob): Same. | |
462 | * regex-posix.c (regex_t_smob): Same. | |
463 | * smob.c (freecell, flob, bigob): Same. | |
464 | * threads.c (thread_smob, mutex_smob, condvar_smob): Same. | |
465 | * throw.c (jbsmob, lazy_catch_funs): Same. | |
466 | ||
3910272e MD |
467 | 1998-07-17 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
468 | ||
469 | * eval.c (scm_copy_tree): Reverted last change: `eval' uses | |
470 | scm_copy_tree on code in order not to let memoized code to leak | |
471 | out. Thus, scm_copy_tree needs to copy vectors as well since | |
472 | quasiquote can introduce evaluated code also inside vector | |
473 | constants. | |
474 | ||
240ed1e5 MD |
475 | 1998-07-17 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
476 | ||
477 | * eval.c (scm_copy_tree): Removed ability to copy vectors. | |
478 | ||
479 | * gh_data.c, gh.h (gh_ints2scm, gh_longs2ivect, | |
480 | gh_ulongs2uvect): New procedures. (Complements gh_doubles2scm and | |
481 | gh_doubles2dvect.) | |
482 | ||
483 | * unif.c: Say that ivect and uvect are of type signed and unsigned | |
484 | long instead of int in commentary so that it correctly describes | |
485 | the implementation. | |
486 | ||
5ef81022 MD |
487 | 1998-07-12 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
488 | ||
489 | * stime.c: Removed declaration of strptime. (It should be | |
490 | declared by the system headers. If it turns out that some systems | |
491 | don't, we'll handle that then.) (Thanks to Greg Troxel.) | |
492 | ||
493 | * stime.h: Renamed TIMEH --> STIMEH | |
494 | ||
495 | * backtrace.c (scm_display_error, scm_display_backtrace): In order | |
496 | to increase portability, don't use structure assignment. | |
497 | (Thanks to Nicolas Neuss.) | |
498 | ||
499 | * iselect.c: Use LONG_MAX instead of ULONG_MAX for increased | |
500 | portability. | |
501 | (finalize_fd_sets): Added empty statement after last case label. | |
502 | (Thanks to Nicolas Neuss.) | |
503 | ||
504 | * gc.c (scm_igc): Changed //-comment into /*-comment. (Thanks to | |
505 | Nicolas Neuss.) | |
506 | ||
212d45b8 MD |
507 | Sat Jul 11 22:08:21 1998 Mikael Djurfeldt <mdj@totoro.red-bean.com> |
508 | ||
509 | * init.c, readline.c: OK, I won't have these readline.x bug | |
510 | reports anymore. We've had them since April. The current reason | |
511 | is a completely unintelligible failure of totoro.red-bean.com to | |
512 | do the test for rl_getc_function in libreadline correctly. This | |
513 | kludge overrides the test if we're on totoro so that the snapshot | |
514 | generation process can work. | |
515 | ||
516 | * readline.c: Define a strdup replacement if not existent on system. | |
517 | ||
43eeb5a6 MD |
518 | 1998-07-12 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
519 | ||
520 | * vectors.c, vectors.h (scm_make_vector): Removed third argument. | |
521 | This change makes scm_make_vector R5RS compatible. We cannot keep | |
522 | the third argument since people want to be able to deduce the form | |
523 | of the C function call only by looking at R5RS. (At the same time | |
524 | we have removed some unnecessary complexity!) | |
525 | ||
526 | * eval.c, filesys.c, fluids.c, gc.c, gh_data.c, init.c, kw.c, | |
527 | net_db.c, posix.c, print.c, regex-posix.c, scmsigs.c, socket.c, | |
528 | stime.c, symbols.c, unif.c, vectors.c, weaks.c: Removed third | |
529 | argument in call to scm_make_vector. | |
530 | ||
9d0b279f MD |
531 | 1998-07-02 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
532 | ||
533 | * numbers.h (SCM_NUM2DBL): New macro. Complements SCM_NUMBERP. | |
534 | This macro is useful in applications. | |
535 | ||
dbb25e7f MD |
536 | 1998-06-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
537 | ||
538 | * load.c (scm_internal_parse_path): Renamed from scm_parse_path. | |
539 | (scm_parse_path, scm_search_path): New Scheme level procedures. | |
540 | ||
541 | * load.h (scm_internal_parse_path, scm_parse_path, | |
542 | scm_search_path): Declared. | |
543 | ||
74d6650d MD |
544 | 1998-06-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
545 | ||
546 | * filesys.c (dirname, basename): New procedures. | |
547 | ||
548 | * init.c (scm_boot_guile_1): Removed condition around | |
549 | scm_init_options. | |
550 | ||
551 | * dynwind.c: #include "genio.h"; #include "smob.h"; Implemented a | |
552 | new data type (guards) for representation of C level guards and | |
553 | data on the wind chain. | |
554 | (scm_internal_dynamic_wind): New function. | |
555 | ||
556 | * dynwind.h: Declare scm_internal_dynamic_wind. | |
557 | ||
558 | * root.h (scm_root_state): Added scm_cur_loadp. | |
559 | ||
560 | * root.c (mark_root): Added comment about cur_loadp. | |
561 | ||
562 | * load.c: #include "dynwind.h"; | |
563 | (scm_primitive_load): Use scm_inner_dynamic_wind to update | |
564 | scm_cur_loadp. | |
565 | ||
566 | * init.c (scm_init_standard_ports): Initialize scm_def_loadp. | |
567 | ||
568 | * ports.c (current-load-port): New procedure. | |
569 | ||
391aebfc MD |
570 | 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
571 | ||
10ccfad7 MD |
572 | * ioext.c (scm_isatty_p): Accept any kind of data as argument. If |
573 | not a tty, return #f. | |
574 | ||
391aebfc MD |
575 | * regex-posix.c (scm_regexp_exec): Free malloced memory. (Thanks |
576 | to Julian Satchell and Roland Kaufmann.) | |
577 | ||
578 | * gh.h (gh_memv, gh_member): Fixed typos in macro definitions. | |
579 | (gh_write): Added declaration. (Thanks to Eiichi Takamori.) | |
580 | ||
6dabf6a9 MD |
581 | 1998-06-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se> |
582 | ||
583 | * debug.h, debug.c (scm_start_stack): New function. Implements | |
584 | the guts of old scm_m_start_stack. | |
585 | ||
586 | * debug.c (scm_m_start_stack): Use scm_start_stack. | |
587 | ||
588 | * init.c (scm_start_stack, scm_restart_stack): Renamed to | |
589 | start_stack and restart_stack. (These have static scope.) | |
590 | ||
daca2816 MD |
591 | 1998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
592 | ||
593 | * readline.c (rl_cleanup_after_signals, rl_free_line_state): New | |
594 | readline functions to come in release 2.3. (Thanks to Chet | |
595 | Ramey.) | |
596 | (handle_errors): Use the above functions. | |
597 | ||
be0ea988 MD |
598 | 1998-05-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
599 | ||
600 | * readline.c: Improvements for readline support: Handle errors | |
601 | better; Implement before-read-hook. | |
602 | ||
603 | 1998-05-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se> | |
604 | ||
605 | * init.c (scm_boot_guile_1), readline.c: Test for | |
606 | HAVE_RL_GETC_FUNCTION instead of HAVE_LIBREADLINE. (Need to | |
607 | assure that we have version >= 2.1.) | |
608 | ||
e158e4f4 MD |
609 | 1998-05-11 Mikael Djurfeldt <mdj@kenneth> |
610 | ||
83d1c666 JB |
611 | * readline.c (scm_readline): Defer interrupts while we're calling |
612 | readline. | |
613 | ||
e158e4f4 MD |
614 | * readline.c (scm_add_history): Bugfix: Do strdup before giving |
615 | away the string to add_history. | |
56600c45 MD |
616 | (completion_function): Do completion for readline. (Thanks to |
617 | Andrew Archibald.) | |
e158e4f4 MD |
618 | (scm_filename_completion_function): New procedure: Filename |
619 | completer. | |
620 | (current_input_getc): New function. Use this one instead of | |
621 | standard getc from readline. | |
622 | ||
623 | * throw.c, throw.h (scm_handle_by_throw): New function: This | |
624 | handler throws errors to next handler on the dynwind chain. | |
625 | ||
626 | 1998-05-09 Mikael Djurfeldt <mdj@kenneth> | |
627 | ||
628 | * scmsigs.c (scm_usleep): Bugfix: Don't define j if it isn't | |
629 | used. | |
630 | ||
8bb51def MD |
631 | 1998-05-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
632 | ||
633 | * procprop.c (scm_i_procedure_arity): New function. Returns arity | |
634 | of procedure. | |
635 | (scm_procedure_properties): Modified to return arity together with | |
636 | other properties. | |
637 | (scm_procedure_property): Added the read-only property `arity'. | |
638 | (scm_set_procedure_property_x): It is an error to set the `arity' | |
639 | property. | |
640 | ||
641 | * gsubr.h, gsubr.c: Moved macros from gsubr.c to gsubr.h and added | |
642 | prefix SCM_; Made f_gsubr_apply global and added prefix scm_. | |
643 | ||
644 | * procprop.h (scm_sym_arity): New symbol. | |
645 | ||
646 | * objects.c (scm_set_object_procedure_x): New procedure: Use this | |
647 | to set the dispatch procedure of an operator or entity object. | |
648 | ||
649 | * objects.h (SCM_METACLASS_OPERATOR_LAYOUT, SCM_ENTITY_LAYOUT): | |
650 | Made procedure slots read-only. | |
651 | ||
652 | * eval.c (SCM_CEVAL): Moved scm_tc7_contin case above | |
653 | scm_tcs_cons_gloc case in zero args switch; Fixed args | |
654 | construction for operators in scm_tcs_cons_gloc case in two args | |
655 | switch. | |
656 | ||
680ed4a8 MD |
657 | 1998-05-02 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
658 | ||
104d4533 MD |
659 | * fluids.c: Removed use of assert.h (in order to avoid |
660 | __eprintf). | |
661 | ||
662 | * Makefile.am (libguile_la_LDFLAGS): Added -export-dynamic. | |
663 | ||
664 | * dynl.c (maybe_drag_in_eprintf): Disabled through #ifdef 0. | |
665 | ||
680ed4a8 MD |
666 | * eval.c (SCM_CEVAL): Do more thorough argument checking. This |
667 | change makes the evaluator safer at the cost of evaluation speed. | |
668 | It handles the case when the user has added a non-immediate | |
669 | improper end of the application form, e.g., `(+ 0 . x)'. | |
670 | (Earlier only cases like `(+ 0 . 0)' were handled.) I've tried to | |
671 | minimize the extra cost as much as possible. The new code is | |
672 | enclosed in #ifdef CAUTIOUS regions. NOTE: This also fixes the | |
673 | problem with structs planted directly in the code (e.g. by a | |
674 | macro). This no longer causes segmentation fault. (Thanks to | |
675 | Eric Hanchrow.) | |
676 | ||
677 | * eval.c, eval.h (scm_eval_args, scm_deval_args): Take one extra | |
678 | arg `proc' in order to be able to throw errors; New argument | |
679 | checking code. | |
680 | ||
681 | * Removed extra #include "debug.h" | |
682 | ||
0935d604 MD |
683 | 1998-04-25 Mikael Djurfeldt <mdj@kenneth> |
684 | ||
685 | * scmsigs.c: Declare usleep as returning void on some systems. | |
2c36126d MD |
686 | (scm_usleep): Return SCM_INUM0 on those systems. (Thanks to Julian |
687 | Satchell.) | |
0935d604 MD |
688 | |
689 | * coop.c (usleep): Return void on some systems. | |
690 | ||
f1a5fa3c MD |
691 | 1998-04-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
692 | ||
693 | * Makefile.am (libguile_la_LDFLAGS): Removed redundant -rpath. | |
694 | ||
695 | * coop.c: Changed return type of usleep to int. | |
696 | ||
697 | * scmsigs.c (scm_usleep): New procedure; Declare usleep if it | |
698 | isn't found in the OS. | |
699 | ||
700 | * iselect.h: #define scm_internal_select select if GUILE_ISELECT | |
701 | isn't enabled. (Thought that I had made this change ages ago...) | |
702 | ||
703 | * iselect.c: Declare bzero if not defined by OS. | |
704 | ||
26c41b99 MD |
705 | 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
706 | ||
c3e09ef9 MD |
707 | * dynl.c (scm_must_free_argv): Fixed memory leak due to negated |
708 | condition. (Thanks to John Tobey.) | |
709 | ||
710 | * continuations.c (scm_make_cont), debug.c (scm_make_memoized, | |
711 | scm_make_debugobj), eval.c (scm_makprom): SCM_DEFER/ALLOW_INTS --> | |
712 | A section. | |
713 | ||
714 | * __scm.h: Start the long-term project of moving to POSIX threads. | |
715 | Phase 1: Classification of all critical sections. | |
716 | (SCM_ENTER_A_SECTION, SCM_EXIT_A_SECTION): New macros: Delimiters | |
717 | for A sections. (See comments in __scm.h for details.) | |
718 | ||
26c41b99 MD |
719 | * dynl.c: Only check that HAVE_DLOPEN is defined before loading |
720 | dynl-dl.c; Test on HAVE_LIBDLD instead of HAVE_DLD. | |
721 | ||
28795b1f MD |
722 | 1998-04-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
723 | ||
724 | * Makefile.am (BUILT_SOURCES): Added cpp_err_symbols.c, | |
725 | cpp_sig_symbols.c, libpath.h and versiondat.h to BUILT_SOURCES | |
726 | (libpath.h, versiondat.h): Replaced dependency on Makefile with | |
727 | dependencies on $(srcdir)/Makefile.in | |
728 | $(top_builddir)/config.status in order to avoid circularity. | |
729 | ||
730 | * script.c (scm_compile_shell_switches): Bugfix: Don't discount i | |
731 | from argc if argc was 0 initially. | |
732 | ||
733 | * Makefile.am (Makefile.am): Replaced THREAD_LIBS --> GUILE_LIBS | |
734 | in generation of libpath.h. | |
735 | ||
f2e5c92c MD |
736 | 1998-04-15 Mikael Djurfeldt <mdj@nada.kth.se> |
737 | ||
738 | * Makefile.am (libguile_la_LDFLAGS): Bumped version number of | |
739 | libguile from 2 to 3. | |
740 | ||
a3365d47 MD |
741 | 1998-04-14 Mikael Djurfeldt <mdj@nada.kth.se> |
742 | ||
743 | * Makefile.am: Added .x-dependencies to variable BUILT_SOURCES. | |
744 | ||
fc1d67c4 MD |
745 | 1998-04-13 Mikael Djurfeldt <mdj@kenneth> |
746 | ||
747 | * ports.c (scm_port_line, scm_set_port_line_x, scm_port_column, | |
748 | scm_set_port_column_x, scm_port_filename, | |
749 | scm_set_port_filename_x): Removed optional arguments. Added | |
750 | proper argument checking. | |
751 | ||
752 | * eval.c, eval.h, coop.c (scm_eval_stack, SCM_EVAL_STACK): Measure | |
753 | stack size in machine words. | |
754 | ||
755 | * unif.c (scm_uniform_vector_ref, scm_cvref, scm_array_set_x, | |
756 | rapr1): Use SCM_UCHARS instead of SCM_CHARS for strings. (Thanks | |
757 |