Use memset instead of bzero.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
f22ed5a0
KN
12001-04-11 Keisuke Nishida <kxn30@po.cwru.edu>
2
3 * debug-malloc.c (grow, scm_debug_malloc_prehistory): Use memset
4 instead of bzero.
5
6 * coop.c, iselect.c (FD_ZERO_N): Unconditionally use memset.
7 (MISSING_BZERO_DECL): Remove the declaration.
8
9 Thanks to NIIBE Yutaka.
10
508ded1c
MD
112001-04-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
12
a087ba81
MD
13 * init.c, goops.c, goops.h: Reverted change of 2001-03-29. (The
14 goops module should be registered in order to work for an
15 application which uses libguile statically linked.)
508ded1c 16
e4b265d8
DH
172001-04-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
18
19 * numbers.[ch] (scm_num2long, scm_num2long_long,
20 scm_num2ulong_long, scm_num2ulong): Argument position is an
21 unsigned integer.
22
23 * environments.c (eval_environment_folder,
24 import_environment_folder), gh_data.c (gh_scm2longs,
25 gh_scm2floats, gh_scm2doubles): Distinguish between 0 and NULL
26 for integers and pointers, respectively.
27
28 * gh_data.c (gh_scm2ulong, gh_scm2long, gh_scm2int), socket.c
29 (scm_fill_sockaddr), unif.c (scm_array_set_x), validate.h
30 (SCM_NUM2ULONG, SCM_NUM2LONG, SCM_NUM2LONG_DEF,
31 SCM_NUM2LONG_LONG): Don't pass argument positions as pointers.
32
33 * filesys.c (scm_open_fdes, scm_open), net_db (scm_inet_ntoa,
34 scm_inet_netof, scm_lnaof, scm_gethost, scm_getproto), posix.c
35 (scm_utime), ramap.c (scm_array_fill_int), scmsigs.c
36 (scm_sigaction), socket.c (scm_htonl, scm_ntohl, scm_sendto),
37 stime.c (scm_localtime, scm_gmtime), struct.c (scm_struct_set_x),
38 validate.h (SCM_VALIDATE_LONG_COPY): Whitespace fixes.
39
89d04205
NJ
402001-04-09 Neil Jerram <neil@ossau.uklinux.net>
41
42 * strings.c (scm_read_only_string_p): Update docstring to reflect
43 current (non-)usage of "read only" strings.
40f83c3e
NJ
44 (scm_make_shared_substring): Clarify docstring by changing
45 "semantics" to "arguments".
89d04205 46
4d66be54
MG
472001-04-06 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
48
49 * hooks.c (scm_make_hook, scm_make_hook_with_name),
50 (scm_hook_p, scm_hook_empty_p, scm_run_hook): Docstring
51 improvements.
52
1e6808ea
MG
532001-04-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
54
55 The following changes make the documentation more consistent.
56
57 * rdelim.c (scm_write_line), posix.c (scm_utime), ports.c
58 (scm_seek), net_db.c (scm_inet_aton, scm_inet_ntoa),
59 (scm_inet_netof, scm_lnaof, scm_inet_makeaddr), ioext.c
60 (scm_ftell): Changed @smalllisp ... @end smalllisp to @lisp
61 ... @end lisp.
62
63 * vports.c (scm_make_soft_port), version.c (scm_version), unif.c
64 (scm_array_dimensions, scm_make_shared_array),
65 (scm_transpose_array, scm_enclose_array, scm_bit_count_star),
66 throw.c (scm_catch), struct.c (scm_make_vtable_vtable), strop.c
67 (scm_string_rindex, scm_string_index, scm_substring_fill_x),
68 (scm_string_null_p), strings.c (scm_read_only_string_p), root.c
69 (scm_call_with_dynamic_root), ramap.c (scm_array_index_map_x),
70 posix.c (scm_mknod), numbers.c (scm_logtest, scm_logbit_p),
71 macros.c (scm_makmmacro), list.c (scm_append), environments.c
72 (scm_environment_fold), dynwind.c (s_scm_dynamic_wind): Changed
73 @example ... @end example to @lisp ... @end lisp.
74
75 * weaks.c (scm_weak_vector): Corrected docstring.
76
77 * hashtab.c (scm_hashq_ref, scm_hashq_set_x, scm_hashq_remove_x),
78 (scm_hashv_ref, scm_hashv_set_x, scm_hashv_remove_x),
79 (scm_hash_ref, scm_hash_set_x, scm_hash_remove_x, scm_hashx_ref),
80 (scm_hashx_set_x, scm_hashx_get_handle),
81 (scm_hashx_create_handle_x), regex-posix.c (scm_make_regexp),
82 (scm_regexp_exec, scm_regexp_p), numbers.c (scm_logtest),
83 vectors.c (scm_vector_fill_x), strings.c
84 (scm_make_shared_substring), symbols.c (scm_string_to_symbol),
85 objprop.c (scm_set_object_properties_x):
86 (scm_set_object_property_x), throw.c (scm_catch, scm_lazy_catch),
87 strports.c (scm_call_with_input_string), ports.c
88 (scm_truncate_file), ioext.c (scm_ftell), ports.c (scm_seek),
89 list.c (scm_append_x), dynwind.c (scm_dynamic_wind), error.c
90 (scm_error_scm), vports.c (scm_make_soft_port), weaks.c
91 (scm_make_weak_vector,scm_weak_vector_p),
92 (scm_make_weak_key_hash_table, scm_make_weak_value_hash_table),
93 (scm_make_doubly_weak_hash_table, scm_weak_key_hash_table_p),
94 (scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
95 macros.c (scm_macro_type), dynl.c (scm_dynamic_link),
96 (scm_dynamic_unlink, scm_dynamic_call, scm_dynamic_args_call):
97 Made parameter names match documentation by renaming parameters
98 and/or fixing docstrings.
99
100 * numbers.c (scm_ash): Corrected Texinfo markup.
101
102 * strop.c (scm_string_index, scm_string_rindex),
103 (scm_substring_fill_x, scm_string_null_p): Removed `qdocs'.
104
105 * vports.c (scm_make_soft_port), unif.c
106 (scm_uniform_vector_length, scm_array_p, scm_array_rank),
107 (scm_dimensions_to_uniform_array, scm_transpose_array),
108 (scm_array_in_bounds_p, scm_uniform_vector_ref),
109 (scm_bit_count, scm_bit_position, scm_bit_count_star),
110 (scm_array_to_list, scm_list_to_uniform_array),
111 (scm_array_prototype, symbols.c (scm_string_to_symbol), strports.c
112 (scm_open_input_string, scm_open_output_string),
113 (scm_get_output_string), strop.c (scm_string_copy),
114 (scm_string_fill_x), strings.c (scm_string_p, scm_string), stime.c
115 (scm_get_internal_real_time, scm_times),
116 (scm_get_internal_run_time, scm_current_time, scm_gettimeofday),
117 (scm_localtime, scm_gmtime), socket.c (scm_htons, scm_ntohs),
118 (scm_htonl, scm_ntohl, scm_socket, scm_socketpair),
119 (scm_getsockopt, scm_getsockname, scm_getpeername, scm_recvfrom),
120 simpos.c (scm_system), random.c (scm_random_uniform),
121 (scm_random_normal, scm_random_exp), ramap.c
122 (scm_array_equal_p), posix.c (scm_pipe, scm_getgroups),
123 (scm_status_exit_val, scm_status_term_sig, scm_status_stop_sig),
124 (scm_getppid, scm_getuid, scm_getgid, scm_geteuid, scm_getegid),
125 (scm_getpgrp, scm_ttyname, scm_ctermid, scm_tcgetpgrp, scm_uname),
126 (scm_environ, scm_tmpnam, scm_mkstemp, scm_access, scm_getpid),
127 (scm_setlocale), ports.c (scm_char_ready_p, scm_drain_input),
128 (scm_pt_size, scm_pt_member, scm_port_revealed, scm_port_mode),
129 (scm_close_port, scm_input_port_p, scm_output_port_p, scm_port_p),
130 (scm_port_closed_p, scm_eof_object_p, scm_read_char),
131 (scm_peek_char), pairs.c (scm_pair_p, scm_cons), numbers.c
132 (scm_logand, scm_logior, scm_logxor, scm_lognot),
133 (scm_integer_expt, scm_bit_extract, scm_logcount),
134 (scm_integer_length, scm_string_to_number, scm_inexact_to_exact),
135 net_db.c (scm_inet_netof, scm_lnaof), modules.c
136 (scm_interaction_environment), macros.c (scm_makacro),
137 (scm_makmacro, scm_makmmacro), keywords.c (scm_keyword_p), ioext.c
138 (scm_ftell, scm_dup_to_fdes, scm_fileno, scm_isatty_p),
139 (scm_fdopen, scm_fdes_to_ports), gc.c (scm_gc_stats), fluids.c
140 (scm_fluid_ref), filesys.c (scm_open_fdes),
141 (scm_stat, scm_directory_stream_p, scm_getcwd, scm_readlink):
142 Docstring correction: `Returns' -> `Return'
143
144 * gc.c (scm_set_debug_cell_accesses_x):
145 (s_scm_gc_set_debug_check_freelist_x):
146 * fluids.c (scm_fluid_p): Added texinfo markup.
147
148 * error.c (scm_strerror): Made docstring more precise.
149
150 * vectors.c (scm_vector_p, scm_vector, scm_make_vector),
151 (scm_vector_to_list, _scm_vector_fill_x), symbols.c
152 (scm_symbol_p, scm_symbol_to_string), strorder.c
153 (scm_string_equal_p, scm_string_ci_equal_p, scm_string_less_p),
154 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p),
155 (scm_string_ci_less_p, scm_string_ci_leq_p, scm_string_ci_gr_p):
156 (scm_string_ci_geq_p), strop.c (scm_string_copy),
157 (scm_string_fill_x): Removed `(r5rs)' from docstrings.
158
9a6976cd
DH
1592001-04-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
160
161 * gc.c (MARK): Re-introduce a cheap sanity test for non debug
162 mode, as suggested by Michael Livshin.
163
463b2219
ML
1642001-03-31 Michael Livshin <mlivshin@bigfoot.com>
165
166 * backtrace.c (display_backtrace_body): since the `print_state'
167 variable is not used (instead its data field is used directly as
168 `pstate'), protect it from the hungry compiler optimizations.
169 thanks to Bill Schottstaedt for the report.
170
61045190
DH
1712001-03-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
172
173 * gc.[ch] (scm_tc16_allocated): New type tag for allocated cells.
174 It is only defined and used if guile is compiled with
175 SCM_DEBUG_CELL_ACCESSES set to true. It's purpose is, to never
176 let cells with a free_cell type tag be visible outside of the
177 garbage collector when in debug mode.
178
179 * gc.c (scm_debug_cell_accesses_p): Set to true as default.
180
181 (scm_assert_cell_valid): Use a local static variable to avoid
182 recursion.
183
184 (MARK): Only check for rogue cell pointers in debug mode. Use
185 scm_cellp for this purpose and place all checks for rogue pointers
186 into that function. Further, since due to conservative scanning
187 we may encounter free cells during marking, don't use the standard
188 cell type accessor macro to determine the cell type.
189
190 (scm_cellp): Check if the cell pointer actually points into a
191 card header.
192
193 (scm_init_gc): Initalize scm_tc16_allocated.
194
195 * gc.h (GCH): Renamed to SCM_GC_H.
196
197 (SCM_VALIDATE_CELL): Enclose the expression in brackets. This
198 might be unnecessary, but I feel better this way :-)
199
200 (SCM_GC_CELL_TYPE): New macro.
201
202 (SCM_SETAND_CDR, SCM_SETOR_CDR): Deprecated. These are not used
203 in guile, and it is unlikely that they will be applied to real
204 pairs anyway.
205
206 (SCM_SET_FREE_CELL_TYPE): Removed. It was not used.
207
208 (SCM_GC_SET_ALLOCATED): New macro. Only non-empty if guile is
209 compiled with SCM_DEBUG_CELL_ACCESSES set to true.
210
211 (SCM_NEWCELL, SCM_NEWCELL2): Use of SCM_GC_SET_ALLOCATED will
212 make sure that in debug mode no free cell will ever be visible
213 outside of the garbage collector.
214
85d6df6a
DH
2152001-03-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
216
217 * async.c (scm_asyncs_pending): Don't use != to compare SCM
218 values.
219
220 * async.c (scm_system_async), variable.c (scm_make_variable,
221 scm_make_undefined_variable): Use scm_cons to create a pair.
222
223 * debug.c (scm_reverse_lookup): Perform proper type checking.
224 Remove suspicious use of SCM_SLOPPY_CONSP.
225
226 * eq.c (scm_equal_p), tags.h (SCM_ECONSP): Use SCM_CONSP instead
227 of SCM_SLOPPY_CONSP. A sane compiler should be able to perform
228 the corresponding optimization.
229
230 * eval.c (iqq): Use proper type check.
231
232 (scm_m_expand_body): Remove redundant type checks.
233
234 (promise_print): Don't access promise cells as pairs.
235
236 * eval.c (EVALCAR, iqq, scm_m_expand_body, scm_eval_args,
237 scm_deval_args SCM_CEVAL), guardians.c (scm_guard), hashtab.c
238 (scm_internal_hash_fold), print.c (scm_iprlist): Use !SCM_CELLP
239 for SCM_NCELLP, !SCM_CONSP for SCM_NCONSP, !SCM_IMP for SCM_NIMP,
240 !SCM_FALSEP for SCM_NFALSEP, !SCM_NULLP for SCM_NNULLP
241
242 * eval.c (scm_m_define, scm_macroexp, SCM_CEVAL), print.c
243 (scm_iprin1): Use new macro predicate and accessors.
244
245 * eval.h (scm_tc16_macro): Removed declaration. It is declared
246 in macros.h.
247
248 * eval.h (EVALH), macros.h (MACROSH), ports.h (PORTSH), procs.h
249 (PROCSH), tags.h (TAGSH), variable.h (VARIABLEH): Renamed to
250 SCM_EVAL_H, SCM_MACROS_H, SCM_PORTS_H, SCM_PROCS_H, SCM_TAGS_H and
251 SCM_VARIABLE_H. Even the macros that are used to inhibit
252 including a header file twice should be in the SCM_ namespace.
253
254 * fluids.c (scm_swap_fluids, scm_swap_fluids_reverse),
255 properties.c (scm_primitive_property_ref,
256 scm_primitive_property_del_x): Prefer stronger predicates like
257 SCM_NULLP or SCM_FALSEP over SCM_IMP.
258
259 * gc.c (MARK): Use proper macros to access procedure-with-setter
260 cell elements and closure cell elements.
261
262 (gc_sweep_freelist_finish, scm_gc_sweep, init_heap_seg): Don't
263 access free cells as pairs.
264
265 (scm_unprotect_object): scm_hashq_get_handle returns #f if
266 no hashtab entry is found.
267
268 * gc.c (scm_gc_sweep), ports.c (scm_close_port): Use new macro
269 SCM_CLR_PORT_OPEN_FLAG.
270
271 * guardians.c (TCONC_IN), print.c (scm_free_print_state): Don't
272 use SCM_SET_C[AD]R for uninitialized cells.
273
274 * hashtab.c (scm_hash_fn_get_handle): Use SCM_VALIDATE_VECTOR.
275 If the hashtable has no slots, return #f instead of '(). This
276 unifies the return value with most assoc-functions.
277
278 (scm_hash_fn_ref): Use proper type check.
279
280 (scm_hashq_get_handle, scm_hashv_get_handle, scm_hash_get_handle):
281 Removed references to non-existing functions from documentation.
282
283 * keywords.c (scm_keyword_dash_symbol): Use proper macros to
284 access keyword cell elements.
285
286 * macros.h (SCM_MACROP, SCM_MACRO_TYPE, SCM_MACRO_CODE): New
287 macros.
288
289 * ports.h (SCM_CLR_PORT_OPEN_FLAG): New macro.
290
291 * print.c (scm_iprlist): Added comment. Improved loop
292 conditions.
293
294 * procs.h (SCM_ENV, SCM_SETENV): Don't access closure cells as
295 pairs.
296
297 * smob.c (scm_markcdr): Don't access smob cells as pairs.
298
299 * tags.h (SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP): Deprecated.
300
301 * throw.c (ACTIVATEJB, DEACTIVATEJB): Don't access jump buffer
302 cells as pairs.
303
304 * variable.c (variable_print, variable_equalp, scm_variable_ref,
305 scm_variable_set_x): Use proper macros to access variable cell
306 elements.
307
308 (scm_variable_bound_p): Don't use SCM_NEGATE_BOOL.
309
310 * variable.h (SCM_VARVCELL): Don't access variable cells as
311 pairs.
312
313 * vectors.c (scm_vector), weaks.c (scm_weak_vector): Simplified,
314 added FIXME comment, removed register specifier.
315
1b27e91a
KN
3162001-03-29 Keisuke Nishida <kxn30@po.cwru.edu>
317
318 * goops.c, goops.h (scm_init_oop_goops_goopscore_module): Deprecated.
319 * init.c (scm_init_guile_1): Don't init goopscore module.
320
16c634ec
MV
3212001-03-27 Marius Vollmer <mvo@zagadka.ping.de>
322
323 * eval.c (SCM_APPLY): Check that arg1 is bound for scm_tc7_cxr.
324
91344ceb
MG
3252001-03-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
326
327 * strop.c (scm_string_to_list): Fixed docstring markup.
328 (scm_string_upcase_x, scm_string_upcase, scm_string_downcase_x),
329 (scm_string_downcase, scm_string_capitalize_x),
330 (scm_string_capitalize): Rewrote and corrected docstrings.
331 (scm_string_ci_to_symbol): Made docstring more explicit.
332
07576812
MV
3332001-03-27 Marius Vollmer <mvo@zagadka.ping.de>
334
335 * values.h (scm_values_vtable, SCM_VALUESP): Moved here so that
336 eval.c can use it.
337 (scm_call_with_values): Removed.
338 * values.c (values_vtable, scm_values_vtable): Added "scm_" prefix
339 so that it can be exported.
340 (scm_call_with_values): Removed.
341
342 * tags.h (SCM_IM_CALL_WITH_VALUES): New isym.
343 * eval.c: Include "libguile/values.h"
344 (scm_m_at_call_with_values, scm_sym_at_call_with_values):
345 New.
346 (unmemocopy, scm_ceval, scm_deval): Handle new isym.
347 * eval.h (scm_sym_at_call_with_values, scm_m_at_call_with_values):
348 New delcarations to support above change.
349
350 * eval.c (scm_primitive_eval_x, scm_primitive_eval): Fix syntax
351 errors with last change.
352
3532001-03-25 Marius Vollmer <mvo@zagadka.ping.de>
354
355 * eval.c (scm_primitive_eval_x, scm_primitive_eval, scm_i_eval_x,
356 scm_i_eval): Moved the application of the system transformer from
357 scm_i_eval to scm_primitive_eval.
358
a17bb5fd
NJ
3592001-03-23 Neil Jerram <neil@ossau.uklinux.net>
360
a6be01a4
NJ
361 * guile-snarf.awk.in: Substitute "\\" with "\" in .doc output.
362
a17bb5fd
NJ
363 * strop.c (scm_string_index): Fix docstring line break
364 regression.
365
366 * list.c (scm_cons_star): Fix docstring typo.
367
be54b15d
DH
3682001-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
369
370 * gc.c (scm_init_storage), gdbint.c (scm_init_gdbint), numbers.c
371 (big2str), ports.c (scm_drain_input), read.c (scm_read,
372 scm_grow_tok_buf), strings.c (scm_string, scm_makfromstr,
373 scm_make_string, scm_string_append), strports.c (st_resize_port,
374 scm_object_to_string), unif.c (scm_make_uve): Replace calls to
375 scm_makstr with calls to scm_allocate_string.
376
377 * strings.[ch] (scm_allocate_string): New function.
378
379 * strings.[ch] (scm_makstr): Deprecated.
380
789ecc05
GH
3812001-03-18 Gary Houston <ghouston@arglist.com>
382
6d163216
GH
383 * posix.c (scm_tmpnam): check that return value from tmpnam is not
384 NULL. rewrote the docstring.
385 (scm_mkstemp): new procedure implementing "mkstemp!".
386 * posix.h: declare scm_mkstemp.
387
789ecc05
GH
388 * net_db.c: declare h_errno if configure didn't define HAVE_H_ERRNO.
389 normally it would be found in netdb.h.
390
c6c79933
GH
3912001-03-17 Gary Houston <ghouston@arglist.com>
392
e9e225e5
GH
393 * sort.c (scm_sort): move sortvec variable to avoid a compiler
394 warning when HAVE_ARRAYS is not defined. move len too.
395
396 * Makefile.am (DOT_X_FILES): remove net_db.x, posix.x, socket.x.
397 (EXTRA_DOT_X_FILES): let configure set the value.
398 (DOT_DOC_FILES): remove net_db.doc, posix.doc, socket.doc.
399
c6c79933
GH
400 * gc.c (scm_must_malloc): changed the comment explaining when
401 scm_must variants of malloc/free etc., should be used, based on
402 explanation from Dirk Herrmann.
403 * fports.c (scm_fport_buffer_add): use FUNC_NAME instead of a local
404 string with procedure name. use scm_must_malloc instead of malloc.
405 (scm_setvbuf, scm_fdes_to_port, fport_close): use scm_must variants
406 of malloc/free.
407 * ports.c (scm_add_to_port_table, scm_remove_from_port_table,
408 scm_ungetc): use scm_must variants of malloc/realloc/free.
409 (scm_add_to_port_table, scm_ungetc): define FUNC_NAME.
410
b3fcac34
DH
4112001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
412
413 * __scm.h (SCM_ASSERT, SCM_WTA_DISPATCH_0, SCM_WTA_DISPATCH_1,
414 SCM_WTA_DISPATCH_2, SCM_WTA_DISPATCH_n): Don't call scm_wta, call
415 scm_wrong_type_arg instead.
416
417 (SCM_WNA): Deprecated.
418
419 * error.[ch] (scm_wta): Deprecated.
420
421 * numbers.c (s_i_log): Minor comment fix.
422
423 * read.c (scm_lreadr), unif.c (scm_aind, scm_shap2ra,
424 scm_make_shared_array, scm_transpose_array, scm_enclose_array,
425 scm_array_in_bounds_p): Don't use SCM_ASSERT to check for
426 wrong-num-args or misc errors.
427
428 * unif.c (scm_make_shared_array, scm_transpose_array,
429 scm_enclose_array, scm_array_in_bounds_p, scm_array_set_x):
430 Validate the rest argument (note: this is only done when guile is
431 built with SCM_DEBUG_REST_ARGUMENT=1)
432
433 (scm_array_in_bounds_p, scm_uniform_vector_ref, scm_array_set_x):
434 Replace calls to scm_wrong_num_args by SCM_WRONG_NUM_ARGS.
435
436 * validate.h (SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
437 SCM_VALIDATE_NUMBER_DEF_COPY): Deprecated.
438
68baa7e7
DH
4392001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
440
441 * validate.h (SCM_WRONG_NUM_ARGS): Call scm_error_num_args_subr
442 instead of scm_wrong_num_args.
443
444 * coop-threads.c: Don't include libguile/strings.h. (Was only
445 needed for former implementation of SCM_WRONG_NUM_ARGS.)
446
447 * debug.c (scm_m_start_stack): Don't use SCM_ASSERT to check for
448 wrong-num-args errors.
449
9f40cd87
DH
4502001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
451
452 * error.[ch] (scm_error_num_args_subr): New function.
453
5352393c
MG
4542001-03-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
455
456 * list.c (scm_list, scm_cons_star, scm_null_p, scm_list_p),
457 (scm_length, scm_append, scm_reverse, scm_list_ref),
458 (scm_memq, scm_memv, scm_member, scm_delv_x, scm_delete_x),
459 (scm_delq, scm_delv, scm_delete, scm_delq1_x, scm_delv1_x),
460 (scm_delete1_x), gc.c (scm_map_free_list),
461 (scm_free_list_length), hash.c (scm_hashq, scm_hashv),
462 (scm_hash), hashtab.c (scm_hashq_ref, scm_hashq_set_x),
463 (scm_hashq_remove_x, scm_hashv_ref, scm_hashv_set_x),
464 (scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x),
465 (scm_hash_remove_x), ports.c (scm_pt_size, scm_pt_member), print.c
466 (scm_current_pstate), scmsigs.c (scm_usleep), goops.c
467 (scm_get_keyword, scm_sys_compute_slots): Added texinfo markup.
468
469 * weaks.c (scm_weak_vector_p, scm_weak_key_hash_table_p),
470 (scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
471 rdelim.c (scm_read_delimited_x), strop.c (scm_string_index),
472 symbols.c (scm_symbol_interned_p), numbers.c
473 (scm_string_to_number), ports.c (scm_port_p): Corrected texinfo
474 markup.
475
a9205f07
KN
4762001-03-16 Keisuke Nishida <kxn30@po.cwru.edu>
477
478 * snarf.h (SCM_CONST_LONG): Deprecated.
479 * tag.c (CONST_INUM): New macro. Use it to define scm_utag_*.
480
6d583887
MV
4812001-03-15 Marius Vollmer <marius.vollmer@uni-dortmund.de>
482
483 * numbers.c (scm_num2ulong): Check that a bignum is positive
484 before looking at the magnitude. Correctly check for overflow
485 during conversion.
486 (scm_num2long_long): Likewise.
487 (scm_num2ulong_long): New.
488 (ULONG_LONG_MAX): Define if not already defined.
489 * numbers.h: (scm_num2ulong_long): New prototype.
490
e87a03fc
MG
4912001-03-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
492
493 * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro.
494
495 * strports.h (SCM_STRPORTP, SCM_OPSTRPORTP, SCM_OPINSTRPORTP),
496 (SCM_OPOUTSTRPORTP): New predicate macros.
497 (scm_open_input_string, scm_open_output_string),
498 (scm_get_output_string): New prototypes.
499
500 * strports.c (scm_open_input_string, scm_open_output_string),
501 (scm_get_output_string): New procedures (SRFI-6 compliant).
502 Made scm_tc16_strport non-static.
503
160bb34a
DH
5042001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
505
506 * macros.h (SCM_ASSYNT): Removed unused object argument from
507 signature.
508
509 * eval.c (scm_m_body, scm_m_quote, scm_m_begin, scm_m_if,
510 scm_m_set_x, scm_m_and, scm_m_or, scm_m_case, scm_m_cond,
511 scm_m_letstar, scm_m_do, scm_m_quasiquote, scm_m_delay,
512 scm_m_define, scm_m_letrec1, scm_m_letrec, scm_m_let, scm_m_apply,
513 scm_m_cont, scm_m_nil_cond, scm_m_nil_ify, scm_m_t_ify,
514 scm_m_0_cond, scm_m_0_ify, scm_m_1_ify, scm_m_atfop, scm_m_atbind,
515 scm_m_expand_body), evalext.c (scm_m_generalized_set_x,
516 scm_m_undefine), goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
517 scm_m_atdispatch): Removed unused object argument from call to
518 SCM_ASSYNT.
519
80dee77b
DH
5202001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
521
522 * gh.h/gh_data.c (gh_ints2scm): Changed the signature to use a
523 const int* to reflect that the input array of integers remains
524 unchanged. Thanks to Brett Viren for the hint.
525
d3dd80ab
MG
5262001-03-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
527
528 * gh_data.c (gh_scm2chars, gh_scm2shorts, gh_scm2longs),
529 (gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
530 in various places.
531 (gh_scm2newstr, gh_symbol2newstr): Change call to
532 scm_must_malloc() to malloc(), because user-free()able memory is
533 allocated.
534
535 * gc.c: Added declaration of `scm_debug_check_freelist'.
536
26a3038d
MG
5372001-03-13 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
538
539 * ports.c (scm_port_mode): Changed `mode' array size to 4.
540
1f3908c4
KN
5412001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
542
543 * strports.c (scm_object_to_string): New procedure.
544 (scm_strprint_obj): Deprecated.
545 * strports.h: Reflect the changes.
546
e11208ca
DH
5472001-03-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
548
549 * goops.h (SCM_VALIDATE_PUREGENERIC): New macro.
550
551 * goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
552 scm_m_atdispatch): Provide definitions for FUNC_NAME. Don't use
553 SCM_ASSYNT to check for correct argument types. Either use some
554 SCM_VALIDATE_* macro or an explicit test.
555
556 (scm_make_foreign_object): Don't use SCM_ASSERT to check for
557 misc-errors.
558
559 * macros.h (SCM_ASSYNT): On assertion failure, issue a misc-error
560 instead of calling scm_wta.
561
67e8151b
MG
5622001-03-12 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
563
564 * load.c (scm_primitive_load, scm_primitive_load_path),
565 (scm_sys_search_load_path): Corrected docstrings (file ->
566 filename).
567
568 * eval.c (scm_force): Added texinfo markup to docstring.
569 (scm_promise_p): Renamed parameter to `obj' to match docstring.
570
571 * debug-malloc.c: Reinserted #include <stdio.h>.
572
e0c08f17
KN
5732001-03-11 Keisuke Nishida <kxn30@po.cwru.edu>
574
e39c3de4
KN
575 * list.c (s_scm_reverse_x): Use SCM_VALIDATE_LIST.
576
e0c08f17
KN
577 * environments.c, error.c, eval.c, filesys.c, hashtab.c, load.c,
578 net_db.c, procprop.c, read.c, scmsigs.c, socket.c, struct.c:
579 Use SCM_LISTn instead of scm_listify.
580
e6e2e95a
MD
5812001-03-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
582
583 * _scm.h: Removed #include <errno.h>.
584
585 * error.c, net_db.c, putenv.c, stime.c: Removed declaration of
586 errno variable (can be a macro on some systems, for example when
587 using linux libc with threads).
588
589 * error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
590 posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
591 socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
592 #include <errno.h> in these 20 out of 100 files.
593
97d0e20b
GH
5942001-03-10 Gary Houston <ghouston@arglist.com>
595
596 * socket.c: add a definition of SUN_LEN (from glibc) for when it's
597 not already defined.
598
e75341b3
MD
5992001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
600
601 * coop.c: Inserted #include <stdio.h>.
602
603 * iselect.c: Reinserted #include <stdio.h>.
604
74355186
MV
6052001-03-10 Marius Vollmer <mvo@zagadka.ping.de>
606
607 * posix.c: Replaced `#define' of __USE_XOPEN right before
608 including unistd.h with a define of _GNU_SOURCE at the very top of
609 the file.
610
783e7774
KN
6112001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
612
613 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
614 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
615 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
616 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
617 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
618 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
619 print.c, procprop.c, procs.c, properties.c, ramap.c,
620 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
621 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
622 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
623 Remove #include <stdio.h>
624 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
625
626 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
627
9a677c37
MG
6282001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
629
630 * posix.c (scm_gethostname): Set initial name length to 256 for
631 Solaris.
632
94e6d793
MG
6332001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
634
635 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
636 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
637 (scm_sethostname, scm_gethostname): New prototypes.
638
639 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
640 <sys/file.h>, if present.
641 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
642 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
643 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
644 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
645 (scm_sethostname, scm_gethostname): New procedures.
646
650a1cf9
NJ
6472001-03-08 Neil Jerram <neil@ossau.uklinux.net>
648
649 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
650 not optional (ii) "recommend" spelling correction.
651
9636b49c
MD
6522001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
653
5e4a4d09
MD
654 * ramap.c (racp): Removed optimization which caused array copying
655 to fail if the two arrays shared storage. Re-inserted the IVDEP
656 macros removed in the change of 2000-03-09. (Don't really have a
657 complete grasp of what they are for, but they seem to be necessary
658 on Crays. This needs testing!) Thanks to Miroslav Silovic.
659
9636b49c
MD
660 * hash.c (scm_string_hash): Don't downcase characters.
661
04a4d666
MD
6622001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
663
9636b49c 664 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
04a4d666
MD
665 size from 277 --> 1009.
666
667 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
668 function.
669
670 * coop-threads.c: Fixed change of 2001-03-06.
671
672 * validate.h: Code formatting.
673
66418d34
KN
6742001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
675
676 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
677 (*.doc): Add dependency on guile-snarf.awk.in.
678
679 * guile-snarf.awk.in: Neglect spaces at the end of
680 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
681 middle of docstrings. (To avoid the problem with gcc-2.96.)
682
2ade72d7
DH
6832001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
684
685 * coop-threads.c (scm_call_with_new_thread), load.c
686 (scm_primitive_load, scm_sys_search_load_path), random.c
687 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
688 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
689 (potentially) issue a scm-misc-error or wrong-num-args error
690 message.
691
692 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
693 about the expected type with the wrong-type-arg error message.
694
695 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
696 a C level bug that can't be fixed from scheme anyway.
697
586d7da2
MD
6982001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
699
700 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
701 Duplicate bindings are OK in a let* since a let* is semantically
702 equivalent to a nested set of let:s.
703
1dd05fd8
MG
7042001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
705
706 * print.c (scm_print_options): Fixed texinfo in docstring.
707
708 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
709 the underlying functions getservent, getprotoent or getnetent
710 return NULL instead of signalling an error.
711
439006bf
GH
7122001-03-04 Gary Houston <ghouston@arglist.com>
713
714 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
715 taking an unexpectedly large filename for an AF_UNIX socket from
716 bind/connect/sendto (thanks to Martin Grabmueller).
717
718 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
719 former and adjusted the latter.
720 (scm_socket, scm_socketpair): cosmetic changes.
721 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
722 size_t as socklen_t substitute. don't restrict args/return values
723 to INUM: allow full range of int or size_t.
724 (scm_fill_sockaddr): check arguments before allocating memory, to
725 avoid leakage. use malloc, not scm_must_malloc.
726 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
727 substitute. free the sockaddr structure before throwing an error.
728 (scm_init_add_buffer): procedure removed, together with its static
729 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
730 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
731 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
732 scm_sendto): use a local buffer instead of scm_addr_buffer.
733 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
734 not size_t.
735 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
736 call to detect whether recvfrom could be bothered to set the address.
737 (scm_init_socket): don't call scm_init_addr_buffer.
738
276dd677
DH
7392001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
740
741 * debug.c (scm_procedure_source, scm_procedure_environment),
742 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
743 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
744 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
745 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
746 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
747 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
748 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
749 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
750 scm_array_to_list, scm_array_prototype), validate.h
751 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
752 scm_misc_error or scm_wrong_type_arg instead.
753
754 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
755
5e03762c
MD
7562001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
757
758 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
759 (scm_sys_tag_body): Added.
760
db4b4ca6
DH
7612001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
762
763 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
764 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
765 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
766 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
767 options.c (scm_options), ports.c (scm_remove_from_port_table),
768 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
769 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
770 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
771 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
772 instead.
773
87e7741d
MD
7742001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
775
776 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
777
d19b0aac
MV
7782001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
779
780 * eval.c (scm_s_duplicate_bindings): New error message.
781 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
782
2fd945df
MV
7832001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
784
785 * eval.h (SCM_EVALIM2): New macro. Use it when a
786 immediate, literal constant should be evaluated.
787 * eval.c (scm_s_duplicate_formals): New error message string.
788 (scm_c_improper_memq): New function.
789 (scm_m_lambda): Check for duplicate arguments.
790 (scm_ceval, scm_deval): When executing a body: only cons a new
791 toplevel environment frame when it is different from the
792 existing one; use EVALCAR instead of SIDEVAL so that we can properly
793 check for empty combinations; use SCM_EVALIM2 for the same reason
794 in the non-toplevel loop.
795 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
796 New labels with the meaning of their non-"nontoplevel" partners,
797 but they are used when it is known that the body is not evaluated at
798 top-level.
799 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
800 reporting for empty combinations.
801
9e6fc585
KN
8022001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
803
804 * Remove dump facilities.
805 * dump.c, dump.h: Removed.
806 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
807 * init.c: Remove #include "libguile/dump.h".
808 (scm_init_guile_1): Remove scm_init_dump.
809 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
810 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
811 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
812 (scm_set_smob_dump, scm_set_smob_undump): Removed.
813
814 * keywords.c: Remove #include "libguile/dump.h".
815 (keyword_dump, keyword_undump): Removed.
816 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
817
eae54bf0
MG
8182001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
819
820 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
821 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
822 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
823 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
824 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
825 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
826 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
827 to @code{} as the texinfo manual recommends, converted the
828 examples to use a @lisp{}-environment.
829
830 * strports.c (scm_eval_string): Cleaned up the docstring.
831
832 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
833 markup.
834
835 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
836 (scm_number_to_string, scm_string_to_number, scm_number_p)
837 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
838 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
839 (scm_ash): Added texinfo markup and removed obsolete @refill.
840 (scm_gr_p): Corrected comment.
841 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
842 docstring) comments.
843 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
844 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
845 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
846 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
847 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
848 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
849 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
850 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
851
23deee81
DH
8522001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
853
854 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
855 (Obviously nobody compiles with SCM_RECKLESS defined...)
856
857 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
858
6fe692e9
MD
8592001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
860
861 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
862
863 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
864
27c37006
NJ
8652001-02-24 Neil Jerram <neil@ossau.uklinux.net>
866
867 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
868 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
869 since use of `z' suggests that the arguments may be complex.
870
871 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
872 typos.
873
2069af38
NJ
8742001-02-23 Neil Jerram <neil@ossau.uklinux.net>
875
876 * dump.c (scm_binary_write, scm_binary_read), eval.c
877 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
878 scm_guardian_greedy_p, scm_make_guardian), fports.c
879 (scm_file_port_p): Minor docstring fixes.
880
b42ff180
MV
8812001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
882
2069af38 883 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
884
885 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
886 scm_i_eval.
887 (make_class_from_template): Do not bother to set the current
888 module around the call to DEFVAR, scm_eval takes care of that.
889 (scm_init_goops): Make scm_module_goops and
890 scm_goops_lookup_closure permanent objects.
891
892 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
893 top level, create a fresh top-level environment for each
894 expression instead of mutating the exisint frame. This is
895 important when that frame is closed over.
896
b42ff180
MV
897 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
898 SCM_DIGSPERLONG instead of DIGSPERLONG.
899
09f2ab1e
MV
9002001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
901
902 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
903 before applying arrow procedure in `cond' and before applying
904 receiver procedure in call-with-current-continuation.
905 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
906 macro. The argument is expanded more than one time.
907
908 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
909 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
910
9112001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
912
913 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
914 notice and license.
915
7090240c
MG
9162001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
917
918 * variable.c (scm_make_variable, scm_make_undefined_variable)
919 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
920 (scm_variable_bound_p), values.c (scm_values)
921 (scm_call_with_values), unif.c (scm_bit_count)
922 (scm_bit_set_star_x), symbols.c (scm_gentemp)
923 (scm_gensym), strings.c (scm_string_p, scm_make_string)
924 (scm_read_only_string_p, scm_string_length, scm_string_ref)
925 (scm_string_set_x, scm_substring, scm_string_append), stime.c
926 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
927 (scm_copy_random_state, scm_random), print.c (scm_newline)
928 (scm_write_char, scm_simple_format), debug-malloc.c
929 (scm_malloc_stats), environments.c (scm_environment_p)
930 (scm_environment_bound_p, scm_environment_ref)
931 (scm_environment_fold, scm_environment_define)
932 (scm_environment_undefine, scm_environment_set_x)
933 (scm_environment_cell, scm_environment_observe)
934 (scm_environment_observe_weak, scm_environment_unobserve)
935 (scm_make_eval_environment, scm_eval_environment_p)
936 (scm_eval_environment_set_local_x, scm_eval_environment_local)
937 (scm_eval_environment_imported)
938 (scm_eval_environment_set_imported_x, scm_make_import_environment)
939 (scm_import_environment_p, scm_import_environment_imports)
940 (scm_import_environment_set_imports_x, scm_make_export_environment)
941 (scm_export_environment_p, scm_export_environment_private)
942 (scm_export_environment_set_private_x)
943 (scm_export_environment_signature)
944 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
945 Added texinfo markup.
946
947 * ports.c (scm_drain_input): Lowercased argument to @var.
948 (scm_current_input_port, scm_current_output_port): Filled in
949 missing explanation.
950 (scm_current_load_port, scm_set_current_output_port)
951 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
952 Added texinfo markup.
953
954 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
955 (scm_release_arbiter): Added texinfo markup to docstrings.
956 Changed `Returns' to `Return'.
957 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
958
25703850
NJ
9592001-02-16 Neil Jerram <neil@ossau.uklinux.net>
960
961 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
962 by doubling them to `@@'.
963
73c0fdce
MG
9642001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
965
966 * numbers.c (scm_lognot), random.c (scm_random,
967 scm_random_normal, scm_random_solid_sphere_x,
968 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
969 scm_random_exp), dynwind.c
970 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
971
972 * goops.c (scm_sys_initialize_object, scm_instance_p,
973 scm_class_name, scm_class_precedence_list, scm_class_slots,
974 scm_class_environment, scm_generic_function_name,
975 scm_generic_function_methods, scm_method_generic_function,
976 scm_method_specializers, scm_method_procedure, scm_make_unbound,
977 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
978 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
979 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
980 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
981 scm_class_direct_supers, scm_class_direct_slots,
982 scm_class_direct_subclasses, scm_class_direct_methods,
983 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
984 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
985 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
986 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
987 scm_memoized_environment, scm_procedure_name,
988 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
989 objects.c
990 (scm_class_of, scm_entity_p, scm_operator_p,
991 scm_set_object_procedure_x, scm_object_procedure,
992 scm_make_class_object), hooks.c (scm_make_hook_with_name,
993 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
994 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
995 scm_hook_to_list), lang.c
996 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
997 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
998 (scm_print_options, scm_port_with_print_state,
999 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
1000 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
1001 scm_make_procedure_with_setter, scm_procedure), throw.c
1002 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
1003 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
1004 scm_stack_ref, scm_stack_length, scm_frame_p,
1005 scm_last_stack_frame, scm_frame_number, scm_frame_source,
1006 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
1007 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
1008 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
1009 (scm_dirname, scm_basename), dynwind.c
1010 (scm_wind_chain), read.c (scm_read_options, scm_read,
1011 scm_read_hash_extend), gc.c
1012 (scm_unhash_name), eval.c (scm_eval_options_interface,
1013 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
1014 (scm_display_error, scm_set_print_params_x,
1015 scm_display_application, scm_display_backtrace, scm_backtrace),
1016 async.c (scm_async, scm_system_async, scm_async_mark,
1017 scm_system_async_mark, scm_run_asyncs, scm_noop,
1018 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
1019 scm_mask_signals): Added docstrings.
1020
e228a203
KN
10212001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
1022
1023 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
1024 address of car/cdr. (Thanks to Dirk Herrmann)
1025 Use scm_sizet to obtain the length of strings.
1026 (Thanks to Matthias Koeppe)
1027
1552a59d
MV
10282001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
1029
1030 * symbols.c (scm_mem2symbol): Put a empty statement after the
1031 next_symbol label. This is mandated by ANSI, appearantly.
1032
3178f751
MV
10332001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
1034
1035 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
1036 sense to compile for a specific kernel version. Do not include
1037 <asm/signal.h> while defining __KERNEL__. This hack should no
1038 longer be needed and caused problems.
1039
7af4defe
MV
10402001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
1041
1042 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
1043 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
1044 can not deal with immediates.
1045
5d6bb349
KN
10462001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
1047
1048 * list.c (scm_list_copy): Validate the first argument.
1049
ec9709f0
MV
10502001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
1051
1052 Fix evaluator so that top-level expressions are correctly
1053 evaluated with respect to the module system.
1054
1055 * modules.h. modules.c (scm_current_module_lookup_closure): New
1056 function.
1057
1058 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
1059 prototypes.
1060 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
1061 names to better reflect their meaning.
1062
1063 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
1064 evaluated at top-level and synronize lookup closure before
1065 executing every subform.
1066 (scm_primitve_eval_x, scm_primitive_eval): New functions.
1067 (scm_eval_x, scm_eval): Reimplement in terms of
1068 scm_primitive_eval_x and scm_primitive_eval, respectively.
1069
10702001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
1071
1072 * macros.c (scm_macro_name, scm_macro_transformer): Use
1073 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
1074 Thanks!
1075
42417394
KN
10762001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
1077
1078 * dump.c (scm_store_bytes): Store data size before data.
1079 (scm_restore_bytes): Restore data size. Takes a pointer to size.
1080 * dump.h (scm_restore_bytes): Updated.
1081
bf942687
KN
10822001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
1083
1084 * dump.c: Use double cells for update schedule.
1085
1be4270a
KN
10862001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
1087
1088 * ports.c (scm_unread_char): Take an optional argument.
1089
548728ea
MV
10902001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
1091
1092 * modules.h (scm_selected_module, scm_current_module): Renamed
1093 scm_selected_module to scm_current_module to synchronize Scheme
1094 and C names.
1095 (scm_select_module, scm_set_current_module): Likewise. Changed
1096 all uses.
1097
1098 * ports.c (scm_port_for_each): Make a snapshot of the port table
1099 before iterating over it. The table might change while the user
1100 code is running. With the snapshot, the user can depend on the
c5408bc3 1101 fact that each port that existed at the start of the iteration is
548728ea
MV
1102 encountered exactly once. (ice-9 popen) depends on this.
1103
cb0d8be2
DH
11042001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
1105
1106 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
1107
1108 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
1109 range checking for the size parameter. Thanks to Martin
1110 Grabmueller for the hint.
1111
1112 (scm_makstr): Reordered string initialization to make interrupt
1113 deferring unnecessary.
1114
1115 * vectors.c (scm_make_vector): Fixed range checking.
1116
e382fdbe
DH
11172001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
1118
1119 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
1120
1121 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
1122 checking of the size parameter for type correctness and valid
1123 range. Thanks to Rob Browning for reporting the problem. Instead
1124 of deferring interrupts, scm_remember_upto_here_1 is used.
1125
bf8f0922
KN
11262001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
1127
1128 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
1129 (scm_dump_cell_update): Removed.
1130 (scm_dump_update): Renamed from scm_dump_object_update.
1131 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
1132 a pointer instead of returning a value.
1133 * keywords.c (keyword_undump): Updated.
1134
914cceec
KN
11352001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
1136
1137 * dump.c, dump.h: Modified a lot.
5f17c66f 1138 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
1139 (scm_dump_mark): Removed.
1140 (scm_restore_cell_object, scm_store_cell_object): New functions.
1141
1142 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
1143 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
1144 New slots: dump, undump.
1145 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
1146 Updated.
1147
1148 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
1149 (keyword_undump): Renamed from keyword_alloc.
1150 (scm_init_keywords): Set keyword_dump and keyword_undump.
1151
ecf470a2
ML
11522001-02-03 Michael Livshin <mlivshin@bigfoot.com>
1153
1154 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
1155 the deprecated SCM_DOUBLE_CELLP.
1156
1157 * tags.h (SCM_DOUBLE_CELLP): deprecated.
1158
03416a99
KN
11592001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
1160
1161 * dump.c, dump.h: New files.
1162 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
1163 * init.c: #include "libguile/dump.h".
1164 (scm_init_guile_1): Call scm_init_dump.
1165 * smob.h (scm_smob_descriptor): New slots: dump_mark,
1166 dump_dealloc, dump_store, undump_alloc, undump_restore,
1167 undump_init.
1168 * smob.c (scm_make_smob_type): Init the new slots.
1169 (scm_set_smob_dump, scm_set_smob_undump): New functions.
1170 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
1171
1172 * keywords.c: #include "libguile/dump.h".
1173 (keyword_dealloc, keyword_alloc): New functions.
1174 (scm_init_keywords): Set smob_dump and smob_undump.
1175
00ffa0e7
KN
11762001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
1177
1178 * vectors.c (scm_c_make_vector): New function.
1179 * vectors.h (scm_c_make_vector): Declared.
1180 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
1181 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
1182 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
1183 (scm_make_method_cache, scm_i_vector2list,
1184 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
1185 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
1186 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
1187 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
1188 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
1189 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
1190 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
1191 (scm_vector, scm_make_vector): Use scm_c_make_vector.
1192
1193 * hashtab.c (scm_c_make_hash_table): New function.
1194 * hashtab.h (scm_c_make_hash_table): Declared.
1195 * environments.c (scm_make_leaf_environment,
1196 scm_make_eval_environment), gc.c (scm_init_storage),
1197 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
1198 Use scm_c_make_hash_table.
1199
b8446ce8
MD
12002001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
1201
1202 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
1203
e3239868
DH
12042001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
1205
1206 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
1207 end of docstring.
1208
1209 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
1210 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
1211 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
1212 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
1213 srcprop.c (scm_source_properties, scm_set_source_properties_x,
1214 scm_source_property, scm_set_source_property_x), sort.c
1215 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
1216 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
1217 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
1218 docstrings.
1219
41ee56dd
MD
12202001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
1221
1222 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
1223 really get that arg.
1224
b6311c08
KN
12252001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
1226
1227 * goops.c (s_scm_get_keyword): Bug fix.
1228
a49af0c0
DH
12292001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
1230
1231 The following patch was sent by Martin Grabmueller. It makes sure
1232 that in case of parameter errors the correct function name is
1233 shown, and that parameter types are only checked once.
1234
1235 * strop.c (string_copy, string_upcase_x, string_downcase_x,
1236 string_capitalize_x): New functions. Each one performs the core
1237 functionality of the corresponding scm_* function.
1238
1239 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
1240 scm_string_downcase_x, scm_string_downcase,
1241 scm_string_capitalize_x, scm_string_capitalize): Reduced to
1242 parameter checking wrappers of the above functions.
1243
13070bd3
DH
12442001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
1245
1246 * continuations.c, dynl.c, keywords.c, load.c: Include
1247 strings.h. Thanks to Bill Schottstaedt for the bug report.
1248
2f2b390c
DH
12492001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
1250
1251 * backtrace.c (display_header): Make sure that line and column
1252 information is shown independent of whether the port the code was
1253 read from had an associated filename. Thanks to Martin
1254 Grabmueller for providing this patch.
1255
efa40607
DH
12562001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
1257
1258 * fports.[ch] (scm_file_port_p): New primitive.
1259
a98bddfd
DH
12602001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
1261
1262 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
1263 These are now defined in fports.c, strports.c and vports.c.
1264
1265 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
1266 vports.c (scm_tc16_sfport): Made variables (were macros defined in
1267 tags.h).
1268
1269 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
1270 (scm_make_sfptob): Made static. These return a type code now.
1271
1272 fports.c (scm_init_fports), strports.c (scm_init_strports),
1273 vports.c (scm_init_vports): Create the corresponding port types.
1274
1275 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
1276 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
1277
1278 * init.c (scm_init_guile_1): Make sure strports are initialized
1279 before gdbint.
1280
1281 * ports.[ch] (scm_make_port_type): Changed the return type to
1282 scm_bits_t.
1283
1284 * ports.c (scm_ports_prehistory): Don't create any port types
1285 here.
1286
1287 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
1288 against scm_tc16_fport directly.
1289
0419a528
DH
12902001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
1291
1292 * srcprop.c (scm_set_source_property_x): Fix to handle
1293 (set-source-property! <obj> 'copy <datum>) correctly.
1294
6d36532c
GH
12952001-01-24 Gary Houston <ghouston@arglist.com>
1296
1297 * filesys.c (scm_link): docstring fix.
1298 * fports.h (scm_setfileno): obsolete declaration removed.
1299 * posix.c: bogus popen declaration removed.
1300
1301 * rdelim.c: new file, split from ioext.c.
1302 * rdelim.h: new file, split from ioext.h
1303 * Makefile.am: add rdelim.c and related files.
1304 * init.c: call scm_init_rdelim. include rdelim.h.
1305
3ba5a6c2
DH
13062001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1307
1308 This patch was sent by Martin Grabmueller and makes sure that
1309 parameter errors are reported correctly by the lexicographic
1310 ordering predicates.
1311
1312 * strorder.c (string_less_p, string_ci_less_p): New functions.
1313
1314 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
1315 functionality into string_less_p, string_ci_less_p respectively.
1316 The remaining code is just a wrapper to do the parameter
1317 checking.
1318
1319 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
1320 parameters and call string_less_p instead of scm_string_less_p.
1321
1322 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
1323 Check the parameters and call string_less_ci_p instead of
1324 scm_string_ci_less_p.
1325
e40a4095
DH
13262001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1327
ed6a2db9
DH
1328 This patch modifies scm_display_error to perform parameter
1329 checking. Thanks to Neil Jerram for the bug report.
1330
e40a4095
DH
1331 * backtrace.[ch] (scm_i_display_error): New function.
1332
1333 * backtrace.c (scm_display_error): Added parameter check and
1334 extracted the core functionality into function
1335 scm_i_display_error.
1336
1337 * throw.c (handler_message): Call scm_i_display_error to display
1338 the error message.
1339
f1e06a96
MD
13402001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
1341
1342 * eval.c (SCM_APPLY): Added # args check for application of
1343 procedures with arity 3. (Thanks to Anders Holst.)
1344
30ea841d
DH
13452001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
1346
1347 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
1348
1349 (SCM_OPDIRP): Deprecated.
1350
1351 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
1352 SCM_OPN.
1353
1354 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
1355 Instead, give an explicit error message in case the directory is
1356 closed.
1357
1358 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
1359 instead of SCM_OPENP and SCM_CLOSEDP.
1360
1361 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
1362
312ae976
DH
13632001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
1364
1365 * eval.c (inner_eval, scm_eval): Move all real functionality into
1366 inner_eval. Avoid to copy the expression twice by inlining some
1367 code from scm_i_eval.
1368
4567ed78
DH
13692001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
1370
1371 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
1372 now has to be the last clause, as required by R5RS. Thanks to
1373 Martin Grabmueller for the patch.
1374
10288a09
GH
13752001-01-18 Gary Houston <ghouston@arglist.com>
1376
1377 * ioext.c: further simplify scm_read_string_x_partial by defining
1378 a macro SCM_EBLOCK.
1379
8f379a8f
DH
13802001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
1381
1382 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
1383
5c75b29f
DH
13842001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
1385
1386 * __scm.h: Added comment about architecture and compiler
1387 properties that are required by guile.
1388
1389 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
1390 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
1391
1392 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
1393
1394 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
1395
1396 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
1397 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
1398
ac0c002c
DH
13992001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
1400
1401 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
1402 to the names in limits.h.
1403
1404 * numbers.c (abs_most_negative_fixnum): Added.
1405
1406 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
1407 fixnum-min) special case.
1408
1409 (scm_big_and): Fix for negative first parameter.
1410
1411 (scm_bit_extract): Fix for fixnum paramters.
1412 Thanks to Rob Browning for the bug report.
1413
1414 (scm_init_numbers): Initialize abs_most_negative_fixnum.
1415
debe0dc2
DH
14162001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
1417
1418 * symbols.c (scm_symbol_bound_p): Fixed comment.
1419 Thanks to Chris Cramer.
1420
8a39e3fc
DH
14212001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
1422
1423 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
1424 Thanks to Bill Schottstaedt.
1425
322ec19d
ML
14262001-01-11 Michael Livshin <mlivshin@bigfoot.com>
1427
1428