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