Commit | Line | Data |
---|---|---|
63947c7a MV |
1 | 2004-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 |
7 | 2004-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 |
23 | 2004-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 |
33 | 2004-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 |
43 | 2004-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 |
48 | 2004-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 |
56 | 2004-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 |
61 | 2004-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 |
79 | 2004-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 |
84 | 2004-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 |
116 | 2004-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 |