** New module (ice-9 time)
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
5352393c
MG
12001-03-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
2
3 * list.c (scm_list, scm_cons_star, scm_null_p, scm_list_p),
4 (scm_length, scm_append, scm_reverse, scm_list_ref),
5 (scm_memq, scm_memv, scm_member, scm_delv_x, scm_delete_x),
6 (scm_delq, scm_delv, scm_delete, scm_delq1_x, scm_delv1_x),
7 (scm_delete1_x), gc.c (scm_map_free_list),
8 (scm_free_list_length), hash.c (scm_hashq, scm_hashv),
9 (scm_hash), hashtab.c (scm_hashq_ref, scm_hashq_set_x),
10 (scm_hashq_remove_x, scm_hashv_ref, scm_hashv_set_x),
11 (scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x),
12 (scm_hash_remove_x), ports.c (scm_pt_size, scm_pt_member), print.c
13 (scm_current_pstate), scmsigs.c (scm_usleep), goops.c
14 (scm_get_keyword, scm_sys_compute_slots): Added texinfo markup.
15
16 * weaks.c (scm_weak_vector_p, scm_weak_key_hash_table_p),
17 (scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
18 rdelim.c (scm_read_delimited_x), strop.c (scm_string_index),
19 symbols.c (scm_symbol_interned_p), numbers.c
20 (scm_string_to_number), ports.c (scm_port_p): Corrected texinfo
21 markup.
22
a9205f07
KN
232001-03-16 Keisuke Nishida <kxn30@po.cwru.edu>
24
25 * snarf.h (SCM_CONST_LONG): Deprecated.
26 * tag.c (CONST_INUM): New macro. Use it to define scm_utag_*.
27
6d583887
MV
282001-03-15 Marius Vollmer <marius.vollmer@uni-dortmund.de>
29
30 * numbers.c (scm_num2ulong): Check that a bignum is positive
31 before looking at the magnitude. Correctly check for overflow
32 during conversion.
33 (scm_num2long_long): Likewise.
34 (scm_num2ulong_long): New.
35 (ULONG_LONG_MAX): Define if not already defined.
36 * numbers.h: (scm_num2ulong_long): New prototype.
37
e87a03fc
MG
382001-03-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
39
40 * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro.
41
42 * strports.h (SCM_STRPORTP, SCM_OPSTRPORTP, SCM_OPINSTRPORTP),
43 (SCM_OPOUTSTRPORTP): New predicate macros.
44 (scm_open_input_string, scm_open_output_string),
45 (scm_get_output_string): New prototypes.
46
47 * strports.c (scm_open_input_string, scm_open_output_string),
48 (scm_get_output_string): New procedures (SRFI-6 compliant).
49 Made scm_tc16_strport non-static.
50
160bb34a
DH
512001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
52
53 * macros.h (SCM_ASSYNT): Removed unused object argument from
54 signature.
55
56 * eval.c (scm_m_body, scm_m_quote, scm_m_begin, scm_m_if,
57 scm_m_set_x, scm_m_and, scm_m_or, scm_m_case, scm_m_cond,
58 scm_m_letstar, scm_m_do, scm_m_quasiquote, scm_m_delay,
59 scm_m_define, scm_m_letrec1, scm_m_letrec, scm_m_let, scm_m_apply,
60 scm_m_cont, scm_m_nil_cond, scm_m_nil_ify, scm_m_t_ify,
61 scm_m_0_cond, scm_m_0_ify, scm_m_1_ify, scm_m_atfop, scm_m_atbind,
62 scm_m_expand_body), evalext.c (scm_m_generalized_set_x,
63 scm_m_undefine), goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
64 scm_m_atdispatch): Removed unused object argument from call to
65 SCM_ASSYNT.
66
80dee77b
DH
672001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
68
69 * gh.h/gh_data.c (gh_ints2scm): Changed the signature to use a
70 const int* to reflect that the input array of integers remains
71 unchanged. Thanks to Brett Viren for the hint.
72
d3dd80ab
MG
732001-03-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
74
75 * gh_data.c (gh_scm2chars, gh_scm2shorts, gh_scm2longs),
76 (gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
77 in various places.
78 (gh_scm2newstr, gh_symbol2newstr): Change call to
79 scm_must_malloc() to malloc(), because user-free()able memory is
80 allocated.
81
82 * gc.c: Added declaration of `scm_debug_check_freelist'.
83
26a3038d
MG
842001-03-13 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
85
86 * ports.c (scm_port_mode): Changed `mode' array size to 4.
87
1f3908c4
KN
882001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
89
90 * strports.c (scm_object_to_string): New procedure.
91 (scm_strprint_obj): Deprecated.
92 * strports.h: Reflect the changes.
93
e11208ca
DH
942001-03-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
95
96 * goops.h (SCM_VALIDATE_PUREGENERIC): New macro.
97
98 * goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
99 scm_m_atdispatch): Provide definitions for FUNC_NAME. Don't use
100 SCM_ASSYNT to check for correct argument types. Either use some
101 SCM_VALIDATE_* macro or an explicit test.
102
103 (scm_make_foreign_object): Don't use SCM_ASSERT to check for
104 misc-errors.
105
106 * macros.h (SCM_ASSYNT): On assertion failure, issue a misc-error
107 instead of calling scm_wta.
108
67e8151b
MG
1092001-03-12 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
110
111 * load.c (scm_primitive_load, scm_primitive_load_path),
112 (scm_sys_search_load_path): Corrected docstrings (file ->
113 filename).
114
115 * eval.c (scm_force): Added texinfo markup to docstring.
116 (scm_promise_p): Renamed parameter to `obj' to match docstring.
117
118 * debug-malloc.c: Reinserted #include <stdio.h>.
119
e0c08f17
KN
1202001-03-11 Keisuke Nishida <kxn30@po.cwru.edu>
121
e39c3de4
KN
122 * list.c (s_scm_reverse_x): Use SCM_VALIDATE_LIST.
123
e0c08f17
KN
124 * environments.c, error.c, eval.c, filesys.c, hashtab.c, load.c,
125 net_db.c, procprop.c, read.c, scmsigs.c, socket.c, struct.c:
126 Use SCM_LISTn instead of scm_listify.
127
e6e2e95a
MD
1282001-03-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
129
130 * _scm.h: Removed #include <errno.h>.
131
132 * error.c, net_db.c, putenv.c, stime.c: Removed declaration of
133 errno variable (can be a macro on some systems, for example when
134 using linux libc with threads).
135
136 * error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
137 posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
138 socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
139 #include <errno.h> in these 20 out of 100 files.
140
97d0e20b
GH
1412001-03-10 Gary Houston <ghouston@arglist.com>
142
143 * socket.c: add a definition of SUN_LEN (from glibc) for when it's
144 not already defined.
145
e75341b3
MD
1462001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
147
148 * coop.c: Inserted #include <stdio.h>.
149
150 * iselect.c: Reinserted #include <stdio.h>.
151
74355186
MV
1522001-03-10 Marius Vollmer <mvo@zagadka.ping.de>
153
154 * posix.c: Replaced `#define' of __USE_XOPEN right before
155 including unistd.h with a define of _GNU_SOURCE at the very top of
156 the file.
157
783e7774
KN
1582001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
159
160 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
161 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
162 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
163 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
164 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
165 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
166 print.c, procprop.c, procs.c, properties.c, ramap.c,
167 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
168 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
169 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
170 Remove #include <stdio.h>
171 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
172
173 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
174
9a677c37
MG
1752001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
176
177 * posix.c (scm_gethostname): Set initial name length to 256 for
178 Solaris.
179
94e6d793
MG
1802001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
181
182 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
183 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
184 (scm_sethostname, scm_gethostname): New prototypes.
185
186 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
187 <sys/file.h>, if present.
188 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
189 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
190 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
191 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
192 (scm_sethostname, scm_gethostname): New procedures.
193
650a1cf9
NJ
1942001-03-08 Neil Jerram <neil@ossau.uklinux.net>
195
196 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
197 not optional (ii) "recommend" spelling correction.
198
9636b49c
MD
1992001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
200
5e4a4d09
MD
201 * ramap.c (racp): Removed optimization which caused array copying
202 to fail if the two arrays shared storage. Re-inserted the IVDEP
203 macros removed in the change of 2000-03-09. (Don't really have a
204 complete grasp of what they are for, but they seem to be necessary
205 on Crays. This needs testing!) Thanks to Miroslav Silovic.
206
9636b49c
MD
207 * hash.c (scm_string_hash): Don't downcase characters.
208
04a4d666
MD
2092001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
210
9636b49c 211 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
04a4d666
MD
212 size from 277 --> 1009.
213
214 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
215 function.
216
217 * coop-threads.c: Fixed change of 2001-03-06.
218
219 * validate.h: Code formatting.
220
66418d34
KN
2212001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
222
223 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
224 (*.doc): Add dependency on guile-snarf.awk.in.
225
226 * guile-snarf.awk.in: Neglect spaces at the end of
227 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
228 middle of docstrings. (To avoid the problem with gcc-2.96.)
229
2ade72d7
DH
2302001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
231
232 * coop-threads.c (scm_call_with_new_thread), load.c
233 (scm_primitive_load, scm_sys_search_load_path), random.c
234 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
235 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
236 (potentially) issue a scm-misc-error or wrong-num-args error
237 message.
238
239 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
240 about the expected type with the wrong-type-arg error message.
241
242 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
243 a C level bug that can't be fixed from scheme anyway.
244
586d7da2
MD
2452001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
246
247 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
248 Duplicate bindings are OK in a let* since a let* is semantically
249 equivalent to a nested set of let:s.
250
1dd05fd8
MG
2512001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
252
253 * print.c (scm_print_options): Fixed texinfo in docstring.
254
255 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
256 the underlying functions getservent, getprotoent or getnetent
257 return NULL instead of signalling an error.
258
439006bf
GH
2592001-03-04 Gary Houston <ghouston@arglist.com>
260
261 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
262 taking an unexpectedly large filename for an AF_UNIX socket from
263 bind/connect/sendto (thanks to Martin Grabmueller).
264
265 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
266 former and adjusted the latter.
267 (scm_socket, scm_socketpair): cosmetic changes.
268 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
269 size_t as socklen_t substitute. don't restrict args/return values
270 to INUM: allow full range of int or size_t.
271 (scm_fill_sockaddr): check arguments before allocating memory, to
272 avoid leakage. use malloc, not scm_must_malloc.
273 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
274 substitute. free the sockaddr structure before throwing an error.
275 (scm_init_add_buffer): procedure removed, together with its static
276 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
277 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
278 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
279 scm_sendto): use a local buffer instead of scm_addr_buffer.
280 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
281 not size_t.
282 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
283 call to detect whether recvfrom could be bothered to set the address.
284 (scm_init_socket): don't call scm_init_addr_buffer.
285
276dd677
DH
2862001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
287
288 * debug.c (scm_procedure_source, scm_procedure_environment),
289 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
290 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
291 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
292 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
293 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
294 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
295 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
296 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
297 scm_array_to_list, scm_array_prototype), validate.h
298 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
299 scm_misc_error or scm_wrong_type_arg instead.
300
301 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
302
5e03762c
MD
3032001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
304
305 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
306 (scm_sys_tag_body): Added.
307
db4b4ca6
DH
3082001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
309
310 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
311 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
312 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
313 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
314 options.c (scm_options), ports.c (scm_remove_from_port_table),
315 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
316 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
317 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
318 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
319 instead.
320
87e7741d
MD
3212001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
322
323 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
324
d19b0aac
MV
3252001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
326
327 * eval.c (scm_s_duplicate_bindings): New error message.
328 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
329
2fd945df
MV
3302001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
331
332 * eval.h (SCM_EVALIM2): New macro. Use it when a
333 immediate, literal constant should be evaluated.
334 * eval.c (scm_s_duplicate_formals): New error message string.
335 (scm_c_improper_memq): New function.
336 (scm_m_lambda): Check for duplicate arguments.
337 (scm_ceval, scm_deval): When executing a body: only cons a new
338 toplevel environment frame when it is different from the
339 existing one; use EVALCAR instead of SIDEVAL so that we can properly
340 check for empty combinations; use SCM_EVALIM2 for the same reason
341 in the non-toplevel loop.
342 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
343 New labels with the meaning of their non-"nontoplevel" partners,
344 but they are used when it is known that the body is not evaluated at
345 top-level.
346 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
347 reporting for empty combinations.
348
9e6fc585
KN
3492001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
350
351 * Remove dump facilities.
352 * dump.c, dump.h: Removed.
353 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
354 * init.c: Remove #include "libguile/dump.h".
355 (scm_init_guile_1): Remove scm_init_dump.
356 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
357 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
358 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
359 (scm_set_smob_dump, scm_set_smob_undump): Removed.
360
361 * keywords.c: Remove #include "libguile/dump.h".
362 (keyword_dump, keyword_undump): Removed.
363 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
364
eae54bf0
MG
3652001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
366
367 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
368 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
369 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
370 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
371 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
372 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
373 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
374 to @code{} as the texinfo manual recommends, converted the
375 examples to use a @lisp{}-environment.
376
377 * strports.c (scm_eval_string): Cleaned up the docstring.
378
379 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
380 markup.
381
382 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
383 (scm_number_to_string, scm_string_to_number, scm_number_p)
384 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
385 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
386 (scm_ash): Added texinfo markup and removed obsolete @refill.
387 (scm_gr_p): Corrected comment.
388 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
389 docstring) comments.
390 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
391 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
392 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
393 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
394 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
395 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
396 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
397 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
398
23deee81
DH
3992001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
400
401 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
402 (Obviously nobody compiles with SCM_RECKLESS defined...)
403
404 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
405
6fe692e9
MD
4062001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
407
408 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
409
410 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
411
27c37006
NJ
4122001-02-24 Neil Jerram <neil@ossau.uklinux.net>
413
414 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
415 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
416 since use of `z' suggests that the arguments may be complex.
417
418 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
419 typos.
420
2069af38
NJ
4212001-02-23 Neil Jerram <neil@ossau.uklinux.net>
422
423 * dump.c (scm_binary_write, scm_binary_read), eval.c
424 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
425 scm_guardian_greedy_p, scm_make_guardian), fports.c
426 (scm_file_port_p): Minor docstring fixes.
427
b42ff180
MV
4282001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
429
2069af38 430 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
431
432 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
433 scm_i_eval.
434 (make_class_from_template): Do not bother to set the current
435 module around the call to DEFVAR, scm_eval takes care of that.
436 (scm_init_goops): Make scm_module_goops and
437 scm_goops_lookup_closure permanent objects.
438
439 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
440 top level, create a fresh top-level environment for each
441 expression instead of mutating the exisint frame. This is
442 important when that frame is closed over.
443
b42ff180
MV
444 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
445 SCM_DIGSPERLONG instead of DIGSPERLONG.
446
09f2ab1e
MV
4472001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
448
449 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
450 before applying arrow procedure in `cond' and before applying
451 receiver procedure in call-with-current-continuation.
452 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
453 macro. The argument is expanded more than one time.
454
455 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
456 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
457
4582001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
459
460 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
461 notice and license.
462
7090240c
MG
4632001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
464
465 * variable.c (scm_make_variable, scm_make_undefined_variable)
466 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
467 (scm_variable_bound_p), values.c (scm_values)
468 (scm_call_with_values), unif.c (scm_bit_count)
469 (scm_bit_set_star_x), symbols.c (scm_gentemp)
470 (scm_gensym), strings.c (scm_string_p, scm_make_string)
471 (scm_read_only_string_p, scm_string_length, scm_string_ref)
472 (scm_string_set_x, scm_substring, scm_string_append), stime.c
473 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
474 (scm_copy_random_state, scm_random), print.c (scm_newline)
475 (scm_write_char, scm_simple_format), debug-malloc.c
476 (scm_malloc_stats), environments.c (scm_environment_p)
477 (scm_environment_bound_p, scm_environment_ref)
478 (scm_environment_fold, scm_environment_define)
479 (scm_environment_undefine, scm_environment_set_x)
480 (scm_environment_cell, scm_environment_observe)
481 (scm_environment_observe_weak, scm_environment_unobserve)
482 (scm_make_eval_environment, scm_eval_environment_p)
483 (scm_eval_environment_set_local_x, scm_eval_environment_local)
484 (scm_eval_environment_imported)
485 (scm_eval_environment_set_imported_x, scm_make_import_environment)
486 (scm_import_environment_p, scm_import_environment_imports)
487 (scm_import_environment_set_imports_x, scm_make_export_environment)
488 (scm_export_environment_p, scm_export_environment_private)
489 (scm_export_environment_set_private_x)
490 (scm_export_environment_signature)
491 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
492 Added texinfo markup.
493
494 * ports.c (scm_drain_input): Lowercased argument to @var.
495 (scm_current_input_port, scm_current_output_port): Filled in
496 missing explanation.
497 (scm_current_load_port, scm_set_current_output_port)
498 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
499 Added texinfo markup.
500
501 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
502 (scm_release_arbiter): Added texinfo markup to docstrings.
503 Changed `Returns' to `Return'.
504 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
505
25703850
NJ
5062001-02-16 Neil Jerram <neil@ossau.uklinux.net>
507
508 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
509 by doubling them to `@@'.
510
73c0fdce
MG
5112001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
512
513 * numbers.c (scm_lognot), random.c (scm_random,
514 scm_random_normal, scm_random_solid_sphere_x,
515 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
516 scm_random_exp), dynwind.c
517 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
518
519 * goops.c (scm_sys_initialize_object, scm_instance_p,
520 scm_class_name, scm_class_precedence_list, scm_class_slots,
521 scm_class_environment, scm_generic_function_name,
522 scm_generic_function_methods, scm_method_generic_function,
523 scm_method_specializers, scm_method_procedure, scm_make_unbound,
524 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
525 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
526 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
527 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
528 scm_class_direct_supers, scm_class_direct_slots,
529 scm_class_direct_subclasses, scm_class_direct_methods,
530 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
531 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
532 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
533 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
534 scm_memoized_environment, scm_procedure_name,
535 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
536 objects.c
537 (scm_class_of, scm_entity_p, scm_operator_p,
538 scm_set_object_procedure_x, scm_object_procedure,
539 scm_make_class_object), hooks.c (scm_make_hook_with_name,
540 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
541 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
542 scm_hook_to_list), lang.c
543 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
544 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
545 (scm_print_options, scm_port_with_print_state,
546 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
547 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
548 scm_make_procedure_with_setter, scm_procedure), throw.c
549 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
550 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
551 scm_stack_ref, scm_stack_length, scm_frame_p,
552 scm_last_stack_frame, scm_frame_number, scm_frame_source,
553 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
554 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
555 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
556 (scm_dirname, scm_basename), dynwind.c
557 (scm_wind_chain), read.c (scm_read_options, scm_read,
558 scm_read_hash_extend), gc.c
559 (scm_unhash_name), eval.c (scm_eval_options_interface,
560 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
561 (scm_display_error, scm_set_print_params_x,
562 scm_display_application, scm_display_backtrace, scm_backtrace),
563 async.c (scm_async, scm_system_async, scm_async_mark,
564 scm_system_async_mark, scm_run_asyncs, scm_noop,
565 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
566 scm_mask_signals): Added docstrings.
567
e228a203
KN
5682001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
569
570 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
571 address of car/cdr. (Thanks to Dirk Herrmann)
572 Use scm_sizet to obtain the length of strings.
573 (Thanks to Matthias Koeppe)
574
1552a59d
MV
5752001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
576
577 * symbols.c (scm_mem2symbol): Put a empty statement after the
578 next_symbol label. This is mandated by ANSI, appearantly.
579
3178f751
MV
5802001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
581
582 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
583 sense to compile for a specific kernel version. Do not include
584 <asm/signal.h> while defining __KERNEL__. This hack should no
585 longer be needed and caused problems.
586
7af4defe
MV
5872001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
588
589 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
590 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
591 can not deal with immediates.
592
5d6bb349
KN
5932001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
594
595 * list.c (scm_list_copy): Validate the first argument.
596
ec9709f0
MV
5972001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
598
599 Fix evaluator so that top-level expressions are correctly
600 evaluated with respect to the module system.
601
602 * modules.h. modules.c (scm_current_module_lookup_closure): New
603 function.
604
605 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
606 prototypes.
607 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
608 names to better reflect their meaning.
609
610 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
611 evaluated at top-level and synronize lookup closure before
612 executing every subform.
613 (scm_primitve_eval_x, scm_primitive_eval): New functions.
614 (scm_eval_x, scm_eval): Reimplement in terms of
615 scm_primitive_eval_x and scm_primitive_eval, respectively.
616
6172001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
618
619 * macros.c (scm_macro_name, scm_macro_transformer): Use
620 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
621 Thanks!
622
42417394
KN
6232001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
624
625 * dump.c (scm_store_bytes): Store data size before data.
626 (scm_restore_bytes): Restore data size. Takes a pointer to size.
627 * dump.h (scm_restore_bytes): Updated.
628
bf942687
KN
6292001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
630
631 * dump.c: Use double cells for update schedule.
632
1be4270a
KN
6332001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
634
635 * ports.c (scm_unread_char): Take an optional argument.
636
548728ea
MV
6372001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
638
639 * modules.h (scm_selected_module, scm_current_module): Renamed
640 scm_selected_module to scm_current_module to synchronize Scheme
641 and C names.
642 (scm_select_module, scm_set_current_module): Likewise. Changed
643 all uses.
644
645 * ports.c (scm_port_for_each): Make a snapshot of the port table
646 before iterating over it. The table might change while the user
647 code is running. With the snapshot, the user can depend on the
c5408bc3 648 fact that each port that existed at the start of the iteration is
548728ea
MV
649 encountered exactly once. (ice-9 popen) depends on this.
650
cb0d8be2
DH
6512001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
652
653 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
654
655 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
656 range checking for the size parameter. Thanks to Martin
657 Grabmueller for the hint.
658
659 (scm_makstr): Reordered string initialization to make interrupt
660 deferring unnecessary.
661
662 * vectors.c (scm_make_vector): Fixed range checking.
663
e382fdbe
DH
6642001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
665
666 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
667
668 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
669 checking of the size parameter for type correctness and valid
670 range. Thanks to Rob Browning for reporting the problem. Instead
671 of deferring interrupts, scm_remember_upto_here_1 is used.
672
bf8f0922
KN
6732001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
674
675 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
676 (scm_dump_cell_update): Removed.
677 (scm_dump_update): Renamed from scm_dump_object_update.
678 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
679 a pointer instead of returning a value.
680 * keywords.c (keyword_undump): Updated.
681
914cceec
KN
6822001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
683
684 * dump.c, dump.h: Modified a lot.
5f17c66f 685 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
686 (scm_dump_mark): Removed.
687 (scm_restore_cell_object, scm_store_cell_object): New functions.
688
689 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
690 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
691 New slots: dump, undump.
692 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
693 Updated.
694
695 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
696 (keyword_undump): Renamed from keyword_alloc.
697 (scm_init_keywords): Set keyword_dump and keyword_undump.
698
ecf470a2
ML
6992001-02-03 Michael Livshin <mlivshin@bigfoot.com>
700
701 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
702 the deprecated SCM_DOUBLE_CELLP.
703
704 * tags.h (SCM_DOUBLE_CELLP): deprecated.
705
03416a99
KN
7062001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
707
708 * dump.c, dump.h: New files.
709 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
710 * init.c: #include "libguile/dump.h".
711 (scm_init_guile_1): Call scm_init_dump.
712 * smob.h (scm_smob_descriptor): New slots: dump_mark,
713 dump_dealloc, dump_store, undump_alloc, undump_restore,
714 undump_init.
715 * smob.c (scm_make_smob_type): Init the new slots.
716 (scm_set_smob_dump, scm_set_smob_undump): New functions.
717 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
718
719 * keywords.c: #include "libguile/dump.h".
720 (keyword_dealloc, keyword_alloc): New functions.
721 (scm_init_keywords): Set smob_dump and smob_undump.
722
00ffa0e7
KN
7232001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
724
725 * vectors.c (scm_c_make_vector): New function.
726 * vectors.h (scm_c_make_vector): Declared.
727 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
728 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
729 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
730 (scm_make_method_cache, scm_i_vector2list,
731 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
732 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
733 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
734 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
735 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
736 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
737 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
738 (scm_vector, scm_make_vector): Use scm_c_make_vector.
739
740 * hashtab.c (scm_c_make_hash_table): New function.
741 * hashtab.h (scm_c_make_hash_table): Declared.
742 * environments.c (scm_make_leaf_environment,
743 scm_make_eval_environment), gc.c (scm_init_storage),
744 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
745 Use scm_c_make_hash_table.
746
b8446ce8
MD
7472001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
748
749 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
750
e3239868
DH
7512001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
752
753 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
754 end of docstring.
755
756 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
757 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
758 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
759 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
760 srcprop.c (scm_source_properties, scm_set_source_properties_x,
761 scm_source_property, scm_set_source_property_x), sort.c
762 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
763 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
764 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
765 docstrings.
766
41ee56dd
MD
7672001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
768
769 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
770 really get that arg.
771
b6311c08
KN
7722001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
773
774 * goops.c (s_scm_get_keyword): Bug fix.
775
a49af0c0
DH
7762001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
777
778 The following patch was sent by Martin Grabmueller. It makes sure
779 that in case of parameter errors the correct function name is
780 shown, and that parameter types are only checked once.
781
782 * strop.c (string_copy, string_upcase_x, string_downcase_x,
783 string_capitalize_x): New functions. Each one performs the core
784 functionality of the corresponding scm_* function.
785
786 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
787 scm_string_downcase_x, scm_string_downcase,
788 scm_string_capitalize_x, scm_string_capitalize): Reduced to
789 parameter checking wrappers of the above functions.
790
13070bd3
DH
7912001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
792
793 * continuations.c, dynl.c, keywords.c, load.c: Include
794 strings.h. Thanks to Bill Schottstaedt for the bug report.
795
2f2b390c
DH
7962001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
797
798 * backtrace.c (display_header): Make sure that line and column
799 information is shown independent of whether the port the code was
800 read from had an associated filename. Thanks to Martin
801 Grabmueller for providing this patch.
802
efa40607
DH
8032001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
804
805 * fports.[ch] (scm_file_port_p): New primitive.
806
a98bddfd
DH
8072001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
808
809 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
810 These are now defined in fports.c, strports.c and vports.c.
811
812 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
813 vports.c (scm_tc16_sfport): Made variables (were macros defined in
814 tags.h).
815
816 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
817 (scm_make_sfptob): Made static. These return a type code now.
818
819 fports.c (scm_init_fports), strports.c (scm_init_strports),
820 vports.c (scm_init_vports): Create the corresponding port types.
821
822 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
823 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
824
825 * init.c (scm_init_guile_1): Make sure strports are initialized
826 before gdbint.
827
828 * ports.[ch] (scm_make_port_type): Changed the return type to
829 scm_bits_t.
830
831 * ports.c (scm_ports_prehistory): Don't create any port types
832 here.
833
834 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
835 against scm_tc16_fport directly.
836
0419a528
DH
8372001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
838
839 * srcprop.c (scm_set_source_property_x): Fix to handle
840 (set-source-property! <obj> 'copy <datum>) correctly.
841
6d36532c
GH
8422001-01-24 Gary Houston <ghouston@arglist.com>
843
844 * filesys.c (scm_link): docstring fix.
845 * fports.h (scm_setfileno): obsolete declaration removed.
846 * posix.c: bogus popen declaration removed.
847
848 * rdelim.c: new file, split from ioext.c.
849 * rdelim.h: new file, split from ioext.h
850 * Makefile.am: add rdelim.c and related files.
851 * init.c: call scm_init_rdelim. include rdelim.h.
852
3ba5a6c2
DH
8532001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
854
855 This patch was sent by Martin Grabmueller and makes sure that
856 parameter errors are reported correctly by the lexicographic
857 ordering predicates.
858
859 * strorder.c (string_less_p, string_ci_less_p): New functions.
860
861 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
862 functionality into string_less_p, string_ci_less_p respectively.
863 The remaining code is just a wrapper to do the parameter
864 checking.
865
866 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
867 parameters and call string_less_p instead of scm_string_less_p.
868
869 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
870 Check the parameters and call string_less_ci_p instead of
871 scm_string_ci_less_p.
872
e40a4095
DH
8732001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
874
ed6a2db9
DH
875 This patch modifies scm_display_error to perform parameter
876 checking. Thanks to Neil Jerram for the bug report.
877
e40a4095
DH
878 * backtrace.[ch] (scm_i_display_error): New function.
879
880 * backtrace.c (scm_display_error): Added parameter check and
881 extracted the core functionality into function
882 scm_i_display_error.
883
884 * throw.c (handler_message): Call scm_i_display_error to display
885 the error message.
886
f1e06a96
MD
8872001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
888
889 * eval.c (SCM_APPLY): Added # args check for application of
890 procedures with arity 3. (Thanks to Anders Holst.)
891
30ea841d
DH
8922001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
893
894 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
895
896 (SCM_OPDIRP): Deprecated.
897
898 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
899 SCM_OPN.
900
901 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
902 Instead, give an explicit error message in case the directory is
903 closed.
904
905 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
906 instead of SCM_OPENP and SCM_CLOSEDP.
907
908 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
909
312ae976
DH
9102001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
911
912 * eval.c (inner_eval, scm_eval): Move all real functionality into
913 inner_eval. Avoid to copy the expression twice by inlining some
914 code from scm_i_eval.
915
4567ed78
DH
9162001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
917
918 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
919 now has to be the last clause, as required by R5RS. Thanks to
920 Martin Grabmueller for the patch.
921
10288a09
GH
9222001-01-18 Gary Houston <ghouston@arglist.com>
923
924 * ioext.c: further simplify scm_read_string_x_partial by defining
925 a macro SCM_EBLOCK.
926
8f379a8f
DH
9272001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
928
929 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
930
5c75b29f
DH
9312001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
932
933 * __scm.h: Added comment about architecture and compiler
934 properties that are required by guile.
935
936 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
937 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
938
939 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
940
941 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
942
943 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
944 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
945
ac0c002c
DH
9462001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
947
948 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
949 to the names in limits.h.
950
951 * numbers.c (abs_most_negative_fixnum): Added.
952
953 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
954 fixnum-min) special case.
955
956 (scm_big_and): Fix for negative first parameter.
957
958 (scm_bit_extract): Fix for fixnum paramters.
959 Thanks to Rob Browning for the bug report.
960
961 (scm_init_numbers): Initialize abs_most_negative_fixnum.
962
debe0dc2
DH
9632001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
964
965 * symbols.c (scm_symbol_bound_p): Fixed comment.
966 Thanks to Chris Cramer.
967
8a39e3fc
DH
9682001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
969
970 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
971 Thanks to Bill Schottstaedt.
972
322ec19d
ML
9732001-01-11 Michael Livshin <mlivshin@bigfoot.com>
974
975