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