*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
42030fb2
DH
12002-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 * eval.c (SCM_CEVAL): Minimized scope of variable arg2.
4 Eliminated redundant SCM_IMP check. Exlined call to EVALCAR.
5 Re-enabled handing of rpsubrs and asubrs.
6
e050d4f8
DH
72002-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
8
9 * eval.c (SIDEVAL): Removed.
10
11 (SCM_CEVAL): Minimized scope of variable orig_sym. Eliminated
12 goto-labels cdrxnoap, cdrxbegin and nontoplevel_cdrxnoap. Changed
13 argument checking order for set! to locals, variables and symbols.
14 Improvements to control structure. Removed some uses of arg1 and
15 arg2 as temporary variables.
16
a6d344d3
TTN
172002-03-15 Thien-Thi Nguyen <ttn@giblet.glug.org>
18
19 * guile-snarf.in: Remove "--compat=1.4" support.
20 Add "-d" and "-D" support.
21
22 (deprecated_list): New var.
23 (compat_mode_clean_xxx): Delete.
24 (grep_deprecated): New func.
25 ("main"): If "-d" or "-D", call `grep_deprecated'.
26
3939e9df
NJ
272002-03-15 Neil Jerram <neil@ossau.uklinux.net>
28
387d418c
NJ
29 * hooks.h: Change scm_t_c_hookype_t everywhere to
30 scm_t_c_hook_type.
31
bb2c02f2 32 Docstring fixes:
a6d344d3 33
bb2c02f2
NJ
34 * strings.c (scm_string_p): Change unnecessary `iff' to `if'.
35
36 * ports.c (scm_sys_make_void_port): Use `@file'.
37
38 * numbers.c (scm_number_p, scm_real_p): Use `otherwise' rather
39 than `else'.
40
41 * macros.c (scm_makmacro): Don't say that the form replaces its
42 source, because it doesn't.
43 (scm_makmmacro): Clarify difference between this and scm_makmacro.
44
45 * backtrace.c (scm_display_error), filesys.c (scm_umask,
46 scm_select, scm_basename), goops.c (scm_method_generic_function),
47 numbers.c (scm_integer_length), posix.c (scm_getgroups, scm_execl,
48 scm_setlocale, scm_flock), socket.c (scm_shutdown): Correct
49 spelling mistakes.
50
3939e9df
NJ
51 * debug.c (scm_debug_options), eval.c
52 (scm_eval_options_interface), read.c (scm_read_options): Change
53 incorrect @var in docstring to @code.
54
3b3cc781
MV
552002-03-14 Marius Vollmer <mvo@zagadka.ping.de>
56
500b0d5b
MV
57 * unif.c (singp): Use SCM_REALP instead of SCM_SLOPPY_REALP.
58
3b3cc781
MV
59 * snarf.h (SCM_SNARF_INIT): Add "^:^" after code so that
60 guile-snarf can remove trailing non-init code.
61
62 * guile-snarf.in (modern_snarf): Remove everything following and
63 including "^:^" from the output.
64
dff98306
DH
652002-03-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
66
67 * eval.c (SCM_CEVAL), srcprop.h (SRCBRKP): Eliminated union 't'.
68
69 * eval.c (SCM_CEVAL): Exlined call to EVALCAR.
70
2287fb53
TTN
712002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org>
72
73 * guile-snarf.in: Update copyright.
74 Rewrite to internalize error handling.
75 Add "--compat=1.4" handling.
76 Add commentary.
77
78 * Makefile.am (libpath.h): Use @top_srcdir_absolute@.
79 (snarfcppopts): New var.
80 (.c.x): Use $(snarfcppopts). Rework guile-snarf usage.
81 (.c.doc): Use $(snarfcppopts).
82
822250a4
TTN
83 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
84 continuations.c, debug-malloc.c, debug.c, deprecation.c, dynl.c,
85 dynwind.c, environments.c, eq.c, error.c, eval.c, evalext.c,
86 extensions.c, feature.c, filesys.c, fluids.c, fports.c, gc.c,
87 goops.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c,
88 ioext.c, iselect.c, keywords.c, lang.c, list.c, load.c, macros.c,
89 modules.c, net_db.c, numbers.c, objects.c, objprop.c, options.c,
90 pairs.c, ports.c, posix.c, print.c, procprop.c, procs.c,
91 properties.c, ramap.c, random.c, rdelim.c, read.c, regex-posix.c,
92 root.c, rw.c, scmsigs.c, script.c, simpos.c, socket.c, sort.c,
93 srcprop.c, stackchk.c, stacks.c, stime.c, strings.c, strop.c,
94 strorder.c, strports.c, struct.c, symbols.c, threads.c, throw.c,
95 unif.c, values.c, variable.c, vectors.c, version.c, vports.c,
96 weaks.c: Retire inclusion guard macro SCM_MAGIC_SNARFER.
97
b7798e10
DH
982002-03-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
99
100 * eval.c (SCM_CEVAL): Got rid of the last reference to t.lloc.
101 The next step will be to remove the union 't' and simplify the
102 code of SCM_CEVAL that way.
103
04a98cff
NJ
1042002-03-12 Neil Jerram <neil@ossau.uklinux.net>
105
106 * iselect.c (collisionp, gnfds, greadfds, gwritefds, gexceptfds,
107 rreadfds, rwritefds, rexceptfds): Made static.
108
109 * gc.c (terminating), fports.c (terminating): Renamed
110 scm_i_terminating.
111
16d98032
MV
1122002-03-11 Marius Vollmer <mvo@zagadka.ping.de>
113
5046250e
MV
114 * numbers.c (scm_divide): Adapt code from libstdc++/f2c to void
115 potential overflow problems. Thanks to John W Eaton!
116
8794207d
MV
117 * strop.c (string_capitalize_x): Treat characters as unsigned so
118 that 8-bit chars work. Thanks to David Pirotte!
16d98032 119
1d15ecd3
DH
1202002-03-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
121
122 * eval.c (SCM_CEVAL): Cleaned up the handling of 'slot-ref',
123 'slot-set!' and 'nil-cond'. Removed some uses of t.arg1, arg2 and
124 proc as temporary variables. Introduced temporary variables with
125 hopefully descriptive names for clarification. Replaced SCM_N?IMP
126 by a more explicit predicate in some places.
127
1282002-03-09 Dirk Herrmann <D.Herrmann@tu-bs.de>
f12745b6
DH
129
130 * eval.c (SCM_CEVAL): Cleaned up the handling of #@dispatch.
131 Added lots of comments regarding the implementation of #@dispatch.
132 Changed intra-procedure communication to use t.arg1 instead of
133 arg2. Removed some uses of t.arg1, t.lloc and proc as temporary
134 variables. Introduced temporary variables with hopefully
135 descriptive names for clarification. Replaced SCM_N?IMP by a more
136 explicit predicate in some places. Use SCM_INSTANCE_HASH instead
137 of computing the expression explicitly. Eliminate now unused
138 label nontoplevel_cdrxbegin.
139
140 * goops.h (SCM_INSTANCE_HASH): New macro.
141
142 * objects.h (SCM_CMETHOD_FORMALS, SCM_CMETHOD_BODY): New macros.
143
1ebf1566
TTN
1442002-03-08 Thien-Thi Nguyen <ttn@giblet.glug.org>
145
146 * Makefile.am (bin_SCRIPTS): Revive this decl, w/ initial element
147 "guile-snarf" moved back from `noinst_SCRIPTS'.
148
020c890c
NJ
1492002-03-08 Neil Jerram <neil@ossau.uklinux.net>
150
58d233cc
NJ
151 * srcprop.c (scm_set_source_property_x): If SRCPROPS obj already
152 exists when adding a source property other than those that are
153 handled explicitly, add the new property to the SRCPROPS obj's
154 plist.
155
020c890c
NJ
156 * debug.h (SCM_MAX_FRAME_SIZE): Remove incorrect comment about use
157 of SCM_MAX_FRAME_SIZE as a bit mask; it isn't used like this.
158
159 * eval.c (SCM_CEVAL): Don't store scm_debug_eframe_size in
160 debug.status. It isn't needed, and it can overflow the bits
161 reserved for it (which may lead to a segv or a GC abort).
162
3f04400d
DH
1632002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
164
165 * eval.c (SCM_CEVAL): Cleaned up the handling of 'apply'. Removed
166 side-effecting operations from conditions and macro calls.
167 Replaced SCM_N?IMP by a more explicit predicate in some places.
168 Minimized the scope of some variables.
169
97820583
SJ
1702002-03-02 Stefan Jahn <stefan@lkcc.org>
171
172 * convert.i.c: Fixed int <-> long conversions which would have
173 failed if their sizes were different.
174
38ace99e
DH
1752002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
176
177 * eval.c (SCM_CEVAL): Cleaned up the handling of 'if', 'let',
178 'letrec' and 'set*': Removed some uses of t.arg1, t.lloc and proc
179 as temporary variables. Removed side-effecting operations from
180 conditions and macro calls. Introduced temporary variables with
181 hopefully descriptive names for clarification. Replaced SCM_N?IMP
182 by a more explicit predicate in some places. Removed code that
183 was conditionally compiled if SICP was defined - which it never
184 is.
185
e5cb71a0
DH
1862002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
187
188 * eval.c (SCM_CEVAL): Cleaned up the handling of 'cons' and 'do':
189 Removed some uses of t.arg1 and proc as temporary variables.
190 Removed side-effecting operations from conditions and macro calls.
191 Introduced temporary variables with hopefully descriptive names
192 for clarification. Replaced SCM_N?IMP by a more explicit
193 predicate in some places.
194
6a0f6ff3
DH
1952002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
196
197 * eval.c (scm_badargsp, SCM_CEVAL): Replaced SCM_N?IMP by a more
198 explicit predicate in some places.
199
200 (CHECK_EQVISH): Removed.
201
202 (SCM_CEVAL): Removed some uses of t.arg1 and proc as temporary
203 variables. Removed side-effecting operations from conditions and
204 macro calls. Introduced temporary variables for clarification.
205 Sorted if-else-if check for the type of the last form in a list by
206 frequency. Avoided some unnecessary tail-recursion calls.
207
228a24ef
DH
2082002-03-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
209
210 * gc.c (SCM_HEAP_SEG_SIZE, CELL_UP, CELL_DN, NEXT_DATA_CELL,
211 init_heap_seg, alloc_some_heap), gc.h (struct scm_cell, struct
212 scm_t_cell, SCM_CELLPTR, SCM_GC_CARD_SIZE,
213 SCM_GC_IN_CARD_HEADERP), tags.h (SCM_CELLP): Renamed the struct
214 scm_cell and all its uses to scm_t_cell in accordance to Guile's
215 naming scheme for types.
216
217 * alist.c (scm_acons), convert.i.c (CTYPES2UVECT,
218 CTYPES2UVECT_OPTIONAL), coop-threads.c (scm_call_with_new_thread,
219 scm_spawn_thread), debug.c (scm_make_debugobj), environments.c
220 (scm_make_environment), eval.c (scm_closure), fports.c
221 (scm_fdes_to_port), gc.c (scm_deprecated_newcell,
222 scm_deprecated_newcell2), inline.h (scm_alloc_cell, scm_cell),
223 list.c (SCM_I_CONS), numbers.c (scm_i_mkbig), pairs.c (scm_cons),
224 ports.c (scm_void_port), procs.c (scm_c_make_subr, scm_makcclo),
225 smob.c (scm_make_smob), smob.h (SCM_NEWSMOB), strings.c
226 (scm_take_str, scm_allocate_string), strports.c (scm_mkstrport),
227 unif.c (scm_make_uve), variable.c (make_variable), vectors.c
228 (scm_c_make_vector), vports.c (scm_make_soft_port): Renamed
229 scm_alloc_cell to scm_cell.
230
231 * environments.c (core_environments_observe), gc.c
232 (scm_deprecated_newcell2), goops.c (wrap_init, scm_wrap_object),
233 inline.h (scm_alloc_double_cell, scm_double_cell), num2float.i.c
234 (FLOAT2NUM), numbers.c (scm_make_real), procs.c
235 (scm_make_procedure_with_setter), smob.h (SCM_NEWSMOB2,
236 SCM_NEWSMOB3), struct.c (scm_make_struct, scm_make_vtable_vtable),
237 symbols.c (scm_mem2symbol, scm_mem2uninterned_symbol), weaks.c
238 (allocate_weak_vector): Renamed scm_alloc_double_cell to
239 scm_double_cell.
240
edb810bb
SJ
2412002-02-27 Stefan Jahn <stefan@lkcc.org>
242
243 * convert.i.c, convert.c: Better range checking.
244
245 * inet_aton.c, fports.c: Commented the inclusion of <winsock2.h>.
246
1ebf1566 247 * deprecation.c (vsnprintf): Define to `_vsnprintf' for
edb810bb
SJ
248 Windows (MinGW).
249
327d4dd3
TTN
2502002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org>
251
252 * Makefile.am: Update path to pre-inst-guile automake frag.
253
89d7a92c 2542002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
646052c0
DH
255
256 * gc.c (scm_gc_sweep): Make it compile even when deprecated
257 features are excluded.
258
89d7a92c 2592002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
bac0e232
DH
260
261 * num2integral.i.c (NUM2INTEGRAL): Fixed signedness problem.
262
4f2716b6
GH
2632002-02-25 Gary Houston <ghouston@arglist.com>
264
265 * convert.c: include <string.h> for convert_i.c.
266
46151112
RB
2672002-02-24 Rob Browning <rlb@defaultvalue.org>
268
269 * .cvsignore: add stamp-h1.
270
cd328b4f
NJ
2712002-02-21 Neil Jerram <neil@ossau.uklinux.net>
272
273 * unif.c (scm_array_to_list): Correct name, which had been
274 accidentally changed to scm_t_arrayo_list!
275
c709de7f
MD
2762002-02-20 Mikael Djurfeldt <mdj@linnaeus>
277
278 * gc.c (scm_gc_sweep): Print an error message when aborting due to
279 underflowing scm_mallocated.
280
c1965d31
MV
2812002-02-14 Marius Vollmer <marius.vollmer@uni-dortmund.de>
282
283 * gc.h, gc.c (scm_must_malloc, scm_must_realloc, scm_must_strdup,
284 scm_must_strndup, scm_done_malloc, scm_done_free, scm_must_free):
285 Reimplemented using the new scm_gc_malloc, etc., functions and
286 deprecated.
287
b606945b
TTN
2882002-02-11 Thien-Thi Nguyen <ttn@giblet.glug.org>
289
290 * Makefile.am (bin_PROGRAMS): Move `guile_filter_doc_snarfage'
291 to `noinst_PROGRAMS'.
292 (bin_SCRIPTS): Move all values to `noinst_SCRIPTS'; delete.
293 (noinst_PROGRAMS, noinst_SCRIPTS): New.
294
7c686ba8
MV
2952002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
296
297 * gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when
298 non-zero is returned from a port or smob free function.
299 (scm_malloc, scm_realloc, scm_strndup, scm_strdup,
300 scm_gc_register_collectable_memory,
301 scm_gc_unregister_collectable_memory, scm_gc_malloc,
302 scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New.
303
304 * backtrace.c, continuations.c, convert.i.c, coop-threads.c,
305 debug-malloc.c, dynl.c, environments.c, environments.h,
306 extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c,
307 guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c,
308 ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c,
309 smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c,
310 vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and
311 scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
312 appropriate. Return zero from smob and port free functions.
313
314 * debug-malloc.c (scm_malloc_reregister): Handle "old == NULL".
315
316 * deprecation.h, deprecation.c: Reimplemented to allow deprecation
317 messages while the GC is running.
318 (scm_c_issue_deprecation_warning_fmt): New.
319
320 * fports.c (scm_setvbuf): Reset read buffer to saved values when
321 it is pointing to the putback buffer.
322
66adc0a6
TTN
3232002-02-08 Thien-Thi Nguyen <ttn@giblet.glug.org>
324
325 * gsubr.c (create_gsubr): On "too many args" error,
326 also display arg count and name. Thanks to Bill Schottstaedt.
327
0187b4f4
TTN
3282002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org>
329
330 * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am.
331
332 (bin_SCRIPTS): Remove guile-snarf-docs-texi.
333 (alldotdocfiles, snarf2checkedtexi, dotdoc2texi): New vars.
334 (guile.texi, guile-procedures.texi): Use $(dotdoc2texi).
335
336 * guile-snarf-docs-texi.in: Bye bye.
337
402e687c
MV
3382002-02-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
339
340 * symbols.c (scm_make_symbol): Fix typo in docstring.
341
342 * symbols.h (scm_mem2uninterned_symbol, scm_symbol_interned_p,
343 scm_make_symbol): New prototypes.
344
319b98ed
MV
3452002-02-03 Marius Vollmer <mvo@zagadka.ping.de>
346
347 * symbols.h (SCM_SET_SYMBOL_HASH): Removed.
348 (SCM_SYMBOL_INTERNED_P): New.
349 * symbols.c (scm_symbol_hash): Use scm_ulong2num instead of
350 SCM_MAKINUM since hash values can well be bignums.
351 (scm_mem2symbol): Only use hash values below SCM_T_BITS_MAX/2.
352 This signals a interned symbol.
353 (scm_mem2uninterned_symbol, scm_symbol_interned_p,
354 scm_make_symbol): New.
0187b4f4 355
319b98ed
MV
356 * print.c (scm_iprin1): Print uninterned symbols unreadably.
357
34472dfe
TTN
3582002-02-02 Thien-Thi Nguyen <ttn@giblet.glug.org>
359
360 * __scm.h (HAVE_UINTPTR_T): Only define if UINTPTR_T attributes
361 are defined: UINTPTR_MAX, INTPTR_MAX, INTPTR_MIN.
0187b4f4 362 Thanks to Dave Love.
34472dfe 363
1b39c2e3
MV
3642002-01-31 Marius Vollmer <mvo@zagadka.ping.de>
365
366 * symbols.c (scm_gensym): Use " g" as default prefix, not "g".
319b98ed 367 This might help to make unintended clashes less likely.
1b39c2e3
MV
368 (scm_string_to_symbol): Protect the string until the symbols is
369 created.
370
1fa86ca5
SJ
3712002-01-31 Stefan Jahn <stefan@lkcc.org>
372
373 * convert.c, convert.h, convert.i.c: New files containing C
34472dfe 374 array to Scheme conversion helpers meant to be replacement
1fa86ca5
SJ
375 functions for the deprecated gh interface.
376
377 * Makefile.am: Setup rules for new `convert.*' files.
378
af68e5e5
SJ
3792002-01-28 Stefan Jahn <stefan@lkcc.org>
380
381 * symbols.c (scm_c_symbol2str): New function, replacement for
382 `gh_scm2newsymbol()'.
383
34472dfe 384 * strings.c (scm_c_substring2str): New function. Proper
af68e5e5
SJ
385 replacement for `gh_get_substr()'.
386
387 * socket.c: Include `stdint.h' if available for the `uint32_t'
388 declaration.
389
34472dfe 390 * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits
af68e5e5
SJ
391 compiler warning).
392
393 * backtrace.c: Include `lang.h' for GUILE_DEBUG conditional.
394
c96d76b8 3952002-01-22 Neil Jerram <neil@ossau.uklinux.net>
34472dfe 396
c96d76b8 397 Other changes unrelated to Elisp...
34472dfe 398
c96d76b8
NJ
399 * eval.c (scm_m_if): Use s_if rather than repeating string literal
400 "if".
401 (comments): Fix a few typos.
402 (scm_for_each): Add parentheses around oddly unparenthesized
403 if/while conditions.
404
405 * read.c (scm_read_opts): Add full stop at end of doc for
406 `keywords' option.
407
408 * script.c (scm_compile_shell_switches): Use scm_str2symbol
409 instead of gh_symbol2scm.
410
411 * srcprop.h (SRCPROPBRK): Return C type rather than SCM.
412 (SRCBRKP): Use SRCPROPBRK rather than duplicating its logic.
413
414 * srcprop.c (scm_srcprops_to_plist, scm_source_property): Change
415 SRCPROPBRK (x) to SCM_BOOL (SRCPROPBRK (x)).
416
417 First batch of changes for Elisp support...
418
419 * alist.c, async.c, boolean.c, dynl.c, eval.c, filesys.c,
420 fluids.c, list.c, load.c, options.c, posix.c, print.c, sort.c,
421 throw.c, vectors.c, weaks.c: Add #include for lang.h.
422
423 * eval.c, eval.h, init.c, lang.c, lang.h: Use SCM_ENABLE_ELISP to
424 conditionalize compilation and initialization of Elisp support
425 function.
34472dfe 426
c96d76b8
NJ
427 * alist.c (scm_assq, scm_assv, scm_assoc), async.c
428 (scm_asyncs_pending, scm_run_asyncs, noop), backtrace.c
429 (scm_set_print_params_x), dynl.c (scm_make_argv_from_stringlist),
430 filesys.c (fill_select_type, retrieve_select_type), fluids.c
431 (scm_swap_fluids, scm_swap_fluids_reverse), list.c (scm_null_p,
432 scm_ilength, scm_append_x, scm_last_pair, scm_reverse,
433 scm_reverse_x, scm_list_ref, scm_list_set_x, scm_list_cdr_set_x,
bbd26b5a
NJ
434 scm_c_memq, scm_memv, scm_member), load.c (scm_search_path),
435 options.c (change_option_setting, scm_options), posix.c
436 (environ_list_to_c), print.c (scm_iprlist), throw.c
437 (scm_exit_status), vectors.c (scm_vector), weaks.c
438 (scm_weak_vector): Use SCM_NULL_OR_NIL_P instead of SCM_NULLP.
c96d76b8
NJ
439
440 * boolean.c (scm_not): Use `SCM_FALSEP || SCM_NILP' instead of
441 just SCM_FALSEP.
34472dfe 442
c96d76b8
NJ
443 * boolean.c (scm_boolean_p): Use `SCM_BOOLP || SCM_NILP' instead
444 of just SCM_BOOLP.
445
446 * eval.c (scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify,
447 s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify,
448 scm_m_0_ify, s_1_ify, scm_m_1_ify): Removed.
449 (scm_m_atfop): Support function aliasing. Support both function
450 args, which need transformation, and macro args, which do not.
451 Add explanatory comments.
452 (SCM_CEVAL): In switch cases for SCM_IM_AND, SCM_IM_COND,
453 SCM_IM_DO, SCM_IM_IF and SCM_IM_OR, add `|| SCM_NILP' to existing
454 checks for SCM_FALSEP. In switch case for SCM_IM_NIL_COND, use
455 SCM_NULLP || SCM_NILP instead of checks against (removed)
456 scm_lisp_nil. Removed switch cases for SCM_IM_NIL_IFY,
457 SCM_IM_T_IFY, SCM_IM_0_COND, SCM_IM_0_IFY, SCM_IM_1_IFY.
458
459 * lang.c (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null,
460 scm_m_while, scm_nil_eq): Commented out; I don't think we need
461 these, but I don't want to remove them yet, just in case.
462 (scm_init_lang): Define `%nil' variable on Scheme level to hold
463 Elisp nil value.
464
465 * lang.h (SCM_NILP): Test against Elisp nil value instead of
466 against (removed) scm_lisp_nil.
467 (SCM_NILNULLP, SCM_NIL2EOL, SCM_EOL2NIL): Commented out.
468 (SCM_NULL_OR_NIL_P): New.
469
470 * list.c (scm_append): Use SCM_VALIDATE_NULL_OR_NIL instead of
471 SCM_VALIDATE_NULL.
472
473 * print.c (scm_isymnames): Fix comment. Remove #@nil-ify,
474 #@t-ify, #@0-cond, #@0-ify, #@1-ify. Add #nil (for SCM_ELISP_NIL
475 value).
476
477 * sort.c (scm_sorted_p, scm_merge, scm_merge_list_x, scm_merge_x,
478 scm_sort_x, scm_sort, scm_stable_sort_x, scm_stable_sort): Use
479 SCM_NULL_OR_NIL_P instead of SCM_NULLP. In constructions like `if
480 (SCM_NULLP (x)) return SCM_EOL;', return x rather than SCM_EOL.
481
482 * tags.h (SCM_IM_NIL_IFY, SCM_IM_T_IFY, SCM_IM_0_COND,
483 SCM_IM_0_IFY, SCM_IM_1_IFY): Removed.
484 (SCM_IM_BIND, SCM_IM_DELAY, SCM_IM_CALL_WITH_VALUES, SCM_UNBOUND):
485 Numbering shifted down accordingly.
486 (SCM_ELISP_NIL): New IFLAG.
487
488 * validate.h (SCM_VALIDATE_NULL_OR_NIL): New.
34472dfe 489
a392ee15
DH
4902002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
491
492 * eval.c: Removed outdated references to "everr". Improved some
493 comments.
494
495 (scm_deval_args, deval_args): Renamed scm_deval_args to
496 deval_args, since it is not part of the interface.
497
498 (SCM_CEVAL): Added (maybe somewhat verbose) comment. Avoid to
499 use references to debug.vect[0] before it exists. Add parentheses
500 to switch statement.
501
502 * goops.h: Added local emacs variables.
503
24933780
DH
5042002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
505
506 * eval.[ch] (scm_deval_args): Made static.
507
508 * srcprop.c (scm_source_property): Remove redundant SCM_IMP
509 test.
510
511 * strings.c (scm_c_string2str): Clarified comment. Replaced
512 THINKME by FIXME for uniformness. Removed question about whether
513 arguments need to be protected from garbage collection: Arguments
514 must be protected as any other variable.
515
f9450cdb
DH
5162002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
517
518 * procs.h (SCM_CLOSURE_BODY): New Macro.
519
520 * debug.c (scm_procedure_name, scm_procedure_source), eval.c
521 (SCM_CEVAL, SCM_APPLY), goops.c (scm_sys_initialize_object,
522 get_slot_value, set_slot_value), procs.c
523 (scm_procedure_documentation), sort.c (closureless), stacks.c
524 (get_applybody): Replace SCM_CDR (SCM_CODE (...)) by
525 SCM_CLOSURE_BODY.
526
527 * sort.c (closureless): Prefer !SCM_FOOP over SCM_NFOOP.
528
5dc64f64
MV
5292001-12-26 Marius Vollmer <mvo@zagadka.ping.de>
530
531 * Makefile.am (guile-procedures.txt): When we don't have makeinfo,
532 use "cp" instead.
533
197ee3d3
MV
5342001-12-16 Marius Vollmer <mvo@zagadka.ping.de>
535
536 * stacks.c, stacks.h (scm_t_stackype): Renamed to scm_stack_type
537 everywhere.
538
539 * continuations.c (scm_make_continuation): Do not retain the
540 throw_value when the continuation is invoked.
541
4d4528e7
SJ
5422001-12-08 Stefan Jahn <stefan@lkcc.org>
543
544 * strings.c (scm_c_string2str): New function. Converts a
34472dfe 545 given Scheme string into a C string. Also put in two
4d4528e7
SJ
546 THINKME's regarding the malloc policy for the missing converter
547 routines.
548
98347362
NJ
5492001-12-01 Neil Jerram <neil@ossau.uklinux.net>
550
551 * gh_data.c (gh_module_lookup): Use scm_str2symbol rather than
552 gh_symbol2scm.
553
1fc8902f
DH
5542001-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
555
556 * gc.h (SCM_GC_CELL_WORD, SCM_GC_CELL_OBJECT,
557 SCM_GC_SET_CELL_WORD, SCM_GC_SET_CELL_OBJECT): New macros.
558
559 (SCM_GC_CELL_TYPE, SCM_CELL_WORD, SCM_CELL_OBJECT,
560 SCM_SET_CELL_WORD, SCM_SET_CELL_OBJECT, SCM_FREE_CELL_CDR,
561 SCM_GC_SET_CELL_OBJECT): Express in terms of SCM_GC_CELL_*
562 macros.
563
564 (SCM_FREE_CELL_P): Express in terms of SCM_GC_CELL_TYPE.
565
566 * inline.h (scm_alloc_cell, scm_alloc_double_cell): Use
567 SCM_GC_CELL_* macros when accessing free cells.
568
4878beec
MV
5692001-11-25 Marius Vollmer <mvo@zagadka.ping.de>
570
571 * vectors.h (SCM_MAKE_VECTOR_TAG): New.
34472dfe 572 * unif.h (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New.
4878beec
MV
573 * symbols.h (SCM_MAKE_SYMBOL_TAG): New.
574 * strings.h (SCM_MAKE_STRING_TAG): New.
575 * procs.h (SCM_MAKE_CCLO_TAG): New.
576 * numbers.h (SCM_MAKE_BIGNUM_TAG): New.
577
578 * goops.h: Replaced SCM_DEBUG_DEPRECATED with
579 !SCM_ENABLE_DEPRECATED.
580
581 * async.c, async.h (scm_system_async_mark_from_signal_handler):
582 New.
583
584 * scmsigs.c (scm_take_signal): Removed all code that assumes that
585 signal handlers are allowed to divert the flow of control. Call
586 scm_system_async_mark_from_signal_handler instead of
587 scm_system_async_mark.
588
589
590 Deprecated SCM_NEWCELL and SCM_NEWCELL2. Added scm_alloc_cell and
591 scm_alloc_double_cell in their place.
34472dfe 592
4878beec
MV
593 * gc.h (SCM_GC_SET_ALLOCATED, scm_debug_newcell,
594 scm_debug_newcell2, scm_tc16_allocated): Removed from header.
595 (scm_deprecated_newcell, scm_deprecated_newcell2): New.
596 (SCM_NEWCELL, SCM_NEWCELL2): Implement in terms of
597 scm_deprecated_newcell and scm_deprecated_newcell2.
598
599 gc.c (scm_tc16_allocated): Only define when including deprecated
600 features.
601 (scm_debug_newcell, scm_debug_newcell2): Removed.
602 (scm_init_storage): Do not initialize scm_tc16_allocated.
603 (scm_init_gc): Do it here.
604 (allocated_mark): New, from old code.
605 (scm_deprecated_newcell, scm_deprecated_newcell2): New.
34472dfe 606
4878beec 607 * inline.c, inline.h: New files.
34472dfe 608 * Makefile.am: Added them in all the right places.
4878beec 609
34472dfe 610 * _scm.h: Include "libguile/inline.h".
4878beec
MV
611
612 * alist.c, coop-threads.c, debug.c, environments.c, eval.c,
613 fports.c, gh_data.c, goops.c, guardians.c, lang.c, list.c,
614 num2float.i.c, numbers.c, pairs.c, ports.c, print.c, procs.c,
615 smob.c, smob.h, strings.c, strports.c, struct.c, symbols.c,
616 unif.c, variable.c, vectors.c, vports.c, weaks.c: Replaced
617 SCM_NEWCELL and SCM_NEWCELL2 with scm_alloc_cell and
618 scm_alloc_double_cell, respectively.
619
d2bc7fae
MV
6202001-11-23 Marius Vollmer <mvo@zagadka.ping.de>
621
622 * modules.c (scm_c_use_module): Adapt to changes to
623 `process-use-modules'.
624
5eec27e9
DH
6252001-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
626
627 * numbers.c (scm_divide): Fix more division by zero errors.
628
8978878f
GH
6292001-11-21 Gary Houston <ghouston@arglist.com>
630
631 * Makefile.am (OMIT_DEPENDENCIES): removed, since it seems to be
632 obsolete. autogen.sh says:
633 invalid unused variable name: `OMIT_DEPENDENCIES'
634
164826d3
DH
6352001-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
636
637 * numbers.c (scm_divide): Fix (/ 0). Thanks to Keith Wright for
638 reporting the bug.
639
84aff7a7
MV
6402001-11-21 Marius Vollmer <mvo@zagadka.ping.de>
641
642 * Makefile.am (install-exec-hook): Prepend $(DESTDIR) to filename.
643 Thanks to Eric Gillespie, Jr!
34472dfe 644
6063dc1d
SJ
6452001-11-21 Stefan Jahn <stefan@lkcc.org>
646
34472dfe
TTN
647 * win32-socket.c (getservent, setservent, endservent,
648 getprotoent, setprotoent, endprotoent): New functions.
6063dc1d
SJ
649 Appropriate replacements for M$-Windows.
650
651 * numbers.c (SIZE_MAX, PTRDIFF_MAX, PTRDIFF_MIN): Reintroduced
652 these definitions for GUILE_DEBUG.
653
654 * net_db.c: Include "win32-socket.h" if compiling with a native
34472dfe
TTN
655 M$-Windows compiler. Include some pieces of code (protoent and
656 servent interface) protected by HAVE_* macros when using a
6063dc1d
SJ
657 native M$-Windows compiler.
658
351982f6
MV
6592001-11-20 Marius Vollmer <mvo@zagadka.ping.de>
660
661 * modules.c (scm_c_export): Do nothing when the first argument is
662 already the terminating NULL. Thanks to Han-Wen Nienhuys!
663
849038b5
TTN
6642001-11-20 Thien-Thi Nguyen <ttn@glug.org>
665
666 * Makefile.am (libpath.h): In SCM_BUILD_INFO,
667 also include `buildstamp'.
668
5c790b44
RB
6692001-11-18 Rob Browning <rlb@defaultvalue.org>
670
671 * version.c
672 (s_scm_major_version): use SCM_MAJOR_VERSION.
673 (s_scm_minor_version): use SCM_MINOR_VERSION.
674 (s_scm_micro_version): use SCM_MICRO_VERSION.
675 (s_scm_version): use SCM_MAJOR_VERSION, SCM_MINOR_VERSION, and
676 SCM_MICRO_VERSION.
677
678 * version.h.in
679 (SCM_MAJOR_VERSION): renamed from SCM_GUILE_MAJOR_VERSION.
680 (SCM_MINOR_VERSION): renamed from SCM_GUILE_MINOR_VERSION.
681 (SCM_MICRO_VERSION): renamed from SCM_GUILE_MICRO_VERSION.
682
694a9bb3
NJ
6832001-11-18 Neil Jerram <neil@ossau.uklinux.net>
684
685 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
686 Rewrite docstrings without reference to substring-move-left/right,
687 since the latter no longer exist.
688
302c12b4
DH
6892001-11-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
690
691 * eval.c: Removed bogus comment about acros.
692
693 (scm_unmemocar): Use !SCM_CONSP instead of SCM_IMP.
694 Minimize scope of local variable. Eliminate dependency on
695 macro DEBUG_EXTENSIONS.
696
697 (s_splicing): New error message string.
698
699 (scm_m_body): Issue 'bad body' message rather than 'missing
700 expression' message.
701
702 (scm_m_quote): Eliminate unnecessary copying.
703
704 (scm_m_lambda, scm_m_letstar, scm_m_letrec, scm_m_let): Leave the
705 checking of the body to scm_m_body.
706
707 (scm_m_do): Move comment to function header. Rename arg1 to
708 binding. Made the code a bit easier to read.
709
710 (evalcar): Removed.
711
712 (iqq): Added a comment. Changed the depth parameter to
713 unsigned. Use size_t for vector lengths. Make sure vector object
714 is gc protected as long as its contents are read. Add some syntax
715 checks. Get rid of unnecessary SCM_IMP test. Clean up the
716 control structure a bit.
717
718 (scm_m_delay): Added comment about the implementation of
719 scm_m_delay.
720
721 (scm_m_define): Add comment about guile's currying define
722 syntax. Renamed 'proc' to 'name'. Eliminate dependency on macro
723 DEBUG_EXTENSIONS. Simplified code a bit. Eliminate SICP code.
724
725 (scm_m_letrec1): Removed. Part of the functionality is taken
726 over by the new function 'transform_bindings'.
727
728 (transform_bindings): New function. Takes over some of the
729 functionality of removed function 'scm_m_letrec1', namely to split
730 a list of bindings into a reversed list of variables and a list of
731 initializers.
732
733 (scm_m_letrec): Call 'transform_bindings'.
734
735 (scm_m_let): Minimized scope of local variables. Renamed 'proc'
736 to 'temp' and 'arg1' to 'binding'. Eliminated redundant SCM_NIMP
737 test. Use 'transform_bindings'. Fixed scoping error with named
738 let (Thanks to Aubrey Jaffer for reporting the bug and to Neil
739 Jerram for suggesting the fix). Cleaned up the control structure
740 a bit.
741
742 (scm_m_expand_body): Use 'transform_bindings'. Eliminated
743 unnecessary consing. Eliminated unnecessary
744 SCM_DEFER/ALLOW_INTS.
745
746 (SCM_CEVAL): Un-obfuscated some loops.
747
cecb4a5e
NJ
7482001-11-16 Neil Jerram <neil@ossau.uklinux.net>
749
8f85c0c6
NJ
750 * gc.h (scm_unhash_name): Old declaration removed.
751
752 * eval.c (s_scm_eval): Change @var{primitive-eval} to
753 @code{primitive-eval}.
754
755 * feature.c, vectors.c, net_db.c, unif.c, weaks.c, struct.c,
756 version.c, alist.c, ports.c, ramap.c, unif.c, strings.c, list.c:
757 Change @deffnx lines in docstrings to say {Scheme Procedure}
758 rather than primitive or procedure.
759
760 * posix.c (scm_execl), filesys.c (scm_close), unif.c
761 (scm_array_set_x, scm_array_contents, scm_uniform_array_read_x,
762 scm_bit_set_star_x, scm_bit_invert_x), ramap.c (scm_array_fill_x,
763 scm_array_for_each, scm_array_index_map_x), vectors.c (scm_vector,
764 scm_make_vector, scm_vector_to_list, scm_vector_fill_x), strop.c
765 (scm_string_split, scm_string_ci_to_symbol), strings.c
766 (scm_string_p), sort.c (scm_merge), print.c (scm_newline),
767 macros.c (scm_macro_type), alist.c (scm_acons, scm_assq):
768 Docstring fixes and improvements reflecting edits that have been
769 made in the reference manual source.
770
771 * objprop.c (scm_object_properties, scm_set_object_properties_x,
772 scm_object_property, scm_set_object_property_x): Remove invalid
773 @deffnx lines for corresponding procedure property primitives.
774
cecb4a5e
NJ
775 These changes add a @deffnx C function declaration and function
776 index entries for each Guile primitive to the copy of the doc
777 snarf output that is used for reference manual synchronization.
778 Online help is unchanged.
849038b5 779
cecb4a5e
NJ
780 * snarf.h (SCM_SNARF_DOCS): Output primitive's C function name.
781 (SCM_DEFINE, SCM_DEFINE1, SCM_REGISTER_PROC): Supply to C function
782 name to SCM_SNARF_DOCS.
849038b5 783
cecb4a5e
NJ
784 * guile-snarf-docs-texi.in: Pass the shell script's arguments into
785 snarf-check-and-output-texi.
786
787 * Makefile.am (guile-procedures.texi): New rule.
788 (BUILT_SOURCES, guile.texi, guile-procedures.txt, CLEANFILES):
789 Changed so that the last stage of doc snarfing is now performed
790 twice, once to produce guile-procedures.txt for online help, and
791 once to produce guile.texi for reference manual synchronization.
792
ddea3325
DH
7932001-11-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
794
795 * eval.c (RETURN): Wrap in do{}while(0) in order to make it
796 safely usable as a single statement followed by a ';', for example
797 in an if statement.
798
799 (SCM_CEVAL, SCM_APPLY): Clean up code using 'RETURN'.
800
72dd0a03
NJ
8012001-11-13 Neil Jerram <neil@ossau.uklinux.net>
802
803 * random.c (scm_random_solid_sphere_x,
804 scm_random_hollow_sphere_x): Correct "shere" typos.
805
806 * hashtab.c (scm_hash_fold): Add missing apostrophe to docstring.
807
808 * version.c (scm_version): Update docstring to include
809 `micro-version'.
810
6558eda6
MV
8112001-11-13 Marius Vollmer <mvo@zagadka.ping.de>
812
409b8588
MV
813 * modules.c (scm_c_export): Call va_end after collecting the
814 symbols.
815
adb8c0f2
MV
816 * strop.h, strop.c (scm_substring_move_left_x,
817 scm_substring_move_right_x): Removed.
818
6558eda6
MV
819 * __scm.h (HAVE_UINTPTR_T, HAVE_PTRDIFF_T, HAVE_LONG_LONG,
820 HAVE_LONG_LONGS): Define to "1" when defining them, to mirror what
821 configure does.
822
5d8fc640
MV
8232001-11-12 Marius Vollmer <mvo@zagadka.ping.de>
824
825 * numbers.c: Document macros to define when including
826 num2integral.i.c. MAX_VALUE and MIN_VALU are no longer used, we
827 now rely on SIZEOF_ macros that have been figured out at
828 configure time.
829
830 * num2integral.i.c: Adapt to new interface.
831 (NUM2INTEGRAL): Test whether a fixnum can be represented in the
832 target type by casting it and checking whether it is still the
833 same. Do not try to handle bignums for integral types that are
834 smaller than fixnums. When handling bignums, collect the
835 magnituse first into a unsigned type, and correctly check for
836 overflow.
837 (INTEGRAL2BIG): Do not use MIN_VALUE explicitely by observing that
838 only -MIN_VALUE can still be negative of all negative numbers (in
839 twos-complement).
840
849038b5 841 * tags.h (SIZEOF_SCM_T_BITS): Define it appropriately.
5d8fc640
MV
842
843 * __scm.h: Define HAVE_UINTPTR_T, HAVE_PTRDIFF_T and
844 HAVE_LONG_LONG depending on whether their size is non-zero.
845
d6b8cf11
TTN
8462001-11-11 Thien-Thi Nguyen <ttn@glug.org>
847
848 * strop.c (scm_string_null_p): Docfix; nfc.
849 Thanks to Scott Lenser.
850
9401323e
NJ
8512001-11-07 Neil Jerram <neil@ossau.uklinux.net>
852
853 * extensions.c (scm_load_extension): Canonicalize docstring
854 whitespace.
855
856 * unif.c (scm_uniform_array_write), ports.c
857 (scm_current_output_port, scm_force_output), dynwind.c
858 (scm_dynamic_wind), scmsigs.c (scm_setitimer, scm_getitimer),
859 filesys.c (scm_open, scm_lstat), struct.c
860 (scm_make_struct_layout), random.c (scm_random,
861 scm_random_solid_sphere_x, scm_random_hollow_sphere_x, strop.c
862 (scm_i_index): Remove superfluous whitespace from end of docstring
863 lines.
864
865 * filesys.c (scm_select), guardians.c (scm_guardian_greedy_p),
866 strings.c (scm_make_string), variable.c (scm_make_variable,
867 scm_make_undefined_variable, scm_variable_p, scm_variable_set_x,
868 scm_variable_bound_p), scmsigs.c (scm_setitimer, scm_getitimer),
869 posix.c (scm_crypt), struct.c (scm_make_vtable_vtable), hashtab.c
870 (scm_hash_fold), ports.c (scm_port_for_each): Remove superfluous
871 newline at end of docstrings.
872
873 * modules.c (scm_set_current_module): Add missing newline to
874 docstring.
875
b4e15479
SJ
8762001-11-07 Stefan Jahn <stefan@lkcc.org>
877
878 * win32-socket.[ch]: New files. Defines Winsock-API error codes
879 and makes them available through Guile. That is because the
880 Winsock-API does not store its errors in `errno' and thus cannot
881 return error messages via `strerror (errno)'.
882
883 * socket.c (scm_init_socket): Initialize `win32-socket' part
884 here under M$-Windows.
885
d6b8cf11 886 * numbers.h: Added missing declaration of
b4e15479
SJ
887 `scm_sys_check_number_conversions()'.
888
889 * error.c: Local definition of SCM_I_STRERROR and SCM_I_ERRNO
890 and use in `(strerror)' and `(system-error)'.
891
d6b8cf11 892 * Makefile.am (EXTRA_libguile_la_SOURCES): Added
b4e15479
SJ
893 `win32-socket.[ch]' to extra source and header files.
894
7ab89df1
MV
8952001-11-06 Marius Vollmer <mvo@zagadka.ping.de>
896
897 * script.c (scm_shell_usage, scm_compile_shell_switches): Prepend
898 a call to turn-on-debugging when --debug has been given instead of
899 turning it on directly. Also, handle new `--no-debug' option,
900 which might suppress the call to turn-on-debugging.
901
0233bfc1
SJ
9022001-11-05 Stefan Jahn <stefan@lkcc.org>
903
904 * struct.c (s_scm_struct_vtable_p): Corrected docstring.
905
8f99e3f3
SJ
9062001-11-04 Stefan Jahn <stefan@lkcc.org>
907
908 * Makefile.am (libguile_la_LIBADD): Added $(THREAD_LIBS_LOCAL)
d6b8cf11 909 here (was at guile_LDADD) which describes the dependency
8f99e3f3
SJ
910 correctly and allows a clean build on Win32.
911
d6b8cf11 912 * __scm.h (SCM_API): Follow-up patch. Renamed __FOO__ macros
8f99e3f3
SJ
913 into FOO.
914
915 * __scm.h: USE_DLL_IMPORT indicates the usage of the DLL
916 import macros for external libraries (libcrypt, libqthreads,
917 libreadline and libregex).
918
919 * coop-defs.h: Include <winsock2.h> for `struct timeval'.
920
921 * posix.c (flock): Added support for flock() in M$-Windows.
922
923 * guile.c (SCM_IMPORT): Follow-up patch. Use SCM_IMPORT instead
924 of __SCM_IMPORT__.
925
926 * fports.c (getflags): Differentiate reading and writing pipes
927 descriptors.
928
929 * filesys.c (S_IS*): Redefine all of the S_IS*() macros for
930 M$-Windows.
931
932 * coop.c (coop_condition_variable_timed_wait_mutex): Use
933 conditionalized error code if `ETIMEDOUT' is not available.
934 (scm_thread_usleep): Remove bogus declaration of `struct timeval
935 timeout'.
936
937 * numbers.c (PTRDIFF_MIN): Moved this definition where it actually
938 belongs. That is because NO_PREPRO_MAGIC gets undefined after
939 each inclusion of `num2integral.i.c'.
940 (SIZE_MAX): Define NO_PREPRO_MAGIC if SIZE_MAX is undefined.
941
4e21fa60
MV
9422001-11-03 Marius Vollmer <mvo@zagadka.ping.de>
943
944 * eval.c (scm_m_begin): Allow `(begin)`, with no subforms.
945 (SCM_CEVAL): Evaluate an empty `begin' to SCM_UNSPECIFIED.
946
08112c95
MD
9472001-11-02 Mikael Djurfeldt <mdj@linnaeus>
948
7663c008
MD
949 * print.c (scm_iprin1): Mark print state as revealed when
950 dispatching to generic write or display.
951
08112c95
MD
952 * unif.c (scm_ra2contig): Fixed memory overwrite bug.
953
f712d833
MV
9542001-11-02 Marius Vollmer <mvo@zagadka.ping.de>
955
956 Support for native Win32. Thanks to Stefan Jahn!
d6b8cf11 957
f712d833
MV
958 * Makefile.am: Add win32-uname.c, win32-uname.h, win32-dirent.c
959 and win32-dirent.h to extra source and header files. These
960 include the uname() and the POSIX dirent interface implementation
961 for M$-Windows. Put `-no-undefined' into LDFLAGS to support
962 linkers which do not allow unresolved symbols inside shared
963 libraries. Corrected `guile_filter_doc_snarfage$(EXEEXT)'
964 dependency.
965
d6b8cf11
TTN
966 * __scm.h: Defined SCM_API. This macro gets prepended to all
967 function and data definitions which should be exported or imported
f712d833
MV
968 in the resulting dynamic link library in the Win32 port.
969
970 * __scm.h, alist.h, arbiters.h, async.h, backtrace.h, boolean.h,
d6b8cf11 971 chars.h, continuations.h, coop-defs.h, coop-threads.h,
f712d833
MV
972 debug-malloc.h, debug.h, deprecation.h, dynl.h, dynwind.h,
973 environments.h, eq.h, error.h, eval.h, evalext.h, extensions.h,
974 feature.h, filesys.h, fluids.h, fports.h, gc.h, gdb_interface.h,
975 gdbint.h, gh.h, goops.h, gsubr.h, guardians.h, hash.h, hashtab.h,
976 hooks.h, init.h, ioext.h, iselect.h, keywords.h, lang.h, list.h,
d6b8cf11 977 load.h, macros.h, mallocs.h, modules.h, net_db.h, numbers.h,
f712d833
MV
978 objects.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h,
979 procprop.h, procs.h, properties.h, ramap.h, random.h, rdelim.h,
980 read.h, regex-posix.h, root.h, rw.h, scmsigs.h, script.h, simpos.h,
981 smob.h, socket.h, sort.h, srcprop.h, stackchk.h, stacks.h, stime.h,
982 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
983 tags.h, threads.h, throw.h, unif.h, values.h, variable.h, vectors.h,
984 vports.h, weaks.h:
985 Prefixed each each exported symbol with SCM_API.
986
d6b8cf11 987 * continuations.c: Added comment about the use of the extern
f712d833
MV
988 declarations of {get,set}context() functions used in the ia64 port.
989
990 * continuations.h, gc.c: `__libc_ia64_register_backing_store_base'
991 is meant to be a `unsigned long *'.
992
993 * filesys.c: Include `direct.h' if possible. Use local
994 `win32-dirent.h' for the native M$-Windows port. Define S_IS*()
995 macros for M$-Windows. Implementation of `fstat_Win32()' which is
996 able to differentiate between sockets and other file descriptors.
997 Use this function as wrapper in `scm_fstat()'. Fixed typo in
998 `scm_dirname()'.
999
1000 * fports.c: Include `io.h' is possible. Put `*fp' into referring
1001 statement block in `scm_fport_buffer_add()'.
1002 Some corrections in `getflags()'.
d6b8cf11 1003
f712d833
MV
1004 * gdb_interface.h (GDB_INTERFACE): Also support __CYGWIN__.
1005
1006 * guile.c: Make sure to define __SCM_IMPORT__ for shared library
1007 build on Win32. Disable preloaded symbols on Win2 platforms.
1008
1009 * ioext.c, ports.c: Include `io.h' is possible.
1010
1011 * mkstemp.c: Include `process.h' is possible.
1012
1013 * net_db.c: Disable extern declaration of `h_errno' for __CYGWIN__,
1014 too.
1015 Put `scm_return_entry()' into HAVE_GETSERVENT conditional.
1016
1017 * posix.c: Remove unnecessary dirent includes and defines. Include
1018 local `win32-uname.h' for MinGW. Extern declaration of
1019 `mkstemp()' for systems where it does not exists. Make
1020 `getlogin()' available on M$-Windows.
1021
1022 * scmsigs.c: Made `usleep()' avalable on MinGW.
1023
1024 * stime.c: On M$-Windows `tzname[]' is known to be `_tzname[]'.
1025
1026 * win32-dirent.c: Include "win32-dirent.h", not "dirent.h".
1027
1028 * win32-uname.c: Include "win32-uname.h", not "uname.h".
1029
d245ce23
MD
10302001-10-28 Mikael Djurfeldt <mdj@linnaeus>
1031
1032 * unif.c (scm_uniform_array_read_x, scm_uniform_array_write):
1033 Don't apply scm_uniform_vector_length on arrays.
1034
8ea46249
DH
10352001-10-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
1036
1037 * eval.c (scm_lookupcar, scm_m_letstar, scm_m_do, iqq,
1038 scm_m_define, scm_m_letrec1, scm_m_let, scm_m_expand_body,
1039 scm_macroexp, unmemocopy, scm_eval_args, scm_deval_args,
1040 SCM_CEVAL, scm_map, scm_init_eval): When building lists, prefer
1041 scm_list_<n> over scm_cons[2]?.
1042
1043 (scm_unmemocar, scm_m_cond, scm_m_letstar, scm_m_letrec1,
1044 scm_m_let, scm_m_atbind, unmemocopy, SCM_CEVAL, SCM_APPLY): Use
1045 SCM_C[AD][AD]R instead of explicit form.
1046
1047 (scm_m_set_x, scm_m_cond, scm_m_letstar, scm_m_do): Reordered
1048 comparison parameters.
1049
1050 (scm_m_case, scm_m_cond, scm_m_letstar, scm_m_do, SCM_CEVAL): Use
1051 !SCM_NULLP instead of SCM_NIMP.
1052
1053 (scm_m_case): Don't copy the form. Renamed proc to clause and
1054 minimized its scope. Renamed x to clauses. Removed side
1055 effecting operation from macro call.
1056
1057 (scm_m_cond): Don't copy the form. Renamed arg1 to clause and
1058 minimized its scope. Renamed x to clauses. Minimized the scope
1059 of variable 'len'. Make sure the else clause is treated specially
1060 even in case of '=>' occurences. Don't change the else to #t in
1061 order to be able to distinguish this case in the evaluator. Leave
1062 type checking of the recipient to the evaluator.
1063
1064 (scm_c_improper_memq): Made the comment somewhat clearer.
1065
1066 (scm_m_lambda): Renamed proc to formals. Removed unnecessary
1067 test for SCM_IM_LET at the place of the formal parameters.
1068 Simplified the formal parameter checking.
1069
1070 (scm_m_letstar): Added Comment. Renamed proc to bindings.
1071 Renamed arg1 to binding and minimized its scope. Eliminated
1072 unnecessary consing.
1073
1074 (scm_m_do): Renamed proc to bindings. Minimized the scope of
1075 variable 'len'.
1076
1077 (build_binding_list): New static function.
1078
1079 (unmemocopy): Don't use SCM_TYP7 on pairs (it's unclean).
1080 Further, split up the 'letrec' unmemoizing code to the
1081 corresponding parts for 'do', 'let' and 'letrec', adding comments
1082 to each form. Cleanup the handling of the do form (This removes
1083 some *real* code :-).
1084
1085 (SCM_CEVAL): Removed side effecting operation from macro call.
1086 Handle the 'else clause of the 'cond form specially - the symbol
1087 'else is not replaced with #t any more.
1088
8186c4f5
GH
10892001-10-14 Gary Houston <ghouston@arglist.com>
1090
1091 * version.c (scm_version): use sprintf instead of snprintf,
1092 for portability. thanks to Bill Schottstaedt.
1093
89759084
MD
10942001-10-14 Mikael Djurfeldt <mdj@linnaeus>
1095
1096 * read.c (scm_lreadr): When user-defined hash procedure returns
1097 SCM_UNSPECIFIED: Fall back to standard handling instead of raising
1098 an exception. (This prevents parsing of uniform vectors from
1099 interfering with parsing of numbers.)
1100
9c7ce563
MV
11012001-10-13 Marius Vollmer <mvo@zagadka.ping.de>
1102
1103 * numbers.c: Set NO_PREPRO_MAGIC when defining our version of
1104 PTRDIFF_MIN. Thanks to Ken Raeburn.
1105
11062001-10-07 Marius Vollmer <mvo@zagadka.ping.de>
1107
1108 * Makefile.am (EXTRA_libguile_la_SOURCES): Added "mkstemp.c".
1109
1110 * eval.c (scm_m_atbind): First try to find the variable without
1111 defining it locally; when it has not been found, define it
1112 locally.
1113
1114 * modules.c (module_variable): Pass over variables that exist but
1115 are unbound.
1116
11172001-10-06 Marius Vollmer <mvo@zagadka.ping.de>
1118
1119 * backtrace.c (display_backtrace_file_and_line): Only use
1120 scm_basename when POSIX support is compiled in. Thanks to Chris
1121 Cramer.
1122
1fe5e088
DH
11232001-10-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
1124
1125 * numbers.c (mem2uinteger): Return number read so far when coming
1126 across a hexdigit after having read a # or if not reading a hex
1127 value. This will enable the calling code to correctly handle
1128 forms like 1e2. (The background is, that the exponent markers d,
1129 e and f are also hexdigits.) Thanks to Mikael Djurfeldt for
1130 providing this patch.
1131
1132 (mem2complex): Fix erroneous double-negation. Now, numbers like
1133 1-i will be read correctly.
1134
68665a97
MD
11352001-10-12 Mikael Djurfeldt <mdj@linnaeus>
1136
1137 * debug.c (scm_mem_to_proc): Fixed typo in previous change.
1138
1139 * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro.
1140
d5cf5324
DH
11412001-10-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
1142
1143 * print.c (scm_print_state_vtable, print_state_pool):
1144 Initialize. These variables are now registered as gc roots.
1145
1146 (scm_current_pstate): Update documentation.
1147
1148 (scm_current_pstate, scm_make_print_state, scm_free_print_state,
1149 scm_prin1, scm_init_print): print_state_pool is registered as a
1150 gc root and thus does not need to be protected by a surrounding
1151 pair any more.
1152
1153 (make_print_state): The car of print_state_pool no longer holds
1154 the scm_print_state_vtable.
1155
1156 (scm_current_pstate, scm_make_print_state, print_circref,
1157 scm_iprin1, scm_prin1, scm_iprlist): Prefer !SCM_<foo> over
1158 SCM_N<foo>.
1159
1160 (scm_prin1): When building lists, prefer scm_list_<n> over
1161 scm_cons[2]?.
1162
1163 (scm_iprlist): Removed a redundant SCM_IMP test.
1164
1165 (scm_simple_format): Use SCM_EQ_P to compare SCM values.
1166
37c56aec
DH
11672001-10-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
1168
1169 * debug.c (scm_make_iloc): Prefer !SCM_<foo> over SCM_N<foo>.
1170
1171 (scm_memcons, scm_mem_to_proc): When building lists, prefer
1172 scm_list_<n> over scm_cons[2]?.
1173
1174 (scm_mem_to_proc): Prefer SCM_CONSP over SCM_NIMP.
1175
1176 (scm_procedure_name): Use SCM_CADR instead of explicit form.
1177
1178 (debugobj_print): Coerce scm_intprint arg 1 to long, not int.
1179 Thanks to Rob Browning for the patch (see log entry 2001-09-21) -
1180 for some reason his patch didn't make it into the cvs.
1181
79d34f68
DH
11822001-10-09 Dirk Herrmann <D.Herrmann@tu-bs.de>
1183
1184 * numbers.c (mem2decimal_from_point): Cleaned up the parsing a
1185 little bit - should even be somewhat more accurate now.
1186
5e137c65
RB
11872001-10-08 Rob Browning <rlb@defaultvalue.org>
1188
1189 * gc.c: support ia64 register backing store.
1190 (SCM_MARK_BACKING_STORE): new macro.
1191
1192 * continuations.h: support ia64 register backing store.
1193 (struct scm_t_contregs): add ia64 register backing store.
1194
1195 * continuations.c: support ia64 register backing store.
1196 (continuation_mark): mark ia64 register backing store.
1197 (continuation_free): free ia64 register backing store.
1198 (scm_make_continuation): capture ia64 register backing store.
1199 (copy_stack_and_call): copy ia64 register backing store.
1200
ee083ac2
DH
12012001-10-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
1202
1203 * hashtab.c (scm_hash_fn_create_handle_x): The result of assoc_fn
1204 is known to be #f if no entry is found. Thus, use !SCM_FALSEP
1205 instead of SCM_NIMP to test for that case.
1206
1207 * strings.h (SCM_SET_STRING_LENGTH): Cast the length to
1208 scm_t_bits instead of long.
1209
71dcdbf9
MV
12102001-10-06 Marius Vollmer <mvo@zagadka.ping.de>
1211
1212 * tags.h (SCM_T_BITS_MAX, SCM_T_SIGNED_BITS_MAX,
1213 SCM_T_SIGNED_BITS_MIN): New.
1214 * numbers.h (SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM):
1215 Use them to make these macros computable by the preprocessor.
1216
1217 * num2integral.i.c (INTEGRAL2NUM): Let the preprocessor test
1218 whether the integral type fits in a fixnum, not the compiler.
1219 This removes a spurious compiler warning. Also, honor the
1220 NO_PREPRO_MAGIC flag to suppress any preprocessor tests. This is
1221 needed for `long long's.
1222
1223 * numbers.c: Define NO_PREPRO_MAGOC when including
1224 num2integral.c.i for `long long' and `signed long long'.
1225
152812c0
MD
12262001-10-06 Mikael Djurfeldt <mdj@linnaeus>
1227
1228 These changes fixes a race condition in the Guile coop - pthread
1229 compatibility code.
d6b8cf11 1230
152812c0
MD
1231 * coop.c (mother_awake_p): New variable.
1232 (coop_create): Set mother_awake_p before creating or signalling
1233 mother; wait until mother is going to sleep before returning.
1234 (mother): Reset mother_awake_p before going to sleep.
1235
11d49f54
DH
12362001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
1237
1238 * options.c (protected_objects, scm_init_options): The content of
1239 protected_objects is now protected from garbage collection using
1240 scm_gc_register_root instead of scm_permanent_object.
1241
1242 (get_option_setting): New static function that computes an option
1243 setting as it was formerly done in the function scm_options.
1244
1245 (get_documented_option_setting): New static function that
1246 returns option documentation as it was formerly done in the
1247 function scm_options. Note that documentation C strings are no
1248 longer precomputed into SCM objects. Instead, they are converted
1249 into SCM strings every time get_documented_option_setting is
1250 called.
1251
1252 (change_option_setting): New static functions that modifies the
1253 option setting as it was formerly done in the function
1254 scm_options. The function is now exception safe, i. e. won't
1255 cause a memory leak when interrupted. Further, only non-immediate
1256 option values are added to the protection list.
1257
1258 (scm_options): This function now has only the purpose to dispatch
1259 to to get_option_setting, get_documented_option_setting or
1260 change_option_setting, depending on the arguments given to
1261 scm_options.
1262
1263 (scm_init_opts): Don't convert documentation C strings into SCM
1264 strings. Further, don't protect any object values: They _must_
1265 be immediate values, otherwise there is no guarantee that they
1266 have not been collected before anyway.
1267
1268 * options.[ch] (scm_t_option): Made type unsigned, name into a
1269 constant char* and val into a scm_t_bits type.
1270
1271 (scm_options, scm_init_opts): The number of options is guaranteed
1272 to be larger or equal to zero. Thus, the type is changed to
1273 unsigned.
1274
3dbacabc
DH
12752001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
1276
1277 * num2integral.i.c (NUM2INTEGRAL): Eliminated some warnings about
1278 testing an unsigned value for being >= 0.
1279
14282d0f
DH
12802001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
1281
1282 * numbers.h: Removed old comment about using SCM_CAR to access
1283 non-pair cells.
1284
1285 (SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM): Make sure
1286 the return value is signed. Thanks to Brian Crowder for the bug
1287 report.
1288
1289 (SCM_SRS): Avoid unnecessary casting and don't unpack input
1290 values. With this patch, SCM_SRS can be safely used for other
1291 types than scm_t_signed_bits. However, it should still better be
1292 an internal macro and thus be renamed to SCM_I_SRS.
1293
1294 (SCM_MAKINUM, SCM_INUM): Use proper casting.
1295
2dbec7b5
GH
12962001-10-03 Gary Houston <ghouston@arglist.com>
1297
1298 * continuations.h, unif.h: in the descriptions of the bit patterns
1299 of the heap cells, make bit 0 the least significant.
1300
cf4ee841
TTN
13012001-09-25 Thien-Thi Nguyen <ttn@glug.org>
1302
1303 * chars.h (SCM_MAKE_CHAR): Use `scm_t_bits' instead of `intptr_t'.
1304 Thanks to Golubev I. N.
1305
4a151b3d
GH
13062001-09-25 Gary Houston <ghouston@arglist.com>
1307
1308 * ports.c (scm_drain_input): extended the docstring. thanks to
1309 Alex Schroeder and Thien-Thi Nguyen.
1310
581ded70
MD
13112001-09-23 Mikael Djurfeldt <mdj@linnaeus>
1312
1313 * validate.h (SCM_NUM2FLOAT, SCM_NUM2DOUBLE,
1314 SCM_VALIDATE_FLOAT_COPY, SCM_VALIDATE_DOUBLE_COPY): New
1315 macros. (The NUM names might soon change.)
1316
1317 * numbers.h: Added missing declarations.
1318
5437598b
MD
13192001-09-22 Mikael Djurfeldt <mdj@linnaeus>
1320
1321 * Makefile.am: Distribute num2float.i.c.
1322
1323 * num2float.i.c: New file, multiply included by numbers.c, used
1324 to "templatize" the float <-> num conversion routines.
1325
1326 * numbers.c: New functions: scm_num2float, scm_float2num,
1327 scm_num2double, scm_double2num.
1328
0b073f0f
RB
13292001-09-21 Rob Browning <rlb@defaultvalue.org>
1330
1331 * .cvsignore: really add version.h
1332
1333 * strings.h (SCM_SET_STRING_LENGTH): coerce "l" to a long.
1334 Otherwise it fails on the alpha. However, we might rather choose
1335 this size conditionally.
1336
1337 * numbers.c (scm_gcd): change "k" to a long from an int.
1338 Otherwise it fails on the alpha. However, we might rather choose
1339 this size conditionally.
1340
1341 * error.c (scm_wta): coerce char* to intptr_t before int
1342 assignment.
1343
1344 * debug.c (debugobj_print): coerce scm_intprint arg 1 to long, not
1345 int.
1346
1347 * chars.h (SCM_MAKE_CHAR): coerce value to intptr_t.
1348
2830fd91
MD
13492001-09-20 Mikael Djurfeldt <mdj@linnaeus>
1350
1351 * numbers.c (scm_integer_expt): Accept inexact integer in second
1352 argument. (Thanks to Bill Schottstaedt.)
1353
c13f0a90
RB
13542001-09-20 Rob Browning <rlb@defaultvalue.org>
1355
1356 * .cvsignore: add version.h
1357
1358 * versiondat.h.in: removed (obsolete).
1359
1360 * version.h.in: renamed from version.h.
1361 (SCM_GUILE_MAJOR_VERSION): new public macro.
1362 (SCM_GUILE_MINOR_VERSION): new public macro.
1363 (SCM_GUILE_MICRO_VERSION): new public macro.
1364
1365 * version.h: renamed to version.h.in.
1366
1367 * version.c
1368 (scm_major_version): support integer *_VERSION macros.
1369 (scm_minor_version): support integer *_VERSION macros.
1370 (scm_micro_version): support integer *_VERSION macros.
1371 (scm_version): support integer *_VERSION macros.
1372
147c18a0
MD
13732001-09-20 Mikael Djurfeldt <mdj@linnaeus>
1374
1375 * error.c, error.h: Made error keys globally accessible.
1376 Applications might want to test for these or use them in a direct
1377 call to scm_error.
1378
1379 * num2integral.i.c (NUM2INTEGRAL): Report an error when these
1380 routines are passed an inexact. This change in behavior is
1381 motivated by concordance with R5RS: It is more common that a
1382 primitive doesn't want to accept an inexact for an exact.
1383
662c5539
DH
13842001-09-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
1385
1386 The following patch partially undoes my patch from 2001-06-30,
1387 where I added the function scm_gc_mark_cell_conservatively. The
1388 function is buggy, since it breaks guile during conservative
1389 marking if a pointer on the stack points directly into the list of
1390 free cells on the heap: With conservative cell marking this will
1391 cause the whole free list to be scanned and marked - boom!
1392
1393 * gc.c (allocated_mark, MARK, heap_segment,
1394 scm_gc_mark_cell_conservatively, scm_init_storage), gc.h
cf4ee841 1395 (scm_gc_mark_cell_conservatively): Remove function
662c5539
DH
1396 scm_gc_mark_cell_conservatively and update the corresponding
1397 comments and uses accordingly. Thanks to Christopher Cramer for
1398 the patch. (Minor corrections by me.)
1399
6c1b7628
GH
14002001-09-15 Gary Houston <ghouston@arglist.com>
1401
1402 * root.h (scm_root_state): removed the continuation_stack and
1403 continuation_stack_ptr members, which have no apparent purpose.
1404 (scm_continuation_stack, scm_continuation_stack_ptr): #defines
1405 removed.
662c5539 1406
6c1b7628
GH
1407 * root.c (root_mark), init.c (restart_stack, start_stack), gc
1408 (scm_igc): remove all references to contination_stack and
1409 continuation_stack_ptr, avoiding allocation of a vector and
1410 useless processing during gc.
1411
455c0ac8
DH
14122001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
1413
1414 * guardians.c (tconc_t, t_tconc): Renamed tconc_t to t_tconc.
1415
1416 (TCONC_IN): Make sure that the cell word 0 is initialized last.
1417
1418 (guardians_t, t_guardians): Renamed guardians_t to t_guardians.
1419
1420 (GUARDIAN, GUARDIAN_DATA): Renamed GUARDIAN to GUARDIAN_DATA.
1421
1422 (guardian_apply, scm_get_one_zombie, scm_make_guardian,
1423 mark_and_zombify): Prefer !SCM_<foo> over SCM_N<foo>.
1424
22ba637b
DH
14252001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
1426
1427 * guardians.c (mark_dependencies_in_tconc,
1428 whine_about_self_centered_zombies, scm_init_guardians): Register
1429 the static global variable `self_centered_zombies' via
1430 scm_gc_register_root, to make some cdr-ing unnecessary.
1431
c3c4d801
DH
14322001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
1433
1434 * backtrace.c (display_backtrace_file,
1435 display_backtrace_file_and_line): Use SCM_EQ_P when comparing SCM
1436 values, use SCM_FALSEP when comparing SCM values against #f.
1437 Thanks to Rob Browning for the bug report.
1438
b00418df
DH
14392001-09-12 Martin Baulig <martin@home-of-linux.org>
1440
1441 * strings.[ch] (scm_str2string): New function.
1442
a0d34a0b
MV
14432001-09-06 Marius Vollmer <mvo@zagadka.ping.de>
1444
1445 * gc.c (scm_done_free): Always subtract size from scm_mallocated
1446 when computing nm, even if it's negative.
1447 (scm_must_malloc): Abort on overflow of scm_mtrigger.
1448 (scm_must_realloc): Likewise.
1449
b10586f0
ML
14502001-09-01 Michael Livshin <mlivshin@bigfoot.com>
1451
1452 * numbers.c (scm_sys_check_number_conversions): new function,
1453 defined if Guile is compiled in debugging mode. currently checks
1454 `scm_num2ulong', should check much much more.
1455
1456 * num2integral.i.c (NUM2INTEGRAL): when converting a bignum to
1457 unsigned, ensure that it's positive. thanks to Martin Baulig!
cf4ee841 1458
8c494e99
DH
14592001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
1460
1461 * __scm.h: Added new section about compile time selectable
1462 features.
1463
1464 (long_long, ulong_long, scm_sizet, SCM_WNA, SCM_OUTOFRANGE,
1465 SCM_NALLOC, SCM_HUP_SIGNAL, SCM_INT_SIGNAL, SCM_FPE_SIGNAL,
1466 SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, SCM_ALRM_SIGNAL, SCM_GC_SIGNAL,
1467 SCM_TICK_SIGNAL, SCM_SIG_ORD, SCM_ORD_SIG, SCM_NUM_SIGS):
1468 Removed.
1469
1470 * deprecation.c (scm_include_deprecated_features): Simplified.
1471
1472 * eval.c (EVALCAR, unmemocopy), eval.h (SCM_XEVALCAR): Use
1473