Commit | Line | Data |
---|---|---|
cf504ee0 NJ |
1 | 2001-08-18 Neil Jerram <neil@ossau.uklinux.net> |
2 | ||
3 | * __scm.h (SCM_ENABLE_VCELLS): Fix spelling mistake in comment. | |
ec2667f0 | 4 | |
43b83b54 TTN |
5 | 2001-08-17 Thien-Thi Nguyen <ttn@revel.glug.org> |
6 | ||
7 | * gc.c: Fix omission bug: Add `heap_segment' forward decl | |
8 | (proto) in the case when either `GUILE_DEBUG' or | |
9 | `GUILE_DEBUG_FREELIST' preprocessor symbols are defined. | |
10 | ||
11 | (map_free_list): Fix typo: Ref `f' correctly. | |
12 | ||
13 | Thanks to Chris Cramer. | |
14 | ||
ab4cd34b RB |
15 | 2001-08-15 Rob Browning <rlb@defaultvalue.org> |
16 | ||
17 | * Makefile.am (libguile_la_LDFLAGS): use libtool interface version | |
18 | variables. | |
19 | (libpath.h): change libguileversion to libguileinterface. | |
20 | ||
b754e3d1 MV |
21 | 2001-08-07 Marius Vollmer <mvo@zagadka.ping.de> |
22 | ||
23 | * Makefile.am (EXTRA_DIST): Distribute ChangeLog-1996-1999 and | |
24 | ChangeLog-2000. Thanks to Daniel Skarda! | |
25 | ||
8b1d12c7 ML |
26 | 2001-08-07 Michael Livshin <mlivshin@bigfoot.com> |
27 | ||
28 | * guile-snarf-docs-texi.in: don't call the tokenizer here, we now | |
29 | do it from the Makefile. | |
30 | ||
31 | * Makefile.am: rearrange the snarfing slightly, so that .doc files | |
32 | are of a reasonable size. | |
33 | ||
baffb19f NJ |
34 | 2001-08-02 Neil Jerram <neil@ossau.uklinux.net> |
35 | ||
36 | * stacks.c (scm_make_stack): Improve docstring by explaining use | |
37 | of cutting args. | |
38 | ||
c1151355 MV |
39 | 2001-08-01 Marius Vollmer <mvo@zagadka.ping.de> |
40 | ||
41 | * chars.c (scm_char_alphabetic_p, scm_char_numeric_p, | |
42 | scm_char_whitespace_p, scm_char_upper_case_p, | |
43 | scm_char_lower_case_p, scm_char_is_both_p): Do not require | |
44 | characters to fulfill isascii in addition to the primary | |
45 | predicate. | |
46 | ||
3c9a524f DH |
47 | 2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
48 | ||
49 | * numbers.c (DIGITS, scm_small_istr2int, scm_istr2int, | |
50 | scm_istr2flo, scm_istring2number): Removed. | |
51 | ||
52 | (iflo2str, scm_real_p, scm_integer_p): Use SCM_<foo> instead of | |
53 | SCM_SLOPPY_<foo>. | |
54 | ||
55 | (t_exactness, t_radix, DIGIT2UINT, XDIGIT2UINT, mem2uinteger, | |
56 | mem2decimal_from_point, mem2ureal, mem2complex, scm_i_mem2number): | |
57 | Added. | |
58 | ||
59 | (scm_string_to_number): Use new number parser. | |
60 | ||
61 | (scm_exact_to_inexact): Replace dummy by a GPROC, which also | |
62 | handles complex numbers. | |
63 | ||
64 | * numbers.h (NUMBERSH, SCM_NUMBERS_H): Rename <foo>H to | |
65 | SCM_<foo>_H. | |
66 | ||
67 | (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Prefer !SCM_<pred> over | |
68 | SCM_N<pred>. | |
69 | ||
70 | (scm_istr2int, scm_istr2flo, scm_istring2number): Removed. | |
71 | ||
72 | (scm_i_mem2number): Added. | |
73 | ||
74 | (scm_exact_to_inexact): Changed signature. | |
75 | ||
76 | * read.c (scm_lreadr): Perform the shortcut test for '+ and '- | |
77 | here instead of within scm_i_mem2number. Call scm_i_mem2number | |
78 | instead of scm_istr2int and scm_istring2number. | |
79 | ||
01f11e02 DH |
80 | 2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
81 | ||
82 | * eval.c (scm_lookupcar, scm_m_body, scm_m_lambda, unmemocopy, | |
83 | scm_unmemocopy, scm_badargsp, scm_eval_body, CHECK_EQVISH, | |
84 | SCM_CEVAL, scm_nconc2last, SCM_APPLY, scm_copy_tree): Prefer | |
85 | !SCM_<pred> over SCM_N<pred>. | |
86 | ||
87 | (scm_eval_body): Remove side effecting code from macro call. | |
88 | ||
89 | (SCM_CEVAL, SCM_APPLY): Remove goto statement and redundant | |
90 | SCM_NIMP test. | |
91 | ||
6cf69537 DH |
92 | 2001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
93 | ||
94 | * pairs.h (SCM_VALIDATE_PAIR): Use SCM_CONSP, not SCM_ECONSP. | |
95 | ||
54866b6c MV |
96 | 2001-07-29 Marius Vollmer <mvo@zagadka.ping.de> |
97 | ||
98 | Removed vcell slot from structs. | |
43b83b54 | 99 | |
54866b6c MV |
100 | * struct.h (scm_vtable_index_vcell): Removed. Renumbered |
101 | subsequent indices. | |
102 | ||
103 | * struct.c (scm_struct_vtable_p): Do not check vcell slot for | |
104 | zero. Use scm_vtable_index_layout instead of "0" when accessing | |
105 | said slot. | |
106 | (scm_init_struct): Remove vcell slot layout code from | |
107 | required_vtable_fields. | |
108 | ||
109 | * objects.h (scm_si_redefined, scm_si_hashsets): Renumbered. | |
110 | ||
111 | * goops.c (build_class_class_slots): Removed vcell slot | |
112 | definition. | |
113 | ||
114 | * goops.h: Renumbered slot indices. (SCM_CLASS_CLASS_LAYOUT): | |
115 | Removed vcell slot layout code. | |
116 | (scm_si_vcell): Removed. | |
117 | ||
5b54c4da MV |
118 | 2001-07-26 Marius Vollmer <mvo@zagadka.ping.de> |
119 | ||
a0f5718e | 120 | "Glocs" have been removed. |
43b83b54 | 121 | |
a0f5718e MV |
122 | * tags.h: Update tag system docs. |
123 | (scm_tc3_cons_gloc): Renamed to scm_tc3_struct. Changed all uses. | |
124 | (scm_tcs_cons_gloc): Renamed to scm_tcs_struct. Changed all uses. | |
125 | (SCM_ECONSP, SCM_NECONSP): Removed. Changed all uses to SCM_CONSP | |
126 | or SCM_NCONSP, respectively. | |
127 | ||
128 | * struct.c, struct.h, srcprop.c, procs.c, procprop.c, print.c, | |
129 | objects.c. modules.c, goops.c, eval.c, debug.c: Changed all uses | |
130 | of scm_tc3_cond_gloc and scm_tcs_cons_gloc. See above. | |
131 | ||
132 | * print.c (scm_iprin1): Remove printing of glocs. Do not try to | |
133 | tell glocs from structs. | |
43b83b54 | 134 | |
a0f5718e MV |
135 | * gc.c (scm_gc_mark, scm_gc_sweep): Remove handling of glocs. |
136 | ||
137 | * eval.c (scm_m_atbind): Make a list of variables, not glocs. | |
138 | (scm_ceval, scm_deval): For SCM_IM_BIND, fiddle with variables | |
139 | instead of with glocs. | |
140 | (EVALCAR): Do not test for glocs. | |
141 | (scm_lookupcar, scm_lookupcar1): Do not handle glocs in race | |
142 | condition. | |
143 | (scm_unmemocar): Do not handle glocs. | |
144 | (scm_m_atfop): Memoize as a variable, not as a gloc. | |
145 | (scm_eval_args, scm_deval_args): Do not handle glocs. | |
146 | (scm_ceval, scm_deval): Likewise. | |
43b83b54 | 147 | |
a0f5718e MV |
148 | * eval.h (SCM_XEVALCAR): Do not test for glocs. |
149 | (SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL, SCM_GLOC_VAL_LOC): | |
150 | Removed. | |
151 | ||
152 | * debug.h, debug.c (scm_make_gloc, scm_gloc_p): Removed. | |
153 | ||
154 | * dynwind.c (scm_swap_bindings): Likewise. | |
155 | (scm_dowinds): Updated to recognize lists of variables instead of | |
156 | lists of glocs. | |
157 | ||
158 | * __scm.h (SCM_CAUTIOS, SCM_RECKLESS): Update comments. | |
159 | ||
43b83b54 | 160 | |
5b54c4da MV |
161 | * gc_os_dep.c (GC_noop1): Moved into the same #if/#endif context |
162 | where it is needed. | |
43b83b54 | 163 | |
3c3db128 GH |
164 | 2001-07-25 Gary Houston <ghouston@arglist.com> |
165 | ||
166 | * numbers.c (scm_logand, scm_logior, scm_logxor): adjusted the | |
167 | docstrings to reflect the n-ary implementation. | |
168 | ||
dd29a169 MV |
169 | 2001-07-26 Marius Vollmer <mvo@zagadka.ping.de> |
170 | ||
171 | * eval.c (scm_ceval, scm_deval): Use "RETURN" macro when returning | |
172 | value of a variable, not the plain "return" statement. | |
173 | ||
f5fe6c2f MV |
174 | 2001-07-25 Marius Vollmer <mvo@zagadka.ping.de> |
175 | ||
176 | * eval.c: Allow variables in memoized code (in addition to glocs). | |
177 | (scm_lookupcar): Handle variables in lost races. Replace symbol | |
178 | with variable directly, do not make a gloc. | |
179 | (scm_unmemocar): Rewrite variables using a reverse lookup, just | |
180 | like glocs. | |
181 | (scm_ceval, scm_deval): Deal with variables in SCM_IM_SET and in | |
182 | the main switch. | |
183 | ||
ee0c7345 MV |
184 | 2001-07-25 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
185 | ||
6d9ad98a MV |
186 | * variable.c (scm_i_variable_print): Use "value" instead of |
187 | "binding" since a binding is the mapping between symbols and | |
188 | variables, not between variables and their values. | |
189 | ||
ee0c7345 MV |
190 | * tags.h (scm_tc7_variable): New. |
191 | * gc.c (scm_gc_mark): Handle scm_tc7_variable objects. | |
192 | * print.c (scm_iprin1): Likewise. | |
193 | ||
194 | * variable.h (scm_tc16_variable): Removed. | |
195 | (SCM_VARIABLEP): Test for new tc7 code. | |
196 | (scm_i_variable_print): New. | |
197 | * variable.c (scm_tc16_variable): Removed. | |
198 | (variable_print): Renamed to scm_i_variable_print and made | |
199 | non-static. | |
200 | (variable_equal_p): Removed. | |
201 | (make_variable): Construct a tc7 object instead of a smob. | |
202 | (scm_init_variable): Do not register smob. | |
43b83b54 | 203 | |
f3805ebb MV |
204 | 2001-07-22 Marius Vollmer <mvo@zagadka.ping.de> |
205 | ||
206 | * tags.h: Include inttypes.h when we have it. | |
207 | ||
208 | 2001-07-13 Marius Vollmer <mvo@zagadka.ping.de> | |
209 | ||
210 | * tags.h (SCM_UNBOUND): Make it the 34th isym/iflag, the 33th slot | |
211 | is taken by the new SCM_IM_CALL_WITH_VALUES. | |
212 | * print.c (scm_isymnames): Update table accordingly. | |
43b83b54 | 213 | |
6a1677a3 GH |
214 | 2001-07-22 Gary Houston <ghouston@arglist.com> |
215 | ||
216 | * regex-posix.c (s_scm_regexp_exec): use scm_long2num not | |
217 | SCM_MAKINUM to convert regoff_t value to SCM. | |
218 | ||
1bed8c28 GH |
219 | 2001-07-21 Gary Houston <ghouston@arglist.com> |
220 | ||
221 | * scmsigs.c: include sys/time.h for itimer stuff. | |
222 | ||
e658215a RB |
223 | 2001-07-19 Rob Browning <rlb@defaultvalue.org> |
224 | ||
225 | * gc_os_dep.c (GC_noop1): ifdef out (unused) to quiet warning. | |
226 | ||
227 | * c-tokenize.lex: add option %nounput to quiet warning. | |
228 | Add prototype for yylex to quiet warning. | |
229 | ||
230 | * scmconfig.h.in: add flags for setitimer and getitimer. | |
231 | ||
232 | * scmsigs.h (scm_init_scmsigs): new prototype. | |
233 | (scm_init_scmsigs): new prototype. | |
234 | ||
235 | * scmsigs.c (s_scm_setitimer): new function. | |
236 | (s_scm_setitimer): new function. | |
237 | ||
58ade102 MG |
238 | 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
239 | ||
240 | * alist.c, arbiters.c, async.h, backtrace.h, boolean.c, chars.c, | |
241 | chars.h, continuations.h, debug-malloc.h, dynl.c, feature.c, | |
242 | feature.h, filesys.h, fluids.h, fports.h, gc_os_dep.c, | |
243 | gdb_interface.h, gh_eval.c, gh_funcs.c, gh_io.c, gh_list.c, | |
244 | gh_predicates.c, gsubr.c, gsubr.h, guardians.h, | |
245 | guile-func-name-check.in, guile-snarf-docs-texi.in, | |
246 | guile-snarf-docs.in, guile-snarf.awk.in, guile-snarf.in, | |
247 | hashtab.h, iselect.h, keywords.h, lang.c, list.h, load.h, | |
248 | objprop.c, objprop.h, options.c, options.h, random.h, | |
249 | regex-posix.h, root.c, root.h, script.c, snarf.h, stackchk.c, | |
250 | strerror.c, strop.h, strports.h, threads.h, values.c, values.h, | |
251 | version.c, version.h: Updated copyright notice. | |
252 | ||
6b80d352 DH |
253 | 2001-07-17 Dirk Herrmann <D.Herrmann@tu-bs.de> |
254 | ||
255 | * goops.c (sym_layout, sym_vcell, sym_vtable, sym_print, | |
256 | sym_procedure, sym_setter, sym_redefined, sym_h0, sym_h1, sym_h2, | |
257 | sym_h3, sym_h4, sym_h5, sym_h6, sym_h7, sym_name, | |
258 | sym_direct_supers, sym_direct_slots, sym_direct_subclasses, | |
259 | sym_direct_methods, sym_cpl, sym_default_slot_definition_class, | |
260 | sym_slots, sym_getters_n_setters, sym_keyword_access, sym_nfields, | |
261 | sym_environment, scm_sym_change_class): New static variables to | |
262 | hold predefined symbols. | |
263 | ||
264 | (build_class_class_slots): Build the list using scm_list_n | |
265 | instead of cons. Also, slots are already created as lists, thus | |
266 | making a call to maplist unnecessary. | |
267 | ||
268 | (scm_class_name, scm_class_direct_supers, scm_class_direct_slots, | |
269 | scm_class_direct_subclasses, scm_class_direct_methods, | |
270 | scm_class_precedence_list, scm_class_slots, scm_class_environment, | |
271 | scm_method_procedure, create_standard_classes, purgatory): Use | |
272 | predefined symbols. | |
273 | ||
274 | (build_slots_list, compute_getters_n_setters, | |
275 | scm_sys_initialize_object, scm_sys_inherit_magic_x, | |
276 | get_slot_value_using_name, set_slot_value_using_name, | |
277 | scm_sys_invalidate_method_cache_x, scm_generic_capability_p, | |
278 | scm_compute_applicable_methods, scm_sys_method_more_specific_p, | |
279 | make_struct_class): Prefer !SCM_<pred> over SCM_N<pred>. | |
280 | ||
281 | (scm_sys_prep_layout_x): Minimize variable scopes. | |
282 | ||
283 | (scm_sys_prep_layout_x, scm_sys_fast_slot_ref, | |
284 | scm_sys_fast_slot_set_x): Fix signedness. | |
285 | ||
286 | (go_to_hell, go_to_heaven, purgatory, scm_change_object_class, | |
287 | lock_cache_mutex, unlock_cache_mutex, call_memoize_method, | |
288 | scm_memoize_method, scm_wrap_object): Use packing and unpacking | |
289 | when converting to and from SCM values. | |
290 | ||
291 | (scm_enable_primitive_generic_x): Add rest argument checking. | |
292 | ||
293 | (map, filter_cpl, maplist, scm_sys_initialize_object, | |
294 | scm_sys_prep_layout_x, slot_definition_using_name, | |
295 | scm_enable_primitive_generic_x, scm_compute_applicable_methods, | |
296 | call_memoize_method, scm_make, scm_make_class): Prefer explicit | |
297 | predicates over SCM_N?IMP tests. | |
298 | ||
299 | (scm_sys_prep_layout_x): Fix typo in error message. Fix type | |
300 | checking. | |
301 | ||
302 | (burnin, go_to_hell): Use SCM_STRUCT_DATA instead of the SCM_INST | |
303 | alias. | |
304 | ||
63bcad19 DH |
305 | 2001-07-16 Dirk Herrmann <D.Herrmann@tu-bs.de> |
306 | ||
307 | * fports.c (fport_print): Don't use SCM_C[AD]R for non pairs. | |
308 | ||
309 | * num2integral.i.c (INTEGRAL2NUM, INTEGRAL2BIG): Fix signedness. | |
310 | ||
311 | * symbols-deprecated.c (scm_gentemp): Simplify vector test. | |
312 | ||
313 | * vectors.c (scm_vector_p): Eliminate redundant IMP test. | |
314 | ||
4d6aae71 ML |
315 | 2001-07-12 Michael Livshin <mlivshin@bigfoot.com> |
316 | ||
317 | * strings.c (s_scm_string): fix arg position in assert. | |
318 | ||
4b8ec619 GH |
319 | 2001-07-11 Gary Houston <ghouston@arglist.com> |
320 | ||
321 | * strports.c (st_write): use memcpy, not strncpy. thanks to | |
322 | Dale P. Smith. | |
323 | ||
dbb640bd TTN |
324 | 2001-07-09 Thien-Thi Nguyen <ttn@revel.glug.org> |
325 | ||
326 | * alist.c, alloca.c, arbiters.c, async.c, async.h, backtrace.c, | |
327 | boolean.c, chars.c, continuations.c, coop-defs.h, coop-threads.c, | |
328 | debug-malloc.h, debug.c, debug.h, dynl.c, dynwind.c, eq.c, | |
329 | error.c, eval.c, evalext.c, feature.c, feature.h, filesys.c, | |
330 | filesys.h, fluids.c, fluids.h, fports.c, fports.h, gc.c, gc.h, | |
331 | gdbint.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c, | |
332 | hooks.h, inet_aton.c, init.c, ioext.c, keywords.c, keywords.h, | |
333 | lang.c, list.c, load.c, macros.c, mallocs.c, memmove.c, modules.c, | |
334 | net_db.c, numbers.c, numbers.h, objects.c, objprop.c, options.c, | |
335 | pairs.c, pairs.h, ports.c, ports.h, posix.c, print.c, print.h, | |
336 | procprop.c, procs.c, procs.h, properties.c, putenv.c, ramap.c, | |
337 | random.c, random.h, read.c, regex-posix.c, regex-posix.h, root.c, | |
338 | root.h, scmsigs.c, script.c, simpos.c, smob.c, snarf.h, socket.c, | |
339 | sort.c, srcprop.c, srcprop.h, stackchk.c, stacks.c, stacks.h, | |
340 | stime.c, strerror.c, strings.c, strings.h, strop.c, strorder.c, | |
341 | strports.c, struct.c, struct.h, symbols-deprecated.c, symbols.c, | |
342 | symbols.h, tags.h, threads.c, threads.h, throw.c, unif.c, unif.h, | |
343 | variable.c, variable.h, vectors.c, vectors.h, version.c, vports.c, | |
344 | weaks.c, weaks.h: Remove "face-lift" comment. | |
345 | ||
fd6c6321 RB |
346 | 2001-07-08 Rob Browning <rlb@defaultvalue.org> |
347 | ||
348 | * .cvsignore: add stamp-h.in. | |
349 | ||
f91e4547 MG |
350 | 2001-07-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
351 | ||
352 | * hooks.c (scm_make_hook, scm_add_hook_x), | |
353 | (scm_remove_hook_x, scm_reset_hook_x, scm_run_hook): Added return | |
354 | value info to the docstrings. | |
355 | ||
7beabedb MG |
356 | 2001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
357 | ||
358 | Some more compatibility patches for Windows. | |
dbb640bd | 359 | |
7beabedb MG |
360 | * posix.c (getlogin): getlogin() implementation for Windows. |
361 | ||
362 | * backtrace.c, ioext.c: Include <stdio.h>. | |
363 | ||
364 | * unif.c, script.c, rw.c, error.c: Include <io.h>, if it does | |
365 | exist. | |
366 | ||
367 | * cpp_sig_symbols.in: Added SIGBREAK. | |
368 | ||
0d0560d0 MV |
369 | 2001-07-01 Marius Vollmer <mvo@zagadka.ping.de> |
370 | ||
371 | * strports.c (scm_read_0str, scm_eval_0str): Call | |
372 | scm_c_read_string and scm_c_eval_string respectively, not | |
373 | themselves. Thanks to Dale P. Smith! | |
374 | ||
9a97e362 DH |
375 | 2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
376 | ||
377 | * unif.c (scm_array_set_x): The variable args does not | |
378 | necessarily have to be a list. Further, got rid of a redundant | |
379 | SCM_NIMP test. | |
380 | ||
592996c9 DH |
381 | 2001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
382 | ||
383 | * list.c (SCM_I_CONS): Make sure the cell type is initialized | |
384 | last. | |
385 | ||
386 | * gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep, | |
f91e4547 | 387 | init_heap_seg): Fixed signedness. |
592996c9 DH |
388 | |
389 | (init_heap_seg): Replaced strange for-loop with a while loop. | |
390 | ||
391 | * weaks.h (WEAKSH, SCM_WEAKS_H): Rename <foo>H to SCM_<foo>_H. | |
392 | ||
393 | (SCM_WVECTP): Prefer !SCM_<pred> over SCM_N<pred>. | |
394 | ||
395 | The following patch adds conservative marking for the elements of | |
396 | free or allocated cells. | |
397 | ||
398 | * gc.c (allocated_mark, heap_segment): New static functions. | |
399 | ||
400 | (which_seg): Deleted, since the functionality is now provided by | |
401 | function heap_segment. | |
402 | ||
403 | (map_free_list): Use heap_segment instead of which_seg. | |
404 | ||
405 | (MARK): If cell debugging is disabled, mark free cells | |
406 | conservatively. | |
407 | ||
408 | (scm_mark_locations, scm_cellp): Extracted the search for the | |
409 | heap segment of a SCM value into function heap_segment. | |
410 | ||
411 | (scm_init_storage): Allocated cells must be marked | |
412 | conservatively. | |
413 | ||
414 | * gc.[ch] (scm_gc_mark_cell_conservatively): New function. | |
415 | ||
416 | The following patch changes the representation of weak vectors to | |
417 | double cells instead of using an extension of the vector's | |
418 | allocated memory. | |
419 | ||
420 | * gc.c (MARK): Use SCM_SET_WVECT_GC_CHAIN instead of assigning to | |
421 | the result of SCM_WVECT_GC_CHAIN. | |
422 | ||
423 | (scm_gc_sweep): Weak vectors don't have extra fields any more. | |
424 | ||
425 | * weaks.c (allocate_weak_vector): New static function. It does | |
426 | not patch any previously created vector object during the | |
427 | construction of a weak vector, and thus doesn't need to switch | |
428 | off interrupts during vector creation. | |
429 | ||
430 | (scm_make_weak_vector, scm_make_weak_key_hash_table, | |
431 | scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table): | |
432 | Use allocate_weak_vector to provide the new weak vector object. | |
433 | ||
434 | * weaks.h (SCM_WVECT_TYPE, SCM_SET_WVECT_TYPE, | |
435 | SCM_SET_WVECT_GC_CHAIN): New macros. The weak vector subtype is | |
436 | now stored in the double cell. | |
437 | ||
438 | (SCM_IS_WHVEC, SCM_IS_WHVEC_V, SCM_IS_WHVEC_B, SCM_IS_WHVEC_ANY): | |
439 | Use SCM_WVECT_TYPE. | |
440 | ||
441 | (SCM_WVECT_GC_CHAIN): The weak objects are now chained together | |
442 | using an entry of the double cell. | |
443 | ||
4dadf664 TTN |
444 | 2001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org> |
445 | ||
446 | * stamp-h.in: bye bye | |
447 | ||
02202352 MV |
448 | 2001-06-30 Marius Vollmer <mvo@zagadka.ping.de> |
449 | ||
450 | * gh_eval.c (gh_eval_str): Use scm_c_eval_string instead of | |
451 | scm_eval_0str. | |
452 | ||
453 | * load.c, load.h (scm_c_primitive_load, | |
454 | scm_c_primitive_load_path): New. | |
455 | ||
456 | * strports.c, strports.h (scm_c_read_string): Renamed from | |
457 | scm_read_0str. Also, added "const" qualifier to argument. | |
458 | (scm_c_eval_string): Renamed from scm_eval_0str. | |
459 | (scm_read_0str, scm_eval_0str): Deprecated. | |
460 | ||
df1ad0d1 MG |
461 | 2001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
462 | ||
463 | * fluids.c (scm_c_with_fluid): Use scm_list_1() instead of | |
464 | SCM_LIST1. | |
465 | ||
1afff620 KN |
466 | 2001-06-28 Keisuke Nishida <kxn30@po.cwru.edu> |
467 | ||
468 | * list.h (scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5, | |
469 | scm_list_n): New functions. | |
470 | (SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5, | |
471 | SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify): Deprecated. | |
472 | (lots of files): Use the new functions. | |
4dadf664 | 473 | |
1afff620 KN |
474 | * goops.c (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4): Use scm_call_N. |
475 | ||
476 | * strings.c: #include "libguile/deprecation.h". | |
477 | ||
b858464a MG |
478 | 2001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
479 | ||
480 | * read.c (scm_lreadr): When reading a hash token, check for a | |
481 | user-defined hash procedure first, so that overriding the builtin | |
482 | hash characters is possible (this was needed for implementing | |
483 | SRFI-4's read synax `f32(...)'). | |
4dadf664 | 484 | |
b858464a MG |
485 | * num2integral.i.c: Use scm_t_signed_bits instead of scm_t_bits, |
486 | because the latter is unsigned now and breaks comparisons like | |
487 | (n < (scm_t_signed_bits)MIN_VALUE). | |
4dadf664 | 488 | |
d95c0b76 NJ |
489 | 2001-06-26 Neil Jerram <neil@ossau.uklinux.net> |
490 | ||
491 | * eval.h, eval.c (scm_call_4): New function. | |
492 | ||
493 | * eval.c (SCM_APPLY, SCM_CEVAL, ENTER_APPLY): Call trap handlers | |
494 | directly rather than dispatching to them via scm_ithrow and a lazy | |
495 | catch. | |
4dadf664 | 496 | |
d95c0b76 NJ |
497 | * eval.c (scm_evaluator_trap_table), eval.h (SCM_ENTER_FRAME_HDLR, |
498 | SCM_APPLY_FRAME_HDLR, SCM_EXIT_FRAME_HDLR): Add three new options | |
499 | for trap handler procedures. | |
500 | ||
501 | * debug.h (SCM_RESET_DEBUG_MODE): Add checks for trap handler | |
502 | procedures not being #f. | |
503 | ||
30e3be5a ML |
504 | 2001-06-27 Michael Livshin <mlivshin@bigfoot.com> |
505 | ||
506 | * Makefile.am (c-tokenize.c): add rule to generate it. | |
507 | (EXTRA_DIST): add c-tokenize.lex, so it gets distributed. | |
508 | ||
509 | filter-doc-snarfage.c: remove. | |
510 | ||
82893676 MG |
511 | 2001-06-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de> |
512 | ||
513 | * ports.c (scm_output_port_p): Use result of SCM_COERCE_OUTPORT. | |
514 | ||
515 | The following set of changes makes compiling Guile under various | |
516 | Windows compilers easier. Compilation under GNU systems should | |
517 | not be affected at all. | |
518 | ||
519 | Thanks to Stefan Jahn for all necessary information, patches and | |
520 | testing. | |
4dadf664 | 521 | |
82893676 MG |
522 | * posix.c: Conditialize getpwent, getgrent, kill, getppid, getuid, |
523 | getpgrp, ttyname, primitive-fork and some header inclusion for | |
524 | Windows. | |
525 | ||
526 | * random.c: Define M_PI, if not predefined and use __int64 for | |
527 | LONG64 under Windows. | |
528 | ||
529 | * scmsigs.c: Emulate some functions (alarm, sleep, kill) under | |
530 | Windows and conditionalize some signal names. | |
531 | ||
4dadf664 | 532 | * socket.c (scm_getsockopt): Added missing comma. |
82893676 MG |
533 | Include socket library header under Windows. |
534 | ||
535 | * stime.c (CLKTCK): Add cast to int, to make it compile under | |
536 | Windows. | |
537 | ||
538 | * ports.c (truncate): New function, compiled only under Windows. | |
539 | ||
540 | * net_db.c: Do not declare errno under Windows. | |
541 | ||
542 | * iselect.h, inet_aton.c: Include socket library headers under | |
543 | Windows. | |
544 | ||
545 | * guile.c (inner_main): Under Windows, initialize socket library | |
546 | and initialize gdb_interface data structures. | |
547 | ||
548 | * gdb_interface.h: Under Windows, gdb_interface cannot be | |
549 | initialized statically. Initialize at runtime instead. | |
550 | ||
551 | * fports.c (write_all): ssize_t -> size_t. | |
552 | (fport_print): Conditionalize call to ttyname(). | |
553 | (getflags): New function, compiled only under Windows. | |
554 | ||
555 | * filesys.c: Conditionalize inclusion of <pwd.h>. Conditionalize | |
556 | primitives chown, link, fcntl. | |
557 | (scm_basename, scm_dirname): Under Windows, handle \ as well as / | |
558 | as path seperator. | |
559 | ||
560 | * backtrace.c: Include <io.h> under Windows. | |
561 | ||
562 | * async.h (ASYNCH, SCM_ASYNC_H): Rename <foo>H to SCM_<foo>_H. | |
563 | ||
564 | * _scm.h: Added preprocessor conditional for __MINGW32__ for errno | |
565 | declaration. | |
566 | ||
fdc28395 KN |
567 | 2001-06-27 Keisuke Nishida <kxn30@po.cwru.edu> |
568 | ||
569 | * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3, | |
570 | scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions. | |
571 | * eval.h (scm_call_0, scm_call_1, scm_call_2, scm_call_3, | |
572 | scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): Declared. | |
573 | * async.c (scm_run_asyncs), coop-threads.c (scheme_body_bootstrip, | |
574 | scheme_handler_bootstrip), debug.c (with_traps_inner), dynwind.c | |
575 | (scm_dynamic_wind, scm_dowinds), environments.c | |
576 | (import_environment_conflict), eval.c (scm_macroexp, scm_force, | |
577 | scm_primitive_eval_x, scm_primitive_eval), fluids.c (apply_thunk), | |
578 | goops.c (GETVAR, purgatory, make_class_from_template, | |
579 | scm_ensure_accessor), hashtab.c (scm_ihashx, scm_sloppy_assx, | |
580 | scm_delx_x, fold_proc), hooks.c (scm_c_run_hook), load.c | |
581 | (scm_primitive_load), modules.c (scm_resolve_module, | |
582 | scm_c_define_module, scm_c_use_module, scm_c_export, | |
583 | module_variable, scm_eval_closure_lookup, scm_sym2var, | |
584 | scm_make_module, scm_ensure_user_module, scm_load_scheme_module), | |
585 | ports.c (scm_port_for_each), print.c (scm_printer_apply), | |
586 | properties.c (scm_primitive_property_ref), ramap.c (ramap, | |
587 | ramap_cxr, rafe, scm_array_index_map_x, read.c (scm_lreadr), | |
588 | scmsigs.c (sys_deliver_signals), sort.c (applyless), strports.c | |
589 | (scm_object_to_string, scm_call_with_output_string, | |
590 | scm_call_with_input_string), throw.c (scm_body_thunk, | |
591 | scm_handle_by_proc, hbpca_body), unif.c (scm_make_shared_array, | |
592 | scm_make_shared_array), vports.c (sf_flush, sf_write, | |
593 | sf_fill_input, sf_close): Use one of the above functions. | |
594 | * goops.c, hashtab.c, scmsigs.c, sort.c: #include "libguile/root.h". | |
595 | ||
36284627 DH |
596 | 2001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de> |
597 | ||
598 | * filesys.c (scm_close), ports.c (scm_close_port, | |
599 | scm_port_closed_p), strop.c (scm_string_null_p): Use SCM_BOOL | |
600 | instead of SCM_NEGATE_BOOL. | |
601 | ||
602 | * filesys.c (scm_stat): Clean up type dispatch. | |
603 | ||
604 | * filesys.c (scm_stat), ports.c (scm_input_port_p, | |
605 | scm_output_port_p): Get rid of redundant IM type check. | |
606 | ||
607 | * filesys.c (scm_readdir, scm_getcwd, scm_readlink), gh_data.c | |
608 | (gh_str2scm), load.c (scm_primitive_load, scm_internal_parse_path, | |
609 | scm_search_path), net_db.c (scm_gethost, scm_getnet, scm_getproto, | |
610 | scm_return_entry), numbers.c (scm_number_to_string), objects.c | |
611 | (scm_make_subclass_object), ports.c (scm_port_mode), read.c | |
612 | (scm_lreadr), simpos.c (scm_getenv), socket.c (scm_inet_ntoa, | |
613 | scm_addr_vector), stime.c (scm_strftime), strings.c | |
614 | (scm_makfromstrs, scm_makfrom0str, scm_substring), strings.h | |
615 | (SCM_STRING_COERCE_0TERMINATION_X), strop.c (string_copy, | |
616 | scm_string_split), strports.c (scm_strport_to_string), symbols.c | |
617 | (scm_symbol_to_string), vports.c (sf_write): Use scm_mem2string | |
618 | instead of scm_makfromstr. | |
619 | ||
620 | * net_db.c (scm_sethost, scm_setnet, scm_setproto, scm_setserv), | |
621 | ports.c (scm_close_all_ports_except), read.c (scm_lreadr, | |
622 | scm_read_hash_extend), stime.c (scm_strftime), strings.c | |
623 | (scm_string_append, scm_string), strings.h (SCM_STRINGP, | |
624 | SCM_STRING_COERCE_0TERMINATION_X, SCM_RWSTRINGP), strop.c | |
625 | (string_capitalize_x): Prefer explicit type check over SCM_N?IMP, | |
626 | !SCM_<pred> over SCM_N<pred>. | |
627 | ||
628 | * strings.[ch] (scm_makfromstr): Deprecated. | |
629 | ||
630 | (scm_mem2string): New function, replaces scm_makfromstr. | |
631 | ||
632 | * strings.c (scm_substring), strop.c (string_copy, | |
633 | scm_string_split), strports.c (scm_strport_to_string), symbols.c | |
634 | (scm_symbol_to_string): Fix gc problem. | |
635 | ||
636 | * strings.h (STRINGSH, SCM_STRINGS_H): Rename <foo>H to | |
637 | SCM_<foo>_H. | |
638 | ||
639 | * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Eliminate | |
640 | warning about comparing signed and unsigned values. This fix is | |
641 | not optimal, since it won't work reliably if sizeof (c_start) > | |
642 | sizeof (size_t) or sizeof (c_end) > sizeof (size_t). A better | |
643 | solution is to define this macro as an inline function, thus | |
644 | allowing to specifiy the types of c_start and c_end. | |
645 | ||
13dcb666 DH |
646 | 2001-06-25 Dirk Herrmann <D.Herrmann@tu-bs.de> |
647 | ||
648 | * debug.h (SCM_DEBUGOBJ_FRAME): Deliver result as a | |
649 | scm_t_debug_frame*. | |
650 | ||
651 | * debug.h (DEBUGH, SCM_DEBUG_H), stacks.h (STACKSH, SCM_STACKSH): | |
652 | Rename <foo>H to SCM_<foo>_H. | |
653 | ||
654 | * stacks.c (NEXT_FRAME, narrow_stack): Prefer explicit type check | |
655 | over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>. | |
656 | ||
657 | (narrow_stack): Make i unsigned. Don't use side-effecting | |
658 | operations in conditions. | |
659 | ||
660 | (narrow_stack, scm_make_stack, scm_stack_id, | |
661 | scm_last_stack_frame): Get rid of redundant SCM_N?IMP checks. | |
662 | ||
663 | (scm_make_stack, scm_stack_id, scm_last_stack_frame): Clean up | |
664 | type dispatch. No need to cast result of SCM_DEBUGOBJ_FRAME any | |
665 | more. | |
666 | ||
667 | (scm_stack_ref, scm_frame_previous, scm_frame_next): Fix | |
668 | signedness. | |
669 | ||
670 |