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