(scm_threads_mark_stacks) [SCM_STACK_GROWS_UP]: Correction
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
63947c7a
MV
12004-05-18 Marius Vollmer <mvo@zagadka.de>
2
3 * hashtab.c (rehash_after_gc): Bug fix: properly link the
4 processed hashtables back into the weak_hashtables list. Thanks
5 to Bill Schottstaedt!
6
e7313a9d
DH
72004-05-16 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
8
9 * eval.c (unmemoize_quote): New static function.
10
11 (scm_m_quote, scm_m_atslot_ref, SCM_CEVAL): Changed the byte code
12 representation of 'quote' and '@slot-ref' to an improper list.
13 This reduces execution time, the number of cells used to hold the
14 memoized code, and thus also reduces garbage collection time.
15
16 (scm_unmemocopy): Use unmemoize_quote for quote expressions.
17
18 (SCM_CEVAL): Changed macro handling to also work with macros that
19 return improper lists. Added an assertion, that the code returned
20 by a macro transformer will not lead to cycles in the memoized
21 code.
22
e5156567
DH
232004-05-15 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
24
25 No functional change, just rearrangements of functions within the
26 file.
27
28 * eval.c (scm_ilookup, scm_unbound_variable_key,
29 error_unbound_variable, scm_lookupcar1, scm_lookupcar): Moved to
30 the definitions used for execution, since that's where they will
31 belong to later.
32
651f07f8
DH
332004-05-15 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
34
35 * numbers.h (SCM_SLOPPY_FRACTIONP): Removed. It was not used
36 throughout guile, has not been part of an official release yet,
37 and the concept of sloppy predicates has never been a good idea.
38
39 (SCM_FRACTION_NUMERATOR, SCM_FRACTION_DENOMINATOR,
40 SCM_FRACTION_SET_NUMERATOR, SCM_FRACTION_SET_DENOMINATOR):
41 Simplified.
42
770e048f
DH
432004-05-15 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
44
45 * throw.c (SETJBJMPBUF, SCM_SETJBDFRAME): Add cast to scm_t_bits
46 to make explicit what happens.
47
2ff08405
DH
482004-05-15 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
49
50 * dynl.c (SET_DYNL_HANDLE): Add cast to scm_t_bits to make
51 explicit what happens.
52
53 * guardians.c (TCONC_IN): Use SCM_SET_CELL_OBJECT_x rather than
54 SCM_SET_CELL_WORD_x when writing scheme objets to cell elements.
55
89afb9cd
MV
562004-05-11 Marius Vollmer <mvo@zagadka.de>
57
58 * scmsigs.c (scm_sigaction_for_thread): Validate that the handler
59 is indeed a procedure when it isn't a number.
60
3d5ebfa9
MV
612004-05-10 Marius Vollmer <mvo@zagadka.de>
62
63 Convert floating point numbers into strings with an arbitrary
64 radix. Thanks to Richard Todd!
65
66 * numbers.c (FLOBUFLEN): Increase so that radix 2 strings will
67 fit.
68 (fx): Removed.
69 (scm_dblprec, fx_per_radix, init_dblprec, init_fx_radix,
70 number_chars): New, to support variable radices.
71 (idbl2str): Use above instead of the old base-10 only tables.
72 (iflo2str): Pass on new RADIX argument to idbl2str.
73 (scm_number_to_string): Pass radix to iflo2str.
74 (scm_print_real, scm_print_complex): Explicitly pass radix 10 to
75 iflo2str.
76 (scm_init_numbers): Call init_dblprec and init_fx_radix for all
77 possible radices.
78
3ae69bb4
KR
792004-05-10 Kevin Ryde <user42@zip.com.au>
80
81 * numbers.c (scm_logbit_p): Correction to test above the end of an
82 inum. Reported by Jan Konecny.
83
27968825
MV
842004-05-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
85
86 * gc.h (scm_t_cell): Fields are now of type SCM instead of
87 scm_t_bits. Updated all users.
88 (SCM_GC_CARD_SIZE_MASK): Use SCM_GC_SIZEOF_CARD instead of
89 duplicating the code.
90 (SCM_CELL_OBJECT_LOC): New.
91 (SCM_CARLOC, SCM_CDRLOC): Use it instead of SCM_CELL_WORD_LOC.
92 (SCM_CELL_WORD_LOC): Moved to "deprecated.h".
93
94 * smob.h (SCM_SMOB_DATA_2, SCM_SMOB_DATA_3, SCM_SMOB_FLAGS,
95 SCM_SET_SMOB_DATA_2, SCM_SET_SMOB_DATA_3, SCM_SET_SMOB_FLAGS,
96 SCM_SMOB_OBJECT, SCM_SMOB_OBJECT_2, SCM_SMOB_OBJECT_3,
97 SCM_SET_SMOB_OBJECT, SCM_SET_SMOB_OBJECT_2, SCM_SET_SMOB_OBJECT_3,
98 SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_2_LOC,
99 SCM_SMOB_OBJECT_3_LOC): New.
100 * smob.c (scm_i_set_smob_flags): New function.
101
102 * dynl.c, dynwind.c, eval.h, fluids.h, futures.h, hashtab.h,
103 hooks.h, keywords.h, macros.h, macros.c, mallocs.c, mallocs.h,
104 random.h, regex-posix.h, root.h, srcprop.h, srcprop.c, threads.h:
105 Use SCM_SMOB_* instead of SCM_CELL_* as appropriate. Use
106 SCM_SMOB_FLAGS and SCM_SET_SMOB_FLAGS instead of accessing the
107 zeroth word directly. Use SCM_SMOB_PREDICATE as appropriate.
108
109 * numbers.h (SCM_I_BIG_MPZ): Use SCM_CELL_OBJECT_LOC instead of
110 taking the address of SCM_CELL_WORD_1, the latter being no longer
111 an lvalue.
112
113 * variable.h (SCM_VARIABLE_LOC): Use SCM_CELL_OBJECT_LOC instead
114 of casting SCM_CELL_WORD_LOC.
115
3cf17ef0
KR
1162004-05-02 Kevin Ryde <user42@zip.com.au>
117
37026925
KR
118 * eval.c (scm_macroexp): Add prototype, since it's not in eval.h under
119