*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
1 2001-03-27 Marius Vollmer <mvo@zagadka.ping.de>
2
3 * values.h (scm_values_vtable, SCM_VALUESP): Moved here so that
4 eval.c can use it.
5 (scm_call_with_values): Removed.
6 * values.c (values_vtable, scm_values_vtable): Added "scm_" prefix
7 so that it can be exported.
8 (scm_call_with_values): Removed.
9
10 * tags.h (SCM_IM_CALL_WITH_VALUES): New isym.
11 * eval.c: Include "libguile/values.h"
12 (scm_m_at_call_with_values, scm_sym_at_call_with_values):
13 New.
14 (unmemocopy, scm_ceval, scm_deval): Handle new isym.
15 * eval.h (scm_sym_at_call_with_values, scm_m_at_call_with_values):
16 New delcarations to support above change.
17
18 * eval.c (scm_primitive_eval_x, scm_primitive_eval): Fix syntax
19 errors with last change.
20
21 2001-03-25 Marius Vollmer <mvo@zagadka.ping.de>
22
23 * eval.c (scm_primitive_eval_x, scm_primitive_eval, scm_i_eval_x,
24 scm_i_eval): Moved the application of the system transformer from
25 scm_i_eval to scm_primitive_eval.
26
27 2001-03-23 Neil Jerram <neil@ossau.uklinux.net>
28
29 * guile-snarf.awk.in: Substitute "\\" with "\" in .doc output.
30
31 * strop.c (scm_string_index): Fix docstring line break
32 regression.
33
34 * list.c (scm_cons_star): Fix docstring typo.
35
36 2001-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
37
38 * gc.c (scm_init_storage), gdbint.c (scm_init_gdbint), numbers.c
39 (big2str), ports.c (scm_drain_input), read.c (scm_read,
40 scm_grow_tok_buf), strings.c (scm_string, scm_makfromstr,
41 scm_make_string, scm_string_append), strports.c (st_resize_port,
42 scm_object_to_string), unif.c (scm_make_uve): Replace calls to
43 scm_makstr with calls to scm_allocate_string.
44
45 * strings.[ch] (scm_allocate_string): New function.
46
47 * strings.[ch] (scm_makstr): Deprecated.
48
49 2001-03-18 Gary Houston <ghouston@arglist.com>
50
51 * posix.c (scm_tmpnam): check that return value from tmpnam is not
52 NULL. rewrote the docstring.
53 (scm_mkstemp): new procedure implementing "mkstemp!".
54 * posix.h: declare scm_mkstemp.
55
56 * net_db.c: declare h_errno if configure didn't define HAVE_H_ERRNO.
57 normally it would be found in netdb.h.
58
59 2001-03-17 Gary Houston <ghouston@arglist.com>
60
61 * sort.c (scm_sort): move sortvec variable to avoid a compiler
62 warning when HAVE_ARRAYS is not defined. move len too.
63
64 * Makefile.am (DOT_X_FILES): remove net_db.x, posix.x, socket.x.
65 (EXTRA_DOT_X_FILES): let configure set the value.
66 (DOT_DOC_FILES): remove net_db.doc, posix.doc, socket.doc.
67
68 * gc.c (scm_must_malloc): changed the comment explaining when
69 scm_must variants of malloc/free etc., should be used, based on
70 explanation from Dirk Herrmann.
71 * fports.c (scm_fport_buffer_add): use FUNC_NAME instead of a local
72 string with procedure name. use scm_must_malloc instead of malloc.
73 (scm_setvbuf, scm_fdes_to_port, fport_close): use scm_must variants
74 of malloc/free.
75 * ports.c (scm_add_to_port_table, scm_remove_from_port_table,
76 scm_ungetc): use scm_must variants of malloc/realloc/free.
77 (scm_add_to_port_table, scm_ungetc): define FUNC_NAME.
78
79 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
80
81 * __scm.h (SCM_ASSERT, SCM_WTA_DISPATCH_0, SCM_WTA_DISPATCH_1,
82 SCM_WTA_DISPATCH_2, SCM_WTA_DISPATCH_n): Don't call scm_wta, call
83 scm_wrong_type_arg instead.
84
85 (SCM_WNA): Deprecated.
86
87 * error.[ch] (scm_wta): Deprecated.
88
89 * numbers.c (s_i_log): Minor comment fix.
90
91 * read.c (scm_lreadr), unif.c (scm_aind, scm_shap2ra,
92 scm_make_shared_array, scm_transpose_array, scm_enclose_array,
93 scm_array_in_bounds_p): Don't use SCM_ASSERT to check for
94 wrong-num-args or misc errors.
95
96 * unif.c (scm_make_shared_array, scm_transpose_array,
97 scm_enclose_array, scm_array_in_bounds_p, scm_array_set_x):
98 Validate the rest argument (note: this is only done when guile is
99 built with SCM_DEBUG_REST_ARGUMENT=1)
100
101 (scm_array_in_bounds_p, scm_uniform_vector_ref, scm_array_set_x):
102 Replace calls to scm_wrong_num_args by SCM_WRONG_NUM_ARGS.
103
104 * validate.h (SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
105 SCM_VALIDATE_NUMBER_DEF_COPY): Deprecated.
106
107 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
108
109 * validate.h (SCM_WRONG_NUM_ARGS): Call scm_error_num_args_subr
110 instead of scm_wrong_num_args.
111
112 * coop-threads.c: Don't include libguile/strings.h. (Was only
113 needed for former implementation of SCM_WRONG_NUM_ARGS.)
114
115 * debug.c (scm_m_start_stack): Don't use SCM_ASSERT to check for
116 wrong-num-args errors.
117
118 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
119
120 * error.[ch] (scm_error_num_args_subr): New function.
121
122 2001-03-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
123
124 * list.c (scm_list, scm_cons_star, scm_null_p, scm_list_p),
125 (scm_length, scm_append, scm_reverse, scm_list_ref),
126 (scm_memq, scm_memv, scm_member, scm_delv_x, scm_delete_x),
127 (scm_delq, scm_delv, scm_delete, scm_delq1_x, scm_delv1_x),
128 (scm_delete1_x), gc.c (scm_map_free_list),
129 (scm_free_list_length), hash.c (scm_hashq, scm_hashv),
130 (scm_hash), hashtab.c (scm_hashq_ref, scm_hashq_set_x),
131 (scm_hashq_remove_x, scm_hashv_ref, scm_hashv_set_x),
132 (scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x),
133 (scm_hash_remove_x), ports.c (scm_pt_size, scm_pt_member), print.c
134 (scm_current_pstate), scmsigs.c (scm_usleep), goops.c
135 (scm_get_keyword, scm_sys_compute_slots): Added texinfo markup.
136
137 * weaks.c (scm_weak_vector_p, scm_weak_key_hash_table_p),
138 (scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
139 rdelim.c (scm_read_delimited_x), strop.c (scm_string_index),
140 symbols.c (scm_symbol_interned_p), numbers.c
141 (scm_string_to_number), ports.c (scm_port_p): Corrected texinfo
142 markup.
143
144 2001-03-16 Keisuke Nishida <kxn30@po.cwru.edu>
145
146 * snarf.h (SCM_CONST_LONG): Deprecated.
147 * tag.c (CONST_INUM): New macro. Use it to define scm_utag_*.
148
149 2001-03-15 Marius Vollmer <marius.vollmer@uni-dortmund.de>
150
151 * numbers.c (scm_num2ulong): Check that a bignum is positive
152 before looking at the magnitude. Correctly check for overflow
153 during conversion.
154 (scm_num2long_long): Likewise.
155 (scm_num2ulong_long): New.
156 (ULONG_LONG_MAX): Define if not already defined.
157 * numbers.h: (scm_num2ulong_long): New prototype.
158
159 2001-03-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
160
161 * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro.
162
163 * strports.h (SCM_STRPORTP, SCM_OPSTRPORTP, SCM_OPINSTRPORTP),
164 (SCM_OPOUTSTRPORTP): New predicate macros.
165 (scm_open_input_string, scm_open_output_string),
166 (scm_get_output_string): New prototypes.
167
168 * strports.c (scm_open_input_string, scm_open_output_string),
169 (scm_get_output_string): New procedures (SRFI-6 compliant).
170 Made scm_tc16_strport non-static.
171
172 2001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
173
174 * macros.h (SCM_ASSYNT): Removed unused object argument from
175 signature.
176
177 * eval.c (scm_m_body, scm_m_quote, scm_m_begin, scm_m_if,
178 scm_m_set_x, scm_m_and, scm_m_or, scm_m_case, scm_m_cond,
179 scm_m_letstar, scm_m_do, scm_m_quasiquote, scm_m_delay,
180 scm_m_define, scm_m_letrec1, scm_m_letrec, scm_m_let, scm_m_apply,
181 scm_m_cont, scm_m_nil_cond, scm_m_nil_ify, scm_m_t_ify,
182 scm_m_0_cond, scm_m_0_ify, scm_m_1_ify, scm_m_atfop, scm_m_atbind,
183 scm_m_expand_body), evalext.c (scm_m_generalized_set_x,
184 scm_m_undefine), goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
185 scm_m_atdispatch): Removed unused object argument from call to
186 SCM_ASSYNT.
187
188 2001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
189
190 * gh.h/gh_data.c (gh_ints2scm): Changed the signature to use a
191 const int* to reflect that the input array of integers remains
192 unchanged. Thanks to Brett Viren for the hint.
193
194 2001-03-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
195
196 * gh_data.c (gh_scm2chars, gh_scm2shorts, gh_scm2longs),
197 (gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
198 in various places.
199 (gh_scm2newstr, gh_symbol2newstr): Change call to
200 scm_must_malloc() to malloc(), because user-free()able memory is
201 allocated.
202
203 * gc.c: Added declaration of `scm_debug_check_freelist'.
204
205 2001-03-13 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
206
207 * ports.c (scm_port_mode): Changed `mode' array size to 4.
208
209 2001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
210
211 * strports.c (scm_object_to_string): New procedure.
212 (scm_strprint_obj): Deprecated.
213 * strports.h: Reflect the changes.
214
215 2001-03-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
216
217 * goops.h (SCM_VALIDATE_PUREGENERIC): New macro.
218
219 * goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
220 scm_m_atdispatch): Provide definitions for FUNC_NAME. Don't use
221 SCM_ASSYNT to check for correct argument types. Either use some
222 SCM_VALIDATE_* macro or an explicit test.
223
224 (scm_make_foreign_object): Don't use SCM_ASSERT to check for
225 misc-errors.
226
227 * macros.h (SCM_ASSYNT): On assertion failure, issue a misc-error
228 instead of calling scm_wta.
229
230 2001-03-12 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
231
232 * load.c (scm_primitive_load, scm_primitive_load_path),
233 (scm_sys_search_load_path): Corrected docstrings (file ->
234 filename).
235
236 * eval.c (scm_force): Added texinfo markup to docstring.
237 (scm_promise_p): Renamed parameter to `obj' to match docstring.
238
239 * debug-malloc.c: Reinserted #include <stdio.h>.
240
241 2001-03-11 Keisuke Nishida <kxn30@po.cwru.edu>
242
243 * list.c (s_scm_reverse_x): Use SCM_VALIDATE_LIST.
244
245 * environments.c, error.c, eval.c, filesys.c, hashtab.c, load.c,
246 net_db.c, procprop.c, read.c, scmsigs.c, socket.c, struct.c:
247 Use SCM_LISTn instead of scm_listify.
248
249 2001-03-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
250
251 * _scm.h: Removed #include <errno.h>.
252
253 * error.c, net_db.c, putenv.c, stime.c: Removed declaration of
254 errno variable (can be a macro on some systems, for example when
255 using linux libc with threads).
256
257 * error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
258 posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
259 socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
260 #include <errno.h> in these 20 out of 100 files.
261
262 2001-03-10 Gary Houston <ghouston@arglist.com>
263
264 * socket.c: add a definition of SUN_LEN (from glibc) for when it's
265 not already defined.
266
267 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
268
269 * coop.c: Inserted #include <stdio.h>.
270
271 * iselect.c: Reinserted #include <stdio.h>.
272
273 2001-03-10 Marius Vollmer <mvo@zagadka.ping.de>
274
275 * posix.c: Replaced `#define' of __USE_XOPEN right before
276 including unistd.h with a define of _GNU_SOURCE at the very top of
277 the file.
278
279 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
280
281 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
282 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
283 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
284 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
285 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
286 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
287 print.c, procprop.c, procs.c, properties.c, ramap.c,
288 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
289 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
290 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
291 Remove #include <stdio.h>
292 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
293
294 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
295
296 2001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
297
298 * posix.c (scm_gethostname): Set initial name length to 256 for
299 Solaris.
300
301 2001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
302
303 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
304 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
305 (scm_sethostname, scm_gethostname): New prototypes.
306
307 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
308 <sys/file.h>, if present.
309 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
310 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
311 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
312 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
313 (scm_sethostname, scm_gethostname): New procedures.
314
315 2001-03-08 Neil Jerram <neil@ossau.uklinux.net>
316
317 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
318 not optional (ii) "recommend" spelling correction.
319
320 2001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
321
322 * ramap.c (racp): Removed optimization which caused array copying
323 to fail if the two arrays shared storage. Re-inserted the IVDEP
324 macros removed in the change of 2000-03-09. (Don't really have a
325 complete grasp of what they are for, but they seem to be necessary
326 on Crays. This needs testing!) Thanks to Miroslav Silovic.
327
328 * hash.c (scm_string_hash): Don't downcase characters.
329
330 2001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
331
332 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
333 size from 277 --> 1009.
334
335 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
336 function.
337
338 * coop-threads.c: Fixed change of 2001-03-06.
339
340 * validate.h: Code formatting.
341
342 2001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
343
344 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
345 (*.doc): Add dependency on guile-snarf.awk.in.
346
347 * guile-snarf.awk.in: Neglect spaces at the end of
348 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
349 middle of docstrings. (To avoid the problem with gcc-2.96.)
350
351 2001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
352
353 * coop-threads.c (scm_call_with_new_thread), load.c
354 (scm_primitive_load, scm_sys_search_load_path), random.c
355 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
356 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
357 (potentially) issue a scm-misc-error or wrong-num-args error
358 message.
359
360 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
361 about the expected type with the wrong-type-arg error message.
362
363 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
364 a C level bug that can't be fixed from scheme anyway.
365
366 2001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
367
368 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
369 Duplicate bindings are OK in a let* since a let* is semantically
370 equivalent to a nested set of let:s.
371
372 2001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
373
374 * print.c (scm_print_options): Fixed texinfo in docstring.
375
376 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
377 the underlying functions getservent, getprotoent or getnetent
378 return NULL instead of signalling an error.
379
380 2001-03-04 Gary Houston <ghouston@arglist.com>
381
382 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
383 taking an unexpectedly large filename for an AF_UNIX socket from
384 bind/connect/sendto (thanks to Martin Grabmueller).
385
386 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
387 former and adjusted the latter.
388 (scm_socket, scm_socketpair): cosmetic changes.
389 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
390 size_t as socklen_t substitute. don't restrict args/return values
391 to INUM: allow full range of int or size_t.
392 (scm_fill_sockaddr): check arguments before allocating memory, to
393 avoid leakage. use malloc, not scm_must_malloc.
394 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
395 substitute. free the sockaddr structure before throwing an error.
396 (scm_init_add_buffer): procedure removed, together with its static
397 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
398 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
399 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
400 scm_sendto): use a local buffer instead of scm_addr_buffer.
401 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
402 not size_t.
403 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
404 call to detect whether recvfrom could be bothered to set the address.
405 (scm_init_socket): don't call scm_init_addr_buffer.
406
407 2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
408
409 * debug.c (scm_procedure_source, scm_procedure_environment),
410 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
411 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
412 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
413 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
414 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
415 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
416 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
417 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
418 scm_array_to_list, scm_array_prototype), validate.h
419 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
420 scm_misc_error or scm_wrong_type_arg instead.
421
422 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
423
424 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
425
426 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
427 (scm_sys_tag_body): Added.
428
429 2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
430
431 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
432 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
433 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
434 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
435 options.c (scm_options), ports.c (scm_remove_from_port_table),
436 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
437 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
438 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
439 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
440 instead.
441
442 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
443
444 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
445
446 2001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
447
448 * eval.c (scm_s_duplicate_bindings): New error message.
449 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
450
451 2001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
452
453 * eval.h (SCM_EVALIM2): New macro. Use it when a
454 immediate, literal constant should be evaluated.
455 * eval.c (scm_s_duplicate_formals): New error message string.
456 (scm_c_improper_memq): New function.
457 (scm_m_lambda): Check for duplicate arguments.
458 (scm_ceval, scm_deval): When executing a body: only cons a new
459 toplevel environment frame when it is different from the
460 existing one; use EVALCAR instead of SIDEVAL so that we can properly
461 check for empty combinations; use SCM_EVALIM2 for the same reason
462 in the non-toplevel loop.
463 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
464 New labels with the meaning of their non-"nontoplevel" partners,
465 but they are used when it is known that the body is not evaluated at
466 top-level.
467 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
468 reporting for empty combinations.
469
470 2001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
471
472 * Remove dump facilities.
473 * dump.c, dump.h: Removed.
474 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
475 * init.c: Remove #include "libguile/dump.h".
476 (scm_init_guile_1): Remove scm_init_dump.
477 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
478 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
479 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
480 (scm_set_smob_dump, scm_set_smob_undump): Removed.
481
482 * keywords.c: Remove #include "libguile/dump.h".
483 (keyword_dump, keyword_undump): Removed.
484 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
485
486 2001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
487
488 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
489 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
490 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
491 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
492 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
493 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
494 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
495 to @code{} as the texinfo manual recommends, converted the
496 examples to use a @lisp{}-environment.
497
498 * strports.c (scm_eval_string): Cleaned up the docstring.
499
500 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
501 markup.
502
503 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
504 (scm_number_to_string, scm_string_to_number, scm_number_p)
505 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
506 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
507 (scm_ash): Added texinfo markup and removed obsolete @refill.
508 (scm_gr_p): Corrected comment.
509 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
510 docstring) comments.
511 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
512 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
513 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
514 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
515 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
516 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
517 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
518 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
519
520 2001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
521
522 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
523 (Obviously nobody compiles with SCM_RECKLESS defined...)
524
525 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
526
527 2001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
528
529 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
530
531 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
532
533 2001-02-24 Neil Jerram <neil@ossau.uklinux.net>
534
535 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
536 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
537 since use of `z' suggests that the arguments may be complex.
538
539 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
540 typos.
541
542 2001-02-23 Neil Jerram <neil@ossau.uklinux.net>
543
544 * dump.c (scm_binary_write, scm_binary_read), eval.c
545 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
546 scm_guardian_greedy_p, scm_make_guardian), fports.c
547 (scm_file_port_p): Minor docstring fixes.
548
549 2001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
550
551 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
552
553 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
554 scm_i_eval.
555 (make_class_from_template): Do not bother to set the current
556 module around the call to DEFVAR, scm_eval takes care of that.
557 (scm_init_goops): Make scm_module_goops and
558 scm_goops_lookup_closure permanent objects.
559
560 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
561 top level, create a fresh top-level environment for each
562 expression instead of mutating the exisint frame. This is
563 important when that frame is closed over.
564
565 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
566 SCM_DIGSPERLONG instead of DIGSPERLONG.
567
568 2001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
569
570 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
571 before applying arrow procedure in `cond' and before applying
572 receiver procedure in call-with-current-continuation.
573 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
574 macro. The argument is expanded more than one time.
575
576 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
577 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
578
579 2001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
580
581 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
582 notice and license.
583
584 2001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
585
586 * variable.c (scm_make_variable, scm_make_undefined_variable)
587 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
588 (scm_variable_bound_p), values.c (scm_values)
589 (scm_call_with_values), unif.c (scm_bit_count)
590 (scm_bit_set_star_x), symbols.c (scm_gentemp)
591 (scm_gensym), strings.c (scm_string_p, scm_make_string)
592 (scm_read_only_string_p, scm_string_length, scm_string_ref)
593 (scm_string_set_x, scm_substring, scm_string_append), stime.c
594 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
595 (scm_copy_random_state, scm_random), print.c (scm_newline)
596 (scm_write_char, scm_simple_format), debug-malloc.c
597 (scm_malloc_stats), environments.c (scm_environment_p)
598 (scm_environment_bound_p, scm_environment_ref)
599 (scm_environment_fold, scm_environment_define)
600 (scm_environment_undefine, scm_environment_set_x)
601 (scm_environment_cell, scm_environment_observe)
602 (scm_environment_observe_weak, scm_environment_unobserve)
603 (scm_make_eval_environment, scm_eval_environment_p)
604 (scm_eval_environment_set_local_x, scm_eval_environment_local)
605 (scm_eval_environment_imported)
606 (scm_eval_environment_set_imported_x, scm_make_import_environment)
607 (scm_import_environment_p, scm_import_environment_imports)
608 (scm_import_environment_set_imports_x, scm_make_export_environment)
609 (scm_export_environment_p, scm_export_environment_private)
610 (scm_export_environment_set_private_x)
611 (scm_export_environment_signature)
612 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
613 Added texinfo markup.
614
615 * ports.c (scm_drain_input): Lowercased argument to @var.
616 (scm_current_input_port, scm_current_output_port): Filled in
617 missing explanation.
618 (scm_current_load_port, scm_set_current_output_port)
619 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
620 Added texinfo markup.
621
622 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
623 (scm_release_arbiter): Added texinfo markup to docstrings.
624 Changed `Returns' to `Return'.
625 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
626
627 2001-02-16 Neil Jerram <neil@ossau.uklinux.net>
628
629 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
630 by doubling them to `@@'.
631
632 2001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
633
634 * numbers.c (scm_lognot), random.c (scm_random,
635 scm_random_normal, scm_random_solid_sphere_x,
636 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
637 scm_random_exp), dynwind.c
638 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
639
640 * goops.c (scm_sys_initialize_object, scm_instance_p,
641 scm_class_name, scm_class_precedence_list, scm_class_slots,
642 scm_class_environment, scm_generic_function_name,
643 scm_generic_function_methods, scm_method_generic_function,
644 scm_method_specializers, scm_method_procedure, scm_make_unbound,
645 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
646 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
647 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
648 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
649 scm_class_direct_supers, scm_class_direct_slots,
650 scm_class_direct_subclasses, scm_class_direct_methods,
651 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
652 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
653 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
654 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
655 scm_memoized_environment, scm_procedure_name,
656 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
657 objects.c
658 (scm_class_of, scm_entity_p, scm_operator_p,
659 scm_set_object_procedure_x, scm_object_procedure,
660 scm_make_class_object), hooks.c (scm_make_hook_with_name,
661 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
662 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
663 scm_hook_to_list), lang.c
664 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
665 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
666 (scm_print_options, scm_port_with_print_state,
667 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
668 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
669 scm_make_procedure_with_setter, scm_procedure), throw.c
670 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
671 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
672 scm_stack_ref, scm_stack_length, scm_frame_p,
673 scm_last_stack_frame, scm_frame_number, scm_frame_source,
674 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
675 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
676 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
677 (scm_dirname, scm_basename), dynwind.c
678 (scm_wind_chain), read.c (scm_read_options, scm_read,
679 scm_read_hash_extend), gc.c
680 (scm_unhash_name), eval.c (scm_eval_options_interface,
681 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
682 (scm_display_error, scm_set_print_params_x,
683 scm_display_application, scm_display_backtrace, scm_backtrace),
684 async.c (scm_async, scm_system_async, scm_async_mark,
685 scm_system_async_mark, scm_run_asyncs, scm_noop,
686 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
687 scm_mask_signals): Added docstrings.
688
689 2001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
690
691 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
692 address of car/cdr. (Thanks to Dirk Herrmann)
693 Use scm_sizet to obtain the length of strings.
694 (Thanks to Matthias Koeppe)
695
696 2001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
697
698 * symbols.c (scm_mem2symbol): Put a empty statement after the
699 next_symbol label. This is mandated by ANSI, appearantly.
700
701 2001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
702
703 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
704 sense to compile for a specific kernel version. Do not include
705 <asm/signal.h> while defining __KERNEL__. This hack should no
706 longer be needed and caused problems.
707
708 2001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
709
710 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
711 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
712 can not deal with immediates.
713
714 2001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
715
716 * list.c (scm_list_copy): Validate the first argument.
717
718 2001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
719
720 Fix evaluator so that top-level expressions are correctly
721 evaluated with respect to the module system.
722
723 * modules.h. modules.c (scm_current_module_lookup_closure): New
724 function.
725
726 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
727 prototypes.
728 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
729 names to better reflect their meaning.
730
731 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
732 evaluated at top-level and synronize lookup closure before
733 executing every subform.
734 (scm_primitve_eval_x, scm_primitive_eval): New functions.
735 (scm_eval_x, scm_eval): Reimplement in terms of
736 scm_primitive_eval_x and scm_primitive_eval, respectively.
737
738 2001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
739
740 * macros.c (scm_macro_name, scm_macro_transformer): Use
741 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
742 Thanks!
743
744 2001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
745
746 * dump.c (scm_store_bytes): Store data size before data.
747 (scm_restore_bytes): Restore data size. Takes a pointer to size.
748 * dump.h (scm_restore_bytes): Updated.
749
750 2001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
751
752 * dump.c: Use double cells for update schedule.
753
754 2001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
755
756 * ports.c (scm_unread_char): Take an optional argument.
757
758 2001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
759
760 * modules.h (scm_selected_module, scm_current_module): Renamed
761 scm_selected_module to scm_current_module to synchronize Scheme
762 and C names.
763 (scm_select_module, scm_set_current_module): Likewise. Changed
764 all uses.
765
766 * ports.c (scm_port_for_each): Make a snapshot of the port table
767 before iterating over it. The table might change while the user
768 code is running. With the snapshot, the user can depend on the
769 fact that each port that existed at the start of the iteration is
770 encountered exactly once. (ice-9 popen) depends on this.
771
772 2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
773
774 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
775
776 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
777 range checking for the size parameter. Thanks to Martin
778 Grabmueller for the hint.
779
780 (scm_makstr): Reordered string initialization to make interrupt
781 deferring unnecessary.
782
783 * vectors.c (scm_make_vector): Fixed range checking.
784
785 2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
786
787 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
788
789 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
790 checking of the size parameter for type correctness and valid
791 range. Thanks to Rob Browning for reporting the problem. Instead
792 of deferring interrupts, scm_remember_upto_here_1 is used.
793
794 2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
795
796 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
797 (scm_dump_cell_update): Removed.
798 (scm_dump_update): Renamed from scm_dump_object_update.
799 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
800 a pointer instead of returning a value.
801 * keywords.c (keyword_undump): Updated.
802
803 2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
804
805 * dump.c, dump.h: Modified a lot.
806 (SCM_DUMP_COOKIE): Version 0.1
807 (scm_dump_mark): Removed.
808 (scm_restore_cell_object, scm_store_cell_object): New functions.
809
810 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
811 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
812 New slots: dump, undump.
813 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
814 Updated.
815
816 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
817 (keyword_undump): Renamed from keyword_alloc.
818 (scm_init_keywords): Set keyword_dump and keyword_undump.
819
820 2001-02-03 Michael Livshin <mlivshin@bigfoot.com>
821
822 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
823 the deprecated SCM_DOUBLE_CELLP.
824
825 * tags.h (SCM_DOUBLE_CELLP): deprecated.
826
827 2001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
828
829 * dump.c, dump.h: New files.
830 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
831 * init.c: #include "libguile/dump.h".
832 (scm_init_guile_1): Call scm_init_dump.
833 * smob.h (scm_smob_descriptor): New slots: dump_mark,
834 dump_dealloc, dump_store, undump_alloc, undump_restore,
835 undump_init.
836 * smob.c (scm_make_smob_type): Init the new slots.
837 (scm_set_smob_dump, scm_set_smob_undump): New functions.
838 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
839
840 * keywords.c: #include "libguile/dump.h".
841 (keyword_dealloc, keyword_alloc): New functions.
842 (scm_init_keywords): Set smob_dump and smob_undump.
843
844 2001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
845
846 * vectors.c (scm_c_make_vector): New function.
847 * vectors.h (scm_c_make_vector): Declared.
848 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
849 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
850 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
851 (scm_make_method_cache, scm_i_vector2list,
852 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
853 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
854 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
855 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
856 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
857 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
858 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
859 (scm_vector, scm_make_vector): Use scm_c_make_vector.
860
861 * hashtab.c (scm_c_make_hash_table): New function.
862 * hashtab.h (scm_c_make_hash_table): Declared.
863 * environments.c (scm_make_leaf_environment,
864 scm_make_eval_environment), gc.c (scm_init_storage),
865 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
866 Use scm_c_make_hash_table.
867
868 2001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
869
870 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
871
872 2001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
873
874 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
875 end of docstring.
876
877 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
878 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
879 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
880 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
881 srcprop.c (scm_source_properties, scm_set_source_properties_x,
882 scm_source_property, scm_set_source_property_x), sort.c
883 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
884 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
885 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
886 docstrings.
887
888 2001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
889
890 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
891 really get that arg.
892
893 2001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
894
895 * goops.c (s_scm_get_keyword): Bug fix.
896
897 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
898
899 The following patch was sent by Martin Grabmueller. It makes sure
900 that in case of parameter errors the correct function name is
901 shown, and that parameter types are only checked once.
902
903 * strop.c (string_copy, string_upcase_x, string_downcase_x,
904 string_capitalize_x): New functions. Each one performs the core
905 functionality of the corresponding scm_* function.
906
907 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
908 scm_string_downcase_x, scm_string_downcase,
909 scm_string_capitalize_x, scm_string_capitalize): Reduced to
910 parameter checking wrappers of the above functions.
911
912 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
913
914 * continuations.c, dynl.c, keywords.c, load.c: Include
915 strings.h. Thanks to Bill Schottstaedt for the bug report.
916
917 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
918
919 * backtrace.c (display_header): Make sure that line and column
920 information is shown independent of whether the port the code was
921 read from had an associated filename. Thanks to Martin
922 Grabmueller for providing this patch.
923
924 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
925
926 * fports.[ch] (scm_file_port_p): New primitive.
927
928 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
929
930 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
931 These are now defined in fports.c, strports.c and vports.c.
932
933 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
934 vports.c (scm_tc16_sfport): Made variables (were macros defined in
935 tags.h).
936
937 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
938 (scm_make_sfptob): Made static. These return a type code now.
939
940 fports.c (scm_init_fports), strports.c (scm_init_strports),
941 vports.c (scm_init_vports): Create the corresponding port types.
942
943 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
944 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
945
946 * init.c (scm_init_guile_1): Make sure strports are initialized
947 before gdbint.
948
949 * ports.[ch] (scm_make_port_type): Changed the return type to
950 scm_bits_t.
951
952 * ports.c (scm_ports_prehistory): Don't create any port types
953 here.
954
955 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
956 against scm_tc16_fport directly.
957
958 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
959
960 * srcprop.c (scm_set_source_property_x): Fix to handle
961 (set-source-property! <obj> 'copy <datum>) correctly.
962
963 2001-01-24 Gary Houston <ghouston@arglist.com>
964
965 * filesys.c (scm_link): docstring fix.
966 * fports.h (scm_setfileno): obsolete declaration removed.
967 * posix.c: bogus popen declaration removed.
968
969 * rdelim.c: new file, split from ioext.c.
970 * rdelim.h: new file, split from ioext.h
971 * Makefile.am: add rdelim.c and related files.
972 * init.c: call scm_init_rdelim. include rdelim.h.
973
974 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
975
976 This patch was sent by Martin Grabmueller and makes sure that
977 parameter errors are reported correctly by the lexicographic
978 ordering predicates.
979
980 * strorder.c (string_less_p, string_ci_less_p): New functions.
981
982 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
983 functionality into string_less_p, string_ci_less_p respectively.
984 The remaining code is just a wrapper to do the parameter
985 checking.
986
987 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
988 parameters and call string_less_p instead of scm_string_less_p.
989
990 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
991 Check the parameters and call string_less_ci_p instead of
992 scm_string_ci_less_p.
993
994 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
995
996 This patch modifies scm_display_error to perform parameter
997 checking. Thanks to Neil Jerram for the bug report.
998
999 * backtrace.[ch] (scm_i_display_error): New function.
1000
1001 * backtrace.c (scm_display_error): Added parameter check and
1002 extracted the core functionality into function
1003 scm_i_display_error.
1004
1005 * throw.c (handler_message): Call scm_i_display_error to display
1006 the error message.
1007
1008 2001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
1009
1010 * eval.c (SCM_APPLY): Added # args check for application of
1011 procedures with arity 3. (Thanks to Anders Holst.)
1012
1013 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1014
1015 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
1016
1017 (SCM_OPDIRP): Deprecated.
1018
1019 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
1020 SCM_OPN.
1021
1022 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
1023 Instead, give an explicit error message in case the directory is
1024 closed.
1025
1026 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
1027 instead of SCM_OPENP and SCM_CLOSEDP.
1028
1029 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
1030
1031 2001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
1032
1033 * eval.c (inner_eval, scm_eval): Move all real functionality into
1034 inner_eval. Avoid to copy the expression twice by inlining some
1035 code from scm_i_eval.
1036
1037 2001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
1038
1039 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
1040 now has to be the last clause, as required by R5RS. Thanks to
1041 Martin Grabmueller for the patch.
1042
1043 2001-01-18 Gary Houston <ghouston@arglist.com>
1044
1045 * ioext.c: further simplify scm_read_string_x_partial by defining
1046 a macro SCM_EBLOCK.
1047
1048 2001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
1049
1050 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
1051
1052 2001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
1053
1054 * __scm.h: Added comment about architecture and compiler
1055 properties that are required by guile.
1056
1057 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
1058 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
1059
1060 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
1061
1062 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
1063
1064 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
1065 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
1066
1067 2001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
1068
1069 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
1070 to the names in limits.h.
1071
1072 * numbers.c (abs_most_negative_fixnum): Added.
1073
1074 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
1075 fixnum-min) special case.
1076
1077 (scm_big_and): Fix for negative first parameter.
1078
1079 (scm_bit_extract): Fix for fixnum paramters.
1080 Thanks to Rob Browning for the bug report.
1081
1082 (scm_init_numbers): Initialize abs_most_negative_fixnum.
1083
1084 2001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
1085
1086 * symbols.c (scm_symbol_bound_p): Fixed comment.
1087 Thanks to Chris Cramer.
1088
1089 2001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
1090
1091 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
1092 Thanks to Bill Schottstaedt.
1093
1094 2001-01-11 Michael Livshin <mlivshin@bigfoot.com>
1095
1096 from Matthias Köppe:
1097
1098 * objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
1099 casts its result, so doesn't yield an lvalue per ANSI C.
1100
1101 * goops.c (s_scm_sys_set_object_setter_x): use
1102 SCM_SET_ENTITY_SETTER.
1103 (clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.
1104
1105 * gc.h (SCM_GC_SET_CARD_BVEC): new macro. SCM_GC_CARD_BVEC casts
1106 its result, so doesn't yield an lvalue per ANSI C.
1107 (SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
1108 (SCM_GC_CLR_CARD_FLAGS): redefined in terms of
1109 SCM_GC_SET_CARD_FLAGS.
1110 (SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.
1111
1112 * gc.c (INIT_CARD): use the explicit setter macro to set the bvec.
1113
1114 2001-01-08 Gary Houston <ghouston@arglist.com>
1115
1116 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
1117 * ioext.c (scm_read_string_x_partial, scm_read_delimited_x),
1118 socket.c (scm_recvfrom): use the new macro, plus minor docstring
1119 changes.
1120 * ioext.c (scm_read_string_x_partial): don't crash if -1 is supplied
1121 for fdes. if current input port is used, check that it's a file
1122 port.
1123
1124 2001-01-06 Gary Houston <ghouston@arglist.com>
1125
1126 * ioext.c (scm_read_string_x_partial): new procedure, implements
1127 read-string!/partial.
1128 * ports.c (scm_take_from_input_buffers): new procedure used by
1129 scm_read_string_x_partial.
1130 (scm_drain_input): use scm_take_from_input_buffers.
1131
1132 2001-01-06 Marius Vollmer <mvo@zagadka.ping.de>
1133
1134 * validate.h (SCM_VALIDATE_NUMBER): New.
1135
1136 2001-01-03 Michael Livshin <mlivshin@bigfoot.com>
1137
1138 * guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
1139 SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
1140 SET_DESTROYED): new defines/macros.
1141 (GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
1142 (add_to_live_list): takes a `guardian_t *' now, not SCM.
1143 (guardian_print): print more info.
1144 (guardian_apply): check if the guardian is destroyed, and throw an
1145 error if so. take one more optional argument `throw_p'.
1146 (scm_guard): depending on the value of `throw_p', return a boolean
1147 result.
1148 (scm_get_one_zombie): remove redundant property test.
1149 (guardian_t): represent the various (currently 3, I hope nothing
1150 more gets added) boolean fields as bit flags.
1151 (scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
1152 (scm_destroy_guardian_x): new procedure.
1153
1154 * guardians.h: added prototypes for `scm_guardian_greedy_p' and
1155 `scm_guardian_destroyed_p'. changed prototype for `scm_guard'.
1156
1157 2001-01-01 Gary Houston <ghouston@arglist.com>
1158
1159 * fports.c (fport_write): bugfix: handle short writes for
1160 unbuffered ports too. optimize the buffered case by minimizing
1161 the number of write/flush calls.
1162 (write_all): new helper procedure.
1163
1164 The ChangeLog continues in the file: "ChangeLog-2000"