*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
6b1b030e
ML
12001-05-27 Michael Livshin <mlivshin@bigfoot.com>
2
3 * gc.c (scm_init_storage): init `scm_gc_registered_roots'.
4 (scm_igc): mark from them, too (precisely, not conservatively!).
5
6 * root.h (scm_gc_registered_roots): new object in
7 scm_sys_protects.
8
9 * hooks.c (scm_create_hook): call `scm_gc_protect_object' instead
10 `scm_protect_object'. shouldn't call it at all, though, it seems.
11
12 * gc.c (scm_[un]protect_object): deprecated.
13 (scm_gc_[un]protect_object): new names for scm_[un]protect_object.
14 (scm_gc_[un]register_root[s]): new.
15
16 * gc.h: add prototypes for scm_gc_[un]protect_object,
17 scm_gc_[un]register_root[s].
18
c014a02e
ML
192001-05-26 Michael Livshin <mlivshin@bigfoot.com>
20
21 revert the controversial part of the 2001-05-24 changes.
22
0120801d
MV
232001-05-25 Marius Vollmer <mvo@zagadka.ping.de>
24
f4e0611e
MV
25 * modules.c (scm_env_module): Exported to Scheme.
26
0120801d
MV
27 * eval.c (scm_debug_opts): New option `show-file-name'.
28 * debug.h (SCM_SHOW_FILE_NAME): New.
29
30 * backtrace.c: Include "libguile/filesys.h".
31 (sym_base, display_backtrace_get_file_line,
32 display_backtrace_file, display_backtrace_file_and_line): New.
33 (display_frame): Call display_backtrace_file_and_line if that is
34 requested.
35 (display_backtrace_body): Call scm_display_backtrace_file if
36 requested.
37
38 * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr):
39 Prototypes removed since there's no definition for these
40 functions.
41
880a7d13
MG
422001-05-24 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
43
44 * unif.c (scm_make_ra, array_free), unif.h (SCM_ARRAY_DIMS):
45 Changed use of scm_array->scm_array_t and
46 scm_array_dim->scm_array_dim_t to enable build with
47 --disable-deprecated.
48
1be6b49c
ML
492001-05-24 Michael Livshin <mlivshin@bigfoot.com>
50
51 The purpose of this set of changes is to regularize Guile's usage
52 of ANSI C integral types, with the following ideas in mind:
53
d69c867a
ML
54 - SCM does not nesessarily have to be long.
55 - long is not nesessarily enough to store pointers.
1be6b49c
ML
56 - long is not nesessarily the same size as int.
57
58 The changes are incomplete and possibly buggy. Please test on
59 something exotic.
60
61 * validate.h
62 (SCM_NUM2{SIZE,PTRDIFF,SHORT,USHORT,BITS,UBITS,INT,UINT}[_DEF]):
63 new macros.
64
65 * unif.h: type renaming:
66 scm_array -> scm_array_t
67 scm_array_dim -> scm_array_dim_t
68 the old names are deprecated, all in-Guile uses changed.
69
70 * tags.h (scm_ubits_t): new typedef, representing unsigned
71 scm_bits_t.
72
73 * stacks.h: type renaming:
74 scm_info_frame -> scm_info_frame_t
75 scm_stack -> scm_stack_t
76 the old names are deprecated, all in-Guile uses changed.
77
78 * srcprop.h: type renaming:
79 scm_srcprops -> scm_srcprops_t
80 scm_srcprops_chunk -> scm_srcprops_chunk_t
81 the old names are deprecated, all in-Guile uses changed.
82
83 * gsubr.c, procs.c, print.c, ports.c, read.c, rdelim.c, ramap.c,
84 rw.c, smob.c, sort.c, srcprop.c, stacks.c, strings.c, strop.c,
85 strorder.c, strports.c, struct.c, symbols.c, unif.c, values.c,
86 vectors.c, vports.c, weaks.c:
87 various int/size_t -> size_t/scm_bits_t changes.
88
89 * random.h: type renaming:
90 scm_rstate -> scm_rstate_t
91 scm_rng -> scm_rng_t
92 scm_i_rstate -> scm_i_rstate_t
93 the old names are deprecated, all in-Guile uses changed.
94
95 * procs.h: type renaming:
96 scm_subr_entry -> scm_subr_entry_t
97 the old name is deprecated, all in-Guile uses changed.
98
99 * options.h (scm_option_t.val): unsigned long -> scm_bits_t.
100 type renaming:
101 scm_option -> scm_option_t
102 the old name is deprecated, all in-Guile uses changed.
103
104 * objects.c: various long -> scm_bits_t changes.
105 (scm_i_make_class_object): flags: unsigned long -> scm_ubits_t
106
107 * numbers.h (SCM_FIXNUM_BIT): deprecated, renamed to
108 SCM_I_FIXNUM_BIT.
109
110 * num2integral.i.c: new file, multiply included by numbers.c, used
111 to "templatize" the various integral <-> num conversion routines.
112
113 * numbers.c (scm_mkbig, scm_big2num, scm_adjbig, scm_normbig,
114 scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl):
115 deprecated.
116 (scm_i_mkbig, scm_i_big2inum, scm_i_adjbig, scm_i_normbig,
117 scm_i_copybig, scm_i_short2big, scm_i_ushort2big, scm_i_int2big,
118 scm_i_uint2big, scm_i_long2big, scm_i_ulong2big, scm_i_bits2big,
119 scm_i_ubits2big, scm_i_size2big, scm_i_ptrdiff2big,
120 scm_i_long_long2big, scm_i_ulong_long2big, scm_i_dbl2big,
121 scm_i_big2dbl, scm_short2num, scm_ushort2num, scm_int2num,
122 scm_uint2num, scm_bits2num, scm_ubits2num, scm_size2num,
123 scm_ptrdiff2num, scm_num2short, scm_num2ushort, scm_num2int,
124 scm_num2uint, scm_num2bits, scm_num2ubits, scm_num2ptrdiff,
125 scm_num2size): new functions.
126
d69c867a 127 * modules.c (scm_module_reverse_lookup): i, n: int -> scm_bits_t.
1be6b49c
ML
128
129 * load.c: change int -> size_t in various places (where the
130 variable is used to store a string length).
131 (search-path): call scm_done_free, not scm_done_malloc.
132
133 * list.c (scm_ilength): return a scm_bits_t, not long.
134 some other {int,long} -> scm_bits_t changes.
135
136 * hashtab.c: various [u]int -> scm_bits_t changes.
137 scm_ihashx_closure -> scm_ihashx_closure_t (and made a typedef).
138 (scm_ihashx): n: uint -> scm_bits_t
139 use scm_bits2num instead of scm_ulong2num.
140
141 * gsubr.c: various int -> scm_bits_t changes.
142
143 * goops.[hc]: various {int,long} -> scm_bits_t changes.
144
d69c867a 145 * gh_data.c (gh_num2int): no loss of precision any more.
1be6b49c
ML
146
147 * gh.h (gh_str2scm): len: int -> size_t
148 (gh_{get,set}_substr): start: int -> scm_bits_t,
149 len: int -> size_t
150 (gh_<num>2scm): n: int -> scm_bits_t
151 (gh_*vector_length): return scm_[u]size_t, not unsigned long.
152 (gh_length): return scm_bits_t, not unsigned long.
153
154 * gc.[hc]: various small changes relating to many things stopping
155 being long and starting being scm_[u]bits_t instead.
156 scm_mallocated should no longer wrap around.
157
158 * fports.h: type renaming:
159 scm_fport -> scm_fport_t
160 the old name is deprecated, all in-Guile uses changed.
161
162 * fports.c (fport_fill_input): count: int -> scm_bits_t
163 (fport_flush): init_size, remaining, count: int -> scm_bits_t
164
165 * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr): removed
166 those prototypes, as the functions they prototype don't exist.
167
168 * fports.c (default_buffer_size): int -> size_t
169 (scm_fport_buffer_add): read_size, write_size: int -> scm_bits_t
170 default_size: int -> size_t
171 (scm_setvbuf): csize: int -> scm_bits_t
172
173 * fluids.c (n_fluids): int -> scm_bits_t
174 (grow_fluids): old_length, i: int -> scm_bits_t
175 (next_fluid_num, scm_fluid_ref, scm_fluid_set_x): n: int ->
176 scm_bits_t
177 (scm_c_with_fluids): flen, vlen: int -> scm_bits_t
178
179 * filesys.c (s_scm_open_fdes): changed calls to SCM_NUM2LONG to
180 the new and shiny SCM_NUM2INT.
181
182 * extensions.c: extension -> extension_t (and made a typedef).
183
184 * eval.h (SCM_IFRAME): cast to scm_bits_t, not int. just so
185 there are no nasty surprises if/when the various deeply magic tag
186 bits move somewhere else.
187
188 * eval.c: changed the locals used to store results of SCM_IFRAME,
189 scm_ilength and such to be of type scm_bits_t (and not int/long).
190 (iqq): depth, edepth: int -> scm_bits_t
191 (scm_eval_stack): int -> scm_bits_t
192 (SCM_CEVAL): various vars are not scm_bits_t instead of int.
193 (check_map_args, scm_map, scm_for_each): len: long -> scm_bits_t
194 i: int -> scm_bits_t
195
196 * environments.c: changed the many calls to scm_ulong2num to
197 scm_ubits2num.
198 (import_environment_fold): proc_as_ul: ulong -> scm_ubits_t
199
200 * dynwind.c (scm_dowinds): delta: long -> scm_bits_t
201
202 * debug.h: type renaming:
203 scm_debug_info -> scm_debug_info_t
204 scm_debug_frame -> scm_debug_frame_t
205 the old names are deprecated, all in-Guile uses changed.
206 (scm_debug_eframe_size): int -> scm_bits_t
207
208 * debug.c (scm_init_debug): use scm_c_define instead of the
209 deprecated scm_define.
210
211 * continuations.h: type renaming:
212 scm_contregs -> scm_contregs_t
213 the old name is deprecated, all in-Guile uses changed.
214 (scm_contregs_t.num_stack_items): size_t -> scm_bits_t
215 (scm_contregs_t.num_stack_items): ulong -> scm_ubits_t
216
217 * continuations.c (scm_make_continuation): change the type of
d69c867a 218 stack_size from long to scm_bits_t.
1be6b49c
ML
219
220 * ports.h: type renaming:
221 scm_port_rw_active -> scm_port_rw_active_t (and made a typedef)
222 scm_port -> scm_port_t
223 scm_ptob_descriptor -> scm_ptob_descriptor_t
224 the old names are deprecated, all in-Guile uses changed.
225 (scm_port_t.entry): int -> scm_bits_t.
226 (scm_port_t.line_number): int -> long.
227 (scm_port_t.putback_buf_size): int -> size_t.
228
229 * __scm.h (long_long, ulong_long): deprecated (they pollute the
d69c867a 230 global namespace and have little value beside that).
1be6b49c
ML
231 (SCM_BITS_LENGTH): new, is the bit size of scm_bits_t (i.e. of an
232 SCM handle).
233 (ifdef spaghetti): include sys/types.h and sys/stdtypes.h, if they
d69c867a 234 exist (for size_t & ptrdiff_t).
1be6b49c
ML
235 (scm_sizet): deprecated.
236
237 * Makefile.am (noinst_HEADERS): add num2integral.i.c
238
a6219f22
MV
2392001-05-23 Marius Vollmer <mvo@zagadka.ping.de>
240
241 * snarf.h (SCM_CONST_LONG): Use SCM_VCELL_INIT instead of
242 SCM_VARIABLE_INIT since that it what it used to be.
243
244 * deprecation.c (scm_include_deprecated_features): Make docstring
245