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