Commit | Line | Data |
---|---|---|
f2893a25 HWN |
1 | 2002-08-22 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
2 | ||
3 | * gc.h, gc.c: make scm_cells_allocated unsigned again. Thanks to | |
4 | Bill Schottstaedt for the bug report | |
5 | ||
483f518b MV |
6 | 2002-08-20 Marius Vollmer <mvo@zagadka.ping.de> |
7 | ||
8 | * print.c (scm_iprin1): Print primitives generics always as | |
9 | "primitive-generic" even when they have no primitive methods yet. | |
10 | ||
917adc55 GH |
11 | 2002-08-17 Gary Houston <ghouston@arglist.com> |
12 | ||
13 | * coop.c (coop_create): removed bogus 2nd argument in scm_malloc | |
14 | call. | |
15 | ||
67329a9e HWN |
16 | 2002-08-17 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
17 | ||
85835e59 | 18 | * ports.c (scm_add_to_port_table): small bugfix. |
67329a9e HWN |
19 | |
20 | * mallocs.c (scm_malloc_obj): use scm_gc_malloc in stead of | |
21 | malloc. | |
22 | ||
23 | * gc-segment.c (scm_i_get_new_heap_segment): remove cluster cruft: | |
24 | only use SCM_MIN_HEAP_SEG_SIZE. | |
25 | ||
26 | * ports.c (scm_add_to_port_table): add backwards compatibility | |
27 | function | |
28 | ||
29 | * ports.h: use scm_i_ prefix for port table and port table size. | |
30 | ||
f07c886a MD |
31 | 2002-08-15 Mikael Djurfeldt <mdj@linnaeus> |
32 | ||
33 | * vports.c (scm_make_soft_port): Initialize pt variable. | |
34 | ||
dc61cbc6 MV |
35 | 2002-08-13 Marius Vollmer <mvo@zagadka.ping.de> |
36 | ||
37 | * strports.h (scm_c_eval_string_in_module, | |
38 | scm_eval_string_in_module): New prototypes. | |
39 | * strports.c (scm_eval_string_in_module): New, but use | |
40 | "eval-string" as the Scheme name and make second parameter | |
41 | optional. | |
42 | (scm_eval_string): Implement using scm_eval_string_in_module. | |
43 | (scm_c_eval_string_in_module): New. | |
44 | Thanks to Ralf Mattes for the suggestion! | |
45 | ||
da220f27 HWN |
46 | 2002-08-09 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
47 | ||
be3ff021 HWN |
48 | * gc-card.c ("sweep_card"): remove SCM_MISC_ERROR messages: print |
49 | message and abort. | |
50 | ||
51 | * gc-mark.c ("scm_gc_mark_dependencies"): idem. | |
52 | ||
da220f27 HWN |
53 | * ports.c ("scm_new_port_table_entry"): return a boxed SCM in |
54 | stead of scm_t_port*. The function now takes a tag argument. | |
55 | ||
eab1b259 HWN |
56 | 2002-08-08 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
57 | ||
58 | * gc.h: add scm_debug_cells_gc_interval to public interface | |
59 | ||
60 | * gc-card.c ("sweep_card"): set scm_gc_running while sweeping. | |
61 | ||
62 | * gc.c (scm_i_expensive_validation_check): separate expensive | |
63 | validation checks from cheap ones. | |
64 | ||
ba1b2226 HWN |
65 | 2002-08-06 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
66 | ||
67 | * read.c (scm_input_error): new function: give meaningful error | |
68 | messages, and throw read-error | |
69 | ||
70 | * gc-malloc.c (scm_calloc): add scm_calloc. | |
71 | ||
39e8f371 HWN |
72 | 2002-08-05 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
73 | ||
33138b05 HWN |
74 | * tags.h: remove GC bits documentation from the tags table. |
75 | ||
39e8f371 HWN |
76 | * read.c (INPUT_ERROR): Prepare for file:line:column error |
77 | messages for errors in scm_lreadr() and friends. | |
78 | ||
79 | 2002-08-04 Han-Wen Nienhuys <hanwen@cs.uu.nl> | |
80 | ||
81 | * gc-malloc.c (scm_malloc): use scm_realloc() (simplifies | |
82 | implementation). | |
83 | (scm_gc_calloc): new function | |
84 | ||
5f16b897 | 85 | 2002-08-04 Han-Wen <hanwen@cs.uu.nl> |
402788a9 | 86 | |
5f16b897 HWN |
87 | * ports.c (scm_new_port_table_entry): init port entry to 0 |
88 | completely. | |
402788a9 HWN |
89 | |
90 | * ports.c (scm_new_port_table_entry): change function from | |
91 | scm_add_to_port_table. This prevents cells with null-pointers from | |
92 | being exposed to GC. | |
93 | ||
94 | * vports.c (s_scm_make_soft_port) strports.c (scm_mkstrport), | |
95 | fports.c (scm_fdes_to_port): Use scm_new_port_table_entry(). | |
c8a1bdc4 | 96 | |
c2cbcc57 HWN |
97 | * gc.c (s_scm_gc_stats): add cell-yield and malloc-yield statistic |
98 | to gc-stats. | |
99 | ||
c8a1bdc4 HWN |
100 | * numbers.c (big2str): return "0" for 0 iso. "" |
101 | ||
c2cbcc57 HWN |
102 | * gc-segment.c, gc-malloc.c gc-mark.c, gc-freelist.c, gc-card.c, |
103 | private-gc.h: new file | |
c8a1bdc4 HWN |
104 | |
105 | * gc.c: completely revised and cleaned up the GC. It now uses lazy | |
106 | sweeping. More documentation in workbook/newgc.text | |
107 | ||
aea06b34 MV |
108 | 2002-07-25 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
109 | ||
110 | * random.c (rstate_free): Return zero. | |
111 | ||
35060ae9 DH |
112 | 2002-07-24 Dirk Herrmann <D.Herrmann@tu-bs.de> |
113 | ||
114 | * environments.c (remove_key_from_alist): Removed. | |
115 | ||
116 | (obarray_remove): Simplified. | |
117 | ||
6a535440 SJ |
118 | 2002-07-24 Stefan Jahn <stefan@lkcc.org> |
119 | ||
120 | * continuations.h: ia64: Include <signal.h> before | |
121 | <sys/ucontext.h>. | |
122 | ||
bcbd25b7 DH |
123 | 2002-07-21 Dirk Herrmann <D.Herrmann@tu-bs.de> |
124 | ||
125 | * modules.c (scm_sym2var): Don't compare SCM values with ==. | |
126 | ||
1d1559ce HWN |
127 | 2002-07-21 Han-Wen <hanwen@cs.uu.nl> |
128 | ||
129 | * goops.c (scm_compute_applicable_methods): use | |
130 | scm_remember_upto_here_1 iso scm_remember_upto_here | |
131 | ||
132 | * macros.c: include deprecation.h | |
133 | ||
134 | * vectors.c (s_scm_vector_move_right_x): remove side effect in | |
135 | macro arg. | |
136 | (s_scm_vector_move_left_x): idem. | |
137 | ||
138 | * net_db.c, posix.c, socket.c: variable naming: change ans to | |
139 | result. | |
140 | ||
141 | * sort.c (scm_merge_vector_x): accept vector as argument | |
142 | iso. SCM*. This is needed for full GC correctness. | |
143 | ||
144 | * gc.h: undo previous undocumented changes related to #ifdef | |
145 | GENGC. | |
146 | ||
34d19ef6 HWN |
147 | 2002-07-20 Han-Wen <hanwen@cs.uu.nl> |
148 | ||
149 | * *.c: add space after commas everywhere. | |
150 | ||
151 | * *.c: use SCM_VECTOR_SET everywhere, where a vector is written. | |
152 | Document cases where SCM_WRITABLE_VELTS() is used. | |
153 | ||
154 | * vectors.h (SCM_VELTS): prepare for write barrier, and let | |
155 | SCM_VELTS() return a const pointer | |
156 | (SCM_VECTOR_SET): add macro. | |
157 | ||
3063e30a DH |
158 | 2002-07-15 Dirk Herrmann <D.Herrmann@tu-bs.de> |
159 | ||
160 | * eval.c (SCM_CEVAL), macros.c (macro_print, scm_makmacro, | |
161 | scm_sym_macro, scm_macro_type), macros.h (scm_makmacro): | |
162 | Deprecated the special kind of built-in dynamic syntax transformer | |
163 | that was inaccurately named "macro". Note: The built-in syntax | |
164 | transformers that are named "mmacro" or "memoizing-macro" still | |
165 | exist, and it is these which come much closer to what one would | |
166 | call a macro. | |
167 | ||
4c5f8e8f NJ |
168 | 2002-07-13 Neil Jerram <neil@ossau.uklinux.net> |
169 | ||
170 | * eval.c (unmemocopy): Fix for | |
171 | 1001-local-eval-error-backtrace-segfaults (unmemoization crash | |
172 | with internal definitions and local-eval). | |
173 | ||
4f6f9ae3 GH |
174 | 2002-07-12 Gary Houston <ghouston@arglist.com> |
175 | ||
176 | * dynl.c: Don't define stub procedures if DYNAMIC_LINKING is not | |
177 | defined. They don't do anything useful, especially since the | |
178 | only case where DYNAMIC_LINKING is undefined seems to be | |
179 | when --with-modules=no is given to configure, which is basically | |
180 | requesting that the "dynamic linking module" be omitted. | |
181 | ||
182 | * Makefile.am (libguile_la_SOURCES): move dynl.c from | |
183 | libguile_la_SOURCES to EXTRA_libguile_la_SOURCES. | |
184 | ||
185 | * extensions.c (load_extension): check DYNAMIC_LINKING for | |
186 | scm_dynamic_call. | |
187 | * init.c (scm_init_guile_1): check DYNAMIC_LINKING for | |
188 | scm_init_dynamic_linking. | |
189 | ||
c21935e6 MV |
190 | 2002-07-10 Marius Vollmer <mvo@zagadka.ping.de> |
191 | ||
192 | * guile.c, iselect.h, net_db.c, posix.c, socket.c: No need to | |
193 | check for Cygwin when including <winsock2.h>, this is already | |
194 | check for by configure. Thus, revert change from 2002-07-07. | |
195 | ||
ee95d597 GH |
196 | 2002-07-10 Gary Houston <ghouston@arglist.com> |
197 | ||
9540b68f | 198 | * eq.c: include <string.h> |
ee95d597 GH |
199 | * dynl.c: docstring editing. |
200 | ||
46732b54 GH |
201 | 2002-07-09 Gary Houston <ghouston@arglist.com> |
202 | ||
203 | * dynl.c (scm_dynamic_call): docstring editing. | |
204 | ||
c09d12e0 RB |
205 | 2002-07-08 Rob Browning <rlb@defaultvalue.org> |
206 | ||
207 | * gc_os_dep.c: HURD fixes. | |
208 | ||
3f6571eb MV |
209 | 2002-07-07 Marius Vollmer <mvo@zagadka.ping.de> |
210 | ||
211 | Crosscompiling and Cygwin fixes by Jan Nieuwenhuizen. Thanks! | |
212 | ||
213 | * Makefile.am: Override default rule for c-tokenize.$(OBJECT); | |
214 | this should be compiled for BUILD host. | |
215 | Override default rule for | |
216 | guile_filter_doc_snarfage$(EEXECT); this should run on BUILD host. | |
217 | Add missing $(EXEEXT) to guile_filter_doc_snarfage invocation. | |
218 | (snarf2checkedtexi): Use GUILE_FOR_BUILD instead of preinstguile. | |
219 | ||
220 | * guile.c, iselect.h, net_db.c, posix.c, socket.c: Do not include | |
221 | <winsock2.h> on Cygwin even when we have it. | |
222 | ||
bd987b8e DH |
223 | 2002-07-01 Dirk Herrmann <D.Herrmann@tu-bs.de> |
224 | ||
225 | * __scm.h (SCM_CAUTIOUS), eval.c (scm_eval_args, deval_args, | |
226 | SCM_CEVAL): Removed compile time option SCM_CAUTIOUS to clean up | |
227 | the code. Full number of arguments checking of closures is | |
228 | mandatory now. However, the option to disable the checking has | |
229 | most probably not been used anyway. | |
230 | ||
8505e285 DH |
231 | 2002-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de> |
232 | ||
bd987b8e DH |
233 | * __scm.h (SCM_RECKLESS), backtrace.c (SCM_ASSERT), debug.c |
234 | (scm_debug_options), eval.c (scm_lookupcar, scm_lookupcar1, | |
235 | scm_badargsp, SCM_CEVAL, SCM_APPLY, scm_map, scm_for_each), | |
236 | feature.c (scm_init_feature), gsubr.c (scm_gsubr_apply), numbers.c | |
237 | (scm_logand, scm_logior, scm_logxor, scm_i_dbl2big), srcprop.c | |
238 | (scm_source_properties, scm_set_source_properties_x, | |
239 | scm_source_property): Removed compile time option SCM_RECKLESS to | |
240 | clean up the code. Full number of arguments checking of closures | |
241 | is mandatory now. However, the option to disable the checking has | |
242 | most probably not been used anyway. | |
8505e285 DH |
243 | |
244 | * srcprop.c (scm_source_properties, scm_set_source_properties_x, | |
245 | scm_source_property): Use !SCM_CONSP instead of SCM_NCONSP. | |
246 | ||
2ee08a28 GH |
247 | 2002-06-30 Gary Houston <ghouston@arglist.com> |
248 | ||
732b9327 GH |
249 | * dynl.c: Removed all SCM_DEFER_INTS/SCM_ALLOW_INTS, which won't |
250 | do anything useful. Added a comment about need for a mutex if | |
251 | pre-emptive threading is supported. | |
252 | ||
2ee08a28 GH |
253 | * posix.c (scm_convert_exec_args), dynl.c |
254 | (scm_make_argv_from_stringlist): static procs: 1) renamed both to | |
255 | allocate_string_pointers. 2) simplified: don't reallocate the | |
256 | strings, just make an array of pointers 3) avoid memory leaks on | |
257 | error 4) let the procedure report errors in its own name. | |
258 | Consequences: 1) the procedures now assume that SCM strings are | |
259 | nul-terminated, which should always be the case. 2) Since strings | |
260 | are not reallocated, it's now possible for strings passed to | |
261 | dynamic-args-call to be mutated. | |
262 | ||
c136c920 DH |
263 | 2002-06-28 Dirk Herrmann <D.Herrmann@tu-bs.de> |
264 | ||
265 | * __scm.h, eval.c, eval.h: Removed compile time option | |
266 | MEMOIZE_LOCALS to clean up the code. Now, caching of local | |
267 | variable positions during memoization is mandatory. However, the | |
268 | option to disable the caching has most probably not been used | |
269 | anyway. | |
270 | ||
e540802f MV |
271 | 2002-06-18 Marius Vollmer <mvo@zagadka.ping.de> |
272 | ||
273 | * print.c (scm_simple_format): Print missing part of format before | |
274 | ~% control. Thanks to Daniel Skarda! | |
275 | ||
4c1ffcdd MV |
276 | 2002-06-01 Marius Vollmer <mvo@zagadka.ping.de> |
277 | ||
278 | * mkstemp.c: Added exception notice to license statement. | |
279 | ||
ba1b077b MV |
280 | 2002-05-22 Marius Vollmer <mvo@zagadka.ping.de> |
281 | ||
8dc434c7 MV |
282 | * numbers.c (mem2ureal): When returning an inexact zero, make sure |
283 | it is represented as a floating point value so that we can change | |
284 | its sign. | |
285 | ||
ba1b077b MV |
286 | From John W. Eaton <jwe@bevo.che.wisc.edu> |
287 | ||
288 | * numbers.c (idbl2str): Don't omit sign when printing negative zero. | |
289 | ||
74c58131 TTN |
290 | 2002-05-14 Thien-Thi Nguyen <ttn@giblet.glug.org> |
291 | ||
292 | * gc_os_dep.c: For I386/OPENBSD, allow for `__i386__' | |
0926d46e | 293 | in addition to `i386'. Thanks to Dale P. Smith. |
74c58131 | 294 | |
8766d4b5 MV |
295 | 2002-05-08 Marius Vollmer <mvo@zagadka.ping.de> |
296 | ||
297 | * eq.c (real_eqv): New. | |
298 | (scm_eqv_p): Use it when comparing reals and complexes. | |
299 | ||
300 | * numbers.c: Include <string.h>, for strncmp. | |
301 | (mem2complex): Do not create negative NaNs. | |
302 | (scm_leq_p, scm_geq_p): Explicitely return #f when comparing a | |
303 | NaN. | |
304 | (scm_inexact_to_exact): Signal error when converting a NaN. | |
74c58131 | 305 | |
1d8c3cad MV |
306 | 2002-05-06 Marius Vollmer <mvo@zagadka.ping.de> |
307 | ||
308 | * posix.c (scm_putenv): Handle removing variables explicitely by | |
309 | calling unsetenv. | |
310 | ||
311 | From John W. Eaton. | |
74c58131 | 312 | |
1d8c3cad MV |
313 | * numbers.h: Conditionally include floatingpoint.h, ieeefp.h, and |
314 | nan.h. Provide declarations for scm_inf_p, scm_nan_p, scn_inf, | |
315 | and scm_nan. | |
316 | * numbers.c: [SCO && ! HAVE_ISNAN] (isnan): New function. | |
317 | [SCO && ! HAVE_ISINF] (isinf): New function. | |
318 | (xisinf, xisnan): New functions. | |
319 | (IS_INF): Delete. | |
320 | (isfinite): Define in terms of xisinf. | |
321 | (scm_inf_p, scm_nan_p): New functions. | |
322 | (guile_Inf, guile_NaN): New file-scope vars. | |
323 | (guile_ieee_init): New function. | |
324 | (scm_inf, scm_nan): New functions. | |
325 | (idbl2str): Handle Inf and NaN. Remove funny label and | |
326 | corresponding gotos. | |
327 | (ALLOW_DIVIDE_BY_ZERO): New macro. | |
328 | (scm_divide): Allow division by zero to occur if | |
329 | ALLOW_DIVIDE_BY_ZERO is defined. | |
330 | Handle bignums and ints as special cases. | |
331 | ||
332 | Additional stuff by me: | |
333 | ||
334 | numbers.c (mem2ureal): Recognize "inf.0" and "nan.xxx". | |
335 | (scm_even_p, scm_odd_p): Treat infinity as even and odd. | |
336 | (iflo2str): Don't output a '+' for negative numbers or for Inf and | |
337 | NaN. They will provide their own sign. | |
338 | (scm_divide): Only allow divides by inexact zeros. Dividing by | |
339 | exact zeros still signals an errors. | |
74c58131 | 340 | |
7a0c65eb TTN |
341 | 2002-04-22 Thien-Thi Nguyen <ttn@giblet.glug.org> |
342 | ||
87b72063 | 343 | * goops.h (scm_slot_exists_p): Rename from scm_slots_exists_p. |
7a0c65eb TTN |
344 | * goops.c (scm_slot_exists_p): Rename from scm_slots_exists_p. |
345 | (s_scm_slot_exists_p): Rename from s_scm_slots_exists_p. | |
346 | Thanks to Andreas Rottmann. | |
347 | ||
5e423a39 GH |
348 | 2002-04-20 Gary Houston <ghouston@arglist.com> |
349 | ||
350 | * removal of unused fields in root state (thanks to Christopher | |
351 | Cramer for pointing out the disuse.) | |
352 | * root.h (scm_root_state): removed def_inp, def_outp, def_errp. | |
1841c44a | 353 | (scm_def_inp, scm_def_outp, scm_def_errp): removed. |
b6287a25 | 354 | |
5e423a39 GH |
355 | * root.c (root_mark): don't mark them. |
356 | (scm_make_root): don't set them to #f. | |
357 | * init.c (scm_init_standard_ports): don't initialise with the | |
358 | default ports. | |
359 | ||
9d2cce76 MV |
360 | 2002-04-17 Marius Vollmer <mvo@zagadka.ping.de> |
361 | ||
362 | * Makefile.am (EXTRA_DIST): Added cpp_err_symbols.c and | |
363 | cpp_sig_symbols.c. | |
364 | ||
365 | 2002-04-16 Marius Vollmer <mvo@zagadka.ping.de> | |
366 | ||
367 | * guile-snarf.in: Do not clean input file. This would write to | |
368 | the $(srcdir) during a VPATH build, which is not allowed. It also | |
369 | isn't needed since it only works when an output filename has been | |
370 | specified and in that case we don't need to clean the input file | |
371 | because the output file will already exist. | |
372 | ||
6f79b6cc MV |
373 | 2002-03-31 Marius Vollmer <mvo@zagadka.ping.de> |
374 | ||
375 | * guile-snarf: Install the trap for removing $cleanfile only when | |
376 | the value of $cleanfile is actually known. | |
377 | ||
21550b10 RB |
378 | 2002-04-10 Rob Browning <rlb@defaultvalue.org> |
379 | ||
380 | * .cvsignore: add versiondat.h and *.c.clean.c. | |
381 | ||
bc76d628 DH |
382 | 2002-03-26 Dirk Herrmann <D.Herrmann@tu-bs.de> |
383 | ||
384 | * srcprop.[ch] (scm_c_source_property_breakpoint_p): New | |
385 | function, replaces macro SRCBRKP. | |
386 | ||
387 | (SRCBRKP): Deprecated. | |
388 | ||
389 | * eval.c (SCM_CEVAL): Replaced use of SRCBRKP by call to | |
390 | scm_c_source_property_breakpoint_p. Removed some use of arg1 as | |
391 | temporary variable. | |
392 | ||
5132eef0 DH |
393 | 2002-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de> |
394 | ||
395 | * debug.h, eval.c: Deprecated CHECK_ENTRY, CHECK_APPLY and | |
396 | CHECK_EXIT and removed all references to them. | |
397 | ||
680516ba DH |
398 | 2002-03-24 Dirk Herrmann <D.Herrmann@tu-bs.de> |
399 | ||
400 | * debug.h (scm_ready_p, debug_print): Removed declarations. | |
401 | ||
402 | * eval.c (EVALCELLCAR): Removed. | |
403 | ||
404 | (SCM_CEVAL): Eliminated label loopnoap. Removed side-effecting | |
405 | operation from condition. | |
406 | ||
e2bd68e0 MV |
407 | 2002-03-24 Marius Vollmer <mvo@zagadka.ping.de> |
408 | ||
409 | * guile-snarf.in: When the output filename is "-", write to | |
410 | stdout. When no "-o" option is given, use "-" as the output | |
411 | filename (i.e., stdout). Only 'clean' the inputfile or remove the | |
412 | output file on error when the output file name is not "-". Define | |
413 | the preprocessor macro SCM_MAGIC_SNARFER while snarfing. | |
414 | ||
415 | * Makefile.am (.c.x): Pass "-o $@" to guile-snarf. | |
416 | ||
ab1f1094 DH |
417 | 2002-03-23 Dirk Herrmann <D.Herrmann@tu-bs.de> |
418 | ||
419 | * eval.c (SCM_CEVAL, SCM_APPLY): Eliminated labels wrongnumargs | |
420 | and the corresponding goto statements. Removed redundant code. | |
421 | ||
42030fb2 DH |
422 | 2002-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de> |
423 | ||
424 | * eval.c (SCM_CEVAL): Minimized scope of variable arg2. | |
425 | Eliminated redundant SCM_IMP check. Exlined call to EVALCAR. | |
426 | Re-enabled handing of rpsubrs and asubrs. | |
427 | ||
e050d4f8 DH |
428 | 2002-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de> |
429 | ||
430 | * eval.c (SIDEVAL): Removed. | |
431 | ||
432 | (SCM_CEVAL): Minimized scope of variable orig_sym. Eliminated | |
433 | goto-labels cdrxnoap, cdrxbegin and nontoplevel_cdrxnoap. Changed | |
434 | argument checking order for set! to locals, variables and symbols. | |
435 | Improvements to control structure. Removed some uses of arg1 and | |
436 | arg2 as temporary variables. | |
437 | ||
a6d344d3 TTN |
438 | 2002-03-15 Thien-Thi Nguyen <ttn@giblet.glug.org> |
439 | ||
440 | * guile-snarf.in: Remove "--compat=1.4" support. | |
441 | Add "-d" and "-D" support. | |
442 | ||
443 | (deprecated_list): New var. | |
444 | (compat_mode_clean_xxx): Delete. | |
445 | (grep_deprecated): New func. | |
446 | ("main"): If "-d" or "-D", call `grep_deprecated'. | |
447 | ||
3939e9df NJ |
448 | 2002-03-15 Neil Jerram <neil@ossau.uklinux.net> |
449 | ||
387d418c NJ |
450 | * hooks.h: Change scm_t_c_hookype_t everywhere to |
451 | scm_t_c_hook_type. | |
452 | ||
bb2c02f2 | 453 | Docstring fixes: |
a6d344d3 | 454 | |
bb2c02f2 NJ |
455 | * strings.c (scm_string_p): Change unnecessary `iff' to `if'. |
456 | ||
457 | * ports.c (scm_sys_make_void_port): Use `@file'. | |
458 | ||
459 | * numbers.c (scm_number_p, scm_real_p): Use `otherwise' rather | |
460 | than `else'. | |
461 | ||
462 | * macros.c (scm_makmacro): Don't say that the form replaces its | |
463 | source, because it doesn't. | |
464 | (scm_makmmacro): Clarify difference between this and scm_makmacro. | |
465 | ||
466 | * backtrace.c (scm_display_error), filesys.c (scm_umask, | |
467 | scm_select, scm_basename), goops.c (scm_method_generic_function), | |
468 | numbers.c (scm_integer_length), posix.c (scm_getgroups, scm_execl, | |
469 | scm_setlocale, scm_flock), socket.c (scm_shutdown): Correct | |
470 | spelling mistakes. | |
471 | ||
3939e9df NJ |
472 | * debug.c (scm_debug_options), eval.c |
473 | (scm_eval_options_interface), read.c (scm_read_options): Change | |
474 | incorrect @var in docstring to @code. | |
475 | ||
3b3cc781 MV |
476 | 2002-03-14 Marius Vollmer <mvo@zagadka.ping.de> |
477 | ||
500b0d5b MV |
478 | * unif.c (singp): Use SCM_REALP instead of SCM_SLOPPY_REALP. |
479 | ||
3b3cc781 MV |
480 | * snarf.h (SCM_SNARF_INIT): Add "^:^" after code so that |
481 | guile-snarf can remove trailing non-init code. | |
482 | ||
483 | * guile-snarf.in (modern_snarf): Remove everything following and | |
484 | including "^:^" from the output. | |
485 | ||
dff98306 DH |
486 | 2002-03-14 Dirk Herrmann <D.Herrmann@tu-bs.de> |
487 | ||
488 | * eval.c (SCM_CEVAL), srcprop.h (SRCBRKP): Eliminated union 't'. | |
489 | ||
490 | * eval.c (SCM_CEVAL): Exlined call to EVALCAR. | |
491 | ||
2287fb53 TTN |
492 | 2002-03-13 Thien-Thi Nguyen <ttn@giblet.glug.org> |
493 | ||
494 | * guile-snarf.in: Update copyright. | |
495 | Rewrite to internalize error handling. | |
496 | Add "--compat=1.4" handling. | |
497 | Add commentary. | |
498 | ||
499 | * Makefile.am (libpath.h): Use @top_srcdir_absolute@. | |
500 | (snarfcppopts): New var. | |
501 | (.c.x): Use $(snarfcppopts). Rework guile-snarf usage. | |
502 | (.c.doc): Use $(snarfcppopts). | |
503 | ||
822250a4 TTN |
504 | * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c, |
505 | continuations.c, debug-malloc.c, debug.c, deprecation.c, dynl.c, | |
506 | dynwind.c, environments.c, eq.c, error.c, eval.c, evalext.c, | |
507 | extensions.c, feature.c, filesys.c, fluids.c, fports.c, gc.c, | |
508 | goops.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c, | |
509 | ioext.c, iselect.c, keywords.c, lang.c, list.c, load.c, macros.c, | |
510 | modules.c, net_db.c, numbers.c, objects.c, objprop.c, options.c, | |
511 | pairs.c, ports.c, posix.c, print.c, procprop.c, procs.c, | |
512 | properties.c, ramap.c, random.c, rdelim.c, read.c, regex-posix.c, | |
513 | root.c, rw.c, scmsigs.c, script.c, simpos.c, socket.c, sort.c, | |
514 | srcprop.c, stackchk.c, stacks.c, stime.c, strings.c, strop.c, | |
515 | strorder.c, strports.c, struct.c, symbols.c, threads.c, throw.c, | |
516 | unif.c, values.c, variable.c, vectors.c, version.c, vports.c, | |
517 | weaks.c: Retire inclusion guard macro SCM_MAGIC_SNARFER. | |
518 | ||
b7798e10 DH |
519 | 2002-03-13 Dirk Herrmann <D.Herrmann@tu-bs.de> |
520 | ||
521 | * eval.c (SCM_CEVAL): Got rid of the last reference to t.lloc. | |
522 | The next step will be to remove the union 't' and simplify the | |
523 | code of SCM_CEVAL that way. | |
524 | ||
04a98cff NJ |
525 | 2002-03-12 Neil Jerram <neil@ossau.uklinux.net> |
526 | ||
527 | * iselect.c (collisionp, gnfds, greadfds, gwritefds, gexceptfds, | |
528 | rreadfds, rwritefds, rexceptfds): Made static. | |
529 | ||
530 | * gc.c (terminating), fports.c (terminating): Renamed | |
531 | scm_i_terminating. | |
532 | ||
16d98032 MV |
533 | 2002-03-11 Marius Vollmer <mvo@zagadka.ping.de> |
534 | ||
5046250e MV |
535 | * numbers.c (scm_divide): Adapt code from libstdc++/f2c to void |
536 | potential overflow problems. Thanks to John W Eaton! | |
537 | ||
8794207d MV |
538 | * strop.c (string_capitalize_x): Treat characters as unsigned so |
539 | that 8-bit chars work. Thanks to David Pirotte! | |
16d98032 | 540 | |
1d15ecd3 DH |
541 | 2002-03-10 Dirk Herrmann <D.Herrmann@tu-bs.de> |
542 | ||
543 | * eval.c (SCM_CEVAL): Cleaned up the handling of 'slot-ref', | |
544 | 'slot-set!' and 'nil-cond'. Removed some uses of t.arg1, arg2 and | |
545 | proc as temporary variables. Introduced temporary variables with | |
546 | hopefully descriptive names for clarification. Replaced SCM_N?IMP | |
547 | by a more explicit predicate in some places. | |
548 | ||
549 | 2002-03-09 Dirk Herrmann <D.Herrmann@tu-bs.de> | |
f12745b6 DH |
550 | |
551 | * eval.c (SCM_CEVAL): Cleaned up the handling of #@dispatch. | |
552 | Added lots of comments regarding the implementation of #@dispatch. | |
553 | Changed intra-procedure communication to use t.arg1 instead of | |
554 | arg2. Removed some uses of t.arg1, t.lloc and proc as temporary | |
555 | variables. Introduced temporary variables with hopefully | |
556 | descriptive names for clarification. Replaced SCM_N?IMP by a more | |
557 | explicit predicate in some places. Use SCM_INSTANCE_HASH instead | |
558 | of computing the expression explicitly. Eliminate now unused | |
559 | label nontoplevel_cdrxbegin. | |
560 | ||
561 | * goops.h (SCM_INSTANCE_HASH): New macro. | |
562 | ||
563 | * objects.h (SCM_CMETHOD_FORMALS, SCM_CMETHOD_BODY): New macros. | |
564 | ||
1ebf1566 TTN |
565 | 2002-03-08 Thien-Thi Nguyen <ttn@giblet.glug.org> |
566 | ||
567 | * Makefile.am (bin_SCRIPTS): Revive this decl, w/ initial element | |
568 | "guile-snarf" moved back from `noinst_SCRIPTS'. | |
569 | ||
020c890c NJ |
570 | 2002-03-08 Neil Jerram <neil@ossau.uklinux.net> |
571 | ||
58d233cc NJ |
572 | * srcprop.c (scm_set_source_property_x): If SRCPROPS obj already |
573 | exists when adding a source property other than those that are | |
574 | handled explicitly, add the new property to the SRCPROPS obj's | |
575 | plist. | |
576 | ||
020c890c NJ |
577 | * debug.h (SCM_MAX_FRAME_SIZE): Remove incorrect comment about use |
578 | of SCM_MAX_FRAME_SIZE as a bit mask; it isn't used like this. | |
579 | ||
580 | * eval.c (SCM_CEVAL): Don't store scm_debug_eframe_size in | |
581 | debug.status. It isn't needed, and it can overflow the bits | |
582 | reserved for it (which may lead to a segv or a GC abort). | |
583 | ||
3f04400d DH |
584 | 2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de> |
585 | ||
586 | * eval.c (SCM_CEVAL): Cleaned up the handling of 'apply'. Removed | |
587 | side-effecting operations from conditions and macro calls. | |
588 | Replaced SCM_N?IMP by a more explicit predicate in some places. | |
589 | Minimized the scope of some variables. | |
590 | ||
97820583 SJ |
591 | 2002-03-02 Stefan Jahn <stefan@lkcc.org> |
592 | ||
593 | * convert.i.c: Fixed int <-> long conversions which would have | |
594 | failed if their sizes were different. | |
595 | ||
38ace99e DH |
596 | 2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de> |
597 | ||
598 | * eval.c (SCM_CEVAL): Cleaned up the handling of 'if', 'let', | |
599 | 'letrec' and 'set*': Removed some uses of t.arg1, t.lloc and proc | |
600 | as temporary variables. Removed side-effecting operations from | |
601 | conditions and macro calls. Introduced temporary variables with | |
602 | hopefully descriptive names for clarification. Replaced SCM_N?IMP | |
603 | by a more explicit predicate in some places. Removed code that | |
604 | was conditionally compiled if SICP was defined - which it never | |
605 | is. | |
606 | ||
e5cb71a0 DH |
607 | 2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de> |
608 | ||
609 | * eval.c (SCM_CEVAL): Cleaned up the handling of 'cons' and 'do': | |
610 | Removed some uses of t.arg1 and proc as temporary variables. | |
611 | Removed side-effecting operations from conditions and macro calls. | |
612 | Introduced temporary variables with hopefully descriptive names | |
613 | for clarification. Replaced SCM_N?IMP by a more explicit | |
614 | predicate in some places. | |
615 | ||
6a0f6ff3 DH |
616 | 2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de> |
617 | ||
618 | * eval.c (scm_badargsp, SCM_CEVAL): Replaced SCM_N?IMP by a more | |
619 | explicit predicate in some places. | |
620 | ||
621 | (CHECK_EQVISH): Removed. | |
622 | ||
623 | (SCM_CEVAL): Removed some uses of t.arg1 and proc as temporary | |
624 | variables. Removed side-effecting operations from conditions and | |
625 | macro calls. Introduced temporary variables for clarification. | |
626 | Sorted if-else-if check for the type of the last form in a list by | |
627 | frequency. Avoided some unnecessary tail-recursion calls. | |
628 | ||
228a24ef DH |
629 | 2002-03-01 Dirk Herrmann <D.Herrmann@tu-bs.de> |
630 | ||
631 | * gc.c (SCM_HEAP_SEG_SIZE, CELL_UP, CELL_DN, NEXT_DATA_CELL, | |
632 | init_heap_seg, alloc_some_heap), gc.h (struct scm_cell, struct | |
633 | scm_t_cell, SCM_CELLPTR, SCM_GC_CARD_SIZE, | |
634 | SCM_GC_IN_CARD_HEADERP), tags.h (SCM_CELLP): Renamed the struct | |
635 | scm_cell and all its uses to scm_t_cell in accordance to Guile's | |
636 | naming scheme for types. | |
637 | ||
638 | * alist.c (scm_acons), convert.i.c (CTYPES2UVECT, | |
639 | CTYPES2UVECT_OPTIONAL), coop-threads.c (scm_call_with_new_thread, | |
640 | scm_spawn_thread), debug.c (scm_make_debugobj), environments.c | |
641 | (scm_make_environment), eval.c (scm_closure), fports.c | |
642 | (scm_fdes_to_port), gc.c (scm_deprecated_newcell, | |
643 | scm_deprecated_newcell2), inline.h (scm_alloc_cell, scm_cell), | |
644 | list.c (SCM_I_CONS), numbers.c (scm_i_mkbig), pairs.c (scm_cons), | |
645 | ports.c (scm_void_port), procs.c (scm_c_make_subr, scm_makcclo), | |
646 | smob.c (scm_make_smob), smob.h (SCM_NEWSMOB), strings.c | |
647 | (scm_take_str, scm_allocate_string), strports.c (scm_mkstrport), | |
648 | unif.c (scm_make_uve), variable.c (make_variable), vectors.c | |
649 | (scm_c_make_vector), vports.c (scm_make_soft_port): Renamed | |
650 | scm_alloc_cell to scm_cell. | |
651 | ||
652 | * environments.c (core_environments_observe), gc.c | |
653 | (scm_deprecated_newcell2), goops.c (wrap_init, scm_wrap_object), | |
654 | inline.h (scm_alloc_double_cell, scm_double_cell), num2float.i.c | |
655 | (FLOAT2NUM), numbers.c (scm_make_real), procs.c | |
656 | (scm_make_procedure_with_setter), smob.h (SCM_NEWSMOB2, | |
657 | SCM_NEWSMOB3), struct.c (scm_make_struct, scm_make_vtable_vtable), | |
658 | symbols.c (scm_mem2symbol, scm_mem2uninterned_symbol), weaks.c | |
659 | (allocate_weak_vector): Renamed scm_alloc_double_cell to | |
660 | scm_double_cell. | |
661 | ||
edb810bb SJ |
662 | 2002-02-27 Stefan Jahn <stefan@lkcc.org> |
663 | ||
664 | * convert.i.c, convert.c: Better range checking. | |
665 | ||
666 | * inet_aton.c, fports.c: Commented the inclusion of <winsock2.h>. | |
667 | ||
1ebf1566 | 668 | * deprecation.c (vsnprintf): Define to `_vsnprintf' for |
edb810bb SJ |
669 | Windows (MinGW). |
670 | ||
327d4dd3 TTN |
671 | 2002-02-26 Thien-Thi Nguyen <ttn@giblet.glug.org> |
672 | ||
673 | * Makefile.am: Update path to pre-inst-guile automake frag. | |
674 | ||
89d7a92c | 675 | 2002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de> |
646052c0 DH |
676 | |
677 | * gc.c (scm_gc_sweep): Make it compile even when deprecated | |
678 | features are excluded. | |
679 | ||
89d7a92c | 680 | 2002-02-25 Dirk Herrmann <D.Herrmann@tu-bs.de> |
bac0e232 DH |
681 | |
682 | * num2integral.i.c (NUM2INTEGRAL): Fixed signedness problem. | |
683 | ||
4f2716b6 GH |
684 | 2002-02-25 Gary Houston <ghouston@arglist.com> |
685 | ||
686 | * convert.c: include <string.h> for convert_i.c. | |
687 | ||
46151112 RB |
688 | 2002-02-24 Rob Browning <rlb@defaultvalue.org> |
689 | ||
690 | * .cvsignore: add stamp-h1. | |
691 | ||
cd328b4f NJ |
692 | 2002-02-21 Neil Jerram <neil@ossau.uklinux.net> |
693 | ||
694 | * unif.c (scm_array_to_list): Correct name, which had been | |
695 | accidentally changed to scm_t_arrayo_list! | |
696 | ||
c709de7f MD |
697 | 2002-02-20 Mikael Djurfeldt <mdj@linnaeus> |
698 | ||
699 | * gc.c (scm_gc_sweep): Print an error message when aborting due to | |
700 | underflowing scm_mallocated. | |
701 | ||
c1965d31 MV |
702 | 2002-02-14 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
703 | ||
704 | * gc.h, gc.c (scm_must_malloc, scm_must_realloc, scm_must_strdup, | |
705 | scm_must_strndup, scm_done_malloc, scm_done_free, scm_must_free): | |
706 | Reimplemented using the new scm_gc_malloc, etc., functions and | |
707 | deprecated. | |
708 | ||
b606945b TTN |
709 | 2002-02-11 Thien-Thi Nguyen <ttn@giblet.glug.org> |
710 | ||
711 | * Makefile.am (bin_PROGRAMS): Move `guile_filter_doc_snarfage' | |
712 | to `noinst_PROGRAMS'. | |
713 | (bin_SCRIPTS): Move all values to `noinst_SCRIPTS'; delete. | |
714 | (noinst_PROGRAMS, noinst_SCRIPTS): New. | |
715 | ||
7c686ba8 MV |
716 | 2002-02-11 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
717 | ||
718 | * gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when | |
719 | non-zero is returned from a port or smob free function. | |
720 | (scm_malloc, scm_realloc, scm_strndup, scm_strdup, | |
721 | scm_gc_register_collectable_memory, | |
722 | scm_gc_unregister_collectable_memory, scm_gc_malloc, | |
723 | scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New. | |
724 | ||
725 | * backtrace.c, continuations.c, convert.i.c, coop-threads.c, | |
726 | debug-malloc.c, dynl.c, environments.c, environments.h, | |
727 | extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c, | |
728 | guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c, | |
729 | ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c, | |
730 | smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c, | |
731 | vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and | |
732 | scm_gc_free/free instead of scm_must_malloc and scm_must_free, as | |
733 | appropriate. Return zero from smob and port free functions. | |
734 | ||
735 | * debug-malloc.c (scm_malloc_reregister): Handle "old == NULL". | |
736 | ||
737 | * deprecation.h, deprecation.c: Reimplemented to allow deprecation | |
738 | messages while the GC is running. | |
739 | (scm_c_issue_deprecation_warning_fmt): New. | |
740 | ||
741 | * fports.c (scm_setvbuf): Reset read buffer to saved values when | |
742 | it is pointing to the putback buffer. | |
743 | ||
66adc0a6 TTN |
744 | 2002-02-08 Thien-Thi Nguyen <ttn@giblet.glug.org> |
745 | ||
746 | * gsubr.c (create_gsubr): On "too many args" error, | |
747 | also display arg count and name. Thanks to Bill Schottstaedt. | |
748 | ||
0187b4f4 TTN |
749 | 2002-02-05 Thien-Thi Nguyen <ttn@giblet.glug.org> |
750 | ||
751 | * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am. | |
752 | ||
753 | (bin_SCRIPTS): Remove guile-snarf-docs-texi. | |
754 | (alldotdocfiles, snarf2checkedtexi, dotdoc2texi): New vars. | |
755 | (guile.texi, guile-procedures.texi): Use $(dotdoc2texi). | |
756 | ||
757 | * guile-snarf-docs-texi.in: Bye bye. | |
758 | ||
402e687c MV |
759 | 2002-02-04 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
760 | ||
761 | * symbols.c (scm_make_symbol): Fix typo in docstring. | |
762 | ||
763 | * symbols.h (scm_mem2uninterned_symbol, scm_symbol_interned_p, | |
764 | scm_make_symbol): New prototypes. | |
765 | ||
319b98ed MV |
766 | 2002-02-03 Marius Vollmer <mvo@zagadka.ping.de> |
767 | ||
768 | * symbols.h (SCM_SET_SYMBOL_HASH): Removed. | |
769 | (SCM_SYMBOL_INTERNED_P): New. | |
770 | * symbols.c (scm_symbol_hash): Use scm_ulong2num instead of | |
771 | SCM_MAKINUM since hash values can well be bignums. | |
772 | (scm_mem2symbol): Only use hash values below SCM_T_BITS_MAX/2. | |
773 | This signals a interned symbol. | |
774 | (scm_mem2uninterned_symbol, scm_symbol_interned_p, | |
775 | scm_make_symbol): New. | |
0187b4f4 | 776 | |
319b98ed MV |
777 | * print.c (scm_iprin1): Print uninterned symbols unreadably. |
778 | ||
34472dfe TTN |
779 | 2002-02-02 Thien-Thi Nguyen <ttn@giblet.glug.org> |
780 | ||
781 | * __scm.h (HAVE_UINTPTR_T): Only define if UINTPTR_T attributes | |
782 | are defined: UINTPTR_MAX, INTPTR_MAX, INTPTR_MIN. | |
0187b4f4 | 783 | Thanks to Dave Love. |
34472dfe | 784 | |
1b39c2e3 MV |
785 | 2002-01-31 Marius Vollmer <mvo@zagadka.ping.de> |
786 | ||
787 | * symbols.c (scm_gensym): Use " g" as default prefix, not "g". | |
319b98ed | 788 | This might help to make unintended clashes less likely. |
1b39c2e3 MV |
789 | (scm_string_to_symbol): Protect the string until the symbols is |
790 | created. | |
791 | ||
1fa86ca5 SJ |
792 | 2002-01-31 Stefan Jahn <stefan@lkcc.org> |
793 | ||
794 | * convert.c, convert.h, convert.i.c: New files containing C | |
34472dfe | 795 | array to Scheme conversion helpers meant to be replacement |
1fa86ca5 SJ |
796 | functions for the deprecated gh interface. |
797 | ||
798 | * Makefile.am: Setup rules for new `convert.*' files. | |
799 | ||
af68e5e5 SJ |
800 | 2002-01-28 Stefan Jahn <stefan@lkcc.org> |
801 | ||
802 | * symbols.c (scm_c_symbol2str): New function, replacement for | |
803 | `gh_scm2newsymbol()'. | |
804 | ||
34472dfe | 805 | * strings.c (scm_c_substring2str): New function. Proper |
af68e5e5 SJ |
806 | replacement for `gh_get_substr()'. |
807 | ||
808 | * socket.c: Include `stdint.h' if available for the `uint32_t' | |
809 | declaration. | |
810 | ||
34472dfe | 811 | * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits |
af68e5e5 SJ |
812 | compiler warning). |
813 | ||
814 | * backtrace.c: Include `lang.h' for GUILE_DEBUG conditional. | |
815 | ||
c96d76b8 | 816 | 2002-01-22 Neil Jerram <neil@ossau.uklinux.net> |
34472dfe | 817 | |
c96d76b8 | 818 | Other changes unrelated to Elisp... |
34472dfe | 819 | |
c96d76b8 NJ |
820 | * eval.c (scm_m_if): Use s_if rather than repeating string literal |
821 | "if". | |
822 | (comments): Fix a few typos. | |
823 | (scm_for_each): Add parentheses around oddly unparenthesized | |
824 | if/while conditions. | |
825 | ||
826 | * read.c (scm_read_opts): Add full stop at end of doc for | |
827 | `keywords' option. | |
828 | ||
829 | * script.c (scm_compile_shell_switches): Use scm_str2symbol | |
830 | instead of gh_symbol2scm. | |
831 | ||
832 | * srcprop.h (SRCPROPBRK): Return C type rather than SCM. | |
833 | (SRCBRKP): Use SRCPROPBRK rather than duplicating its logic. | |
834 | ||
835 | * srcprop.c (scm_srcprops_to_plist, scm_source_property): Change | |
836 | SRCPROPBRK (x) to SCM_BOOL (SRCPROPBRK (x)). | |
837 | ||
838 | First batch of changes for Elisp support... | |
839 | ||
840 | * alist.c, async.c, boolean.c, dynl.c, eval.c, filesys.c, | |
841 | fluids.c, list.c, load.c, options.c, posix.c, print.c, sort.c, | |
842 | throw.c, vectors.c, weaks.c: Add #include for lang.h. | |
843 | ||
844 | * eval.c, eval.h, init.c, lang.c, lang.h: Use SCM_ENABLE_ELISP to | |
845 | conditionalize compilation and initialization of Elisp support | |
846 | function. | |
34472dfe | 847 | |
c96d76b8 NJ |
848 | * alist.c (scm_assq, scm_assv, scm_assoc), async.c |
849 | (scm_asyncs_pending, scm_run_asyncs, noop), backtrace.c | |
850 | (scm_set_print_params_x), dynl.c (scm_make_argv_from_stringlist), | |
851 | filesys.c (fill_select_type, retrieve_select_type), fluids.c | |
852 | (scm_swap_fluids, scm_swap_fluids_reverse), list.c (scm_null_p, | |
853 | scm_ilength, scm_append_x, scm_last_pair, scm_reverse, | |
854 | scm_reverse_x, scm_list_ref, scm_list_set_x, scm_list_cdr_set_x, | |
bbd26b5a NJ |
855 | scm_c_memq, scm_memv, scm_member), load.c (scm_search_path), |
856 | options.c (change_option_setting, scm_options), posix.c | |
857 | (environ_list_to_c), print.c (scm_iprlist), throw.c | |
858 | (scm_exit_status), vectors.c (scm_vector), weaks.c | |
859 | (scm_weak_vector): Use SCM_NULL_OR_NIL_P instead of SCM_NULLP. | |
c96d76b8 NJ |
860 | |
861 | * boolean.c (scm_not): Use `SCM_FALSEP || SCM_NILP' instead of | |
862 | just SCM_FALSEP. | |
34472dfe | 863 | |
c96d76b8 NJ |
864 | * boolean.c (scm_boolean_p): Use `SCM_BOOLP || SCM_NILP' instead |
865 | of just SCM_BOOLP. | |
866 | ||
867 | * eval.c (scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify, | |
868 | s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify, | |
869 | scm_m_0_ify, s_1_ify, scm_m_1_ify): Removed. | |
870 | (scm_m_atfop): Support function aliasing. Support both function | |
871 | args, which need transformation, and macro args, which do not. | |
872 | Add explanatory comments. | |
873 | (SCM_CEVAL): In switch cases for SCM_IM_AND, SCM_IM_COND, | |
874 | SCM_IM_DO, SCM_IM_IF and SCM_IM_OR, add `|| SCM_NILP' to existing | |
875 | checks for SCM_FALSEP. In switch case for SCM_IM_NIL_COND, use | |
876 | SCM_NULLP || SCM_NILP instead of checks against (removed) | |
877 | scm_lisp_nil. Removed switch cases for SCM_IM_NIL_IFY, | |
878 | SCM_IM_T_IFY, SCM_IM_0_COND, SCM_IM_0_IFY, SCM_IM_1_IFY. | |
879 | ||
880 | * lang.c (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, | |
881 | scm_m_while, scm_nil_eq): Commented out; I don't think we need | |
882 | these, but I don't want to remove them yet, just in case. | |
883 | (scm_init_lang): Define `%nil' variable on Scheme level to hold | |
884 | Elisp nil value. | |
885 | ||
886 | * lang.h (SCM_NILP): Test against Elisp nil value instead of | |
887 | against (removed) scm_lisp_nil. | |
888 | (SCM_NILNULLP, SCM_NIL2EOL, SCM_EOL2NIL): Commented out. | |
889 | (SCM_NULL_OR_NIL_P): New. | |
890 | ||
891 | * list.c (scm_append): Use SCM_VALIDATE_NULL_OR_NIL instead of | |
892 | SCM_VALIDATE_NULL. | |
893 | ||
894 | * print.c (scm_isymnames): Fix comment. Remove #@nil-ify, | |
895 | #@t-ify, #@0-cond, #@0-ify, #@1-ify. Add #nil (for SCM_ELISP_NIL | |
896 | value). | |
897 | ||
898 | * sort.c (scm_sorted_p, scm_merge, scm_merge_list_x, scm_merge_x, | |
899 | scm_sort_x, scm_sort, scm_stable_sort_x, scm_stable_sort): Use | |
900 | SCM_NULL_OR_NIL_P instead of SCM_NULLP. In constructions like `if | |
901 | (SCM_NULLP (x)) return SCM_EOL;', return x rather than SCM_EOL. | |
902 | ||
903 | * tags.h (SCM_IM_NIL_IFY, SCM_IM_T_IFY, SCM_IM_0_COND, | |
904 | SCM_IM_0_IFY, SCM_IM_1_IFY): Removed. | |
905 | (SCM_IM_BIND, SCM_IM_DELAY, SCM_IM_CALL_WITH_VALUES, SCM_UNBOUND): | |
906 | Numbering shifted down accordingly. | |
907 | (SCM_ELISP_NIL): New IFLAG. | |
908 | ||
909 | * validate.h (SCM_VALIDATE_NULL_OR_NIL): New. | |
34472dfe | 910 | |
a392ee15 DH |
911 | 2002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de> |
912 | ||
913 | * eval.c: Removed outdated references to "everr". Improved some | |
914 | comments. | |
915 | ||
916 | (scm_deval_args, deval_args): Renamed scm_deval_args to | |
917 | deval_args, since it is not part of the interface. | |
918 | ||
919 | (SCM_CEVAL): Added (maybe somewhat verbose) comment. Avoid to | |
920 | use references to debug.vect[0] before it exists. Add parentheses | |
921 | to switch statement. | |
922 | ||
923 | * goops.h: Added local emacs variables. | |
924 | ||
24933780 DH |
925 | 2002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de> |
926 | ||
927 | * eval.[ch] (scm_deval_args): Made static. | |
928 | ||
929 | * srcprop.c (scm_source_property): Remove redundant SCM_IMP | |
930 | test. | |
931 | ||
932 | * strings.c (scm_c_string2str): Clarified comment. Replaced | |
933 | THINKME by FIXME for uniformness. Removed question about whether | |
934 | arguments need to be protected from garbage collection: Arguments | |
935 | must be protected as any other variable. | |
936 | ||
f9450cdb DH |
937 | 2002-01-10 Dirk Herrmann <D.Herrmann@tu-bs.de> |
938 | ||
939 | * procs.h (SCM_CLOSURE_BODY): New Macro. | |
940 | ||
941 | * debug.c (scm_procedure_name, scm_procedure_source), eval.c | |
942 | (SCM_CEVAL, SCM_APPLY), goops.c (scm_sys_initialize_object, | |
943 | get_slot_value, set_slot_value), procs.c | |
944 | (scm_procedure_documentation), sort.c (closureless), stacks.c | |
945 | (get_applybody): Replace SCM_CDR (SCM_CODE (...)) by | |
946 | SCM_CLOSURE_BODY. | |
947 | ||
948 | * sort.c (closureless): Prefer !SCM_FOOP over SCM_NFOOP. | |
949 | ||
5dc64f64 MV |
950 | 2001-12-26 Marius Vollmer <mvo@zagadka.ping.de> |
951 | ||
952 | * Makefile.am (guile-procedures.txt): When we don't have makeinfo, | |
953 | use "cp" instead. | |
954 | ||
197ee3d3 MV |
955 | 2001-12-16 Marius Vollmer <mvo@zagadka.ping.de> |
956 | ||
957 | * stacks.c, stacks.h (scm_t_stackype): Renamed to scm_stack_type | |
958 | everywhere. | |
959 | ||
960 | * continuations.c (scm_make_continuation): Do not retain the | |
961 | throw_value when the continuation is invoked. | |
962 | ||
4d4528e7 SJ |
963 | 2001-12-08 Stefan Jahn <stefan@lkcc.org> |
964 | ||
965 | * strings.c (scm_c_string2str): New function. Converts a | |
34472dfe | 966 | given Scheme string into a C string. Also put in two |
4d4528e7 SJ |
967 | THINKME's regarding the malloc policy for the missing converter |
968 | routines. | |
969 | ||
98347362 NJ |
970 | 2001-12-01 Neil Jerram <neil@ossau.uklinux.net> |
971 | ||
972 | * gh_data.c (gh_module_lookup): Use scm_str2symbol rather than | |
973 | gh_symbol2scm. | |
974 | ||
1fc8902f DH |
975 | 2001-11-28 Dirk Herrmann <D.Herrmann@tu-bs.de> |
976 | ||
977 | * gc.h (SCM_GC_CELL_WORD, SCM_GC_CELL_OBJECT, | |
978 | SCM_GC_SET_CELL_WORD, SCM_GC_SET_CELL_OBJECT): New macros. | |
979 | ||
980 | (SCM_GC_CELL_TYPE, SCM_CELL_WORD, SCM_CELL_OBJECT, | |
981 | SCM_SET_CELL_WORD, SCM_SET_CELL_OBJECT, SCM_FREE_CELL_CDR, | |
982 | SCM_GC_SET_CELL_OBJECT): Express in terms of SCM_GC_CELL_* | |
983 | macros. | |
984 | ||
985 | (SCM_FREE_CELL_P): Express in terms of SCM_GC_CELL_TYPE. | |
986 | ||
987 | * inline.h (scm_alloc_cell, scm_alloc_double_cell): Use | |
988 | SCM_GC_CELL_* macros when accessing free cells. | |
989 | ||
4878beec MV |
990 | 2001-11-25 Marius Vollmer <mvo@zagadka.ping.de> |
991 | ||
992 | * vectors.h (SCM_MAKE_VECTOR_TAG): New. | |
34472dfe | 993 | * unif.h (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New. |
4878beec MV |
994 | * symbols.h (SCM_MAKE_SYMBOL_TAG): New. |
995 | * strings.h (SCM_MAKE_STRING_TAG): New. | |
996 | * procs.h (SCM_MAKE_CCLO_TAG): New. | |
997 | * numbers.h (SCM_MAKE_BIGNUM_TAG): New. | |
998 | ||
999 | * goops.h: Replaced SCM_DEBUG_DEPRECATED with | |
1000 | !SCM_ENABLE_DEPRECATED. | |
1001 | ||
1002 | * async.c, async.h (scm_system_async_mark_from_signal_handler): | |
1003 | New. | |
1004 | ||
1005 | * scmsigs.c (scm_take_signal): Removed all code that assumes that | |
1006 | signal handlers are allowed to divert the flow of control. Call | |
1007 | scm_system_async_mark_from_signal_handler instead of | |
1008 | scm_system_async_mark. | |
1009 | ||
1010 | ||
1011 | Deprecated SCM_NEWCELL and SCM_NEWCELL2. Added scm_alloc_cell and | |
1012 | scm_alloc_double_cell in their place. | |
34472dfe | 1013 | |
4878beec MV |
1014 | * gc.h (SCM_GC_SET_ALLOCATED, scm_debug_newcell, |
1015 | scm_debug_newcell2, scm_tc16_allocated): Removed from header. | |
1016 | (scm_deprecated_newcell, scm_deprecated_newcell2): New. | |
1017 | (SCM_NEWCELL, SCM_NEWCELL2): Implement in terms of | |
1018 | scm_deprecated_newcell and scm_deprecated_newcell2. | |
1019 | ||
1020 | gc.c (scm_tc16_allocated): Only define when including deprecated | |
1021 | features. | |
1022 | (scm_debug_newcell, scm_debug_newcell2): Removed. | |
1023 | (scm_init_storage): Do not initialize scm_tc16_allocated. | |
1024 | (scm_init_gc): Do it here. | |
1025 | (allocated_mark): New, from old code. | |
1026 | (scm_deprecated_newcell, scm_deprecated_newcell2): New. | |
34472dfe | 1027 | |
4878beec | 1028 | * inline.c, inline.h: New files. |
34472dfe | 1029 | * Makefile.am: Added them in all the right places. |
4878beec | 1030 | |
34472dfe | 1031 | * _scm.h: Include "libguile/inline.h". |
4878beec MV |
1032 | |
1033 | * alist.c, coop-threads.c, debug.c, environments.c, eval.c, | |
1034 | fports.c, gh_data.c, goops.c, guardians.c, lang.c, list.c, | |
1035 | num2float.i.c, numbers.c, pairs.c, ports.c, print.c, procs.c, | |
1036 | smob.c, smob.h, strings.c, strports.c, struct.c, symbols.c, | |
1037 | unif.c, variable.c, vectors.c, vports.c, weaks.c: Replaced | |
1038 | SCM_NEWCELL and SCM_NEWCELL2 with scm_alloc_cell and | |
1039 | scm_alloc_double_cell, respectively. | |
1040 | ||
d2bc7fae MV |
1041 | 2001-11-23 Marius Vollmer <mvo@zagadka.ping.de> |
1042 | ||
1043 | * modules.c (scm_c_use_module): Adapt to changes to | |
1044 | `process-use-modules'. | |
1045 | ||
5eec27e9 DH |
1046 | 2001-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1047 | ||
1048 | * numbers.c (scm_divide): Fix more division by zero errors. | |
1049 | ||
8978878f GH |
1050 | 2001-11-21 Gary Houston <ghouston@arglist.com> |
1051 | ||
1052 | * Makefile.am (OMIT_DEPENDENCIES): removed, since it seems to be | |
1053 | obsolete. autogen.sh says: | |
1054 | invalid unused variable name: `OMIT_DEPENDENCIES' | |
1055 | ||
164826d3 DH |
1056 | 2001-11-22 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1057 | ||
1058 | * numbers.c (scm_divide): Fix (/ 0). Thanks to Keith Wright for | |
1059 | reporting the bug. | |
1060 | ||
84aff7a7 MV |
1061 | 2001-11-21 Marius Vollmer <mvo@zagadka.ping.de> |
1062 | ||
1063 | * Makefile.am (install-exec-hook): Prepend $(DESTDIR) to filename. | |
1064 | Thanks to Eric Gillespie, Jr! | |
34472dfe | 1065 | |
6063dc1d SJ |
1066 | 2001-11-21 Stefan Jahn <stefan@lkcc.org> |
1067 | ||
34472dfe TTN |
1068 | * win32-socket.c (getservent, setservent, endservent, |
1069 | getprotoent, setprotoent, endprotoent): New functions. | |
6063dc1d SJ |
1070 | Appropriate replacements for M$-Windows. |
1071 | ||
1072 | * numbers.c (SIZE_MAX, PTRDIFF_MAX, PTRDIFF_MIN): Reintroduced | |
1073 | these definitions for GUILE_DEBUG. | |
1074 | ||
1075 | * net_db.c: Include "win32-socket.h" if compiling with a native | |
34472dfe TTN |
1076 | M$-Windows compiler. Include some pieces of code (protoent and |
1077 | servent interface) protected by HAVE_* macros when using a | |
6063dc1d SJ |
1078 | native M$-Windows compiler. |
1079 | ||
351982f6 MV |
1080 | 2001-11-20 Marius Vollmer <mvo@zagadka.ping.de> |
1081 | ||
1082 | * modules.c (scm_c_export): Do nothing when the first argument is | |
1083 | already the terminating NULL. Thanks to Han-Wen Nienhuys! | |
1084 | ||
849038b5 TTN |
1085 | 2001-11-20 Thien-Thi Nguyen <ttn@glug.org> |
1086 | ||
1087 | * Makefile.am (libpath.h): In SCM_BUILD_INFO, | |
1088 | also include `buildstamp'. | |
1089 | ||
5c790b44 RB |
1090 | 2001-11-18 Rob Browning <rlb@defaultvalue.org> |
1091 | ||
1092 | * version.c | |
1093 | (s_scm_major_version): use SCM_MAJOR_VERSION. | |
1094 | (s_scm_minor_version): use SCM_MINOR_VERSION. | |
1095 | (s_scm_micro_version): use SCM_MICRO_VERSION. | |
1096 | (s_scm_version): use SCM_MAJOR_VERSION, SCM_MINOR_VERSION, and | |
1097 | SCM_MICRO_VERSION. | |
1098 | ||
1099 | * version.h.in | |
1100 | (SCM_MAJOR_VERSION): renamed from SCM_GUILE_MAJOR_VERSION. | |
1101 | (SCM_MINOR_VERSION): renamed from SCM_GUILE_MINOR_VERSION. | |
1102 | (SCM_MICRO_VERSION): renamed from SCM_GUILE_MICRO_VERSION. | |
1103 | ||
694a9bb3 NJ |
1104 | 2001-11-18 Neil Jerram <neil@ossau.uklinux.net> |
1105 | ||
1106 | * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x): | |
1107 | Rewrite docstrings without reference to substring-move-left/right, | |
1108 | since the latter no longer exist. | |
1109 | ||
302c12b4 DH |
1110 | 2001-11-17 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1111 | ||
1112 | * eval.c: Removed bogus comment about acros. | |
1113 | ||
1114 | (scm_unmemocar): Use !SCM_CONSP instead of SCM_IMP. | |
1115 | Minimize scope of local variable. Eliminate dependency on | |
1116 | macro DEBUG_EXTENSIONS. | |
1117 | ||
1118 | (s_splicing): New error message string. | |
1119 | ||
1120 | (scm_m_body): Issue 'bad body' message rather than 'missing | |
1121 | expression' message. | |
1122 | ||
1123 | (scm_m_quote): Eliminate unnecessary copying. | |
1124 | ||
1125 | (scm_m_lambda, scm_m_letstar, scm_m_letrec, scm_m_let): Leave the | |
1126 | checking of the body to scm_m_body. | |
1127 | ||
1128 | (scm_m_do): Move comment to function header. Rename arg1 to | |
1129 | binding. Made the code a bit easier to read. | |
1130 | ||
1131 | (evalcar): Removed. | |
1132 | ||
1133 | (iqq): Added a comment. Changed the depth parameter to | |
1134 | unsigned. Use size_t for vector lengths. Make sure vector object | |
1135 | is gc protected as long as its contents are read. Add some syntax | |
1136 | checks. Get rid of unnecessary SCM_IMP test. Clean up the | |
1137 | control structure a bit. | |
1138 | ||
1139 | (scm_m_delay): Added comment about the implementation of | |
1140 | scm_m_delay. | |
1141 | ||
1142 | (scm_m_define): Add comment about guile's currying define | |
1143 | syntax. Renamed 'proc' to 'name'. Eliminate dependency on macro | |
1144 | DEBUG_EXTENSIONS. Simplified code a bit. Eliminate SICP code. | |
1145 | ||
1146 | (scm_m_letrec1): Removed. Part of the functionality is taken | |
1147 | over by the new function 'transform_bindings'. | |
1148 | ||
1149 | (transform_bindings): New function. Takes over some of the | |
1150 | functionality of removed function 'scm_m_letrec1', namely to split | |
1151 | a list of bindings into a reversed list of variables and a list of | |
1152 | initializers. | |
1153 | ||
1154 | (scm_m_letrec): Call 'transform_bindings'. | |
1155 | ||
1156 | (scm_m_let): Minimized scope of local variables. Renamed 'proc' | |
1157 | to 'temp' and 'arg1' to 'binding'. Eliminated redundant SCM_NIMP | |
1158 | test. Use 'transform_bindings'. Fixed scoping error with named | |
1159 | let (Thanks to Aubrey Jaffer for reporting the bug and to Neil | |
1160 | Jerram for suggesting the fix). Cleaned up the control structure | |
1161 | a bit. | |
1162 | ||
1163 | (scm_m_expand_body): Use 'transform_bindings'. Eliminated | |
1164 | unnecessary consing. Eliminated unnecessary | |
1165 | SCM_DEFER/ALLOW_INTS. | |
1166 | ||
1167 | (SCM_CEVAL): Un-obfuscated some loops. | |
1168 | ||
cecb4a5e NJ |
1169 | 2001-11-16 Neil Jerram <neil@ossau.uklinux.net> |
1170 | ||
8f85c0c6 NJ |
1171 | * gc.h (scm_unhash_name): Old declaration removed. |
1172 | ||
1173 | * eval.c (s_scm_eval): Change @var{primitive-eval} to | |
1174 | @code{primitive-eval}. | |
1175 | ||
1176 | * feature.c, vectors.c, net_db.c, unif.c, weaks.c, struct.c, | |
1177 | version.c, alist.c, ports.c, ramap.c, unif.c, strings.c, list.c: | |
1178 | Change @deffnx lines in docstrings to say {Scheme Procedure} | |
1179 | rather than primitive or procedure. | |
1180 | ||
1181 | * posix.c (scm_execl), filesys.c (scm_close), unif.c | |
1182 | (scm_array_set_x, scm_array_contents, scm_uniform_array_read_x, | |
1183 | scm_bit_set_star_x, scm_bit_invert_x), ramap.c (scm_array_fill_x, | |
1184 | scm_array_for_each, scm_array_index_map_x), vectors.c (scm_vector, | |
1185 | scm_make_vector, scm_vector_to_list, scm_vector_fill_x), strop.c | |
1186 | (scm_string_split, scm_string_ci_to_symbol), strings.c | |
1187 | (scm_string_p), sort.c (scm_merge), print.c (scm_newline), | |
1188 | macros.c (scm_macro_type), alist.c (scm_acons, scm_assq): | |
1189 | Docstring fixes and improvements reflecting edits that have been | |
1190 | made in the reference manual source. | |
1191 | ||
1192 | * objprop.c (scm_object_properties, scm_set_object_properties_x, | |
1193 | scm_object_property, scm_set_object_property_x): Remove invalid | |
1194 | @deffnx lines for corresponding procedure property primitives. | |
1195 | ||
cecb4a5e NJ |
1196 | These changes add a @deffnx C function declaration and function |
1197 | index entries for each Guile primitive to the copy of the doc | |
1198 | snarf output that is used for reference manual synchronization. | |
1199 | Online help is unchanged. | |
849038b5 | 1200 | |
cecb4a5e NJ |
1201 | * snarf.h (SCM_SNARF_DOCS): Output primitive's C function name. |
1202 | (SCM_DEFINE, SCM_DEFINE1, SCM_REGISTER_PROC): Supply to C function | |
1203 | name to SCM_SNARF_DOCS. | |
849038b5 | 1204 | |
cecb4a5e NJ |
1205 | * guile-snarf-docs-texi.in: Pass the shell script's arguments into |
1206 | snarf-check-and-output-texi. | |
1207 | ||
1208 | * Makefile.am (guile-procedures.texi): New rule. | |
1209 | (BUILT_SOURCES, guile.texi, guile-procedures.txt, CLEANFILES): | |
1210 | Changed so that the last stage of doc snarfing is now performed | |
1211 | twice, once to produce guile-procedures.txt for online help, and | |
1212 | once to produce guile.texi for reference manual synchronization. | |
1213 | ||
ddea3325 DH |
1214 | 2001-11-15 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1215 | ||
1216 | * eval.c (RETURN): Wrap in do{}while(0) in order to make it | |
1217 | safely usable as a single statement followed by a ';', for example | |
1218 | in an if statement. | |
1219 | ||
1220 | (SCM_CEVAL, SCM_APPLY): Clean up code using 'RETURN'. | |
1221 | ||
72dd0a03 NJ |
1222 | 2001-11-13 Neil Jerram <neil@ossau.uklinux.net> |
1223 | ||
1224 | * random.c (scm_random_solid_sphere_x, | |
1225 | scm_random_hollow_sphere_x): Correct "shere" typos. | |
1226 | ||
1227 | * hashtab.c (scm_hash_fold): Add missing apostrophe to docstring. | |
1228 | ||
1229 | * version.c (scm_version): Update docstring to include | |
1230 | `micro-version'. | |
1231 | ||
6558eda6 MV |
1232 | 2001-11-13 Marius Vollmer <mvo@zagadka.ping.de> |
1233 | ||
409b8588 MV |
1234 | * modules.c (scm_c_export): Call va_end after collecting the |
1235 | symbols. | |
1236 | ||
adb8c0f2 MV |
1237 | * strop.h, strop.c (scm_substring_move_left_x, |
1238 | scm_substring_move_right_x): Removed. | |
1239 | ||
6558eda6 MV |
1240 | * __scm.h (HAVE_UINTPTR_T, HAVE_PTRDIFF_T, HAVE_LONG_LONG, |
1241 | HAVE_LONG_LONGS): Define to "1" when defining them, to mirror what | |
1242 | configure does. | |
1243 | ||
5d8fc640 MV |
1244 | 2001-11-12 Marius Vollmer <mvo@zagadka.ping.de> |
1245 | ||
1246 | * numbers.c: Document macros to define when including | |
1247 | num2integral.i.c. MAX_VALUE and MIN_VALU are no longer used, we | |
1248 | now rely on SIZEOF_ macros that have been figured out at | |
1249 | configure time. | |
1250 | ||
1251 | * num2integral.i.c: Adapt to new interface. | |
1252 | (NUM2INTEGRAL): Test whether a fixnum can be represented in the | |
1253 | target type by casting it and checking whether it is still the | |
1254 | same. Do not try to handle bignums for integral types that are | |
1255 | smaller than fixnums. When handling bignums, collect the | |
1256 | magnituse first into a unsigned type, and correctly check for | |
1257 | overflow. | |
1258 | (INTEGRAL2BIG): Do not use MIN_VALUE explicitely by observing that | |
1259 | only -MIN_VALUE can still be negative of all negative numbers (in | |
1260 | twos-complement). | |
1261 | ||
849038b5 | 1262 | * tags.h (SIZEOF_SCM_T_BITS): Define it appropriately. |
5d8fc640 MV |
1263 | |
1264 | * __scm.h: Define HAVE_UINTPTR_T, HAVE_PTRDIFF_T and | |
1265 | HAVE_LONG_LONG depending on whether their size is non-zero. | |
1266 | ||
d6b8cf11 TTN |
1267 | 2001-11-11 Thien-Thi Nguyen <ttn@glug.org> |
1268 | ||
1269 | * strop.c (scm_string_null_p): Docfix; nfc. | |
1270 | Thanks to Scott Lenser. | |
1271 | ||
9401323e NJ |
1272 | 2001-11-07 Neil Jerram <neil@ossau.uklinux.net> |
1273 | ||
1274 | * extensions.c (scm_load_extension): Canonicalize docstring | |
1275 | whitespace. | |
1276 | ||
1277 | * unif.c (scm_uniform_array_write), ports.c | |
1278 | (scm_current_output_port, scm_force_output), dynwind.c | |
1279 | (scm_dynamic_wind), scmsigs.c (scm_setitimer, scm_getitimer), | |
1280 | filesys.c (scm_open, scm_lstat), struct.c | |
1281 | (scm_make_struct_layout), random.c (scm_random, | |
1282 | scm_random_solid_sphere_x, scm_random_hollow_sphere_x, strop.c | |
1283 | (scm_i_index): Remove superfluous whitespace from end of docstring | |
1284 | lines. | |
1285 | ||
1286 | * filesys.c (scm_select), guardians.c (scm_guardian_greedy_p), | |
1287 | strings.c (scm_make_string), variable.c (scm_make_variable, | |
1288 | scm_make_undefined_variable, scm_variable_p, scm_variable_set_x, | |
1289 | scm_variable_bound_p), scmsigs.c (scm_setitimer, scm_getitimer), | |
1290 | posix.c (scm_crypt), struct.c (scm_make_vtable_vtable), hashtab.c | |
1291 | (scm_hash_fold), ports.c (scm_port_for_each): Remove superfluous | |
1292 | newline at end of docstrings. | |
1293 | ||
1294 | * modules.c (scm_set_current_module): Add missing newline to | |
1295 | docstring. | |
1296 | ||
b4e15479 SJ |
1297 | 2001-11-07 Stefan Jahn <stefan@lkcc.org> |
1298 | ||
1299 | * win32-socket.[ch]: New files. Defines Winsock-API error codes | |
1300 | and makes them available through Guile. That is because the | |
1301 | Winsock-API does not store its errors in `errno' and thus cannot | |
1302 | return error messages via `strerror (errno)'. | |
1303 | ||
1304 | * socket.c (scm_init_socket): Initialize `win32-socket' part | |
1305 | here under M$-Windows. | |
1306 | ||
d6b8cf11 | 1307 | * numbers.h: Added missing declaration of |
b4e15479 SJ |
1308 | `scm_sys_check_number_conversions()'. |
1309 | ||
1310 | * error.c: Local definition of SCM_I_STRERROR and SCM_I_ERRNO | |
1311 | and use in `(strerror)' and `(system-error)'. | |
1312 | ||
d6b8cf11 | 1313 | * Makefile.am (EXTRA_libguile_la_SOURCES): Added |
b4e15479 SJ |
1314 | `win32-socket.[ch]' to extra source and header files. |
1315 | ||
7ab89df1 MV |
1316 | 2001-11-06 Marius Vollmer <mvo@zagadka.ping.de> |
1317 | ||
1318 | * script.c (scm_shell_usage, scm_compile_shell_switches): Prepend | |
1319 | a call to turn-on-debugging when --debug has been given instead of | |
1320 | turning it on directly. Also, handle new `--no-debug' option, | |
1321 | which might suppress the call to turn-on-debugging. | |
1322 | ||
0233bfc1 SJ |
1323 | 2001-11-05 Stefan Jahn <stefan@lkcc.org> |
1324 | ||
1325 | * struct.c (s_scm_struct_vtable_p): Corrected docstring. | |
1326 | ||
8f99e3f3 SJ |
1327 | 2001-11-04 Stefan Jahn <stefan@lkcc.org> |
1328 | ||
1329 | * Makefile.am (libguile_la_LIBADD): Added $(THREAD_LIBS_LOCAL) | |
d6b8cf11 | 1330 | here (was at guile_LDADD) which describes the dependency |
8f99e3f3 SJ |
1331 | correctly and allows a clean build on Win32. |
1332 | ||
d6b8cf11 | 1333 | * __scm.h (SCM_API): Follow-up patch. Renamed __FOO__ macros |
8f99e3f3 SJ |
1334 | into FOO. |
1335 | ||
1336 | * __scm.h: USE_DLL_IMPORT indicates the usage of the DLL | |
1337 | import macros for external libraries (libcrypt, libqthreads, | |
1338 | libreadline and libregex). | |
1339 | ||
1340 | * coop-defs.h: Include <winsock2.h> for `struct timeval'. | |
1341 | ||
1342 | * posix.c (flock): Added support for flock() in M$-Windows. | |
1343 | ||
1344 | * guile.c (SCM_IMPORT): Follow-up patch. Use SCM_IMPORT instead | |
1345 | of __SCM_IMPORT__. | |
1346 | ||
1347 | * fports.c (getflags): Differentiate reading and writing pipes | |
1348 | descriptors. | |
1349 | ||
1350 | * filesys.c (S_IS*): Redefine all of the S_IS*() macros for | |
1351 | M$-Windows. | |
1352 | ||
1353 | * coop.c (coop_condition_variable_timed_wait_mutex): Use | |
1354 | conditionalized error code if `ETIMEDOUT' is not available. | |
1355 | (scm_thread_usleep): Remove bogus declaration of `struct timeval | |
1356 | timeout'. | |
1357 | ||
1358 | * numbers.c (PTRDIFF_MIN): Moved this definition where it actually | |
1359 | belongs. That is because NO_PREPRO_MAGIC gets undefined after | |
1360 | each inclusion of `num2integral.i.c'. | |
1361 | (SIZE_MAX): Define NO_PREPRO_MAGIC if SIZE_MAX is undefined. | |
1362 | ||
4e21fa60 MV |
1363 | 2001-11-03 Marius Vollmer <mvo@zagadka.ping.de> |
1364 | ||
1365 | * eval.c (scm_m_begin): Allow `(begin)`, with no subforms. | |
1366 | (SCM_CEVAL): Evaluate an empty `begin' to SCM_UNSPECIFIED. | |
1367 | ||
08112c95 MD |
1368 | 2001-11-02 Mikael Djurfeldt <mdj@linnaeus> |
1369 | ||
7663c008 MD |
1370 | * print.c (scm_iprin1): Mark print state as revealed when |
1371 | dispatching to generic write or display. | |
1372 | ||
08112c95 MD |
1373 | * unif.c (scm_ra2contig): Fixed memory overwrite bug. |
1374 | ||
f712d833 MV |
1375 | 2001-11-02 Marius Vollmer <mvo@zagadka.ping.de> |
1376 | ||
1377 | Support for native Win32. Thanks to Stefan Jahn! | |
d6b8cf11 | 1378 | |
f712d833 MV |
1379 | * Makefile.am: Add win32-uname.c, win32-uname.h, win32-dirent.c |
1380 | and win32-dirent.h to extra source and header files. These | |
1381 | include the uname() and the POSIX dirent interface implementation | |
1382 | for M$-Windows. Put `-no-undefined' into LDFLAGS to support | |
1383 | linkers which do not allow unresolved symbols inside shared | |
1384 | libraries. Corrected `guile_filter_doc_snarfage$(EXEEXT)' | |
1385 | dependency. | |
1386 | ||
d6b8cf11 TTN |
1387 | * __scm.h: Defined SCM_API. This macro gets prepended to all |
1388 | function and data definitions which should be exported or imported | |
f712d833 MV |
1389 | in the resulting dynamic link library in the Win32 port. |
1390 | ||
1391 | * __scm.h, alist.h, arbiters.h, async.h, backtrace.h, boolean.h, | |
d6b8cf11 | 1392 | chars.h, continuations.h, coop-defs.h, coop-threads.h, |
f712d833 MV |
1393 | debug-malloc.h, debug.h, deprecation.h, dynl.h, dynwind.h, |
1394 | environments.h, eq.h, error.h, eval.h, evalext.h, extensions.h, | |
1395 | feature.h, filesys.h, fluids.h, fports.h, gc.h, gdb_interface.h, | |
1396 | gdbint.h, gh.h, goops.h, gsubr.h, guardians.h, hash.h, hashtab.h, | |
1397 | hooks.h, init.h, ioext.h, iselect.h, keywords.h, lang.h, list.h, | |
d6b8cf11 | 1398 | load.h, macros.h, mallocs.h, modules.h, net_db.h, numbers.h, |
f712d833 MV |
1399 | objects.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h, |
1400 | procprop.h, procs.h, properties.h, ramap.h, random.h, rdelim.h, | |
1401 | read.h, regex-posix.h, root.h, rw.h, scmsigs.h, script.h, simpos.h, | |
1402 | smob.h, socket.h, sort.h, srcprop.h, stackchk.h, stacks.h, stime.h, | |
1403 | strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, | |
1404 | tags.h, threads.h, throw.h, unif.h, values.h, variable.h, vectors.h, | |
1405 | vports.h, weaks.h: | |
1406 | Prefixed each each exported symbol with SCM_API. | |
1407 | ||
d6b8cf11 | 1408 | * continuations.c: Added comment about the use of the extern |
f712d833 MV |
1409 | declarations of {get,set}context() functions used in the ia64 port. |
1410 | ||
1411 | * continuations.h, gc.c: `__libc_ia64_register_backing_store_base' | |
1412 | is meant to be a `unsigned long *'. | |
1413 | ||
1414 | * filesys.c: Include `direct.h' if possible. Use local | |
1415 | `win32-dirent.h' for the native M$-Windows port. Define S_IS*() | |
1416 | macros for M$-Windows. Implementation of `fstat_Win32()' which is | |
1417 | able to differentiate between sockets and other file descriptors. | |
1418 | Use this function as wrapper in `scm_fstat()'. Fixed typo in | |
1419 | `scm_dirname()'. | |
1420 | ||
1421 | * fports.c: Include `io.h' is possible. Put `*fp' into referring | |
1422 | statement block in `scm_fport_buffer_add()'. | |
1423 | Some corrections in `getflags()'. | |
d6b8cf11 | 1424 | |
f712d833 MV |
1425 | * gdb_interface.h (GDB_INTERFACE): Also support __CYGWIN__. |
1426 | ||
1427 | * guile.c: Make sure to define __SCM_IMPORT__ for shared library | |
1428 | build on Win32. Disable preloaded symbols on Win2 platforms. | |
1429 | ||
1430 | * ioext.c, ports.c: Include `io.h' is possible. | |
1431 | ||
1432 | * mkstemp.c: Include `process.h' is possible. | |
1433 | ||
1434 | * net_db.c: Disable extern declaration of `h_errno' for __CYGWIN__, | |
1435 | too. | |
1436 | Put `scm_return_entry()' into HAVE_GETSERVENT conditional. | |
1437 | ||
1438 | * posix.c: Remove unnecessary dirent includes and defines. Include | |
1439 | local `win32-uname.h' for MinGW. Extern declaration of | |
1440 | `mkstemp()' for systems where it does not exists. Make | |
1441 | `getlogin()' available on M$-Windows. | |
1442 | ||
1443 | * scmsigs.c: Made `usleep()' avalable on MinGW. | |
1444 | ||
1445 | * stime.c: On M$-Windows `tzname[]' is known to be `_tzname[]'. | |
1446 | ||
1447 | * win32-dirent.c: Include "win32-dirent.h", not "dirent.h". | |
1448 | ||
1449 | * win32-uname.c: Include "win32-uname.h", not "uname.h". | |
1450 | ||
d245ce23 MD |
1451 | 2001-10-28 Mikael Djurfeldt <mdj@linnaeus> |
1452 | ||
1453 | * unif.c (scm_uniform_array_read_x, scm_uniform_array_write): | |
1454 | Don't apply scm_uniform_vector_length on arrays. | |
1455 | ||
8ea46249 DH |
1456 | 2001-10-14 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1457 | ||
1458 | * eval.c (scm_lookupcar, scm_m_letstar, scm_m_do, iqq, | |
1459 | scm_m_define, scm_m_letrec1, scm_m_let, scm_m_expand_body, | |
1460 | scm_macroexp, unmemocopy, scm_eval_args, scm_deval_args, | |
1461 | SCM_CEVAL, scm_map, scm_init_eval): When building lists, prefer | |
1462 | scm_list_<n> over scm_cons[2]?. | |
1463 | ||
1464 | (scm_unmemocar, scm_m_cond, scm_m_letstar, scm_m_letrec1, | |
1465 | scm_m_let, scm_m_atbind, unmemocopy, SCM_CEVAL, SCM_APPLY): Use | |
1466 | SCM_C[AD][AD]R instead of explicit form. | |
1467 | ||
1468 | (scm_m_set_x, scm_m_cond, scm_m_letstar, scm_m_do): Reordered | |
1469 | comparison parameters. | |
1470 | ||
1471 | (scm_m_case, scm_m_cond, scm_m_letstar, scm_m_do, SCM_CEVAL): Use | |
1472 | !SCM_NULLP instead of SCM_NIMP. | |
1473 | ||
1474 | (scm_m_case): Don't copy the form. Renamed proc to clause and | |
1475 | minimized its scope. Renamed x to clauses. Removed side | |
1476 | effecting operation from macro call. | |
1477 | ||
1478 | (scm_m_cond): Don't copy the form. Renamed arg1 to clause and | |
1479 | minimized its scope. Renamed x to clauses. Minimized the scope | |
1480 | of variable 'len'. Make sure the else clause is treated specially | |
1481 | even in case of '=>' occurences. Don't change the else to #t in | |
1482 | order to be able to distinguish this case in the evaluator. Leave | |
1483 | type checking of the recipient to the evaluator. | |
1484 | ||
1485 | (scm_c_improper_memq): Made the comment somewhat clearer. | |
1486 | ||
1487 | (scm_m_lambda): Renamed proc to formals. Removed unnecessary | |
1488 | test for SCM_IM_LET at the place of the formal parameters. | |
1489 | Simplified the formal parameter checking. | |
1490 | ||
1491 | (scm_m_letstar): Added Comment. Renamed proc to bindings. | |
1492 | Renamed arg1 to binding and minimized its scope. Eliminated | |
1493 | unnecessary consing. | |
1494 | ||
1495 | (scm_m_do): Renamed proc to bindings. Minimized the scope of | |
1496 | variable 'len'. | |
1497 | ||
1498 | (build_binding_list): New static function. | |
1499 | ||
1500 | (unmemocopy): Don't use SCM_TYP7 on pairs (it's unclean). | |
1501 | Further, split up the 'letrec' unmemoizing code to the | |
1502 | corresponding parts for 'do', 'let' and 'letrec', adding comments | |
1503 | to each form. Cleanup the handling of the do form (This removes | |
1504 | some *real* code :-). | |
1505 | ||
1506 | (SCM_CEVAL): Removed side effecting operation from macro call. | |
1507 | Handle the 'else clause of the 'cond form specially - the symbol | |
1508 | 'else is not replaced with #t any more. | |
1509 | ||
8186c4f5 GH |
1510 | 2001-10-14 Gary Houston <ghouston@arglist.com> |
1511 | ||
1512 | * version.c (scm_version): use sprintf instead of snprintf, | |
1513 | for portability. thanks to Bill Schottstaedt. | |
1514 | ||
89759084 MD |
1515 | 2001-10-14 Mikael Djurfeldt <mdj@linnaeus> |
1516 | ||
1517 | * read.c (scm_lreadr): When user-defined hash procedure returns | |
1518 | SCM_UNSPECIFIED: Fall back to standard handling instead of raising | |
1519 | an exception. (This prevents parsing of uniform vectors from | |
1520 | interfering with parsing of numbers.) | |
1521 | ||
9c7ce563 MV |
1522 | 2001-10-13 Marius Vollmer <mvo@zagadka.ping.de> |
1523 | ||
1524 | * numbers.c: Set NO_PREPRO_MAGIC when defining our version of | |
1525 | PTRDIFF_MIN. Thanks to Ken Raeburn. | |
1526 | ||
1527 | 2001-10-07 Marius Vollmer <mvo@zagadka.ping.de> | |
1528 | ||
1529 | * Makefile.am (EXTRA_libguile_la_SOURCES): Added "mkstemp.c". | |
1530 | ||
1531 | * eval.c (scm_m_atbind): First try to find the variable without | |
1532 | defining it locally; when it has not been found, define it | |
1533 | locally. | |
1534 | ||
1535 | * modules.c (module_variable): Pass over variables that exist but | |
1536 | are unbound. | |
1537 | ||
1538 | 2001-10-06 Marius Vollmer <mvo@zagadka.ping.de> | |
1539 | ||
1540 | * backtrace.c (display_backtrace_file_and_line): Only use | |
1541 | scm_basename when POSIX support is compiled in. Thanks to Chris | |
1542 | Cramer. | |
1543 | ||
1fe5e088 DH |
1544 | 2001-10-13 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1545 | ||
1546 | * numbers.c (mem2uinteger): Return number read so far when coming | |
1547 | across a hexdigit after having read a # or if not reading a hex | |
1548 | value. This will enable the calling code to correctly handle | |
1549 | forms like 1e2. (The background is, that the exponent markers d, | |
1550 | e and f are also hexdigits.) Thanks to Mikael Djurfeldt for | |
1551 | providing this patch. | |
1552 | ||
1553 | (mem2complex): Fix erroneous double-negation. Now, numbers like | |
1554 | 1-i will be read correctly. | |
1555 | ||
68665a97 MD |
1556 | 2001-10-12 Mikael Djurfeldt <mdj@linnaeus> |
1557 | ||
1558 | * debug.c (scm_mem_to_proc): Fixed typo in previous change. | |
1559 | ||
1560 | * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. | |
1561 | ||
d5cf5324 DH |
1562 | 2001-10-12 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1563 | ||
1564 | * print.c (scm_print_state_vtable, print_state_pool): | |
1565 | Initialize. These variables are now registered as gc roots. | |
1566 | ||
1567 | (scm_current_pstate): Update documentation. | |
1568 | ||
1569 | (scm_current_pstate, scm_make_print_state, scm_free_print_state, | |
1570 | scm_prin1, scm_init_print): print_state_pool is registered as a | |
1571 | gc root and thus does not need to be protected by a surrounding | |
1572 | pair any more. | |
1573 | ||
1574 | (make_print_state): The car of print_state_pool no longer holds | |
1575 | the scm_print_state_vtable. | |
1576 | ||
1577 | (scm_current_pstate, scm_make_print_state, print_circref, | |
1578 | scm_iprin1, scm_prin1, scm_iprlist): Prefer !SCM_<foo> over | |
1579 | SCM_N<foo>. | |
1580 | ||
1581 | (scm_prin1): When building lists, prefer scm_list_<n> over | |
1582 | scm_cons[2]?. | |
1583 | ||
1584 | (scm_iprlist): Removed a redundant SCM_IMP test. | |
1585 | ||
1586 | (scm_simple_format): Use SCM_EQ_P to compare SCM values. | |
1587 | ||
37c56aec DH |
1588 | 2001-10-11 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1589 | ||
1590 | * debug.c (scm_make_iloc): Prefer !SCM_<foo> over SCM_N<foo>. | |
1591 | ||
1592 | (scm_memcons, scm_mem_to_proc): When building lists, prefer | |
1593 | scm_list_<n> over scm_cons[2]?. | |
1594 | ||
1595 | (scm_mem_to_proc): Prefer SCM_CONSP over SCM_NIMP. | |
1596 | ||
1597 | (scm_procedure_name): Use SCM_CADR instead of explicit form. | |
1598 | ||
1599 | (debugobj_print): Coerce scm_intprint arg 1 to long, not int. | |
1600 | Thanks to Rob Browning for the patch (see log entry 2001-09-21) - | |
1601 | for some reason his patch didn't make it into the cvs. | |
1602 | ||
79d34f68 DH |
1603 | 2001-10-09 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1604 | ||
1605 | * numbers.c (mem2decimal_from_point): Cleaned up the parsing a | |
1606 | little bit - should even be somewhat more accurate now. | |
1607 | ||
5e137c65 RB |
1608 | 2001-10-08 Rob Browning <rlb@defaultvalue.org> |
1609 | ||
1610 | * gc.c: support ia64 register backing store. | |
1611 | (SCM_MARK_BACKING_STORE): new macro. | |
1612 | ||
1613 | * continuations.h: support ia64 register backing store. | |
1614 | (struct scm_t_contregs): add ia64 register backing store. | |
1615 | ||
1616 | * continuations.c: support ia64 register backing store. | |
1617 | (continuation_mark): mark ia64 register backing store. | |
1618 | (continuation_free): free ia64 register backing store. | |
1619 | (scm_make_continuation): capture ia64 register backing store. | |
1620 | (copy_stack_and_call): copy ia64 register backing store. | |
1621 | ||
ee083ac2 DH |
1622 | 2001-10-08 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1623 | ||
1624 | * hashtab.c (scm_hash_fn_create_handle_x): The result of assoc_fn | |
1625 | is known to be #f if no entry is found. Thus, use !SCM_FALSEP | |
1626 | instead of SCM_NIMP to test for that case. | |
1627 | ||
1628 | * strings.h (SCM_SET_STRING_LENGTH): Cast the length to | |
1629 | scm_t_bits instead of long. | |
1630 | ||
71dcdbf9 MV |
1631 | 2001-10-06 Marius Vollmer <mvo@zagadka.ping.de> |
1632 | ||
1633 | * tags.h (SCM_T_BITS_MAX, SCM_T_SIGNED_BITS_MAX, | |
1634 | SCM_T_SIGNED_BITS_MIN): New. | |
1635 | * numbers.h (SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM): | |
1636 | Use them to make these macros computable by the preprocessor. | |
1637 | ||
1638 | * num2integral.i.c (INTEGRAL2NUM): Let the preprocessor test | |
1639 | whether the integral type fits in a fixnum, not the compiler. | |
1640 | This removes a spurious compiler warning. Also, honor the | |
1641 | NO_PREPRO_MAGIC flag to suppress any preprocessor tests. This is | |
1642 | needed for `long long's. | |
1643 | ||
1644 | * numbers.c: Define NO_PREPRO_MAGOC when including | |
1645 | num2integral.c.i for `long long' and `signed long long'. | |
1646 | ||
152812c0 MD |
1647 | 2001-10-06 Mikael Djurfeldt <mdj@linnaeus> |
1648 | ||
1649 | These changes fixes a race condition in the Guile coop - pthread | |
1650 | compatibility code. | |
d6b8cf11 | 1651 | |
152812c0 MD |
1652 | * coop.c (mother_awake_p): New variable. |
1653 | (coop_create): Set mother_awake_p before creating or signalling | |
1654 | mother; wait until mother is going to sleep before returning. | |
1655 | (mother): Reset mother_awake_p before going to sleep. | |
1656 | ||
11d49f54 DH |
1657 | 2001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1658 | ||
1659 | * options.c (protected_objects, scm_init_options): The content of | |
1660 | protected_objects is now protected from garbage collection using | |
1661 | scm_gc_register_root instead of scm_permanent_object. | |
1662 | ||
1663 | (get_option_setting): New static function that computes an option | |
1664 | setting as it was formerly done in the function scm_options. | |
1665 | ||
1666 | (get_documented_option_setting): New static function that | |
1667 | returns option documentation as it was formerly done in the | |
1668 | function scm_options. Note that documentation C strings are no | |
1669 | longer precomputed into SCM objects. Instead, they are converted | |
1670 | into SCM strings every time get_documented_option_setting is | |
1671 | called. | |
1672 | ||
1673 | (change_option_setting): New static functions that modifies the | |
1674 | option setting as it was formerly done in the function | |
1675 | scm_options. The function is now exception safe, i. e. won't | |
1676 | cause a memory leak when interrupted. Further, only non-immediate | |
1677 | option values are added to the protection list. | |
1678 | ||
1679 | (scm_options): This function now has only the purpose to dispatch | |
1680 | to to get_option_setting, get_documented_option_setting or | |
1681 | change_option_setting, depending on the arguments given to | |
1682 | scm_options. | |
1683 | ||
1684 | (scm_init_opts): Don't convert documentation C strings into SCM | |
1685 | strings. Further, don't protect any object values: They _must_ | |
1686 | be immediate values, otherwise there is no guarantee that they | |
1687 | have not been collected before anyway. | |
1688 | ||
1689 | * options.[ch] (scm_t_option): Made type unsigned, name into a | |
1690 | constant char* and val into a scm_t_bits type. | |
1691 | ||
1692 | (scm_options, scm_init_opts): The number of options is guaranteed | |
1693 | to be larger or equal to zero. Thus, the type is changed to | |
1694 | unsigned. | |
1695 | ||
3dbacabc DH |
1696 | 2001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1697 | ||
1698 | * num2integral.i.c (NUM2INTEGRAL): Eliminated some warnings about | |
1699 | testing an unsigned value for being >= 0. | |
1700 | ||
14282d0f DH |
1701 | 2001-10-05 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1702 | ||
1703 | * numbers.h: Removed old comment about using SCM_CAR to access | |
1704 | non-pair cells. | |
1705 | ||
1706 | (SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM): Make sure | |
1707 | the return value is signed. Thanks to Brian Crowder for the bug | |
1708 | report. | |
1709 | ||
1710 | (SCM_SRS): Avoid unnecessary casting and don't unpack input | |
1711 | values. With this patch, SCM_SRS can be safely used for other | |
1712 | types than scm_t_signed_bits. However, it should still better be | |
1713 | an internal macro and thus be renamed to SCM_I_SRS. | |
1714 | ||
1715 | (SCM_MAKINUM, SCM_INUM): Use proper casting. | |
1716 | ||
2dbec7b5 GH |
1717 | 2001-10-03 Gary Houston <ghouston@arglist.com> |
1718 | ||
1719 | * continuations.h, unif.h: in the descriptions of the bit patterns | |
1720 | of the heap cells, make bit 0 the least significant. | |
1721 | ||
cf4ee841 TTN |
1722 | 2001-09-25 Thien-Thi Nguyen <ttn@glug.org> |
1723 | ||
1724 | * chars.h (SCM_MAKE_CHAR): Use `scm_t_bits' instead of `intptr_t'. | |
1725 | Thanks to Golubev I. N. | |
1726 | ||
4a151b3d GH |
1727 | 2001-09-25 Gary Houston <ghouston@arglist.com> |
1728 | ||
1729 | * ports.c (scm_drain_input): extended the docstring. thanks to | |
1730 | Alex Schroeder and Thien-Thi Nguyen. | |
1731 | ||
581ded70 MD |
1732 | 2001-09-23 Mikael Djurfeldt <mdj@linnaeus> |
1733 | ||
1734 | * validate.h (SCM_NUM2FLOAT, SCM_NUM2DOUBLE, | |
1735 | SCM_VALIDATE_FLOAT_COPY, SCM_VALIDATE_DOUBLE_COPY): New | |
1736 | macros. (The NUM names might soon change.) | |
1737 | ||
1738 | * numbers.h: Added missing declarations. | |
1739 | ||
5437598b MD |
1740 | 2001-09-22 Mikael Djurfeldt <mdj@linnaeus> |
1741 | ||
1742 | * Makefile.am: Distribute num2float.i.c. | |
1743 | ||
1744 | * num2float.i.c: New file, multiply included by numbers.c, used | |
1745 | to "templatize" the float <-> num conversion routines. | |
1746 | ||
1747 | * numbers.c: New functions: scm_num2float, scm_float2num, | |
1748 | scm_num2double, scm_double2num. | |
1749 | ||
0b073f0f RB |
1750 | 2001-09-21 Rob Browning <rlb@defaultvalue.org> |
1751 | ||
1752 | * .cvsignore: really add version.h | |
1753 | ||
1754 | * strings.h (SCM_SET_STRING_LENGTH): coerce "l" to a long. | |
1755 | Otherwise it fails on the alpha. However, we might rather choose | |
1756 | this size conditionally. | |
1757 | ||
1758 | * numbers.c (scm_gcd): change "k" to a long from an int. | |
1759 | Otherwise it fails on the alpha. However, we might rather choose | |
1760 | this size conditionally. | |
1761 | ||
1762 | * error.c (scm_wta): coerce char* to intptr_t before int | |
1763 | assignment. | |
1764 | ||
1765 | * debug.c (debugobj_print): coerce scm_intprint arg 1 to long, not | |
1766 | int. | |
1767 | ||
1768 | * chars.h (SCM_MAKE_CHAR): coerce value to intptr_t. | |
1769 | ||
2830fd91 MD |
1770 | 2001-09-20 Mikael Djurfeldt <mdj@linnaeus> |
1771 | ||
1772 | * numbers.c (scm_integer_expt): Accept inexact integer in second | |
1773 | argument. (Thanks to Bill Schottstaedt.) | |
1774 | ||
c13f0a90 RB |
1775 | 2001-09-20 Rob Browning <rlb@defaultvalue.org> |
1776 | ||
1777 | * .cvsignore: add version.h | |
1778 | ||
1779 | * versiondat.h.in: removed (obsolete). | |
1780 | ||
1781 | * version.h.in: renamed from version.h. | |
1782 | (SCM_GUILE_MAJOR_VERSION): new public macro. | |
1783 | (SCM_GUILE_MINOR_VERSION): new public macro. | |
1784 | (SCM_GUILE_MICRO_VERSION): new public macro. | |
1785 | ||
1786 | * version.h: renamed to version.h.in. | |
1787 | ||
1788 | * version.c | |
1789 | (scm_major_version): support integer *_VERSION macros. | |
1790 | (scm_minor_version): support integer *_VERSION macros. | |
1791 | (scm_micro_version): support integer *_VERSION macros. | |
1792 | (scm_version): support integer *_VERSION macros. | |
1793 | ||
147c18a0 MD |
1794 | 2001-09-20 Mikael Djurfeldt <mdj@linnaeus> |
1795 | ||
1796 | * error.c, error.h: Made error keys globally accessible. | |
1797 | Applications might want to test for these or use them in a direct | |
1798 | call to scm_error. | |
1799 | ||
1800 | * num2integral.i.c (NUM2INTEGRAL): Report an error when these | |
1801 | routines are passed an inexact. This change in behavior is | |
1802 | motivated by concordance with R5RS: It is more common that a | |
1803 | primitive doesn't want to accept an inexact for an exact. | |
1804 | ||
662c5539 DH |
1805 | 2001-09-17 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1806 | ||
1807 | The following patch partially undoes my patch from 2001-06-30, | |
1808 | where I added the function scm_gc_mark_cell_conservatively. The | |
1809 | function is buggy, since it breaks guile during conservative | |
1810 | marking if a pointer on the stack points directly into the list of | |
1811 | free cells on the heap: With conservative cell marking this will | |
1812 | cause the whole free list to be scanned and marked - boom! | |
1813 | ||
1814 | * gc.c (allocated_mark, MARK, heap_segment, | |
1815 | scm_gc_mark_cell_conservatively, scm_init_storage), gc.h | |
cf4ee841 | 1816 | (scm_gc_mark_cell_conservatively): Remove function |
662c5539 DH |
1817 | scm_gc_mark_cell_conservatively and update the corresponding |
1818 | comments and uses accordingly. Thanks to Christopher Cramer for | |
1819 | the patch. (Minor corrections by me.) | |
1820 | ||
6c1b7628 GH |
1821 | 2001-09-15 Gary Houston <ghouston@arglist.com> |
1822 | ||
1823 | * root.h (scm_root_state): removed the continuation_stack and | |
1824 | continuation_stack_ptr members, which have no apparent purpose. | |
1825 | (scm_continuation_stack, scm_continuation_stack_ptr): #defines | |
1826 | removed. | |
662c5539 | 1827 | |
6c1b7628 GH |
1828 | * root.c (root_mark), init.c (restart_stack, start_stack), gc |
1829 | (scm_igc): remove all references to contination_stack and | |
1830 | continuation_stack_ptr, avoiding allocation of a vector and | |
1831 | useless processing during gc. | |
1832 | ||
455c0ac8 DH |
1833 | 2001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1834 | ||
1835 | * guardians.c (tconc_t, t_tconc): Renamed tconc_t to t_tconc. | |
1836 | ||
1837 | (TCONC_IN): Make sure that the cell word 0 is initialized last. | |
1838 | ||
1839 | (guardians_t, t_guardians): Renamed guardians_t to t_guardians. | |
1840 | ||
1841 | (GUARDIAN, GUARDIAN_DATA): Renamed GUARDIAN to GUARDIAN_DATA. | |
1842 | ||
1843 | (guardian_apply, scm_get_one_zombie, scm_make_guardian, | |
1844 | mark_and_zombify): Prefer !SCM_<foo> over SCM_N<foo>. | |
1845 | ||
22ba637b DH |
1846 | 2001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1847 | ||
1848 | * guardians.c (mark_dependencies_in_tconc, | |
1849 | whine_about_self_centered_zombies, scm_init_guardians): Register | |
1850 | the static global variable `self_centered_zombies' via | |
1851 | scm_gc_register_root, to make some cdr-ing unnecessary. | |
1852 | ||
c3c4d801 DH |
1853 | 2001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1854 | ||
1855 | * backtrace.c (display_backtrace_file, | |
1856 | display_backtrace_file_and_line): Use SCM_EQ_P when comparing SCM | |
1857 | values, use SCM_FALSEP when comparing SCM values against #f. | |
1858 | Thanks to Rob Browning for the bug report. | |
1859 | ||
b00418df DH |
1860 | 2001-09-12 Martin Baulig <martin@home-of-linux.org> |
1861 | ||
1862 | * strings.[ch] (scm_str2string): New function. | |
1863 | ||
a0d34a0b MV |
1864 | 2001-09-06 Marius Vollmer <mvo@zagadka.ping.de> |
1865 | ||
1866 | * gc.c (scm_done_free): Always subtract size from scm_mallocated | |
1867 | when computing nm, even if it's negative. | |
1868 | (scm_must_malloc): Abort on overflow of scm_mtrigger. | |
1869 | (scm_must_realloc): Likewise. | |
1870 | ||
b10586f0 ML |
1871 | 2001-09-01 Michael Livshin <mlivshin@bigfoot.com> |
1872 | ||
1873 | * numbers.c (scm_sys_check_number_conversions): new function, | |
1874 | defined if Guile is compiled in debugging mode. currently checks | |
1875 | `scm_num2ulong', should check much much more. | |
1876 | ||
1877 | * num2integral.i.c (NUM2INTEGRAL): when converting a bignum to | |
1878 | unsigned, ensure that it's positive. thanks to Martin Baulig! | |
cf4ee841 | 1879 | |
8c494e99 DH |
1880 | 2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de> |
1881 | ||
1882 | * __scm.h: Added new section about compile time selectable | |
1883 | features. | |
1884 | ||
1885 | (long_long, ulong_long, scm_sizet, SCM_WNA, SCM_OUTOFRANGE, | |
1886 | SCM_NALLOC, SCM_HUP_SIGNAL, SCM_INT_SIGNAL, SCM_FPE_SIGNAL, | |
1887 | SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, | |
1888 | SCM_TICK_SIGNAL, SCM_SIG_ORD, SCM_ORD_SIG, SCM_NUM_SIGS): | |
1889 | Removed. | |
1890 | ||
1891 | * deprecation.c (scm_include_deprecated_features): Simplified. | |
1892 | ||
1893 | * eval.c (EVALCAR, unmemocopy), eval.h (SCM_XEVALCAR): Use | |
1894 |