Commit | Line | Data |
---|---|---|
e7313a9d DH |
1 | 2004-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 |
17 | 2004-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 |
27 | 2004-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 |
37 | 2004-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 |
42 | 2004-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 |
50 | 2004-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 |
55 | 2004-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 |
73 | 2004-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 |
78 | 2004-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 |
110 | 2004-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 |