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