guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, brainfuck-compiler, created. 5d9f630c8


From: Daniel Kraft
Subject: [Guile-commits] GNU Guile branch, brainfuck-compiler, created. 5d9f630c8e297a136d227e0b95734df0f0b1fe27
Date: Thu, 28 May 2009 05:47:04 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=5d9f630c8e297a136d227e0b95734df0f0b1fe27

The branch, brainfuck-compiler has been created
        at  5d9f630c8e297a136d227e0b95734df0f0b1fe27 (commit)

- Log -----------------------------------------------------------------
commit 5d9f630c8e297a136d227e0b95734df0f0b1fe27
Merge: 77096b900c2be16141d92759c64763c5e2faab5e 
21346c4f5e30910e3950c40bc267bb4249973240
Author: Daniel Kraft <address@hidden>
Date:   Thu May 28 07:49:02 2009 +0200

    Merge branch 'master' of git://git.savannah.gnu.org/guile into brainfuck

commit 21346c4f5e30910e3950c40bc267bb4249973240
Author: Neil Jerram <address@hidden>
Date:   Wed May 20 21:55:35 2009 +0100

    Remove possible deadlock in scm_join_thread_timed
    
    * libguile/threads.c (scm_join_thread_timed): Recheck t->exited before
      looping round to call block_self again, in case thread t has now
      exited.
    
    * test-suite/tests/threads.test ("don't hang when joined thread
      terminates in SCM_TICK"): New test.

commit 4201062de5e4f2eb7b2207a3c09e02a12b9bda50
Author: Neil Jerram <address@hidden>
Date:   Sat May 23 17:55:58 2009 +0100

    Fix wait-condition-variable so that it doesn't leave asyncs blocked
    
    * libguile/threads.c (fat_mutex_unlock): Unblock asyncs when breaking
      out of loop.
    
    * test-suite/tests/threads.test (asyncs-still-working?): New function,
      to test if asyncs are working (i.e. unblocked).  Use this throughout
      threads.test, in particular before and after the "timed locking
      succeeds if mutex unlocked within timeout" test.

commit b579617b2db0e83f620c5b856dcc320cea9d6d1f
Author: Andy Wingo <address@hidden>
Date:   Tue May 26 18:06:21 2009 +0200

    gnulib-tool --import environ; rely on gnulib for environ definitions
    
    * libguile/posix.c:
    * libguile/stime.c: Remove environ definition, gnulib provides it now.

commit 442f3f20ddd33b43743ea181d95024c10622df52
Author: Andy Wingo <address@hidden>
Date:   Tue May 26 17:39:58 2009 +0200

    symbols are now hidden unless explicitly exported by SCM_API
    
    * libguile/__scm.h (SCM_API, SCM_INTERNAL): Take the reverse strategy: 
symbols will
      be hidden by default, and only exported with SCM_API. In addition to 
working
      on Mac OS, it has the several nice efficiency benefits on Linux, and 
unifies
      codepaths with Win32.
    
    * libguile/Makefile.am: Define BUILDING_LIBGUILE when building Guile.

commit d9a9e18205f4da1486a70dbd5690b8fdc593cb10
Author: Andy Wingo <address@hidden>
Date:   Tue May 26 17:45:48 2009 +0200

    gnulib-tool --import lib-symbol-visibility

commit 77096b900c2be16141d92759c64763c5e2faab5e
Author: Daniel Kraft <address@hidden>
Date:   Sat May 23 11:03:24 2009 +0200

    added documenting comments to the brainfuck compiler and mention it in the 
VM documentation.
    
    * doc/guile-vm.texi: Mention the new brainfuck compiler as an example.
    * module/language/brainfuck/compile-scheme.scm: Add a lot of documentation 
comments.
    * module/language/brainfuck/parse.scm: Ditto.
    * module/language/brainfuck/spec.scm: Ditto.

commit 6b8e42f78dbeda879e1d9d63a40f3166e9a37236
Author: Daniel Kraft <address@hidden>
Date:   Sat May 23 09:58:54 2009 +0200

    basic brainfuck -> scheme example compiler.
    
    * module/Makefile.am: Install the brainfuck compiler modules.
    * module/language/brainfuck/spec.scm: New file.
    * module/language/brainfuck/parse.scm: New file.
    * module/language/brainfuck/compile-scheme.scm: New file.

commit de784acd87b8d567fb6433d8f531a7f28b91d635
Author: Ludovic Courtès <address@hidden>
Date:   Fri May 22 23:44:43 2009 +0200

    Rewrite SRFI-35 macros using `syntax-rules'.
    
    * module/srfi/srfi-35.scm: Use `(ice-9 syncase)'.
      (define-condition-type, condition): Rewritten using `syntax-rules'.
      (compound-condition, condition-instantiation): New helper internal
      macros.  Thanks to Andy Wingo for his help!

commit 837b0ae0b5d530b0c254ebe331fb5ab1de3e7fe8
Author: Ludovic Courtès <address@hidden>
Date:   Thu May 21 01:24:01 2009 +0200

    Make use of Gnulib's `flock' module.
    
    * libguile/posix.c: Always use <sys/file.h>, which is provided by
      Gnulib.
      (flock)[__MINGW32__]: Remove.
      (scm_flock): Compile unconditionally.  Always use Gnulib's flock(2).

commit 3731192f30158c0c70d243ddeae87693fa37a0e4
Author: Ludovic Courtès <address@hidden>
Date:   Thu May 21 01:17:00 2009 +0200

    Make use of Gnulib's `putenv' module.
    
    * libguile/posix.c: Include <stdlib.h> since the putenv(3) declaration
      is there (POSIX and Gnulib).
      (scm_putenv): Rely on Gnulib's `putenv' module.

commit f240aacb412172f9c228653674b13d41279bebc8
Author: Ludovic Courtès <address@hidden>
Date:   Thu May 21 01:00:41 2009 +0200

    Add Gnulib portability modules; update Gnulib files.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Add `flock' (provides flock(2)
      declaration and implementation), `fpieee' (fixes floating point
      behavior on Alpha and SH), `stdlib' (provides an unsetenv(3)
      declaration, among others), `putenv' (provides a putenv(3) declaration
      and implementation with the semantics we need).

commit fc76c08d872f816a075de0a9096006966f00a666
Author: Ludovic Courtès <address@hidden>
Date:   Tue May 12 00:12:18 2009 +0200

    Update `NEWS'.

commit 5d66005209f57878aea994c9109eb32bd9b9feab
Author: Michael Gran <address@hidden>
Date:   Fri Apr 24 22:23:13 2009 -0700

    Symbols longer than 128 chars can cause an exception.  Also, the 
terminating colon of long postfix keywords are not handled correctly.
    
        * test-suite/tests/reader.test ("read-options"): Add test
        for long postfix keywords.
    
        * libguile/read.c (scm_read_mixed_case_symbol): Fix
        exception on symbols are greater than 128 chars.  Also,
        colons are not stripped from long postfix keywords.

commit 5c006c3f5183cda8ddd57c470df03ba0cd7cb492
Author: Ludovic Courtès <address@hidden>
Date:   Thu May 21 00:16:47 2009 +0200

    Update `NEWS' wrt. `branch_release-1-8'.

commit 13ff47408fcda1fb57df97102bc0fe7730f37a9e
Author: Ludovic Courtès <address@hidden>
Date:   Mon May 11 22:13:29 2009 +0200

    Fix compilation of `test-round.c' on BSD.
    
    * test-suite/standalone/test-round.c (HAVE_MACHINE_FPU_H): Include
      <sys/types.h> when available.  This fixes compilation on NetBSD.
      Reported by Greg Toxel.

commit 1bcf79939201609e1cee667dd9bcd8c3c519385d
Author: Ludovic Courtès <address@hidden>
Date:   Fri Apr 24 00:44:43 2009 +0200

    Update `NEWS'.

commit e2e85d14065d0ec417570bf398dc19ab87ff366f
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 23 23:20:59 2009 +0200

    Don't use raw divisions by zero in `test-conversion.c'.
    
    * test-suite/standalone/test-conversion.c (ieee_init): New function.
      (guile_Inf, guile_NaN): New variables.
      (test_from_double, test_to_double): Use them.  Divisions by zero made
      `cc' on Tru64 5.1b ("Compaq C V6.5-011") bail out and led to a
      floating point exception when compiled with GCC on the same platform.
      (main): Call `ieee_init ()'.

commit 66818dbb710c83730310c15088f1784d61158f04
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 23 22:51:27 2009 +0200

    Use <machine/fpu.h> instead of <fenv.h> when needed (e.g., Tru64 5.1b).
    
    * configure.in: Look for <machine/fpu.h>.
    
    * test-suite/standalone/test-round.c: Use <machine/fpu.h> if available.

commit 5f380d71c3b1080d8f0e52610fa0b5efe09232c6
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 23 22:24:32 2009 +0200

    Work around lack of cuserid(3) declaration on Tru64 5.1b.
    
    * configure.in: Check for a cuserid(3) declaration.
    
    * libguile/posix.c [HAVE_CUSERID][!HAVE_DECL_CUSERID]: Provide a
      declaration.

commit ca329120627a0905c1aac805a52a59439f6c5482
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 23 00:28:32 2009 +0200

    Work around the lack of hstrerror(3) declaration on Tru64.
    
    * configure.in: Look for the declaration of hstrerror(3).
    
    * libguile/net_db.c: Add hstrerror(3) declaration if
      `HAVE_DECL_HSTRERROR' is undefined.

commit d0f452d16299e8dbf2258fd00fbb7303186e6bdc
Author: Ludovic Courtès <address@hidden>
Date:   Wed Apr 22 23:53:52 2009 +0200

    Remove extraneous semicolons from `test-conversion.c'.
    
    * test-suite/standalone/test-conversion.c: Remove extraneous semicolon
      following `DEF[SU]TST' invocations since that made Compaq C
      V6.5-011 (`cc' on Tru64 5.1b) bail out.

commit 5e647d08e95de4245bdd75e94929b29e095b52f2
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 21 22:37:45 2009 +0200

    Fix compilation of `numbers.c' on Tru64.
    
    * libguile/numbers.c (scm_c_make_polar): Don't use sincos(3) on non-GNU
      platforms.  Reported by Didier Godefroy <address@hidden>.

commit 452e13f3112f38c67d8652d284c8b96e0851c272
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 21 22:34:54 2009 +0200

    Fix compilation of `gcc_os_dep.c' on Tru64.
    
    * libguile/gc_os_dep.c [OSF1](_end): Specify the type.
      (scm_get_stack_base): Suitably cast RESULT.  Reported by Didier
      Godefroy <address@hidden>.

commit f5851b8942b81ef1ed3eb9e153a4ae274260f176
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 21 22:27:38 2009 +0200

    Update `NEWS' and `THANKS'.

commit 88f2f7a12718492d175efdb1230d30256f1c4041
Author: Neil Jerram <address@hidden>
Date:   Sun Sep 7 16:29:05 2008 +0100

    Avoid "no duplicate" popen tests leaving zombie processes
    
    On the one hand we want the child process in these tests to exit.  On
    the other, we don't want it to exit before the parent Guile code has
    tested the relevant condition (EOF in the first test, broken pipe in
    the second) - because these conditions would obviously be true if the
    child had already exited, and that's not what we're trying to test
    here.  We're trying to test getting EOF and broken pipe while the
    child process is still alive.
    
    * test-suite/tests/popen.test (open-input-pipe:no duplicate): Add
      another pipe from parent to child, so that the child can finish by
      reading from this.  Then the parent controls the child lifetime by
      writing to this pipe.
    
    * test-suite/tests/popen.test (open-output-pipe:no duplicate): Add
      another pipe from child to parent, and have the child finish by
      endlessly writing into this.  Then the parent controls the child
      lifetime by closing its end of the pipe, causing a broken pipe in
      the child.

commit 877f06c33829ac2a5ba263826454f880d5460ee8
Author: Neil Jerram <address@hidden>
Date:   Wed May 20 18:50:52 2009 +0100

    Fix `explicitely' typos, should be `explicitly'

commit 58df2e43937bb86fbf751f48db7bf13934d7c87e
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 24 19:16:06 2009 +0200

    merge ice-9, srfi, oop makfiles into module makefile
    
    * configure.in: No longer output the Makefile.ins.
    
    * module/Makefile.am: Include the contents of ice-9/, srfi/, and oop/.
    
    * module/ice-9/Makefile.am:
    * module/ice-9/debugger/Makefile.am:
    * module/ice-9/debugging/Makefile.am:
    * module/oop/Makefile.am:
    * module/oop/goops/Makefile.am:
    * module/srfi/Makefile.am: Removed.

commit 819cf0e8b8f09e769e194781ec57a52f9415763b
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 23 11:25:22 2009 +0200

    I ain't broke, but brother I'm badly bent
    
    * module/ice-9/expand-support.scm (strip-expansion-structures): If, when
      producing @/@@ forms, we find that an @@ variable is not bound in its
      module, just serialize the symbol. This bends hygiene, in that it can
      introduce a global (but not lexical) reference in the expanded module,
      but it seems necessary to not produce (@@ (foo) else) in forms like
      ((@@ (foo) cond) ((test then) ((@@ (foo) else) bar))).

commit 8239263f86e9d3782482e4da4b91d8fe490ac4ac
Author: Andy Wingo <address@hidden>
Date:   Wed Apr 22 22:27:50 2009 +0200

    fix erroneous #:use-syntax clausen
    
    * module/system/repl/command.scm:
    * module/system/repl/common.scm:
    * module/system/repl/repl.scm:
    * module/system/vm/debug.scm:
    * module/system/vm/trace.scm: Change #:use-syntax to #:use-module, as
      that's really what we want to do.

commit eb5d1f882672345231bca226e140b2a91718d348
Author: Andy Wingo <address@hidden>
Date:   Wed Apr 22 22:23:43 2009 +0200

    move pk, peek, and warn to the beginning of boot-9
    
    * module/ice-9/boot-9.scm (peek, pk, warn): Move these helpers up to the
      top. I like them!
      (load-compiled): Don't define within an if, syncase doesn't like that.

commit efa6f9d944174427a3125aa4773e5f6a7e04acdd
Author: Andy Wingo <address@hidden>
Date:   Wed Apr 22 00:17:22 2009 +0200

    module-name before syncase is booted
    
    * module/ice-9/boot-9.scm (module-name): Give psyntax a module-name
      definition, even before psyntax is booted (in a future commit).

commit b1e93821a3065f1ebccc55dadf678bda75c0f34d
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 22:01:27 2009 +0100

    fix begin-deprecated
    
    * module/ice-9/boot-9.scm (begin-deprecated): Fix to output source code,
      doh.

commit 928258fbf2bfd453930cd5d6c0f7ba59a221fe64
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 21:40:30 2009 +0100

    tweaks to boot-9
    
    * module/ice-9/boot-9.scm: Move the r4rs init up to the top.
      (try-module-autoload): Don't use with-fluids before it's defined.

commit 181f1cd7d0b9f6ab3035f615142dabf6f63d0583
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 21:09:22 2009 +0100

    allow eval to be called before modules are booted
    
    * libguile/eval.c (scm_eval): If the module system isn't booted, assert
      not on the module argument.

commit ae6bba7f9c5fd712b3177b067a03e8e8277a94c3
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 20:52:45 2009 +0100

    commit some tweaks to expand.scm, likely obviated by syncase though
    
    * module/language/scheme/expand.scm (re-annotate, expand): A couple of
      speculative cases for dealing with syncase better -- but all of this
      code is likely to go.

commit b7e6589fff9fe85c46519ba20d45bf599ea56ffd
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 20:49:54 2009 +0100

    scm_[current_]module_transformer returns the %pre-modules-transformer, if 
set
    
    * libguile/modules.c (scm_module_transformer)
      (scm_current_module_transformer): So, if the module system hasn't yet
      booted, take the current transformer from a variable named
      %pre-modules-transformer from the %pre-modules-obarray. This is a
      prequel to booting syncase early in boot-9.

commit dec62b5ef8f03c17f95a89a38c27128b10a41f28
Author: Andy Wingo <address@hidden>
Date:   Tue Apr 21 22:56:51 2009 +0200

    make syncase aware of (set! (@ (foo) bar) baz)
    
    * module/ice-9/psyntax.scm (set!): Handle (set! (@ (foo ..) bar) val)
      inside syncase. Heh heh heh.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.

commit 265e61273df38c3b3cca7add41807ded3678907c
Author: Andy Wingo <address@hidden>
Date:   Tue Apr 21 22:26:27 2009 +0200

    syncase knows about @ / @@
    
    * module/ice-9/psyntax.scm (syntax-type): Handle a new type, module-ref.
      Like external-macro, it also has a procedure as a binding.
      (chi-expr): module-ref forms -- that is to say, (@ (foo ...) bar) -- as
      expressions they are global references, but with respect to a specific
      module.
      (@, @@): Define module-ref syntax handlers.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.
    
    * module/ice-9/syncase.scm: Mark as primitive syntax so we don't clobber
      their definitions.
    
    The reason I'm doing things like this is so as to support (set! (@@ ...)
    ...) sensibly, which will be the next patch.

commit d4876cb4133625d1cdddf044a1b434e292ee82d7
Author: Andy Wingo <address@hidden>
Date:   Tue Apr 21 12:41:19 2009 +0200

    distcheck fixen
    
    * examples/Makefile.am: Fix the installed guile-config invocation to set
      PKG_CONFIG_PATH.
    
    * meta/Makefile.am (EXTRA_DIST): Dist the bin_SCRIPTS.
    
    * meta/guile-config (pkg-config): Better error messages if pkg-config
      invocation fails.
    
    * meta/uninstalled-env.in (PATH): Now that guile-config and guile-tools
      are not generated, make it the srcdir/meta instead of the builddir.
      (Guile itself will be picked up from libguile.)

commit 71d903c881e58a49806bb3af9c1ead507bc11ad4
Merge: 922d369578781ee5424c995d7c6a236ceb54a786 
69dd78d7c85141463ae93e9901a70ed4d7136fbc
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 22:26:02 2009 +0200

    Merge branch 'syncase'

commit 922d369578781ee5424c995d7c6a236ceb54a786
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 18:23:11 2009 +0200

    fix guile.m4 for sitedir change
    
    * meta/guile.m4

commit fb3807793f2f4b386ad6cd2946c2fddbf0cc6131
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 18:20:01 2009 +0200

    scripts take rest args
    
    * meta/guile-tools: Instead of fixing scripts I should have been fixing
      the script runner.
    
    * module/scripts/compile.scm:
    * module/scripts/snarf-guile-m4-docs.scm: Fix to take rest args.

commit 807da8804c1bf5bb0468de332401352870f2e157
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 17:42:35 2009 +0200

    some more build fixes for bugs that I introduced
    
    * meta/guile-1.8.pc.in: Include a pkgdatadir, which will map down to
      `guile-config info pkgdatadir', used in existing guile.m4 files.
    
    * meta/guile-config: Fix guile-config info varname. Facepalm.
    
    * meta/guile.m4: Make GUILE_SITE_DIR use the sitedir variable instead.
      Really it should use pkg-config directly, though.

commit 2b4b555b8fd10d369dbb2ee1f90d9e6035a5cd9e
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 17:23:40 2009 +0200

    fix build errors on fresh checkout
    
    * meta/guile-tools: We can't use srfi-1, because on a fresh checkout
      the srfi-1 shlib isn't built yet. Bummer.
    
    * meta/uninstalled-env.in: Fix up the DYLD lines for BSDen.
    
    * module/scripts/snart-guile-m4-docs.scm: Fix expected arguments.

commit d1529ddfcbe24e1465982e959916f7865cdf778a
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 20 11:42:24 2009 +0200

    fix m4->texi snarfage after the guile-tools change
    
    * doc/ref/Makefile.am: Fix to work after a make clean with the recent
      guile-tools changes.

commit 69dd78d7c85141463ae93e9901a70ed4d7136fbc
Author: Andy Wingo <address@hidden>
Date:   Wed Apr 15 17:02:33 2009 +0200

    no positions when reading psyntax-pp, validation in @/@@, cleanups
    
    * module/ice-9/syncase.scm (old-debug): Re-disable position recording
      when reading psyntax-pp.
    
    * libguile/eval.c (scm_m_at, scm_m_atat): More input validation.
    
    * libguile/debug.c (scm_procedure_module): Use scm_env_module. Remove
      extraneous docstring.

commit c5cc65ac0ce636f93572592c7a63f4ecea17dc4b
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 6 22:48:03 2009 -0700

    fix hygiene + modules + local macros
    
    * module/ice-9/psyntax-pp.scm: Regenerate.
    
    * module/ice-9/psyntax.scm (syntax-type): Look up the type of the car of
      a form relative to its module, if it is a syntax object. Fixes hygiene
      wrt modules and private macros.
    
    * module/ice-9/syncase.scm (sc-macro): Add a comment.
    
    * module/system/base/pmatch.scm: The big test case: just export pmatch,
      not ppat too.

commit 196b40932e34dc481d9c0450695726086febc476
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 20:32:05 2009 +0100

    fix handling of pre-modules errors in the vm
    
    * libguile/vm-i-system.c (toplevel-ref, toplevel-set): Correct situation
      whereby we would not throw when toplevel vars were unbound, before
      modules had booted.

commit 249bab1c5341d957c69d1258e73898a2281c317f
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 9 21:26:44 2009 +0100

    @ and @@ as primitive macros
    
    * libguile/eval.h:
    * libguile/eval.c (error_unbound_variable, error_defined_variable):
      Move these prototypes up earlier.
      (scm_m_at, scm_m_atat): New functions, provide the @ and @@
      functionality. Moved here from defmacros because they are
      "special", inasmuch as syncase doesn't really understand them in
      interpreted code.
    
    * module/ice-9/boot-9.scm (@, @@): Don't define as defmacros, as
      defmacros have to actually return source now.

commit 900761bc8dd8713609c9adc886dec3f3aafb2d7b
Author: Andy Wingo <address@hidden>
Date:   Sun Apr 5 11:52:22 2009 -0700

    hygienic compilation
    
    * module/language/scheme/compile-ghil.scm (lookup-transformer): Recognize
      macros as initial (@ ...) or (@@ ...) forms, enabling hygienic
      compilation.

commit d2b61fe0ffd15cce274d9284cd88c9bb9bd78126
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 31 00:00:04 2009 -0700

    houston, we have hygiene
    
    * module/ice-9/expand-support.scm (strip-expansion-structures): Enable
      @/@@ substitution.
    
    * module/ice-9/psyntax-pp.scm: Recompile.
    
    * module/ice-9/psyntax.scm: Since syntax objects are quotable, make the
      module field the module name, not the module itself. Scope the operand
      of global calls appropriately. Thread modules through syntax-dispatch
      destructuring. Houston, we have hygiene.
    
    * module/ice-9/syncase.scm: Adapt to module / module-name changes.

commit 8e1d0d507ac3400fb57fce4196cc8cbc91977135
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 30 22:06:35 2009 -0700

    more work on modules and hygiene, not finished yet, alas.
    
    * module/ice-9/compile-psyntax.scm: No more expansion-eval-closure.
    
    * module/ice-9/expand-support.scm (strip-expansion-structures): Only @@
      names whose module is not the current module. Actually @@ serialization
      is disabled for this commit, just to get this one in and keep things
      working.
    
    * module/ice-9/psyntax-pp.scm: Recompiled.
    
    * module/ice-9/psyntax.scm (put-global-definition-hook)
      (get-global-definition-hook): Instead of going through that stupid
      getprop/putprop interface, let's just inline Guile-specific code here.
      (build-global-reference, build-global-assignment): Fix a bug where the
      module and public? were switched, which happily allowed things to
      compile. (We reintroduce a similar bug above in expand-support.)
      (lookup): Add a module argument.
      (global-extend): Adapt for put-global-definition-hook invocation.
      (syntax-type): Lookup with mod. Return mod even for lexicals and
      define-form -- why not.
      (chi-top, fluid-let-syntax, syntax, set!): Lookup with mod. Wrap with
      mod.
    
    * module/ice-9/syncase.scm (expansion-eval-closure)
      (current-eval-closure, env->eval-closure): OK! So the idea is: module
      hygiene is syncase's business, not ours. So lose the eval-closure
      fluid. Also, eval closures are so 1990s.
      (sc-macro): But, we have to take the module from the env, sadly. In the
      future this will be different.
      Remove the rest of the eval-closure bits. Enable source reporting,
      while we're debugging.
    
    * module/language/scheme/compile-ghil.scm (lookup-transformer): Adapt for
      eval closure fluid changes.

commit daedb4920acdf6db31c375b4fdd142b002ddc77a
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 30 21:20:44 2009 -0700

    eval-closure-module, here hopefully not for long
    
    * libguile/modules.h:
    * libguile/modules.c (scm_eval_closure_module): Define a
      new-yet-deprecated accessor, to ease a transition.

commit 4e237f1460c06c8e13dd2db4a2c690342a532664
Author: Andy Wingo <address@hidden>
Date:   Sun Mar 29 17:15:25 2009 -0700

    thread the module through syntax-case's expansion
    
    * libguile/debug.h:
    * libguile/debug.c (scm_procedure_module): New procedure, returns the
      module that was current when the given procedure was defined. Used by
      syncase to scope free identifiers.
    
    * module/ice-9/psyntax-pp.scm: Recompiled.
    
    * module/ice-9/psyntax.scm: Thread the module through the syntax
      expansion. This is harder than it would appear because in many places
      the different components of syntax objects are destructured.
    
    * module/ice-9/syncase.scm (guile-macro): Adapt to new signature for
      syntax transformer functions.

commit e02e84deedacc2209e05b935742cb8268f5f0f9a
Author: Andy Wingo <address@hidden>
Date:   Sun Mar 29 11:41:02 2009 -0700

    finish bootstrap to syntax-objects with modules
    
    * module/ice-9/psyntax.scm: Now that we have gone through the
      intermediate step (in which both representations of syntax-object had
      to coexist), change all callers to make-syntax-object to pass the third
      argument, and restore the define-structure definition of syntax
      objects.
    
    * module/ice-9/psyntax-pp.scm: Recompile.

commit 1641568c33de451b54fc7a8a6b682af51ab596af
Author: Andy Wingo <address@hidden>
Date:   Sun Mar 29 11:35:55 2009 -0700

    add modules to syntax objects (part 1, intermediate step)
    
    * module/ice-9/psyntax.scm (make-syntax-object): As an intermediate step
      to adding modules to syntax objects, replace the definition of
      syntax-object as a structure with an expanded-out definition that has
      (1) a constructor that takes 2 or 3 arguments, and (2) a predicate that
      works with vectors of length 3 or 4. I couldn't just redefine
      make-syntax-object, for example, because these are internal
      definitions, and we can't have duplicate bindings in a letrec.

commit 9d80c15649e21fd3798eae06e15a120839a9e14e
Author: Andy Wingo <address@hidden>
Date:   Sun Mar 29 10:41:27 2009 -0700

    serialize module information into syncase's output -- getting ready for 
hygiene
    
    * module/ice-9/Makefile.am: Replace annotate.scm with expand-support.scm.
    
    * module/ice-9/annotate.scm: Removed; subsumed into expand-support.scm.
    
    * module/ice-9/compile-psyntax.scm: Strip out expansion structures before
      writing to disk.
    
    * module/ice-9/expand-support.scm: New file. Provides annotation support,
      and other compound data types for use by the expander. Currently the
      only one that is used is the toplevel reference, <module-ref>, but we
      will record lexicals this way soon.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.
    
    * module/ice-9/psyntax.scm (build-global-reference)
      (build-global-assignment): Instead of expanding out global references
      as symbols, expand them as <module-ref> structures, with space to
      record the module that they should be scoped against. This is in
      anticipation of us actually threading the module info through the
      syntax transformation, so that we can get hygiene with respect to
      modules.
    
    * module/ice-9/syncase.scm: Replace eval-when. Since sc-expand will give
      us something that isn't Scheme because we put the <module-ref>
      structures in it, strip that info whenever we actually do need scheme.
    
    * module/language/scheme/compile-ghil.scm (lookup-transformer): Strip
      expansion structures here too.
    
    * module/language/scheme/expand.scm (language): Swap annotate for
      expand-support. But this file will die soon, I think.

commit 17df23e324eec8b8541bdd283e361c19a4159fa3
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 17 15:18:46 2009 +0200

    fix a tricky GC bug in scm_c_make_subr
    
    * libguile/procs.c (scm_c_make_subr): Fix a really tricky bug!!! If
      scm_double_cell caused GC, the symbolic name wouldn't be marked. But
      the symptom wouldn't appear until you accessed that symbol much later,
      for example during tab completion / apropos grovelling. Not sure why we
      didn't see this earlier.

commit 6d66647d5b2c6649bb4dade734f6d583d10d797c
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 17 11:19:42 2009 +0200

    guile-tools is a scheme script that loads scheme modules
    
    * meta/guile-tools: Changed to be a scheme script. Instead of looking for
      executables in a "scripts dir", we just look for modules in (scripts),
      and load the modules directly.
    
    * module/Makefile.am:
    * module/scripts/: Move the scripts into module/ so they can be compiled.
      Rename scripts from `foo' to `foo.scm'.
    
    * libguile/Makefile.am: Invoke the snarf->texi code via guile-tools.
    
    * configure.in:
    * .gitignore: Update for changes.

commit 798244609bfd3b4d2b12f722d9130d47abcfeb1a
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 17 09:27:32 2009 +0200

    fix a couple gc-related continuations bugs
    
    Thanks to Juhani Rantanen for the report.
    
    * libguile/continuations.c (scm_make_continuation): Delay making the smob
      until the data is fully initialized. Fixes a bug whereby a GC in
      scm_vm_capture_continuations would catch the us with an undefined
      continuation->vm_conts, leading to marking badness.
    
    * libguile/vm.c (vm_cont_free): Report the correct size to scm_gc_free.

commit b8076ec6cc3a18a92186d954684f88a735a42018
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 16 17:49:59 2009 +0200

    support expression-by-expression compilation
    
    * module/language/ghil.scm (unparse-ghil): Fix unparsing of quasiquoted
      expressions.
    
    * module/language/ghil/spec.scm (join): Define a joiner for GHIL.
    
    * module/language/scheme/compile-ghil.scm (cenv-ghil-env): Expand the
      definition of a CENV so it can have an actual ghil-env, if available.
      (compile-ghil): Return the actual ghil env in the cenv.
    
    * module/system/base/compile.scm (compile-file): Rewrite. `output-file'
      is now a keyword argument, along with the new kwargs `env' and `from'.
      We now allow exceptions to propagate up, and instead of printing the
      output file to the console, we return a string corresponding to its
      location.
      (compile-and-load): Use read-and-compile.
      (compile-fold): Thread around the cenv as well. Return all three
      values.
      (find-language-joint, read-and-compile): New exciting helpers. The idea
      is that compiling a file should be semantically equivalent to compiling
      each expression in it, one by one. Compilation can have side effects,
      e.g. affecting the current language or the current reader. So what we
      do is find a point in the compilation path at which different
      expressions of a given language can be joined into one. Expressions
      from the source language are compiled to the joint language, then
      joined and compiled to the target.
      (compile): Just return the first value from compile-fold.
    
    * module/system/base/language.scm (language-joiner): New optional field.
    
    * scripts/compile: Rework for changes to compile-file.

commit b41b92c9d1c439ddfc5c081b3949e9d1763de181
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 16 15:20:40 2009 +0200

    compilation passes return third value: the continuation environment
    
    * module/system/base/compile.scm: Expect compile passes to produce three
      values, not two. The third is the "continuation environment", the
      environment that can be used to compile a subsequent expression from
      the same source language. For example, expansion-time side effects can
      set the current module, which would be reflected appropriately in the
      continuation environment.
    
    * module/language/assembly/compile-bytecode.scm:
    * module/language/bytecode/spec.scm:
    * module/language/ecmascript/compile-ghil.scm:
    * module/language/ghil/compile-glil.scm:
    * module/language/glil/spec.scm:
    * module/language/objcode/spec.scm:
    * module/language/scheme/compile-ghil.scm:
    * module/system/base/compile.scm: Update compile passes to return a
      continuation environment.

commit 275baf01136895093570725fe55c4104725a9387
Author: Andy Wingo <address@hidden>
Date:   Mon Apr 6 11:07:22 2009 -0700

    guile-config rebased on top of pkg-config
    
    * configure.in:
    * meta/Makefile.am (EXTRA_DIST): Remove guile-config.in bits.
    
    * meta/guile-config: Reimplement to work on top of pkg-config. This lets
      guile-config not be substed by configure.
    
    * meta/uninstalled-env.in: Remove the path to guile-config, belatedly.
      Set the pkg-config path correctly.

commit da8b47478e08976ac4569a3030e43aa520e76b01
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 5 20:15:11 2009 +0200

    Avoid uses of deprecated forms in the VM code.
    
    Reported by Daniel Kraft <address@hidden>.
    
    * libguile/frames.c, libguile/vm.c: Include <stdlib.h>, use `size_t'
      instead of `scm_sizet'.
    
    * libguile/objcodes.c, libguile/programs.c, libguile/vm-engine.c,
      libguile/vm-i-loader.c, libguile/vm-i-system.c: Use `scm_list_X ()'
      instead of the deprecated `SCM_LISTX ()'.

commit 6ab8238d99f477ee7ac12f1f1a3ec70aab3e68c7
Author: daniel <address@hidden>
Date:   Fri Feb 13 14:27:41 2009 +0100

    Make `--disable-deprecated' work.
    
    * configure.in (enable_deprecated): Set SCM_WARN_DEPRECATED_DEFAULT
      even when --disable-deprecated is passed.
    * libguile/deprecation.h: Declare deprecation-issuing methods even
      if SCM_ENABLE_DEPRECATED is not set.
    * libguile/deprecation.c: Ditto.
      (scm_init_deprecation): Include full body even for unset
      SCM_ENABLE_DEPRECATED.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit aa49787b5eb500807e82ce2698651515a7bdc743
Author: Jose A. Ortega Ruiz <address@hidden>
Date:   Sat Apr 4 11:59:57 2009 +0200

    Improved handling of callers cache in (system xref).
    
      * We cache callees in each module, and keep a list of modified
        ('tainted') modules, which is used to reconstruct the callers
        database incrementally.
      * `procedure-callers' now returns an a-list, keyed by module name.

commit 2c0f99a28bc5a289bead58983da1510867162745
Author: Andy Wingo <address@hidden>
Date:   Sat Apr 4 11:36:18 2009 -0700

    fix nondeterminism in vm-i-system.c
    
    * libguile/vm-i-system.c (br-if-eq, br-if-not-eq): Fix some
      nondeterminism caught by GCC 4.4.

commit 6f36dbbe48506eccfc6a1df7d626dfe94ba3f696
Author: Andy Wingo <address@hidden>
Date:   Fri Apr 3 10:38:30 2009 -0700

    no hard-coded stack limitations if the user has getrlimit
    
    * libguile/debug.c (init_stack_limit): Instead of "1 MB or 80% of rlimit,
      whichever is lower", just use 80% of the rlimit, if set.

commit a44c43368b5a6c423e0498b6df734b969df2fdde
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 30 20:28:30 2009 -0700

    add test case for load-extension bug, fix gdb-uninstalled-guile
    
    * test-suite/standalone/test-extensions:
    * test-suite/standalone/test-extensions-lib.c:
    * test-suite/standalone/Makefile.am: Add a test case for the
      load-extension bug.
    
    * meta/gdb-uninstalled-guile.in: Fix the path to include meta/.

commit 9c0cd73e614e338528e1d323dedec54f3dfad1d8
Merge: 6ecae97fb8dca2e5e26af44a649a706431c65756 
a5fc657043e1af9b2e79799059069f8172afb66c
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 28 22:31:20 2009 -0700

    Merge branch 'wingo'

commit 6ecae97fb8dca2e5e26af44a649a706431c65756
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 28 22:21:00 2009 -0700

    fix duplicates in procedure-callers
    
    * module/system/xref.scm (ensure-callers-db): OK! Since we can see the
      same variable twice, e.g. in different modules, keep a unified hash of
      seen vars and modules. Prevents duplicates in procedure-callers.

commit 154a6116699b5be1bc7b4968e497c8542fca7076
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 28 21:57:26 2009 -0700

    fix spurious duplicates in procedure-callees and callers
    
    * module/system/xref.scm (program-callee-rev-vars): It's possible to get
      duplicates when combining callees of inner procedures, so ignore dups.
      Quadratic, boo.

commit a5fc657043e1af9b2e79799059069f8172afb66c
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 18:47:13 2009 -0700

    bugfix: don't dynamic link if we found a registered extension
    
    * libguile/extensions.c (load_extension): Don't do dynamic linking if we
      actually did find an extension in the list.

commit 60ae5ca2a31a89b8930089f7dbfa3a99ac727383
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 18:40:15 2009 -0700

    frame, program, objcode, etc inits use load-extension
    
    * libguile/extensions.h: Define a scm_t_extension_init_func.
    
    * libguile/frames.c:
    * libguile/instructions.c:
    * libguile/objcodes.c:
    * libguile/programs.c:
    * libguile/vm.c: Register extension init funcs. Should play nicer with a
      static Guile, in addition to working on Darwin with non-default
      installation prefixes without munging DYLD_LIBRARY_PATH.
    
    * module/system/vm/frame.scm:
    * module/system/vm/instruction.scm:
    * module/system/vm/objcode.scm:
    * module/system/vm/program.scm:
    * module/system/vm/vm.scm: Use load-extension.

commit 845952664b24861b40d23660bb4509a967d1a271
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 16:21:20 2009 -0700

    fix distcheck hopefully, by cleaning the vm-i-*.i files
    
    * libguile/Makefile.am (CLEANFILES): Clean vm-i-*.i.

commit 7f864744889aea02c14604ede2b181f6e72a7504
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 16:11:43 2009 -0700

    fix "linking" of guile-config
    
    * meta/guile-config.in: Adjust "linking"; @bindir@ doesn't get fully
      expanded. So instead use a shell trampoline.

commit 989341716585082fe2b7e114ce57eb8f26a29f5b
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 16:01:12 2009 -0700

    fix check for guile-tools running uninstalled
    
    * meta/guile-tools.in (mydir): Fix check for running uninstalled.

commit 23ccb831ff1565072a1977d5fbc1f98aed388e57
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 15:51:16 2009 -0700

    rely on getrlimit to DTRT, don't make stack calibration file
    
    * libguile/measure-hwm.scm: Remove.
    
    * .gitignore: Update for removal.
    
    * test-suite/standalone/test-fast-slot-ref.in:
    * test-suite/standalone/test-use-srfi.in:
    * am/guilec:
    * check-guile.in: Revert back to normal guile invocation.
    
    * libguile/Makefile.am: Don't make a stack calibration file, as the
      getrlimit-based limit setting should work fine.

commit ec900eacb71bbf66b85a5605f67f83b43f2c6ca8
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 15:44:17 2009 -0700

    getrlimit-based stack limits
    
    * libguile/debug.c (init_stack_limit): Initialize the stack limit based
      on operating system limits (via getrlimit(2)), or 1 MB -- whichever is
      smaller.

commit 4ea9429edc9c95d521b68b9880b646a328650079
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 15:06:41 2009 -0700

    add getrlimit and setrlimit wrappers
    
    * README: Some rewording.
    
    * configure.in: Check for getrlimit and setrlimit.
    
    * libguile/posix.h:
    * libguile/posix.c: Add some getrlimit and setrlimit wrappers. They're
      documented, but I suspect something else has to be done to get them
      into the manual.

commit 0b6d8fdc28ed8af56e93157179c305fef037e0a0
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 27 14:03:03 2009 -0700

    allow building against uninstalled guile; move some things to meta/
    
    * README: Add more info about building against an uninstalled Guile.
    
    * meta/: New directory. The proximate cause of its creation is that I
      want to be able to build external packages against uninstalled Guile,
      and to do that I need guile-tools in the PATH, but I don't want
      $top_builddir/libtool in the path. But it seems like a good
      reorganization, for things that are /about/ Guile: pkg-config files, m4
      files, guile-config... then we also include uninstalled info: the
      environment, the pre-inst-guile script, etc.
    
    * meta/guile-1.8-uninstalled.pc.in: New pkg-config template. pkg-config
      prefers -uninstalled pkg-config files, if they are in its path.
    
    * meta/Makefile.am:
    * meta/ChangeLog-2008:
    * meta/gdb-uninstalled-guile.in:
    * meta/guile-1.8.pc.in:
    * meta/guile-config.in:
    * meta/guile.m4:
    * meta/guile-tools.in: Moved to meta/.
    
    * meta/guile.in: This is the new name of pre-inst-guile.in.
    
    * meta/uninstalled-env.in: And this, pre-inst-guile-env.in.
    
    * Makefile.am:
    * am/guilec:
    * am/pre-inst-guile:
    * check-guile.in:
    * configure.in:
    * doc/ref/Makefile.am:
    * gc-benchmarks/run-benchmark.scm:
    * test-suite/standalone/Makefile.am:
    * test-suite/standalone/README:
    * testsuite/Makefile.am: Adapt to meta/ change.

commit 0fe95f9c4ce063781e79a15bc123c57c33ef9755
Author: Ludovic Courtès <address@hidden>
Date:   Fri Mar 27 09:50:06 2009 +0100

    Improve wording in `libguile/Makefile.am' regarding stack calibration.
    
    * libguile/Makefile.am (stack-limit-calibration.scm): Improve wording of
      the comment.  Suggested by Neil Jerram.

commit 7ca96180f00800414a9cf855e5ca4dceb9baca07
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 26 19:17:26 2009 +0100

    Run the stack calibration script before running the compiler.
    
    * am/guilec (.scm.go): Use `pre-inst-guile' and load
      `stack-limit-calibration.scm'.  This is particularly useful when
      building the first `.go' files where the compiler is run using the
      interpreter, which may end up using a lot of stack space.
    
    * libguile/Makefile.am (BUILT_SOURCES): Add
      `stack-limit-calibration.scm'.
      (TESTS, TESTS_ENVIRONMENT): Remove.
      (stack-limit-calibration.scm): Prepend `-' so that any errors during
      the calibration are ignored.

commit 6cc323e2ff4e555d58e115032016a50ef15a1948
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 26 18:47:28 2009 +0100

    Remove multiple definition of `scm_i_marking'.
    
    * libguile/private-gc.h (scm_i_marking): Turn definition into a
      declaration.
      (scm_mark_all): Mark as `SCM_INTERNAL'.
    
    * libguile/gc-mark.c (scm_i_marking): New definition.

commit fc0b6e29ccb97668b9a4706f14b2bf1bd2129952
Author: Ludovic Courtès <address@hidden>
Date:   Wed Mar 25 00:23:23 2009 +0100

    Fix `testsuite/Makefile.am' for `distcheck'.
    
    * testsuite/Makefile.am (check_SCRIPTS): Remove, renamed to `TESTS'.
      (EXTRA_DIST): Add $(TESTS).

commit 0ea47a3a09704684d4d8af70a2f9e851300845a8
Author: Ludovic Courtès <address@hidden>
Date:   Fri Mar 20 01:11:16 2009 +0100

    Aggregate `Makefile.am' files under `examples/'.
    
    * configure.in: Don't produce `examples/*/Makefile'.
    
    * examples/Makefile.am (SUBDIRS): Remove.
      (EXTRA_DIST, AM_CFLAGS, AM_LIBS): New.
      (box/box, box/box.o, box-module/box, box-module/box.o, libbox.la,
      box-dynamic/box.lo, libbox-module.la, box-dynamic-module/box.lo,
      installcheck, CLEANFILES, clean-local): New targets, aggregated from
      `Makefile.am' files formerly in sub-directories.
    
    * examples/check.test: New file, aggregated from `check.test' files in
      sub-directories.

commit 020348bb87860c8294be64a17b7de732c8265fbc
Author: Ludovic Courtès <address@hidden>
Date:   Tue Mar 24 23:37:41 2009 +0100

    Include <alloca.h> in `gsubr.c'.
    
    * libguile/gsubr.c: Include <alloca.h>.  Reported by Carlo Bramini
      <address@hidden>.

commit 80540f391498ebb0f955db2fafb6a36ed03b7886
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 20 13:20:28 2009 +0100

    speed up goops rehashing
    
    * module/oop/goops/dispatch.scm (cache-try-hash!): Speed up goops
      rehashing, in theory. I haven't measured, though.

commit 32e49fa35528692a8ac0ddf583655646dd09f36e
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 20 12:52:24 2009 +0100

    fix interpreted methods with empty bodies
    
    * module/oop/goops.scm (method): If a method has no body, subst in `(if
      #f #f)' instead of `(begin)', to please the memoizer.

commit 4e2f1e9edd1d49b1ed395ca48872bddc25759f30
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 20 12:06:10 2009 +0100

    add generic method-formals; fixes to method-source
    
    * module/oop/goops.scm (method-source): Don't throw an error if this
      method has no source.
      (method-formals): New generic function, the complement of
      method-specializers for introspection.

commit 17dd267a35806e56195a38006ef51b452a38ae0d
Author: Andy Wingo <address@hidden>
Date:   Thu Mar 19 11:46:22 2009 +0100

    fix casts to unsigned long in objcodes.c
    
    * libguile/objcodes.c (scm_c_make_objcode_slice): Fix casts to unsigned
      long.

commit 05588a1acea43792f33ea632af0d316e847fa9db
Author: Ludovic Courtès <address@hidden>
Date:   Wed Mar 18 22:28:37 2009 +0100

    Have `scm_take_locale_symbol ()' return an interned symbol (fixes bug 
#25865).
    
    * libguile/symbols.c (intern_symbol): New function, with code formerly
      duplicated in `scm_i_c_mem2symbol ()' and `scm_i_mem2symbol ()'.
      (scm_i_c_mem2symbol, scm_i_mem2symbol): Use it.
      (scm_take_locale_symboln): Use `intern_symbol ()'.  This fixes
      bug #25865.
    
    * test-suite/standalone/Makefile.am
      (test_scm_take_locale_symbol_SOURCES,
      test_scm_take_locale_symbol_CFLAGS,
      test_scm_take_locale_symbol_LDADD): New variables.
      (check_PROGRAMS, TESTS): Add `test-scm-take-locale-symbol'.

commit e0a3ad670bf43b9815bec31b83417de2bc3c2784
Author: Andy Wingo <address@hidden>
Date:   Wed Mar 18 01:49:28 2009 +0100

    rework procedure-callers to stay correct as callees are redefined
    
    * module/system/xref.scm (procedure-callers): Rework to calculate the
      callers of a *variable*, not of a value. This is because the
      module-observers only get fired when the module changes, not with the
      variables change values. Also accept either a variable, a symbol
      (resolved in the current module), or a modname . symname pair.

commit 7eba9c99c262acb872a52d95c45a216232d2b8dc
Author: Andy Wingo <address@hidden>
Date:   Wed Mar 18 00:46:16 2009 +0100

    doubly-weak callers db
    
    * module/system/xref.scm (ensure-callers-db): Store the callers db as a
      doubly-weak hash table.

commit b190790255a44ae848b2ee3b313ae5da084e3cff
Author: Andy Wingo <address@hidden>
Date:   Wed Mar 18 00:44:26 2009 +0100

    implement procedure-callers
    
    * module/system/xref.scm: Implement procedure-callers, as the inverse of
      procedure-callees, with a cache invalidated by changes in modules.
    
    * module/ice-9/boot-9.scm (module-use!): Don't poke module observers when
      module-use! is called for an already-used module.

commit 4f96d42b2d7a3d135f061c7096a8d6ff49881b62
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 23:16:35 2009 +0100

    add xref stub for interpreted procedures
    
    * module/system/xref.scm (hacky-procedure-callees): Add a
      procedure-callees implementation for procedures with source, that
      currently does nothing. Not sure what to do, going into the future.

commit e04894e1ac6c631d8fd1b92de4189f7b260f9509
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 23:11:56 2009 +0100

    add xref.scm
    
    * module/system/xref.scm: New module, will provide callers/callees info.
    
    * module/Makefile.am (SOURCES): Add xref.scm.

commit c9d5bfad9ef1c601db8ca1e9ceff66de34411bb1
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 16 23:45:07 2009 +0100

    tweaks to the un-integrated test cases
    
    * testsuite/Makefile.am: Sortof turn these VM tests into more
      automake-like tests. Needs further work.

commit aeeff258c6502f9995aa97f3806a1069c4ddc7d1
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 16 23:39:29 2009 +0100

    non-srcdir build fixes
    
    * guile-tools.in: Fix the checks to account for non-srcdir builds.
    
    * libguile/frames.c:
    * libguile/objcodes.c:
    * libguile/programs.c:
    * libguile/instructions.c:
    * libguile/vm.c: Fix snarf-includes to cope with non-srcdir builds.
    
    * libguile/instructions.h:
    * libguile/instructions.c: Fix the stubs inclusion to be non-srcdir
      compatible.
    
    * libguile/vm-expand.h (VM_DEFINE_INSTRUCTION): Fix some things so as not
      to require the instructions.h defintitions, since we have the codes
      already. Not important tho :)
    
    * pre-inst-guile-env.in: Minor tweak that should have no effect.
    
    * test-suite/standalone/Makefile.am (all-local): Remove a chmod +x step,
      the configure.ac rule should do that if necessary.

commit 8992a9e318eb7b86920133eba8aa64d5b6bf7bfd
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 16 22:41:50 2009 +0100

    try a new way of checking byte order

commit 06dc937dd7575c820d8a0884978d0c22de4946fc
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 16:24:34 2009 +0100

    decompile source info into <glil-source> annotations.
    
    * module/language/glil/decompile-assembly.scm (decompile-load-program):
      Decompile source information into <glil-source> annotations.

commit ff33605d6a5046019562661857e2ea2d41c54f3c
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 16:03:34 2009 +0100

    fix bug serializing filenames in source locations
    
    * module/language/glil/compile-assembly.scm (limn-sources): Fix bug
      whereby filename was serialized as a ("foo") instead of "foo".

commit eb7ea0450a7d7fed0401e64fdc149c0a89edbc28
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 15:54:19 2009 +0100

    tweaks to asm->glil decompiler, perhaps fix a (program-source p 0) bug
    
    * module/language/ghil/compile-glil.scm (codegen): Push a program's
      source locations before copying external args to heap -- perhaps fixes
      (program-source p 0) for some programs.
    
    * module/language/glil/decompile-assembly.scm (decompile-load-program):
      Take another arg, the object vector. Emit <glil-bind> and <glil-unbind>
      correctly. Properly unparse properties. Just have to deal with source
      locations now.

commit 860f569a6a059988cddc01b00c6fa0ed6d24cdd3
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 13:59:57 2009 +0100

    add assembly->glil decompiler
    
    * module/language/glil/decompile-assembly.scm: A first pass at an
      assembly->glil decompiler. Works for a small subset of programs.
    
    * module/Makefile.am (GLIL_LANG_SOURCES):
    * module/language/glil/spec.scm (glil): Add the decompiler.

commit a3f0ff0faf0f1a849efc49b1a77cea620208c041
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 12:07:04 2009 +0100

    update disassembler for changes to decompiler
    
    * module/language/assembly/disassemble.scm (disassemble-load-program)
      (code-annotation): And update the disassembler for changes to
      decompiler.

commit 6fe6a2a27d6a8285a837fce46227fedf41efc38f
Author: Andy Wingo <address@hidden>
Date:   Sat Mar 14 12:01:56 2009 +0100

    parse jumps as labels when decompiling bytecode->assembly
    
    * module/language/assembly/decompile-bytecode.scm (decode-load-program):
      Parse out jumps as labels.

commit 1dcf33280d39c7b7366eae1083a287e2dea6a8ca
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 13 23:55:51 2009 +0100

    procedure-arity on vm-compile apply: verily, unresolved.
    
    * test-suite/tests/procprop.test ("procedure-arity"): Procedure-property
      'arity on "apply" will fail if "apply" is a program. I suggest that
      procedure-property is actually the wrong interface for this; if we even
      want to preseve the old arity forms, we should have an accessor for
      arity directly that the VM can implement. But in the meantime throw
      this nasty error while we decide.

commit bb06fceef02a20ce42b069192eb45ddd9012e5ab
Merge: 3b91e017e32e1fb6b911f456c61aea6386075095 
cb9d473112ac172a3d328bb029b5b550918d4262
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:41:01 2009 +0100

    Merge commit 'cb9d473112ac172a3d328bb029b5b550918d4262' into vm-check

commit 3b91e017e32e1fb6b911f456c61aea6386075095
Merge: 325226dad9ab6f0488500e7381a5d1c07dc9ae91 
e20d7001c3f7150400169fecb0bf0eefdf122fe2
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:40:52 2009 +0100

    Merge commit 'e20d7001c3f7150400169fecb0bf0eefdf122fe2' into vm-check
    
    Conflicts:
    
        libguile/stacks.c

commit 325226dad9ab6f0488500e7381a5d1c07dc9ae91
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:36:20 2009 +0100

    fix marking of double-cell subrs
    
    * libguile/gc-mark.c (scm_gc_mark_dependencies): Mark the name, generic,
      and properties of subrs.

commit ccb6d6903d8fd638e7d4b9183a15bee770cff2ca
Merge: 3e64d235e9f950b73c70b57c8ee3ee349d2fdae8 
e092357058850a6f998bf462bdc5504c6379c96f
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:10:14 2009 +0100

    Merge commit 'e092357058850a6f998bf462bdc5504c6379c96f' into vm-check

commit 3e64d235e9f950b73c70b57c8ee3ee349d2fdae8
Merge: b07a3cfda145c11039eb92a9d92ee2257479e2b7 
feccd2d3100fd2964d4c2df58ab3da7ce4949a66
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:09:41 2009 +0100

    Merge commit 'feccd2d3100fd2964d4c2df58ab3da7ce4949a66' into vm-check

commit b07a3cfda145c11039eb92a9d92ee2257479e2b7
Merge: 9a931c6883d9b03687c18d0c0683b018d6315145 
cce8b2ce93703aff953750fb40cb53176ea66504
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:09:02 2009 +0100

    Merge commit 'cce8b2ce93703aff953750fb40cb53176ea66504' into vm-check

commit 9a931c6883d9b03687c18d0c0683b018d6315145
Merge: 40af975ba8d5f9bde4a60262b7bc6aa6ad3c7546 
4c9e29ec38350a5206aa3e8e72ad4376512ada2b
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:06:52 2009 +0100

    Merge commit '4c9e29ec38350a5206aa3e8e72ad4376512ada2b' into vm-check

commit 40af975ba8d5f9bde4a60262b7bc6aa6ad3c7546
Merge: 51ab250ff4b9f8c95a4f9f7e50dc08c7177c7343 
ad5f5ada1d50ecdab634d60ffe3a13b9193156aa
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:06:44 2009 +0100

    Merge commit 'ad5f5ada1d50ecdab634d60ffe3a13b9193156aa' into vm-check

commit 51ab250ff4b9f8c95a4f9f7e50dc08c7177c7343
Merge: c872cc2f37f8e8f9bbf3911ad9e53ee51af07816 
95a040cd2be7ad03bf197edbdb1fec2c52749ef6
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:05:47 2009 +0100

    Merge commit '95a040cd2be7ad03bf197edbdb1fec2c52749ef6' into vm-check

commit c872cc2f37f8e8f9bbf3911ad9e53ee51af07816
Merge: 80a7d5dc8e39efcedb9882f20902a42e66371053 
6290d3f10927f887102a164ccb1a7291cc62288d
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:05:41 2009 +0100

    Merge commit '6290d3f10927f887102a164ccb1a7291cc62288d' into vm-check

commit 80a7d5dc8e39efcedb9882f20902a42e66371053
Merge: 798e66ab10aba03ab98a070dbaef427e4cc1573f 
5bb2d903b9e54fdd5858a16ba11fa91a9dc0c692
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:05:37 2009 +0100

    Merge commit '5bb2d903b9e54fdd5858a16ba11fa91a9dc0c692' into vm-check

commit 798e66ab10aba03ab98a070dbaef427e4cc1573f
Merge: 997eda2a30ff9235687cde508148d6456e982813 
04795a1cb259c20896fb2edb50c58086027281b0
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:04:04 2009 +0100

    Merge commit '04795a1cb259c20896fb2edb50c58086027281b0' into vm-check

commit 997eda2a30ff9235687cde508148d6456e982813
Merge: a3f2bf81d9a1a8d080dd4b09d59c46995cefb1eb 
202271f291971cf14175f5a1a193955f72d43d79
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:01:35 2009 +0100

    Merge commit '202271f291971cf14175f5a1a193955f72d43d79' into vm-check

commit a3f2bf81d9a1a8d080dd4b09d59c46995cefb1eb
Merge: df22662f5de5585f723943a44e61fb71f7a49190 
c010924a71f942100dc7b4021d5ef1c6decf9c85
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 16:01:18 2009 +0100

    Merge commit 'c010924a71f942100dc7b4021d5ef1c6decf9c85' into vm-check

commit df22662f5de5585f723943a44e61fb71f7a49190
Merge: 3924b91748c9e449a27bc26847be6c20b4dd9f82 
53d81399bef1d9396665e79fb6b9c25eb8e2a6ad
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:59:40 2009 +0100

    Merge commit '53d81399bef1d9396665e79fb6b9c25eb8e2a6ad' into vm-check
    
    Also cherry-picks the changes from 1405f1b60fa178303484cd428068ecd01ff6d322
    
    Conflicts:
    
        module/ice-9/session.scm

commit 3924b91748c9e449a27bc26847be6c20b4dd9f82
Merge: a5720988bb39845d7845ace6cea32c5d7f89dfb4 
ab878b0f8e675a741a7dd56f52638a7cc0419907
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:57:07 2009 +0100

    Merge commit 'ab878b0f8e675a741a7dd56f52638a7cc0419907' into vm-check

commit a5720988bb39845d7845ace6cea32c5d7f89dfb4
Merge: 0bf0d9601754efe3e0988b4471dbf7e376a09bd8 
cbee5075d69cb057c4af4c5e24319da90367897f
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:56:31 2009 +0100

    Merge commit 'cbee5075d69cb057c4af4c5e24319da90367897f' into vm-check

commit 0bf0d9601754efe3e0988b4471dbf7e376a09bd8
Merge: a37593c7c8d518bbd0ff3b1b1362a5a6213027fc 
32a2609de06af65341e6b4db6961557b788821e8
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:56:22 2009 +0100

    Merge commit '32a2609de06af65341e6b4db6961557b788821e8' into vm-check

commit a37593c7c8d518bbd0ff3b1b1362a5a6213027fc
Merge: b6b5d31e35d39d10b932af8a74612330f7b40961 
e95d11110b7af0f528404d28209c3a464ab7074d
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:54:42 2009 +0100

    Merge commit 'e95d11110b7af0f528404d28209c3a464ab7074d' into vm-check

commit b6b5d31e35d39d10b932af8a74612330f7b40961
Merge: fcbf843f56bf894f4899d39d494a5046e4a8f597 
752be95a475132506c35922d284884cf776149d0
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:54:34 2009 +0100

    Merge commit '752be95a475132506c35922d284884cf776149d0' into vm-check
    
    Conflicts:
    
        INSTALL

commit fcbf843f56bf894f4899d39d494a5046e4a8f597
Merge: deca2251b9d9128f62142b369a309caf05dbaa88 
8b0174c879bf74981efe702a00471ed5b8e6912e
Author: Andy Wingo <address@hidden>
Date:   Tue Mar 17 15:52:41 2009 +0100

    Merge commit '8b0174c879bf74981efe702a00471ed5b8e6912e' into vm-check

commit deca2251b9d9128f62142b369a309caf05dbaa88
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 13 23:45:24 2009 +0100

    revert annotation support in syncase. another day perhaps.
    
    * module/ice-9/syncase.scm: Revert support for annotations, as I'm seeing
      wierd problems whereby syntax-object->datum does not fully strip its
      input.

commit cb9d473112ac172a3d328bb029b5b550918d4262
Author: Ludovic Courtès <address@hidden>
Date:   Mon Mar 9 18:59:04 2009 +0100

    Update `NEWS'.

commit 979933ab5bf469ec2e2e0e2dee2675d59b7eb770
Author: Andy Wingo <address@hidden>
Date:   Sun Mar 8 23:51:12 2009 +0100

    Fix errors when stripping annotations
    
    * module/ice-9/annotate.scm (set-annotation-stripped!): Fix prototype to
      correspond to what syncase needs.
    
    * module/ice-9/psyntax.scm (strip-annotation): Use `if', not `when', for
      portability.
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit 6c59f901499937fe3779ef1f543646754f843679
Author: Ludovic Courtès <address@hidden>
Date:   Sun Mar 8 22:16:37 2009 +0100

    Aggregate `Makefile.am' files under `lang/'.
    
    * lang/Makefile.am (SUBDIRS): Remove.
      (elisp_sources): Aggregate the value of `elisp_SOURCES' formerly found
      in sub-directories' `Makefile.am'.

commit 7acc33d7f0ae774ca2b970053ed04a792cd83e33
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 28 16:59:05 2009 +0100

    Move `guardians.test' to its own module.
    
    * test-suite/tests/guardians.test: Add `define-module' clause.

commit 8321ed20f69b4c56cb680563160cd30ecac8f509
Author: Ludovic Courtès <address@hidden>
Date:   Sun Mar 8 16:36:14 2009 +0100

    Provide a C vararg interface to gsubr invocation.
    
    * libguile/eval.i.c (CEVAL): Update calls to `scm_i_gsubr_apply ()' with
      a fixed number of arguments.  Use `scm_i_gsubr_apply_list ()' for
      calls with a list of arguments of unknown length.
      (SCM_APPLY): Use `scm_i_gsubr_apply_list ()' instead of
      `scm_i_gsubr_apply ()'.
    
    * libguile/gsubr.c (gsubr_apply_raw): New.
      (scm_i_gsubr_apply): Change to take a C vararg list instead of a
      Scheme list.  Use `gsubr_apply_raw ()'.
      (scm_i_gsubr_apply_list): Use `gsubr_apply_raw ()'.
    
    * libguile/gsubr.h (scm_i_gsubr_apply): Update prototype.
      (scm_i_gsubr_apply_list): New declaration.

commit d18f4d805ed12cc477fa00b3608130785151f3d6
Author: Ludovic Courtès <address@hidden>
Date:   Sun Mar 8 12:19:42 2009 +0100

    Slightly simplify gsubr invocation in the evaluator.
    
    * libguile/eval.i.c (CEVAL): Remove the `cclon' label; replace jumps to
      `cclon' with `RETURN (scm_i_gsubr_apply (...))'.

commit 3e414c302f5a6ee8618aa7f9b2bbd174ef7e9d31
Author: Ludovic Courtès <address@hidden>
Date:   Sun Mar 8 16:38:51 2009 +0100

    Add new subr invocation benchmarks.
    
    * benchmark-suite/benchmarks/subr.bm (hook1, hook3): New variables.
      ("subr invocation")("generic subr with rest arg", "generic subr with
      rest arg and 3+ parameters"): New benchmarks.
      ("subr application")("generic subr with rest arg", "generic subr with
      rest arg and 3+ parameters"): New benchmarks.

commit 7118c8050cd6948c294991414cb5bcf274e66359
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 6 19:50:11 2009 +0100

    actually use syncase's source information tracking. rock!
    
    * module/ice-9/annotate.scm (deannotate/source-properties): Version of
      deannotate that sets source properties on the resulting expressions.
    
    * module/ice-9/syncase.scm (sc-macro, syncase): Annotate expressions
      before they go into syncase, and deannotate/source-properties when they
      come out. The upshot is that syncase now understands source
      information, yay!

commit 35289f24eef5b85d34dd8be4eb847797b2551ece
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 6 19:37:44 2009 +0100

    modify psyntax so it produced annotated source if given annotated source
    
    * module/ice-9/psyntax.scm (build-annotated): New helper, used by the
      output constructors.
      (build-application, build-conditional, build-lexical-reference)
      (build-lexical-assignment, build-global-reference)
      (build-global-assignment, build-global-definition, build-lambda)
      (build-primref, build-data, build-sequence, build-let)
      (build-named-let, build-letrec, build-lexical-var): Use
      build-annotated, so we produce annotated source if we have source
      information.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.

commit 52381a17c4972a0d1cb00cbb50857e1412e6fabf
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 6 17:01:47 2009 +0100

    support source-level annotations in syncase
    
    * module/ice-9/annotate.scm (<annotation>): Slightly more concise
      printing.
      (annotate): Don't create annotations if we have no source info.
    
    * module/ice-9/psyntax.scm (annotation?): Remove this definition, as we
      now provide annotation support.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.
    
    * module/ice-9/syncase.scm: Use (ice-9 annotate).
    
    * module/language/scheme/expand.scm (eval-when): Define the eval-when
      transformer.

commit 25d8cd3a0c840eeb86313e1d0c61f7b9c34b9141
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 6 16:57:17 2009 +0100

    fix eval-when statements in boot-9
    
    * module/ice-9/boot-9.scm: Fix a couple eval-when statements.

commit b15dea6857f531941063e91e2a89204e0754a99f
Author: Andy Wingo <address@hidden>
Date:   Fri Mar 6 13:29:13 2009 +0100

    Replace eval-case with eval-when
    
    * module/ice-9/boot-9.scm (eval-when): Replace eval-case with eval-when.
      Eval-when is *much* simpler, and more expressive to boot. Perhaps in
      the future we'll get 'visit and 'revisit too.
    
    * module/ice-9/deprecated.scm (eval-case): Provide mostly-working
      deprecated version of eval-case.
    
    * module/ice-9/boot-9.scm (defmacro, define-macro): Relax condition: we
      can make defmacros that are not at the toplevel now. But in the future
      we should replace this implementation of defmacros with one written in
      syntax-case.
      (define-module, use-modules, use-syntax): Allow at non-toplevel.
      (define-public, defmacro-public, export, re-export): Don't evaluate at
      compile-time, I can't see how that helps things. Allow `export' and
      `re-export' at non-toplevel.
    
    * module/ice-9/getopt-long.scm:
    * module/ice-9/i18n.scm:
    * module/oop/goops.scm:
    * module/oop/goops/compile.scm:
    * module/oop/goops/dispatch.scm: Switch to use eval-when, not
      eval-case.
    
    * module/language/scheme/compile-ghil.scm (eval-when): Replace eval-case
      transformer with eval-when transformer. Sooooo much simpler, and it
      will get better once we separate expansion from compilation.
    
    * module/language/scheme/expand.scm (quasiquote): Hm, expand quasiquote
      properly. Not hygienic. Syncase needed.
      (lambda): Handle internal defines with docstrings propertly.

commit 07e01c4cf9e9812af8790ebb4b5f7fb8d9463fa8
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 2 22:15:27 2009 +0100

    fixups to expand.scm
    
    * module/language/scheme/expand.scm: Some changes to avoid unnecessary
      begins or empty lets, and properly handle internal defines (finally).

commit 237f96e7f0c3409ecaf427010048ad60b34b2e54
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 2 17:27:45 2009 +0100

    add separate expansion phase, to detwingle things a bit
    
    * module/language/scheme/expand.scm: New module, implements a separate
      expansion phase, not interleaved with compilation.
    
    * module/language/scheme/amatch.scm: Helper for expand.scm, it's pmatch
      with support for annotated source.
    
    * module/ice-9/Makefile.am (SOURCES): Add annotate.scm to build list --
      early on because it will be used in the compiler.
    
    * module/ice-9/annotate.scm: Fix the printer, default to unstripped
      (whatever that is), and add a deannotator.
    
    * module/system/base/compile.scm (call-with-compile-error-catch): Fix for
      new representation of source locations.
    
    * module/Makefile.am (SCHEME_LANG_SOURCES): Add amatch and expand.

commit fb0a63e879117661175e37fd42c089ee25cadf34
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 2 15:46:17 2009 +0100

    fix printer in struct docs
    
    * doc/ref/api-compound.texi (Vtables): Fix example printer.

commit b0e4051e9e4c6669f6cfa57e38ab7b6823a7aa28
Author: Andy Wingo <address@hidden>
Date:   Mon Mar 2 11:23:03 2009 +0100

    add annotation module
    
    * module/ice-9/annotate.scm: Add annotation module, for source location
      tracking with syncase, and for internal use in the compiler.

commit a5f83fd21d29d07ddb005962b37412b1e9aa5ffa
Author: Ludovic Courtès <address@hidden>
Date:   Tue Feb 17 23:29:44 2009 +0100

    Mark `scm_gsubr_apply ()' as internal.
    
    * libguile/gsubr.h (scm_gsubr_apply): Renamed to...
      (scm_i_gsubr_apply): this.  Marked as `SCM_INTERNAL'.  Callers
      updated.

commit e20d7001c3f7150400169fecb0bf0eefdf122fe2
Author: Ludovic Courtès <address@hidden>
Date:   Mon Feb 16 00:24:00 2009 +0100

    Remove "compiled closures" ("cclos") in favor of a simpler mechanism.
    
    The idea is to introduce `gsubrs' whose arity is encoded in their type
    (more precisely in the sizeof (void *) - 8 MSBs).  This removes the
    indirection introduced by cclos and simplifies the code.
    
    * libguile/__scm.h (CCLO): Remove.
    
    * libguile/debug.c (scm_procedure_source, scm_procedure_environment):
      Remove references to `scm_tc7_cclo'.
    
    * libguile/eval.c (scm_trampoline_0, scm_trampoline_1,
      scm_trampoline_2): Replace `scm_tc7_cclo' with `scm_tc7_gsubr'.
    
    * libguile/eval.i.c (CEVAL): Likewise.  No longer make PROC the first
      argument.  Directly invoke `scm_gsubr_apply ()' instead of jump to the
      `evap(N+1)' label or call to `SCM_APPLY ()'.
    
    * libguile/evalext.c (scm_self_evaluating_p): Remove reference to
      `scm_tc7_cclo'.
    
    * libguile/gc-card.c (scm_i_sweep_card, scm_i_tag_name): Likewise.
    
    * libguile/gc-mark.c (scm_gc_mark_dependencies): Likewise.
    
    * libguile/goops.c (scm_class_of): Likewise.
    
    * libguile/print.c (iprin1): Likewise.
    
    * libguile/gsubr.c (create_gsubr): Use `unsigned int's for REQ, OPT and
      RST.  Use `scm_tc7_gsubr' instead of `scm_makcclo ()' in the default
      case.
      (scm_gsubr_apply): Remove calls to `SCM_GSUBR_PROC ()'.
      (scm_f_gsubr_apply): Remove.
    
    * libguile/gsubr.h (SCM_GSUBR_TYPE): New definition.
      (SCM_GSUBR_MAX): Changed to 33.
      (SCM_SET_GSUBR_TYPE, SCM_GSUBR_PROC, SCM_SET_GSUBR_PROC,
      scm_f_gsubr_apply): Remove.
    
    * libguile/procprop.c (scm_i_procedure_arity): Remove reference to
      `scm_tc7_cclo'; add proper handling of `scm_tc7_gsubr'.
    
    * libguile/procs.c (scm_makcclo, scm_make_cclo): Remove.
      (scm_procedure_p): Remove reference to `scm_tc7_cclo'.
      (scm_thunk_p): Likewise, plus add proper `scm_tc7_gsubr' handling.
    
    * libguile/procs.h (SCM_CCLO_LENGTH, SCM_MAKE_CCLO_TAG,
      SCM_SET_CCLO_LENGTH, SCM_CCLO_BASE, SCM_SET_CCLO_BASE, SCM_CCLO_REF,
      SCM_CCLO_SET, SCM_CCLO_SUBR, SCM_SET_CCLO_SUBR, scm_makcclo,
      scm_make_cclo): Remove.
    
    * libguile/stacks.c (read_frames): Remove reference to `scm_f_gsubr_apply'.
    
    * libguile/tags.h (scm_tc7_cclo): Remove.
      (scm_tc7_gsubr): New.
      (scm_tcs_subrs): Add `scm_tc7_gsubr'.

commit 54d14084e229f90b75475a866e3f458be30fa233
Author: Ludovic Courtès <address@hidden>
Date:   Mon Feb 16 01:00:49 2009 +0100

    Change `scm_gsubr_apply ()' to take the gsubr as its first argument.
    
    * libguile/gsubr.c (scm_gsubr_apply): Make SELF the first argument
      instead of the first element of ARGS.
    
    * libguile/gsubr.h: Update.
    
    * libguile/eval.i.c (CEVAL): Update.

commit b786a5bbf825f61e04ccd9a54f93cb1e40ac67d9
Author: Ludovic Courtès <address@hidden>
Date:   Mon Mar 2 00:18:34 2009 +0100

    Add subr invocation benchmark.
    
    * benchmark-suite/Makefile.am (SCM_BENCHMARKS): Add `subr.bm'.

commit 6d8182ea1b9f3b09445b4a3c18c430b0217f1d13
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 16:25:32 2009 +0100

    make the ES compiler more readable via use of ->
    
    * module/language/ecmascript/compile-ghil.scm: Use -> to make the ES
      compiler more readable. Fix bugs in do, while, and for, whereby we were
      missing ->boolean calls.

commit 3ac6d9f37e9fd127a29b81ffa4c4205c9eca2552
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 15:17:01 2009 +0100

    use -> macro in scheme->ghil compiler
    
    * module/language/scheme/compile-ghil.scm (->): New macro, makes GHIL
      generation a bit more palatable. Use it in all the transformers.

commit 3ca840111378f0b99d8e4e7e79a73a95d5124518
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 13:37:35 2009 +0100

    slight optimization in transform-record, note in optimize*
    
    * module/language/ghil/compile-glil.scm (optimize*): Add a note.
    
    * module/system/base/syntax.scm (transform-record): Access the common
      slots once at the beginning. Cuts down on the number of toplevel refs
      needed by the generated code.

commit 89522052e2b4ce2ad508af3a1efa14fc557b735a
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 13:24:38 2009 +0100

    introduce -> binding inside transform-record body expressions
    
    * module/system/base/syntax.scm (transform-record): Introduce a ->
      binding inside the body, that produces records of the same type.
    
    * module/language/ghil/compile-glil.scm (optimize*): Remove our ->ghil
      definition, as transform-record introduces a -> binding for us. Nice.

commit b106a3eddc25c0bc1ef340be39a46c55962029a2
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 12:36:58 2009 +0100

    first stabs as s-expression-driven transformation of GHIL
    
    * module/language/ghil/compile-glil.scm (optimize*): Rewritten optimizer
      -- not yet in use, but it's closer to the code that I'd like to write.
    
    * module/system/base/syntax.scm (transform-record): New crazy macro,
      makes GHIL a little less painful to work with.

commit 246be37e487ec39bd945bbfdef410a5251f71adc
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 10:56:15 2009 +0100

    common slot accessors are procedures-with-setters
    
    * module/system/base/syntax.scm (define-type): Common slot accessors are
      also procedures-with-setters.

commit 2c65f2d5a7b5f6e75179d66c32c1de5380b334cc
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 10:53:00 2009 +0100

    use common slots mechanism in ghil
    
    * module/system/base/syntax.scm (define-type): Fix getter for common
      slot.
    
    * module/language/ghil.scm (<ghil>): Use the common slots mechanism.

commit 43e0c29305b0c60f866f0852643f0ad9385537ae
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 27 10:44:47 2009 +0100

    define-type has #:common-slots
    
    * module/system/base/syntax.scm (define-type): Accept a #:common-slots
      argument, defining slots that are in all instances of this type.

commit 4054d9318366e213ba0f826be33a85b686933e7b
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 25 00:21:03 2009 +0100

    fix variable not initialized spurious warnings
    
    * libguile/vm-i-system.c: Work around some spurious "variable not
      initialized" messages on Etch's gcc.

commit 893be93f58a072a14d0c9b745e3b481c336e9722
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 25 00:16:26 2009 +0100

    don't crash etch's gcc
    
    * libguile/vm-engine.h: Don't allocate registers in registers if we're on
      Etch's GCC.

commit 0704c8139521019a364849fb81ee9508d64c9434
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 25 00:06:58 2009 +0100

    export procedure-arguments from ice-9 session
    
    * module/system/vm/program.scm (program-arguments): New function, used by
      procedure-arguments.
    
    * module/ice-9/session.scm (procedure-arguments): New exported function,
      returns an alist describing the given procedure.

commit 3bb299b3f0d5b31957a6447d095ed723268019be
Author: Ludovic Courtès <address@hidden>
Date:   Tue Feb 24 23:52:57 2009 +0100

    Aggregate makefiles for `module/system' and `module/language'.
    
    * am/guilec (.scm.go): Create the target's directory, in case
      $(builddir) != $(srcdir).
    
    * configure.in: Don't output any makefile under `module/system' or
      `module/language'.
    
    * module/Makefile.am (SUBDIRS): Remove `language' and `system'.  Add `.'
      to the front.
      (modpath, SOURCES, SCHEME_LANG_SOURCES, ECMASCRIPT_LANG_SOURCES,
      GHIL_LANG_SOURCES, GLIL_LANG_SOURCES, ASSEMBLY_LANG_SOURCES,
      BYTECODE_LANG_SOURCES, OBJCODE_LANG_SOURCES, VALUE_LANG_SOURCES): New
      variables, taken from former `Makefile.am' files in sub-directories.

commit c15fa41c0cd526243fc68bde990c9a67a4521b33
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 24 23:34:26 2009 +0100

    unbork the repl
    
    * module/system/repl/repl.scm (meta-reader): Whoops, unbork the repl.

commit abf780e45e814def03ea3bb1810b0ed1a236142a
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 24 23:16:58 2009 +0100

    in meta-reader, return directly if the peeked char is EOF
    
    * module/system/repl/repl.scm (meta-reader): If the (next-char #t)
      returns EOF, return that EOF directly, as it seems that with guile -q,
      the subsequent `read' actually waits for another C-d. Dunno why.

commit a56db0f67edb093cc3611dede2c49d1fb4a88a5e
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 24 23:02:33 2009 +0100

    use umask when making permissions on .go files
    
    * module/system/base/compile.scm (call-with-output-file/atomic): Temp
      files get created 0600. After we're done writing, chmod them to
      something in line with the user's umask.

commit cb4362cdaed0ce5f77e8881a9172b26401daecc2
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 24 22:32:50 2009 +0100

    use nobase in am/guilec
    
    * am/guilec (nobase_mod_DATA): Use nobase_mod_DATA so we install to the
      correct dir for foo/bar.scm.

commit 68776b1d947c8680302b6d19c4a5426817f9e134
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 17:37:59 2009 +0100

    parse division vs regexps properly
    
    * module/language/ecmascript/tokenize.scm (make-tokenizer/1): Whoops, fix
      the cases in which we detect that division is valid.

commit e05320fa549af175c8cbb7bed8cd4ece873033da
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 16:01:11 2009 +0100

    compile for-in
    
    * module/language/ecmascript/base.scm (prop-keys): New method, returns
      the list of keys of props of this instance.
    
    * module/language/ecmascript/impl.scm: Refactor the global object into a
      special kind of module object. Provide a prop-keys implementation for
      module objects.
    
    * module/language/ecmascript/compile-ghil.scm (comp): Compile for-in.
    
    * module/language/ecmascript/impl.scm: Reshuffly things, and implement
      make-enumerator, a helper for use in for-in statements.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Fix parsing of
      for (var foo in bar) {}...

commit bb67fe27ab5cda3fcefaa1c471f75c8241cc12b2
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 12:07:09 2009 +0100

    fix "for" compilation
    
    * module/language/ecmascript/compile-ghil.scm (comp): Whoops, fix `for'
      compilation.

commit 143177ed9ee93a2b8df326c431ef09de06ca8063
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 11:55:20 2009 +0100

    add scheme integration to js via `require'
    
    * module/language/ecmascript/impl.scm: Add <js-module-object>, that wraps
      a module. Add js-require, a javascript-happy function that returns an
      object that wraps a Guile module. Bind it to `require' in the default
      environment.

commit a3e34104db5eded9e48f527ef54fe6c8d18a07f8
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 11:37:55 2009 +0100

    ecmascript tokens have source info
    
    * module/language/ecmascript/tokenize.scm: Attach source information to
      tokens. We have to enhance the lalr parser to actually let this
      information propagate through, though...

commit 0b229e81a7420c55bd42c1b30d86d52bf9f32cb9
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 11:20:15 2009 +0100

    throw SyntaxError on bad syntax
    
    * module/language/ecmascript/parse.scm (syntax-error):
    * module/language/ecmascript/tokenize.scm (syntax-error): Throw an error
      on bad syntax.

commit af6c20b731c66397ab3886e162d6b6252d810cbb
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 11:06:13 2009 +0100

    more arithmetic on non-numbers
    
    * module/language/ecmascript/compile-ghil.scm (comp): Convert to number
      on unary +.
    
    * module/language/ecmascript/impl.scm: Define -, *, /, <, <=, >=, >
      operations on non-numbers.

commit 8c306808c25fb1f353dca2b1d6a1356193e72dea
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 22 10:51:49 2009 +0100

    + for strings, global js object, new Foo() works
    
    * module/language/ecmascript/array.scm (*array-prototype*): Declare the
      constructor.
    
    * module/language/ecmascript/base.scm (pput, pdel): Remove some needless
      checks.
      (new): Move definition of new here, and use the constructor.
    
    * module/language/ecmascript/compile-ghil.scm (compile-ghil): Add a stub
      so that when we load a compiled JS program, we make sure the runtime
      has been booted.
    
    * module/language/ecmascript/function.scm (js-constructor): Export a
      js-constructor method instead of a new method.
    
    * module/language/ecmascript/impl.scm (<js-global-object>): Define a new
      class for the global "this" object, wrapping bindings from the current
      module.
      (init-js-bindings!): Define the dozen or so global properties, in the
      current module.
      (+): Define addition operations for non-numbers. This is efficient
      because the generics are only dispatched if the fast-path fails.

commit aec8febc4621e87d9c3c1a10341ead00f784ff7f
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 21 20:07:57 2009 +0100

    compile ecmascript's parser. yay! instant load-time!
    
    * module/language/ghil/compile-glil.scm (codegen): If there are more than
      255 arguments, make a list and use apply instead of calling directly.
    
    * module/language/Makefile.am: Now we can compile parse.scm. Yay!
    
    * module/language/scheme/compile-ghil.scm: Add a note.
    
    * module/language/ecmascript/compile-ghil.scm: Add a note.

commit 594d9d4c482d91ccfbc474ec193baadde6ab11f7
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 21 19:25:35 2009 +0100

    be smarter about allocating local variables, reusing slots if possible
    
    * module/language/Makefile.am: OK, we can compile compile-ghil.scm now,
      thankfully.
    
    * module/language/ecmascript/compile-ghil.scm (ormatch): New macro, a
      wrapper around pmatch to avoid some of the more egregious
      non-tail recursiveness.
      (comp): Use ormatch.
    
    * module/language/ghil.scm (unparse-ghil): The body of bind and mv-bind
      is a single expression, not a list of expressions.
    
    * module/language/ghil/compile-glil.scm (codegen): Be more clever when
      allocating "local" variables -- if a variable goes out of scope, its
      index can be re-used later.
    
    * module/language/glil.scm (parse-glil, unparse-ghil): The "rest" of a
      mv-bind is a flag, not a list. The "ra" of an mv-call is a label, not a
      GLIL expression.
    
    * module/language/objcode/spec.scm (collapse-locals, decompile-value):
      When decompiling a value, process the bindings list differently.
      Comments in the code.
    
    * module/language/scheme/compile-ghil.scm (define-scheme-translator): Fix
      the generated error procedure.
      (let): Re-indent.
      (letrec): Re-indent.
    
    * module/system/base/syntax.scm (record-case): If the body of a clause is
      null, fill it with the unspecified value.

commit 81d677eb121834945bf0f9ebec28480e6e945cd0
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 21 14:04:53 2009 +0100

    implement break and continue, work around overly recursive pmatch expansion
    
    * libguile/vm-i-system.c (goto/args): On a tail call to a different
      procedure, init the locals to valid scheme values. Shouldn't matter for
      well-compiled scheme, but inspecting uninitialized locals could give
      garbage, or badly-compiled code could cause a crash.
    
    * module/language/Makefile.am (NOCOMP_SOURCES): For the moment, don't
      compile compile-ghil.scm. I need to fix this.
    
    * module/language/ecmascript/compile-ghil.scm (load-toplevel): Sigh, and
      disable stack checking in the evaluator too. Grr.
      (comp): Implement (unnamed) break and continue.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Fix var
      statements in `for' -- though it still doesn't work.

commit e9c5639d48fe95f8b0e5aed90d9cc3d30b93bae9
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 21 00:47:59 2009 +0100

    Fix `.go' compilation for $(builddir) != $(srcdir).
    
    * am/guilec (.scm.go): Use "-o $@" to make sure the output file ends up
      in $(builddir).

commit 73f4d8d1d21fce623fd3b13ba3ef56a4548fe2c7
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 21 00:36:29 2009 +0100

    Add `-o'/`--output' option to "guile-tools compile".
    
    * module/system/base/compile.scm (compile-file): Add optional
      OUTPUT-FILE argument.
    
    * scripts/compile (fail): New procedure.
      (%options): Add `-o'/`--output' option.
      (compile): Handle `-o'.

commit 3bef3ae42886d910c43655792ecd9cfdc73ba886
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 21 00:31:43 2009 +0100

    implement do, while, for
    
    * module/language/ecmascript/compile-ghil.scm (comp): Use ghil-bind when
      making temp vars, so that disassembly understands things. Implement do,
      while, and for.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Some tweaks.
    
    * module/language/ecmascript/impl.scm (language): Export ->boolean.

commit b358fe65021a40fa80238d8f426f810d150acb08
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 20 18:16:34 2009 +0100

    implement more operations
    
    * module/language/ecmascript/base.scm: Implement some more robust
      property getters that convert strings to symbols. Implement
      has-property?.
    
    * module/language/ecmascript/compile-ghil.scm (comp): Implement lots more
      mathematical operators. We now do all expressions; on to statements.
    
    * module/language/ecmascript/impl.scm: Define some math helpers. They
      probably need to call ->number on some things.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Fix a typo.

commit 45c10edb74fa3348238a81205408de5853521428
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 20 17:08:20 2009 +0100

    clean up ++ and -- a little bit
    
    * module/language/ecmascript/compile-ghil.scm (comp): Define let1 and
      begin1 helpers. Use them in pre- and post- increment and decrement.

commit a2879878187c348e07dfa8975a1b8f71afb50e57
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 20 16:15:50 2009 +0100

    implement ++, --, new, delete, void, typeof
    
    * module/language/ecmascript/compile-ghil.scm (@impl): Implement with
      @implv.
      (comp): Implement ++ and -- (pre- and post-). Quite a pain. I'll be
      looking for ways to simplify this notation. Also implement new, delete,
      and void.
    
    * module/language/ecmascript/impl.scm: Implement typeof.

commit 785fb107ef1df793182f59f00251f9f7e3959792
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 20 13:21:09 2009 +0100

    handle "this" in ecmascript
    
    * module/language/ecmascript/base.scm:
    * module/language/ecmascript/compile-ghil.scm:
    * module/language/ecmascript/impl.scm:
    * module/language/ecmascript/parse.scm: Compile "method calls" in such a
      way that "this" gets propagated correctly.

commit e80ce73d209892bae3bea80853d9e0e16cd82ed1
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 20 12:50:15 2009 +0100

    implement more of the standard runtime
    
    * module/language/Makefile.am:
    * module/language/ecmascript/impl.scm:
    * module/language/ecmascript/array.scm:
    * module/language/ecmascript/base.scm:
    * module/language/ecmascript/function.scm: Split out the runtime into
      different files. Implement more of the spec's runtime.

commit 8f4e84855e3d88b1dbe929683c5c4d9312986ed8
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 20 17:38:32 2009 +0100

    Fix interpretation of `(ice-9 getopt-long)'.
    
    * module/ice-9/getopt-long.scm (define-one-option-spec-field-accessor,
      define-one-option-spec-field-modifier): Eval-case for `load-toplevel'
      as well so that the interpreter can load this module.

commit d39b967642e09cd82e52da23833df349dcfd7803
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 20 17:12:47 2009 +0100

    Fix compilation of `(ice-9 getopt-long)'.
    
    * module/ice-9/getopt-long.scm (option-spec-fields): Enclose in a
      `(load-toplevel compile-toplevel)' `eval-case'.
      (define-one-option-spec-field-accessor,
      define-one-option-spec-field-modifier): Enclose in a
      `compile-toplevel'-only `eval-case'.

commit 6d77c6efa00e61355bdbab12f3d2ded53341b786
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 20 16:19:12 2009 +0100

    Add `-L'/`--load-path' option to "guile-tools compile".
    
    * scripts/compile (%options): Add `-L'/`--load-path'.
      (parse-args): Have `load-path' default to '().
      (compile): Handle `--load-path' option.

commit 2308dce1beb1d7338a2edbbc6c3458399a9f15df
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 20 16:11:49 2009 +0100

    Change "guile-tools compile" to use SRFI-37 to process options.
    
    * scripts/compile (%options): Rewrite in SRFI-37 style.
      (parse-args): New procedure.
      (compile): Update to SRFI-37.

commit 03d6cddc55873a633f0d4c1a0d1180f15a878140
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 20 14:23:55 2009 +0100

    Make the `module-defer-observers-mutex' recursive.
    
    * module/ice-9/boot-9.scm (module-defer-observers-mutex): Made
      recursive.  See
      http://lists.gnu.org/archive/html/guile-devel/2009-02/msg00068.html
      for an example where it matters.

commit cdad2166e73b91b8fce2c99d7c6878f65b349f99
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 17:25:52 2009 +0100

    support foo["bar"] in addition to foo.bar
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): And update the
      function declaration forms for the new var syntax.
    
    * module/language/ecmascript/compile-ghil.scm (comp): Support foo["bar"]
      in addition to foo.bar.
    
    * module/language/ecmascript/impl.scm (pget, pput): Some fixes for when
      we get non-symbols -- it can happen, yo. I suppose we should allow for
      non-string keys too..

commit b72880eb170ccec1177a6c93b1694014ee54a453
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 17:14:16 2009 +0100

    implement object literals
    
    * module/language/ecmascript/impl.scm:
    * module/language/ecmascript/compile-ghil.scm (comp): Object literals.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Fix some
      object literal parsing.

commit 984dce236bd742083f3f284c9fe7b93c2df9f908
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 16:59:21 2009 +0100

    var at toplevel works too
    
    * module/language/ecmascript/compile-ghil.scm (comp): Fix the var form at
      toplevel.

commit 7fb4230060462f5169706b42abdc6c48cd6049da
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 16:40:22 2009 +0100

    property gets and puts implemented, yays
    
    * module/language/ecmascript/compile-ghil.scm (@impl): Ok, don't recurse
      on args here.
      (comp): Implement property gets and puts and lexical assignment.
      (comp-body): Fix scanning of var forms.
    
    * module/language/ecmascript/impl.scm (prop-attrs): Allow for the prop
      attr array to be #f.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Fix assignment
      parsing.

commit 10e1bd278fca5d65fba7fc977a14e4a37a572cc7
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 16:09:00 2009 +0100

    add array support
    
    * module/language/ecmascript/compile-ghil.scm (@impl): Whoops, fix this
      macro.
      (comp): Handle array literals.
    
    * module/language/ecmascript/impl.scm: Add support for arrays.

commit 131f7d6c71d0a0fe4f60b49a39efcd4f8ace6b0c
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 19 13:55:55 2009 +0100

    further ecmascript work
    
    * libguile/vm-i-system.c (drop, return): Declare drop and return as
      popping one arg from the stack.
    
    * module/language/ghil/compile-glil.scm:
    * module/language/glil/compile-assembly.scm (make-meta): Adjust so that
      we declare 'drop and 'return calls as popping one arg from the stack.
    
    * module/language/ecmascript/compile-ghil.scm (comp, comp-body): Flesh
      out a bit more. Most significantly, scoping within functions obeys
      javascript semantics better, modulo bits about with() forms.
    
    * module/language/ecmascript/impl.scm: Define some runtime helper
      routines.
    * module/language/Makefile.am (SOURCES): Add impl.scm.
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Minor tweaks.
    
    * module/language/ecmascript/tokenize.scm (read-identifier): Identifiers
      now read as symbols, not strings.

commit 8fa6886d7af7c012c4cd17f793e5038931ffb4a0
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 18 01:17:14 2009 +0100

    add more ecmascript compilation -- functions work now
    
    * module/language/ecmascript/parse.scm (parse-ecmascript): Lambdas always
      just have one member in their bodies.
    
    * module/language/ecmascript/compile-ghil.scm (comp): Add some more silly
      compilers.

commit b912a1cd6b5d22e1fd3eadca10858d8d0dd9c027
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 18 00:54:05 2009 +0100

    Add `load-unsigned-integer' instruction.
    
    * libguile/vm-i-loader.c (load_unsigned_integer): New loader.
    
    * module/language/assembly.scm (byte-length): Handle
      `load-unsigned-integer'.
    
    * module/language/assembly/compile-bytecode.scm (write-bytecode):
      Likewise.
    
    * module/language/glil/compile-assembly.scm (dump-object): Emit a
      `load-unsigned-integer' instruction for positive integers.  This fixes
      loading of integers greater than 2^31 - 1.
    
    * testsuite/Makefile.am (vm_test_files): Add `t-literal-integers.scm'.
    
    * doc/ref/vm.texi (Loading Instructions): Add `load-unsigned-integer'.

commit 4e29767187774d44a899a82c3d2a7d509ed9e5b9
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 18 00:49:21 2009 +0100

    world's stupidest ecmascript compiler
    
    * module/language/ecmascript/spec.scm: Add language spec for ecmascript.
    
    * module/language/ecmascript/compile-ghil.scm: Add a stupid compiler.
    
    * module/language/Makefile.am: Buildage.

commit 5dcd3e48011f4f25033624804454b7a29150cfe2
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 18 00:07:51 2009 +0100

    add ecmascript parser
    
    * module/language/ecmascript/parse-lalr.scm: Add the Boucher/Bison lalr
      parser. This is from guile-lib, but with : changed to -> so as not to
      molest `prefix' keywords. Should probably be elsewhere.
    
    * module/language/ecmascript/parse.scm: Add parser for ECMAScript. Rules
      from the spec, 3rd edition.
    
    * module/language/ecmascript/tokenize.scm: Add ECMAScript tokenizer,
      hand-written. Neat stuff.
    
    * module/language/Makefile.am: Autofoo.

commit 3928db008798f42b44bb56a7a3a987efea3ef671
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 23:09:10 2009 +0100

    lengths written out in native endianness
    
    * module/language/assembly/compile-bytecode.scm (write-bytecode): Write
      out the lengths that are mapped to struct scm_objcode using native
      endianness.

commit 9082ff2d9012aa207f0d3cb62712c6402323f5cb
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 17 15:57:51 2009 +0100

    avoid deprecated functions in SCM_VALIDATE_VECTOR_LEN
    
    * libguile/validate.h (SCM_VALIDATE_VECTOR_LEN): Don't use deprecated
      functions.

commit 113e7c253a5a795e33825c9085f6c36745afb702
Author: Ludovic Courtès <address@hidden>
Date:   Tue Feb 17 00:11:20 2009 +0100

    Add tests for the stack inspection API.
    
    * test-suite/tests/eval.test (stack->frames): New procedure.
      ("stacks"): New test prefix.

commit 510d7877ff1b735725d9c2d787dc1b215aed47b7
Author: Ludovic Courtès <address@hidden>
Date:   Tue Feb 17 00:07:57 2009 +0100

    Add new GOOPS tests for built-in types.
    
    * test-suite/tests/goops.test ("classes for built-in types"): New test
      prefix.

commit e47096d965f0a39fef191e24f9b692c26e1e68d6
Author: Ludovic Courtès <address@hidden>
Date:   Mon Feb 16 00:35:34 2009 +0100

    Add test for `procedure-properties'.
    
    * test-suite/Makefile.am (SCM_TESTS): Add `tests/procprop.test'.

commit 1005628ab59e3761fb3216f147cf4eec65adc3a0
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 22:54:19 2009 +0100

    better alignment
    
    * module/language/assembly.scm (align-program): Whoops, align programs
      properly.
    
    * module/language/glil/compile-assembly.scm (compile-assembly): Start
      with addr=-1, for the unserialized load-program byte.
      (glil->assembly): Align programs in all cases.

commit b96dac4d0ed1cea031b84966c2563c768180fd74
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 14 22:17:47 2009 +0100

    Change `compiled-file-name' to preserve the input file's directory.
    
    * module/system/base/compile.scm (compiled-file-name): Prepend "(dirname
      file)" so that "guile-tools compile foo/bar.scm" produces
      "foo/bar.go", not "bar.go".

commit 2cf1705c72212808532ba25cde19f30ce84118a2
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 19:50:44 2009 +0100

    align programs on 8-byte boundaries
    
    * module/language/assembly.scm (addr+): New helper.
      (align-program): New function, aligns a (load-program) form, currently
      to 8-byte boundaries.
    
    * module/language/glil/compile-assembly.scm (<subprogram>): Record the
      object table and the program code separately, so that we can align the
      program after the object table has been written.
      (glil->assembly): Use addr+.
      (dump-object): Rework to fold `addr' through dumping of compound
      objects, so that procedures can be aligned properly.

commit 194566b0ec93ae8953dcea06a62fdcb99c7e43dd
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 18:57:30 2009 +0100

    re-enable assembly packing
    
    * module/language/glil/compile-assembly.scm (glil->assembly): Enable
      assembly packing, for e.g. (make-int8:0).

commit 81600208f40bcc3f1a18006fe1f14c6ed22f41ba
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 00:47:56 2009 +0100

    a slight add-method speedup
    
    * module/oop/goops.scm (add-method-in-classes!): Use memq instead of
      memv.

commit abd6af11cd1ab62c2f337dcd23a9d9c37b9d169e
Author: Andy Wingo <address@hidden>
Date:   Sat Feb 14 00:24:32 2009 +0100

    generate the fixed-offset accessors at compile-time
    
    * module/language/scheme/compile-ghil.scm (define-scheme-translator):
      Only add an else clause if the transformer didn't have one.
    
    * module/oop/goops.scm (min-fixnum, max-fixnum): Define at compile-time
      as well.
      (@slot-ref, @slot-set!): Only define transformers for these at
      compile-time. Avoids loading up the compiler unnecessarily. Also, allow
      for the `n' to be determined lexically, in which case we dispatch to
      the primitive.
      (num-standard-pre-cache, define-standard-accessor-method)
      (bound-check-get, standard-get, standard-set): Rework the fixed-offset
      getters and setters so that they can be computed at compile-time.
      Accessors to fields with n > num-standard-pre-cache will be dispatched
      to the primitive instead of within the VM.

commit e177058bc4599c68308e6d7fcfbd3f2a0e695f84
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 13 23:30:20 2009 +0100

    don't re-enter the compiler during method dispatch
    
    * libguile/goops.c (scm_make): In the pre-inst `make', default
      `procedure' to #f, and read a `make-procedure' instead of
      `compile-env'.
    
    * libguile/goops.h (scm_si_make_procedure): This instead of
      scm_si_compile_env.
    
    * module/oop/goops.scm (make-method): Remove this unused function. Users
      should use (make <method> ...) directly.
      (method): Capture `make-procedure' instead of `procedure' in the case
      that the body calls a next-method. Allows for the kind of
      "recompilation" that we were using before, but with closures instead of
      re-entering the compiler. Type-specific compilation is still
      interesting, but probably should be implemented in another way.
      (initialize): Default #:procedure to #f, and
      s/compile-env/make-procedure/.
    
    * module/oop/goops/compile.scm (code-table-lookup): Just return the
      cmethod, not the entry -- since the entry is now just (append types
      cmethod).
      (compile-make-procedure): New procedure, returns a form that, when
      evaluated/compiled, will yield a procedure of one argument, the
      next-method. When called with a next-method, the procedure returns an
      actual method implementation. compile-make-procedure returns #f if the
      body doesn't call next-method.
      (compile-method): Unify to always return procedures. Much cleaner and
      *much* faster in the compiled case. In the interpreted case, there
      might be a slight slowdown, but if there is one it should be slight.
    
    * module/oop/goops/dispatch.scm (method-cache-install!): Adapt to removal
      of compute-entry-with-cmethod.

commit 5a0df7be5ff3b0e4ec558cf3428b08d5086e3f77
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 13 21:48:56 2009 +0100

    flush output when writing .go files
    
    * module/system/base/compile.scm (call-with-output-file/atomic): Close
      the port we are writing to before renaming it, so that we flush output.
      Might fix some 0-length write errors that Jao was seeing.

commit 34898db352d020fcf5d9a37abafe2f160b57039f
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 13 00:16:44 2009 +0100

    inline record predicates into record-case
    
    * module/system/base/syntax.scm (record-case): Inline record predicates
      into the record-case. Shaves off a few more milliseconds from a GOOPS
      load.

commit d9d671f76e0a77dfc643e487fa8d7db6be139366
Author: Andy Wingo <address@hidden>
Date:   Fri Feb 13 00:01:47 2009 +0100

    no keyword arguments in GHIL / GLIL, just optional args -- faster compiles
    
    * module/system/base/syntax.scm (define-record): So, in the generated
      constructors, allow optional arguments, but not keyword arguments.
      Conses much less in the constructors.
      (define-record/keywords): And the old define-record is here.
    
    * module/language/ghil.scm (parse-ghil):
    * module/language/ghil/compile-glil.scm (codegen):
    * module/language/scheme/compile-ghil.scm (translate-1, quote)
      (quasiquote): Don't use keywords in this compiler hotpath.
    
    * module/system/base/language.scm (<language>):
    * module/system/repl/common.scm (<repl>):
    * module/system/vm/debug.scm (<debugger>): Use define-record/keywords.

commit fe11efeebaa2ebb7bf0fe8bc46a29c152ead2509
Author: Ludovic Courtès <address@hidden>
Date:   Thu Feb 12 00:11:59 2009 +0100

    Update `NEWS'.

commit e092357058850a6f998bf462bdc5504c6379c96f
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 11 23:01:34 2009 +0100

    Small cleanup relative to the use of double cells for subrs.
    
    * libguile/procs.c (scm_c_make_subr): Remove comments about the number
      of subrs, improve formatting.

commit ac51e74b9533cc3df8fe9656b97a6385a6e71b80
Author: Ludovic Courtès <address@hidden>
Date:   Thu Feb 12 00:02:11 2009 +0100

    Use double-cells to store subrs.
    
    * libguile/procs.c (scm_subr_table, scm_subr_table_size,
      scm_subr_table_room, subr_table_gc_hint, scm_init_subr_table,
      scm_mark_subr_table): Remove.
      (scm_c_make_subr): Simply return a double-cell, with the procedure
      name and properties stored in a two-element array.
      (scm_free_subr_entry): Free the meta-info slot.
    
    * libguile/init.c (scm_i_init_guile): Remove call to
      `scm_init_subr_table ()'.
    
    * libguile/procs.h (SCM_SUBR_META_INFO): New macro.
      (SCM_SNAME, SCM_SUBR_PROPS): Use it.
      (SCM_SUBR_GENERIC, SCM_SET_SUBR_GENERIC, SCM_SET_SUBR_GENERIC_LOC):
      Update.
      (scm_t_subr_entry, SCM_SUBR_ENTRY, SCM_SUBRNUM, scm_subr_table,
      scm_mark_subr_table, scm_init_subr_table): Remove.

commit feccd2d3100fd2964d4c2df58ab3da7ce4949a66
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 20 23:29:09 2009 +0100

    Add `SCM_SET_SUBR_GENERIC ()' to replace `SCM_SUBR_GENERIC ()' as an lvalue.
    
    * libguile/goops.c (scm_c_extend_primitive_generic): Use
      `SCM_SET_SUBR_GENERIC ()' instead of using `SCM_SUBR_GENERIC ()' as an
      lvalue.
    
    * libguile/procs.c (scm_c_make_subr_with_generic): Use 
`SCM_SET_SUBR_GENERIC_LOC ()'.
    
    * libguile/procs.h (SCM_SET_SUBR_GENERIC, SCM_SET_SUBR_GENERIC_LOC): New 
macros.

commit cce8b2ce93703aff953750fb40cb53176ea66504
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jan 20 21:24:41 2009 +0100

    Use `SCM_SNAME ()' when requesting the name of a subr.
    
    * libguile/gsubr.c (create_gsubr, create_gsubr_with_generic):
      Use `SCM_SNAME ()' instead of `SCM_SUBR_ENTRY (subr).name'.
    
    * libguile/procs.c (scm_c_define_subr_with_generic, scm_makcclo):
      Likewise.
      (scm_c_make_subr_with_generic): Same with `SCM_SUBR_GENERIC ()'.

commit df8cd091f9ffd31a7f77337d2e804d6801ca61ee
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 11 23:04:37 2009 +0100

    provide program apply_0, apply_1, apply_2 implementations
    
    * libguile/programs.c (program_apply_0, program_apply_1)
      (program_apply_2, scm_bootstrap_programs): Provides some cons-less
      smob application procedures. This molests some internal interfaces, but
      hey, we're internal.

commit e14679bd52ce8b6ea700845cc5c8139725bcec1a
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 11 22:08:04 2009 +0100

    speed up record-case
    
    * module/language/ghil.scm: Whoops, export some unquote-splicing
      accessors that we didn't have exported before.
    
    * module/system/base/syntax.scm: Speed up record-case, by syntactically
      determining the predicates and accessors. Nasty, in a way; but also
      much faster.

commit 8899057d65da670da74c90ae44e3ce78ec695ddd
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 10 13:18:36 2009 +0100

    match bare literals with eq? in pmatch, not equal?
    
    * module/system/base/pmatch.scm (ppat): Match atoms with eq?, not equal?.
      This speeds up compilation considerably, as we never match against
      numbers or strings or what-have-you. Note, you can match against
      literals with equal? via quoting the literal in the pattern.

commit 028e3d06665d4eb50b5d0f0d0101acc039c2ae68
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 10 11:53:23 2009 +0100

    propagate much more source info through compilation
    
    * module/language/ghil/compile-glil.scm (codegen): Record source location
      for offset 0 into a lambda, if we can.
    
    * module/language/scheme/compile-ghil.scm (translate-1)
      (define-scheme-translator): In the retrans procedures, propagate the
      location information from the enclosing expression if the subexpression
      has no location information. Gives source information to many more
      expressions.
      (location): Just propagate the source properties as they are, the
      glil->assembly compiler will interpret them.
    
    * module/language/glil.scm (<glil>): Change glil-source to take "props"
      and not "loc", as it's the source properties that we're interested in.
    
    * module/language/glil/compile-assembly.scm (limn-sources): New function,
      takes a list of addr-source property pairs and "compresses" them for
      serialization to disk.
      (glil->assembly): Limn the sources before writing them to disk. Avoid
      non-tail recursion when determining total byte length of code.
    
    * module/system/vm/program.scm (source:file, source:line, source:column):
      Update for new source representation.
      (program-source): Export.
      (write-program): Nicer pretty-printing of anonymous procedures.
    
    * libguile/backtrace.c (display_backtrace_get_file_line): Update for the
      new VM source representation.
    
    * libguile/programs.h:
    * libguile/programs.c (scm_program_sources): Update for the new
      serialized source representation, where the filename is not in the
      stream unless it changes.
      (scm_program_source): New exported function, looks up the source for a
      given ip offset.
      (scm_c_program_source): Update to return the last source information
      that was <= the given IP, because we only serialize source info when it
      changes.

commit 4c9e29ec38350a5206aa3e8e72ad4376512ada2b
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 9 21:51:31 2009 +0000

    Clean lib-version.texi
    
    * doc/ref/Makefile.am (CLEANFILES): Add lib-version.texi.

commit dae318a63140ac7b1f396440bc341fea901be9b9
Author: Andy Wingo <address@hidden>
Date:   Mon Feb 9 12:02:04 2009 +0100

    nicety in the compiler
    
    * module/language/scheme/compile-ghil.scm (lookup-transformer): Use @@.
      Delightfully metacircular.

commit 277f728b14c96108b4ef6fb6085a38cc31bb61e5
Author: Andy Wingo <address@hidden>
Date:   Mon Feb 9 11:50:58 2009 +0100

    allow defmacros to unquote in macros into expanded expressions
    
    * module/language/scheme/compile-ghil.scm (lookup-transformer): Allow
      macros to be unquoted into the car of any form that results from macro
      expansion. This lets modules export defmacros built on other defmacros
      that are not exported.

commit 989228796043917ad4d445049dc10948ae75853d
Author: Andy Wingo <address@hidden>
Date:   Mon Feb 9 11:42:27 2009 +0100

    minor cleanups
    
    * libguile/stacks.c (scm_make_stack): Instead of aborting when we misread
      the number of stack frames, just print a warning. I'd like to figure
      out what these cases are, exactly.
    
    * module/language/scheme/compile-ghil.scm (lambda): Reindent the lambda
      transformer.
    
    * module/system/base/compile.scm (call-with-compile-error-catch): Write
      the expression instead of displaying it.
      (call-with-output-file/atomic): Don't actually redirect output to this
      port, as it's not necessary -- the language-printer should respect the
      port that we pass.

commit ad5f5ada1d50ecdab634d60ffe3a13b9193156aa
Author: Neil Jerram <address@hidden>
Date:   Thu Feb 5 22:11:26 2009 +0000

    Allow @ to work with (ice-9 syncase)
    
    (Reported by Panicz Maciej Godek.)
    
    * test-suite/tests/syncase.test ("@ works with syncase"): New test.
    
    * ice-9/syncase.scm (guile-macro): When a Guile macro transformer
      produces a variable, don't pass it through sc-expand.

commit 95a040cd2be7ad03bf197edbdb1fec2c52749ef6
Author: Neil Jerram <address@hidden>
Date:   Thu Feb 5 22:03:53 2009 +0000

    Fix build when compiled with -Wundef -Werror
    
    (Reported by David Fang)
    
    * libguile/inline.h: Check if __APPLE_CC__ is defined before testing
      its value.

commit 2f9769b60cec324e6d1cb13d8f5690342ac20152
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 18:13:27 2009 +0100

    fix the ping-pong between evaluator and vm stacks in make-stack
    
    * libguile/frames.c (vm_frame_print): Add a frame printer.
    
    * libguile/stacks.c (stack_depth, read_frames): Only switch the VM stack
      for boot program dframes.
    
    * libguile/vm-engine.c (VM_NAME): Push one debug frame per invocation,
      unconditionally. (If we push them at all, of course.)

commit 3b9e095b44a618b9e5781adfaa287e14b0f44d03
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 13:44:06 2009 +0100

    fix boot program detection, which in turn makes `make-stack' actually work
    
    * libguile/programs.h (SCM_F_PROGRAM_IS_BOOT, SCM_PROGRAM_IS_BOOT): Flags
      for determining if a program is a boot program. It turns out that our
      heuristics e.g. in stacks.c would catch non-boot programs, like
      programs that end with (goto/args 1), because the 1 is the same byte as
      `halt'. That took a while to find...
    
    * libguile/stacks.c (stack_depth, read_frames): Use the new boot prog
      macros.
      (scm_make_stack): Assert that we read the number of frames that we said
      we would.
    
    * libguile/vm.c (really_make_boot_program): Mark boot programs
      appropriately.

commit e06e857c8dc1f9f8c25bc4d3e40ce5bf351753d5
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 12:28:19 2009 +0100

    in debug mode, make sure that calls to the vm can be captured via make-stack
    
    * libguile/vm-engine.c (VM_PUSH_DEBUG_FRAMES): New knob, if true we much
      with the scm_i_last_debug_frame when entering the VM, because sometimes
      the evaluator doesn't do it for us.
      (VM_ENGINE): Plug through debug frame fondling. Now, program exit comes
      back to the main text. Rename err_args to finish_args, and reuse for
      the return value.
    
    * libguile/vm-engine.h (PUSH_LIST):
    * libguile/vm-i-loader.c:
    * libguile/vm-i-scheme.c:
    * libguile/vm-i-system.c: Update for finish_args.
      (halt): goto vm_done, now, instead of returning directly.

commit 4abef68f61f3ff4e674734a4aae18514dd96f221
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 00:51:34 2009 +0100

    scm_call_N doesn't cons for calling programs
    
    * libguile/eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3)
      (scm_call_4): Special-case compiled procedures here, to avoid consing.
    
    * libguile/vm.h:
    * libguile/vm.c (scm_c_vm_run): Take a SCM after all.
      (scm_vm_apply, scm_load_compiled_with_vm): Adapt to vm_run change.

commit af35fc20a61f175f38b6d7d045c90ca924d82605
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 00:31:38 2009 +0100

    use append-map in goops
    
    * module/oop/goops.scm (ensure-metaclass, make-extended-generic): Some
      minor optimizations to use append-map.

commit 7edf2001274262ec7362c1dc96480aff8e176585
Author: Andy Wingo <address@hidden>
Date:   Thu Feb 5 00:20:51 2009 +0100

    inline call to scm_make_program when making closures
    
    * libguile/programs.c (scm_make_program): Add a comment.
    
    * libguile/vm-engine.h (INIT_ARGS): Add a couple of UNLIKELY notes.
    
    * libguile/vm-i-system.c (make-closure): Inline the call to
      scm_make_program, which avoids some redundant checks.

commit 6d14383e866f447a0d2656fd319ba68a5737202c
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 4 23:47:56 2009 +0100

    enable multiple vm engines (regular, debug, ...)
    
    * libguile/vm-engine.c (VM_USE_HOOKS, VM_USE_CLOCK, VM_CHECK_EXTERNAL)
      (VM_CHECK_OBJECT): Update to define these here, before including
      vm-engine.h.
      (vm_run): Change so that we can make different engines. Also, we take
      an array of arguments, and the struct scm_vm directly, so as to avoid
      any need to cons.
    
    * libguile/vm-engine.h (CHECK_EXTERNAL, CHECK_OBJECT): Add some UNLIKELY
      bits; don't seem to help.
    
    * libguile/vm.c (vm_dispatch_hook): Change to not pass the VP. This needs
      some love, and perhaps we revert to the old way.
      (VM_ENGINE): Actually make two engines, vm_regular_engine and
      vm_debug_engine. Probably there is room for improvement here. Actually
      their speeds are the same at the moment.
      (make_vm): Choose which engine to run; currently the debug engine by
      default.
      (scm_c_vm_run): A thin wrapper to invoke a VM without consing.
      (scm_vm_apply): Use scm_c_vm_run.
      (scm_load_compiled_with_vm): Use scm_c_vm_run.

commit bef959110427b00bd07b0ac35b1baa2db2bc4828
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 4 00:49:55 2009 +0100

    "optimize" dispatch to specific GF's in goops
    
    * libguile/goops.c: Some micro-optimizations so that calling generic
      functions as part of the protocol doesn't cons.

commit 747a163532590459f2d2f83a405fd604d382c5ce
Author: Andy Wingo <address@hidden>
Date:   Wed Feb 4 00:09:38 2009 +0100

    make catch cache and restore vm regs, not the vm itself -- speedy speedy
    
    * libguile/throw.c (scm_c_catch): Stash away the current vm's regs, and
      restore them if there's a nonlocal exit. There is a terrible case we
      have to handle if we catch from when the vm smob type isn't registered
      but the throw has the vm registered, but I think we handle this fine.
    
    * libguile/vm-engine.c (vm_run):
    * libguile/vm-i-system.c (halt): Don't make a dynwind context, so that
      entering the VM doesn't cons at all, except for the arg list. Maybe we
      can fix that bit too.
    
    * libguile/vm.c (vm_reset_stack): Remove, as there is no more dynwind.
      (make_vm): Return #f if the tc16 hasn't yet been registered.

commit f775e51bceb7399893b01380c5b56a7b665b782a
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 3 22:36:02 2009 +0100

    make symbol -> opcode lookup faster
    
    * libguile/instructions.c (fetch_instruction_table)
      (scm_lookup_instruction_by_name): Rework so we lazily load instructions
      into an array keyed by opcode, and a hash table keyed by symbolic name.
      Much faster, in this hot spot of compilation.
    
    * libguile/vm-engine.c (vm_run): Use malloc instead of scm_gc_malloc,
      given that we aren't ever going to free this thing.
    
    * libguile/vm-expand.h (VM_DEFINE_FUNCTION, VM_DEFINE_LOADER): Rework to
      always be aliases to VM_DEFINE_INSTRUCTION.
      (VM_DEFINE_INSTRUCTION): In the table case, update to work with
      fetch_instruction_table().

commit ef7e18683c06a3a1524787becd29b8c11dbc5674
Author: Andy Wingo <address@hidden>
Date:   Tue Feb 3 21:13:01 2009 +0100

    inline dispatch to program cmethods, tick in return, remove old goops 
methods
    
    * libguile/objects.c (scm_apply_generic): Inline the case when the
      generic is a program.
    
    * libguile/vm-i-system.c (return): Tick when functions return.
    
    * module/oop/goops.scm (object-eqv?, object-equal?): Remove these
      historical methods.

commit 6290d3f10927f887102a164ccb1a7291cc62288d
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 20:21:44 2009 +0100

    GOOPS: Statically allocate the PORT class array.
    
    * libguile/goops.c (scm_port_class): Statically allocate it.
      (create_port_classes): Don't use `scm_calloc ()'.
    
    * libguile/goops.h (scm_port_class): Update declaration.
    
    * libguile/ports.c (scm_make_port_type): When checking whether
      GOOPS is initialized, check whether the first element of
      SCM_PORT_CLASS is non-zero.

commit 5bb2d903b9e54fdd5858a16ba11fa91a9dc0c692
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 18:47:20 2009 +0100

    Publish the maximum number of port types as `SCM_I_MAX_PORT_TYPE_COUNT'.
    
    * libguile/goops.c (create_port_classes): Use
      `SCM_I_MAX_PORT_TYPE_COUNT' instead of a hard-wired 256.
    
    * libguile/objects.h (SCM_OUT_PCLASS_INDEX, SCM_INOUT_PCLASS_INDEX):
      Likewise.
    
    * libguile/ports.c (scm_make_port_type): Likewise.
    
    * libguile/ports.h (SCM_I_MAX_PORT_TYPE_COUNT): New macro.

commit 04795a1cb259c20896fb2edb50c58086027281b0
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 16:53:01 2009 +0100

    GOOPS: Statically allocate the SMOB class array.
    
    * libguile/goops.c (scm_smob_class): Statically allocate it.
      (create_smob_classes): Don't malloc(3) `scm_smob_class'.
    
    * libguile/goops.h (scm_smob_class): Update declaration.
    
    * libguile/smob.c (scm_make_smob_type, scm_set_smob_apply): When
      checking whether GOOPS is initialized, check whether the first element
      of SCM_SMOB_CLASS is non-zero.

commit 202271f291971cf14175f5a1a193955f72d43d79
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 16:42:17 2009 +0100

    Publish the maximum number of SMOB types as `SCM_I_MAX_SMOB_TYPE_COUNT'.
    
    * libguile/goops.c (create_smob_classes): Refer to
      `SCM_I_MAX_SMOB_TYPE_COUNT' rather than 255 (which is wrong) or 256.
    
    * libguile/smob.c (MAX_SMOB_COUNT): Alias for `SCM_I_MAX_SMOB_TYPE_COUNT'.
    
    * libguile/smob.h (SCM_I_MAX_SMOB_TYPE_COUNT): New macro.

commit e94ecc68c285426544c195dc6d388e3ff0c87dd4
Author: Andy Wingo <address@hidden>
Date:   Mon Feb 2 23:36:14 2009 +0100

    Name anonymous let- or letrec-bound procedures
    
    * module/language/scheme/compile-ghil.scm (let, letrec): Give names to
      procedures of the form (let ((foo (lambda ....)))).

commit e311f5fa04a45e1ddc4dea4d37911c98c692848f
Author: Andy Wingo <address@hidden>
Date:   Mon Feb 2 23:00:36 2009 +0100

    tick in calls, procedure-name works on compiled procedures
    
    * module/system/vm/program.scm:
    * libguile/programs.h:
    * libguile/programs.c (scm_program_bindings, scm_program_bindings)
      (scm_program_properties, scm_program_name): Unfortunately, implement
      more procs in C, so that C can use them more easily.
    
    * libguile/debug.c (scm_procedure_name): Dispatch to scm_program_name as
      appropriate.
    
    * libguile/vm-i-system.c (call): Tick in a call.

commit c010924a71f942100dc7b4021d5ef1c6decf9c85
Author: Julian Graham <address@hidden(none)>
Date:   Tue Jan 20 10:25:04 2009 -0500

    Update SRFI-11 docs to use correct name for let*-values.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit 8403b9f59bcd10d1b69a1f14e3175c9cf8a786db
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 11:32:07 2009 +0100

    fix the disassembler for load-string, load-symbol et al
    
    * module/language/assembly/decompile-bytecode.scm (decode-bytecode): Fix
      decoding of lengths in loader instructions.

commit 89bbf355960302175bffb14790adedf0eebb672f
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 11:29:43 2009 +0100

    no disasm in measure.scm
    
    * benchmark/measure.scm: Don't use (system vm disasm).

commit 5338b62b86f0158176ace6f0f96bc5796f6f17cd
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 11:25:51 2009 +0100

    don't make intermediate garbage when making vectors in the vm
    
    * libguile/vm-i-system.c (vector): Don't cons up a list just to make a
      vector. Saves a couple percent in total cell allocation when loading
      syncase. Probably not worth it, but foo!

commit ac47d5f6399c54bcb39a01bb0ade83a614d625b4
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 10:50:45 2009 +0100

    avoid 8 words of allocation per lambda, whoooo
    
    * libguile/objcodes.c (scm_bytecode_to_objcode): Check that the length of
      the vector matches the length embedded in the bytecode.
    
    * libguile/programs.c (scm_program_meta): Call through to
      scm_objcode_meta, instead of looking in the object table. Avoids
      consing up a program+objcode slice for the meta until the meta is
      actually called.
    
    * libguile/vm-i-loader.c (load-program): Step past the metadata too.
    
    * module/language/glil/compile-assembly.scm (make-meta): Just return the
      load-program form, or #f.
      (assoc-ref-or-acons, object-index-and-alist, make-object-table): Don't
      write the meta into the object table.
      (glil->assembly): Instead write the meta into the load-program form.

commit 1f1ec13b5c459717b22030565e591f1f713ee39d
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 10:15:00 2009 +0100

    add code for writing out metadata to the end of a program
    
    * libguile/objcodes.c (make_objcode_by_mmap, scm_c_make_objcode_slice):
      Verify the lengths with the meta-length.
      (scm_objcode_meta): New procedure, for getting at the meta-info of an
      objcode.
      (scm_objcode_to_bytecode):
      (scm_write_objcode): Write bytecode with the metadata too.
    
    * module/system/vm/objcode.scm: Export object-meta.
    
    * module/language/assembly.scm (byte-length):
    * module/language/assembly/compile-bytecode.scm (write-bytecode):
    * module/language/assembly/decompile-bytecode.scm (decode-load-program):
    * module/language/assembly/disassemble.scm (disassemble-load-program):
    * module/language/glil/compile-assembly.scm (glil->assembly):
    * test-suite/tests/asm-to-bytecode.test ("compiler"): Change to
      load-program format to have meta-or-#f instead of meta-length, so that
      we can serialize the meta as objcode without a load-program byte. Add a
      test for writing out the meta.

commit 9aeaabdc4571b5a2319c88e02904bd8996d5ac01
Author: Andy Wingo <address@hidden>
Date:   Sun Feb 1 09:19:24 2009 +0100

    add metalen field to bytecode serialization
    
    * libguile/objcodes.h (struct scm_objcode): Add a new field, metalen, in
      preparation for embedding metadata within a program.
      (SCM_OBJCODE_META_LEN, SCM_OBJCODE_TOTAL_LEN): New defines.
    
    * libguile/vm.c (really_make_boot_program):
    * module/language/assembly.scm (*program-header-len*, byte-length):
    * module/language/assembly/compile-bytecode.scm (write-bytecode):
    * module/language/assembly/decompile-bytecode.scm (decode-load-program):
    * module/language/assembly/disassemble.scm (disassemble-load-program):
    * module/language/glil/compile-assembly.scm (glil->assembly):
    * test-suite/tests/asm-to-bytecode.test ("compiler"): Update for metalen
      addition.

commit d2d7acd5c11c6573dad62b0a77ace7bb6603e425
Author: Andy Wingo <address@hidden>
Date:   Sat Jan 31 21:54:59 2009 +0100

    cache 8 boot programs
    
    * libguile/vm.c (vm_make_boot_program): Cache boot programs for nargs <
      8.

commit 9bb8012dd63869682edf2af5f708430646eabef5
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 14:36:49 2009 +0100

    remove conv.scm, disasm.scm; objcode->bytecode rename
    
    * module/system/vm/Makefile.am:
    * module/system/vm/conv.scm:
    * module/system/vm/disasm.scm: Remove these modules, as their
      functionality is now in (language ...).
    
    * libguile/objcodes.h:
    * libguile/objcodes.c:
    * module/system/vm/objcode.scm: Rename objcode->u8vector to
      objcode->bytecode.
    
    * module/system/vm/frame.scm:
    * module/language/bytecode/spec.scm: Fix for objcode->bytecode.
    
    * scripts/disassemble:
    * testsuite/run-vm-tests.scm: Fix for (system vm disasm) removal.
    
    * module/system/repl/command.scm: Use the right disassembler.

commit d7236899f5752fab1ad1e8d3e5b51cfe18abe5c7
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 14:12:57 2009 +0100

    add disassembler that fits in with old compiler tower
    
    * module/language/assembly/Makefile.am:
    * module/language/assembly/disassemble.scm: Add a disassembler, based on
      the old one but fitting in with the decompiler tower.
    
    * module/language/objcode/spec.scm (decompile-value): When decompiling
      programs, shove all the metadata that we know about into the "env".
    
    * module/system/base/compile.scm (decompile-fold, decompile): Return the
      env from `decompile' as a second value. Not sure if `compile' should do
      this too.

commit 7b107cceb9adcc966b639fd2c217f4708b53a2aa
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 12:50:22 2009 +0100

    add decompilers that can take us back to assembly
    
    * module/language/assembly/Makefile.am:
    * module/language/assembly/spec.scm:
    * module/language/assembly/decompile-bytecode.scm: Add a bytecode
      decompiler. Neat!
    
    * module/language/bytecode/spec.scm (decompile-objcode):
    * module/language/objcode/spec.scm (decompile-value): Add some
      "decompilers" here too.
    
    * module/system/base/compile.scm (current-language): Since we can refer
      to languages by name, do so here -- removes the previous
      anti-circularity hack.
      (compile-file, compile): Refer to target languages by name.
      (decompile): New public function. Neat!
    
    * module/system/base/language.scm (lookup-decompilation-order): Fix so we
      look for decompilers with the high-level language definition.

commit 5d6fb8bbeb5a6ab423062da3744ca215b0310dc2
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 11:41:02 2009 +0100

    allow specification of languages by name; add decompilers to languages
    
    * module/system/base/language.scm (lookup-decompilation-order): New
      function, like its compiling cousin, but backwards.
      (compute-translation-order): Rework so that languages can be specified
      either by name or by identity. Return a list of language - procedure
      pairs, without the "to" language in the list, instead of a list of
      languages.
      (invalidate-compilation-cache!): Invalidate the decompilation cache
      too.
      (<language>): Add a decompiler field.
    
    * module/system/base/compile.scm (compile-passes): Much simpler now that
      lookup-compilation-order gives us the procedures directly.
    
    * module/language/*/spec.scm: Specify compilers by name, so that we can
      avoid unnecessary module loads, and so that when we specify
      decompilers, we can avoid cycles.

commit 4b3184828416acfa5c099a54954ca00ce3cc0d0d
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 11:02:01 2009 +0100

    remove glil->objcode path in favor of passing through assembly; 
refactorings.
    
    * module/language/assembly.scm: Refactor a bit; remove the name "code"
      from the API, as it's too generic, and replace with "assembly".
    
    * module/language/assembly/compile-bytecode.scm: Get byte lengths via,
      well, byte-length.
    
    * module/language/glil/Makefile.am:
    * module/language/glil/spec.scm:
    * module/language/glil/compile-objcode.scm: Remove compile-objcode, as we
      just go through bytecode now.
    
    * module/language/glil/compile-assembly.scm (glil->assembly)
      (dump-object): s/object->code/object->assembly/.

commit 6f78702819e355180a71de6902766cdecfa84755
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 30 10:20:08 2009 +0100

    add new language between assembly and objcode: bytecode
    
    * module/language/bytecode/Makefile.am:
    * module/language/bytecode/spec.scm: Add another language to the stack,
      bytecode. Bytecode is the u8vector form of object code..
    
    * configure.in:
    * module/language/Makefile.am:
    * module/language/assembly/Makefile.am:
    * test-suite/tests/asm-to-bytecode.test:
    * module/language/assembly/spec.scm:
    * module/language/assembly/compile-bytecode.scm: Update to include the
      new pass.

commit bd02af8acfcb8250ac111b9140615dd58533db30
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 29 21:10:49 2009 +0100

    remove GPKG.def files
    
    * module/language/ghil/GPKG.def:
    * module/language/r5rs/GPKG.def: Reove these, they aren't used any more.

commit 53e28ed9b28c530cbc5fb64206639c7bab66850a
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 29 21:09:04 2009 +0100

    static opcodes; refactor program/objcode division; use new assembly pipeline
    
    * gdbinit: Untested attempts to get the stack fondling macros to deal
      with the new program representation.
    
    * libguile/frames.c (scm_vm_frame_arguments, scm_vm_frame_source)
      (scm_vm_frame_local_ref, scm_vm_frame_local_set_x): SCM_PROGRAM_DATA is
      a struct scm_objcode*.
    
    * libguile/instructions.h:
    * libguile/instructions.c: Hide the instruction table and the struct
      scm_instruction structure; all access to instructions now goes through
      procedures. This is because instructions are no longer in a packed
      array indexed by opcode. Also, declare a mask that all instructions
      should fit in.
    
    * libguile/objcodes.h:
    * libguile/objcodes.c: Rewrite so that object code directly maps its
      arity and length from its bytecode. This makes it unnecessary to keep
      this information in programs, allowing programs to be simple conses
      between the code (objcodes) and data (the object table and the closure
      variables).
    
    * libguile/programs.c (scm_make_program): Rework so that make-program
      takes objcode, an object table, and externals as arguments. It's much
      clearer this way, and we avoid malloc().
    
    * libguile/stacks.c (is_vm_bootstrap_frame): Update for program/objcode
      changes.
    
    * libguile/vm-engine.c (vm_run): Initialize the jump table on the first
      run, with the opcodes declared in the instruction sources, and with bad
      instructions raising an error instead of wandering off into the
      Unknown.
    
    * libguile/vm-engine.h (FETCH_LENGTH): Always represent lengths as 3
      bytes. The old code was too error-prone.
      (NEXT_JUMP): Mask the instruction with SCM_VM_INSTRUCTION_MASK.
      (NEW_FRAME): Update for program/objcode changes.
    
    * libguile/vm-expand.h (VM_DEFINE_FUNCTION, VM_DEFINE_INSTRUCTION)
      (VM_DEFINE_LOADER): Update so that we explicitly specify opcodes, so
      that we have a stable bytecode API.
    
    * libguile/vm-i-loader.c: Update license to LGPLv2+. Explicitly declare
      opcodes.
      (load-integer): Use an int instead of a long as the accumulator; still
      need to revisit this code at some point, I think.
      (load-program): Simplify, thankfully!! Just creates the objcode slice
      and rolls with it.
    
    * libguile/vm-i-scheme.c: Number the opcodes explicitly.
    
    * libguile/vm-i-system.c: Update license to LGPLv2+. Explicitly declare
      opcodes.
      (make-closure): Update for new program API.
    
    * libguile/vm.c (vm_make_boot_program): Update for new program/objcode
      API. Still a bit ugly.
      (scm_load_compiled_with_vm): Update for new program/objcode API.
    
    * module/language/assembly.scm (byte-length): Fix byte-length calculation
      for loaders, and load-program.
      (code-pack, code-unpack): Start to move things from (system vm conv)
      here.
      (object->code, code->object): More things from conv.scm.
    
    * module/language/glil.scm (<glil-program>): Add a new field,
      closure-level.
      (make-glil-program, compute-closure-level): Calculate the "closure
      level" when making a glil program. This is the maximum depth of
      external binding refs in this closure.
      (unparse-glil): Fix label serialization.
    
    * module/language/glil/compile-assembly.scm (make-meta): Prepend #f for
      the meta's object table, though maybe in the future we can avoid
      creating assembly in the first place.
      (assoc-ref-or-acons, object-index-and-alist): GRRR! Caught again by the
      different sets of arguments to assoc and assoc-ref!
      (glil->assembly): Attempt to make the <glil-program> case more
      readable, and fix the bugs. Sorry I don't know how to comment this
      change any more than this.
      (glil->assembly): For <glil-module> serialize the whole key, not just
      the name.
      (dump-object): subprogram-code is already a list. Serialize integers as
      strings, not u8vectors. Fix the order of lists and vectors.
    
    * module/language/glil/spec.scm (glil): Switch orders, so we prefer glil
      -> assembly -> objcode. Actually glil->objcode doesn't work any more,
      needs to be removed I think.
    
    * module/language/objcode/spec.scm (objcode->value):
      s/objcode->program/make-program/.
    
    * module/language/scheme/inline.scm: Add acons inline.
    
    * module/system/vm/conv.scm (make-byte-decoder): Skip the first 8 bytes,
      they are header. Handle subprograms properly. Still needs help though.
      (decode-length): Lengths are always 3 bytes now.
    
    * module/system/vm/disasm.scm: Superficial changes to keep things
      working. I'd like to fix this better in the future.
    
    * module/system/vm/frame.scm (bootstrap-frame?): Fixes for
      program-bytecode.
    
    * module/system/vm/program.scm: Export make-program. It's program-objcode
      now, no more program-bytecode.
    
    * module/system/vm/vm.scm (vm-load): Use make-program.
    
    * test-suite/tests/asm-to-bytecode.test: New test, very minimal.
    
    * module/system/vm/objcode.scm: Export word-size, byte-order, and
      write-objcode.

commit 53d81399bef1d9396665e79fb6b9c25eb8e2a6ad
Author: Andy Wingo <address@hidden>
Date:   Wed Jan 28 11:56:21 2009 +0100

    cleanups to value and help help handlers
    
    * ice-9/session.scm (*value-help-handlers*): Define object-documentation
      as the default value help handler.
      (remove-value-help-handler!, add-name-help-handler!)
      (remove-name-help-handler!): Fix docs.
      (help, help-doc): Fix so that we try object-documentation through
      try-value-help, and we obey the docs regarding what happens with return
      values.

commit 4f7a0504aac215832e99290e31c9944795c5d206
Author: Andy Wingo <address@hidden>
Date:   Tue Jan 27 13:43:07 2009 +0100

    merge in from guile-lib: add some extensibility to `help'
    
    * ice-9/session.scm (add-value-help-handler!)
      (remove-value-help-handler!, add-name-help-handler!)
      (remove-name-help-handler!): New public interfaces, to allow some basic
      extensibility of the help interface. Merged in from guile-lib's (scheme
      session).

commit ab878b0f8e675a741a7dd56f52638a7cc0419907
Author: Neil Jerram <address@hidden>
Date:   Fri Jan 23 01:26:16 2009 +0000

    Fix build when scm_t_timespec is different from struct timespec
    
    Reported by Roland Haeder.  The declaration and definition of
    scm_pthread_cond_timedwait were using possibly different types for the
    third arg.
    
    * THANKS: Added Roland Haeder.
    
    * libguile/threads.h (scm_pthread_cond_timedwait): Use scm_t_timespec
      for third arg rather than struct timespec, for consistency with the
      function implementation.

commit cbee5075d69cb057c4af4c5e24319da90367897f
Author: Neil Jerram <address@hidden>
Date:   Fri Jan 23 01:02:46 2009 +0000

    Fix MinGW HAVE_STRUCT_TIMESPEC build problem
    
    Reported by Carlo Bramini.  See the comment in _scm.h.
    
    * THANKS: Add Carlo Bramini.
    
    * libguile/_scm.h: Undefine HAVE_STRUCT_TIMESPEC.

commit f1d7723bb3ab0417bcfaf04647461fb0487c8cd4
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 19 00:06:17 2009 +0100

    add assembly intermediate language
    
    * configure.in:
    * module/language/Makefile.am:
    * module/language/assembly/Makefile.am: Automakery.
    
    * module/language/assembly.scm:
    * module/language/assembly/spec.scm: Add a new language, which is oddly
      even lower than GLIL. I got tired of GLIL's terrible
      compile-objcode.scm, and wanted a cleaner intermediate format.
    
    * module/language/glil/compile-assembly.scm: A purely-functional
      assembler, that produces "assembly". Will document later.
    
    * module/language/glil/spec.scm: Declare the compiler to assembly.

commit 32a2609de06af65341e6b4db6961557b788821e8
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 12:53:01 2009 +0100

    Remove useless cooperative multi-threading source files.

commit e95d11110b7af0f528404d28209c3a464ab7074d
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jan 18 12:44:15 2009 +0100

    Make variables related to the subr table size private and unsigned.
    
    * libguile/procs.c (scm_subr_table_size, scm_subr_table_room): Made
      `static' and `unsigned'.
      (scm_c_make_subr)[entry]: Made `unsigned'.
    
    * libguile/procs.h (scm_subr_table_size, scm_subr_table_room): Remove
      declarations.

commit 752be95a475132506c35922d284884cf776149d0
Author: Neil Jerram <address@hidden>
Date:   Sat Jan 17 22:33:36 2009 +0000

    Remove `INSTALL'
    
    * INSTALL: Removed.

commit 2fda0242214e1b650b8fd3eb084e1c930a8399a5
Author: Andy Wingo <address@hidden>
Date:   Sat Jan 17 16:42:53 2009 +0100

    move module and meta inside programs' object tables
    
    * libguile/programs.h (struct scm_program): Remove the module and meta
      fields.
    
    * libguile/programs.c (scm_c_make_program): Add a new argument, `objs'.
      If it's a vector, we'll look for the module and the metadata in there,
      instead of having them in the scm_program structure.
      (scm_c_make_closure, program_mark, scm_program_meta)
      (scm_c_program_source, scm_program_module): Adapt to the new program
      representation.
    
    * libguile/objcodes.c (scm_objcode_to_program): Pass #f as the object
      table when making the program.
    
    * libguile/vm-engine.h (CACHE_PROGRAM):
    * libguile/vm-engine.c (vm_run): Rework to use the simple vector API for
      getting the current object table. Call the helper,
      vm_make_boot_program, to make the boot program.
    
    * libguile/vm-i-loader.c (load-program): Set the current module and the
      meta in the object vector, which we pass to scm_c_make_program.
    
    * libguile/vm-i-system.c (toplevel-ref, toplevel-set): Adapt to the new
      program representation.
    
    * module/language/glil/compile-objcode.scm (codegen): Clarify.

commit a72317988fa29377928d30c7e52b5acf63b6943a
Author: Andy Wingo <address@hidden>
Date:   Sat Jan 17 15:08:05 2009 +0100

    placeholder for meta and module in a program's object table
    
    * module/language/glil/compile-objcode.scm (codegen): If the generated
      objcode will have a meta or it has objects, prepend two cells to the
      object table: one for the meta, and one for the module. This is a
      placeholder for future work.

commit 8b0174c879bf74981efe702a00471ed5b8e6912e
Author: Neil Jerram <address@hidden>
Date:   Thu Jan 15 22:36:28 2009 +0000

    Don't try to unlock already unlocked heap mutex
    
    For each thread that goes into Guile mode, Guile pushes a cleanup
    function, scm_leave_guile_cleanup, whose purpose is to execute
    `scm_leave_guile ()' if the thread is terminated while in Guile mode.
    The problem is that there are various places - like
    scm_pthread_cond_wait, scm_without_guile and scm_std_select - where
    the thread temporarily leaves Guile mode (which means unlocking the
    heap mutex), and the cleanup function is still in place.  Therefore if
    the thread is terminated at these places, the cleanup function ends up
    trying to unlock a mutex (the heap mutex) which isn't actually locked.
    
    * libguile/threads.h (scm_i_thread): New heap_mutex_locked_by_self field.
    
    * libguile/threads.c (scm_enter_guile): Set heap_mutex_locked_by_self.
      (scm_leave_guile): Only unlock if heap_mutex_locked_by_self is 1.
      (guilify_self_1): Initialize heap_mutex_locked_by_self.
      (scm_i_thread_sleep_for_gc): Remove incorrect use of t->held_mutex
      here.

commit 86872cc392920c170875a918348185fb96ba272e
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 15 23:04:06 2009 +0100

    fold in ludovic's suggestions for new manual sections
    
    * INSTALL: Update from newest merge
    
    * doc/ref/compiler.texi:
    * doc/ref/vm.texi: Fold in Ludovic's suggestions

commit 0c91a9105d6092e0095b74baa9b6ec527399cfa8
Merge: 7aa6f86b77836b4bfe1a59feab7d08517177858e 
9ffef3c6f621bd4de70a0eb0dae4bb96c6026a79
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 15 22:13:03 2009 +0100

    Merge commit 'origin/master' into vm
    
    Conflicts:
    
        INSTALL

commit 9ffef3c6f621bd4de70a0eb0dae4bb96c6026a79
Author: Neil Jerram <address@hidden>
Date:   Thu Jan 15 01:07:15 2009 +0000

    Invoke gnulib-tool with --no-vc-files option, and
    
    remove files that should not have been committed to the repository.

commit 97027e4125cc461b8977e74d713310a7c8724875
Author: Neil Jerram <address@hidden>
Date:   Thu Jan 15 00:56:53 2009 +0000

    Revert lib/.gitignore and m4/.gitignore to how they should be
    
    (before my confused Gnulib commits...)

commit e335ff3df023899e2580de14febd0ea14e5089f8
Author: Neil Jerram <address@hidden>
Date:   Thu Jan 15 00:09:21 2009 +0000

    Revert unintended change to INSTALL made by commit 
4a462e35440fdc3f10b0f88b3fb737fa76ed146d

commit 7f8e40b778650cbf50d844a6fe1cd30ae4c4d975
Author: Neil Jerram <address@hidden>
Date:   Thu Jan 15 00:04:02 2009 +0000

    Add more missing Gnulib files

commit bfb18ff05a3d35de8ff84d0d5a9be1ba246214fb
Author: Neil Jerram <address@hidden>
Date:   Wed Jan 14 21:05:15 2009 +0000

    Add more missing Gnulib files

commit 0a34f3954eed5615e92885eab0e89ff6a2b574d1
Author: Neil Jerram <address@hidden>
Date:   Wed Jan 14 20:50:51 2009 +0000

    Add missing Gnulib file (m4/localcharset.m4)

commit 7aa6f86b77836b4bfe1a59feab7d08517177858e
Author: Andy Wingo <address@hidden>
Date:   Tue Jan 13 22:33:21 2009 +0100

    fix marking empty VM continuations
    
    * libguile/vm.h (struct scm_vm_cont):
    * libguile/vm.c (capture_vm_cont, reinstate_vm_cont): Change so we just
      store the registers as they are, with the reloc.
      (vm_cont_mark): Only mark the stack if it has elements on it, otherwise
      we get a bogus fp.
    
    * libguile/stacks.c (scm_make_stack): Update for change to vm
      continuations.

commit d5968e7f4e96d957157a31e577d8792afe655371
Merge: 616167fc12fd42c14e021b5496e91154b3a0e8c0 
bf4200ca9f1b288d2eddc344fd315f8a3d199661
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 12 23:34:42 2009 +0100

    Merge branch 'master' into vm

commit bf4200ca9f1b288d2eddc344fd315f8a3d199661
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 14 21:07:09 2008 +0100

    Fixlet for `run-benchmark.scm'.
    
    * gc-benchmarks/run-benchmark.scm (%default-options): Default to the
      empty list for `input'.

commit 1c14d7671da008cc94590031b48c236d038fa3b1
Author: Ludovic Courtès <address@hidden>
Date:   Tue Nov 11 21:01:40 2008 +0100

    gc-benchmarks: Adapt `gcold.scm' so that if conforms to the framework.
    
    * gc-benchmarks/larceny/gcold.scm (main): Rename to `gcold-benchmark'.
      (GCOld): Fix the order of the predicate and run-maker.

commit 83e3ac9475ee0bf0566c897f337b4f90d54a7c8f
Author: Ludovic Courtès <address@hidden>
Date:   Tue Nov 11 18:27:24 2008 +0100

    gc-benchmarks: Add `gcold.scm', by Clinger, Hansen et al.
    
    See http://www.ccs.neu.edu/home/will/Twobit/benchmarksAbout.html for
    details.

commit 69ecc0baa39be5dacb0250ef97947077c0c2ab44
Author: Ludovic Courtès <address@hidden>
Date:   Tue Nov 11 18:20:15 2008 +0100

    gc-benchmarks: Add `run-benchmark.scm'.

commit b9ecffc508d4c1db02937584b3ccc16533889156
Author: Ludovic Courtès <address@hidden>
Date:   Tue Nov 11 18:19:24 2008 +0100

    gc-profile: Show the result of `(version)'.
    
    * gc-benchmarks/gc-profile.scm (main): Show `(version)'.

commit 1b04c499c4cb463da4f8d6d6af1251677b2c87fb
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 10 22:49:29 2008 +0100

    gc-benchmarks: Allow the iteration count to be passed to `gc-profile.scm'.
    
    * gc-benchmarks/gc-profile.scm (*iteration-count*): New parameter.
      (run-benchmark): Moved from `twobit-compat.scm'.  Honor
      `*iteration-count*'.
      (%options): Add `--iterations'.
      (show-help): Document it.
      (main): Parameterize `*iteration-count*'.

commit 1b706edff63fe2706c59056a0bbaecc3c80146bb
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 10 20:30:33 2008 +0100

    Import GC benchmarks from Larceny, by Hansen, Clinger, et al.
    
    These GPLv2+-licensed GC benchmarks are available from
    http://www.ccs.neu.edu/home/will/GC/sourcecode.html .

commit a13dc0b473bce1bb0206c997b72a316db21e5ef0
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 7 21:11:44 2008 +0100

    gc-benchmarks: Add a Larceny/Twobit benchmark compatibility layer.
    
    * gc-benchmarks/gc-profile.scm: Load "twobit-compat.scm".
      (save-directory-excursion, load-larceny-benchmark): New procedures.
      (%options): New variable.
      (show-help, parse-args): New procedures.
      (main): Use `parse-args' and `load-larceny-benchmark'.

commit 8da56ffc0b3b8ec2efd6b16eb4b4ae8c358d2214
Author: Ludovic Courtès <address@hidden>
Date:   Sun Oct 12 23:51:03 2008 +0200

    Add GC benchmarks.

commit 4a462e35440fdc3f10b0f88b3fb737fa76ed146d
Author: Neil Jerram <address@hidden>
Date:   Mon Jan 12 21:48:17 2009 +0000

    Make sure that we have a real on-the-stack alloca()
    
    Because of how Guile saves and restores continuations (by copying the
    stack), and how it uses alloca to create space for debug information
    on the stack, we must have an alloca() that really does use the stack,
    and not one that uses the heap.
    
    To do this, we use the Gnulib "alloca-opt" module instead of "alloca".
    
    This commit also updates the Gnulib sources from the current Gnulib
    Git repository.

commit 616167fc12fd42c14e021b5496e91154b3a0e8c0
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 12 22:37:29 2009 +0100

    remove a paranoid define; fix bitrot in measure.scm.
    
    * benchmark/measure.scm (measure): Fix bitrot.
    
    * libguile/vm.c (VM_ENABLE_STACK_NULLING): Undefine this, as it hasn't
      caught any errors in quite a while.

commit 78bae3d6fa7c8aa6951cf9fc31707b06d80a920a
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 12 21:45:37 2009 +0100

    fix mismerge on srfi-19.scm
    
    * module/srfi/srfi-19.scm (priv:locale-abbr-weekday->index): Whoops, fix
      broken manual merge on srfi-19.scm.

commit 7bd5f2913d5eab83f3432c413458cc18658ce457
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 12 21:37:44 2009 +0100

    fix typo when compiling receive forms
    
    * module/language/glil/compile-objcode.scm (codegen): Fix an embarassing
      typo, introduced in c2c82b62f40242a4212528c3d3e882038b48f0a2

commit c32929d14d40f9e00c3fd10d3f51d54733ebf687
Merge: c41350777d6faf05f80627f97ca01cd5c8fac47b 
dc686d7b0a1490e26482e018489dec040b79b952
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 12 21:36:39 2009 +0100

    Merge commit 'origin/master' into vm
    
    Conflicts:
    
        .gitignore
        guile-tools.in
        srfi/srfi-19.scm

commit c41350777d6faf05f80627f97ca01cd5c8fac47b
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 18:30:11 2009 +0100

    fold in neil's feedback to history.texi
    
    * doc/ref/history.texi: Fold in Neil's feedback

commit 0b8f3ac521951ba0ec008431a14f79664cec32e7
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 18:21:27 2009 +0100

    word tweaks
    
    * doc/ref/guile.texi: Finish some wording.
    
    * doc/ref/compiler.texi: Fix some goofiness.

commit e33e3aeefd4c9afbae749f0c3e0b080801a11e31
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 18:00:21 2009 +0100

    tweaks to compiler.texi
    
    * doc/ref/compiler.texi: Minor tweaks.

commit ff73ae34c36b8b1270cbdb60461ca2a05e0276bf
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 14:23:48 2009 +0100

    finish compiler.texi, woo
    
    * libguile/objcodes.c (do-pair): Removed unused debuging hack.
    
    * module/language/glil/spec.scm (glil): Simplify a bit.
    
    * module/system/repl/repl.scm (default-catch-handler): Don't catch
      vm-error, as vm-backtrace doesn't exist any more.
    
    * doc/ref/compiler.texi: Finish documenting GLIL and object code.

commit c850030fdd89297cffde3d4fe481d67579704318
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 12:14:07 2009 +0100

    rename <glil-asm> to <glil-program>
    
    * module/language/glil.scm (<glil-program>): Rename from <glil-asm>.
    
    * module/language/ghil/compile-glil.scm (codegen):
    * module/language/glil.scm (parse-glil, unparse-glil):
    * module/language/glil/compile-objcode.scm (preprocess, codegen): Adapt
      to naming change.

commit c2c82b62f40242a4212528c3d3e882038b48f0a2
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 11 12:09:19 2009 +0100

    remove useless <glil-vars> helper type, serialize GHIL more strictly
    
    * module/language/ghil.scm (parse-ghil, unparse-ghil): Rework to make the
      parse format correspond more closely with the object representation, so
      that I only have to document it once in the manual. The salient change
      is that no expression is self-quoting, and that variable references
      should go through `(ref FOO)'. Rename `set!' to `set'.
    
    * module/language/ghil/compile-glil.scm: Add a couple of compilers for
      unquote and unquote-splicing, that just raise an error. This way I can
      document unquote and unquote-splicing as normal ghil expressions,
      except that it's the compiler that catches them if they're outside a
      quasiquote.
      (codegen): Adapt to change in <glil-asm>.
    
    * module/language/ghil/spec.scm (parse): Fix parser typo bug.
    
    * module/language/glil.scm (<glil-asm>): Remove useless <glil-vars>
      structure, which also had a confusing name. Just put the nargs, nrest,
      nlocs, and nexts in the <glil-asm> directly.
      (parse-glil, unparse-glil): Serialize `asm' more straightforwardly.
    
    * module/language/glil/compile-objcode.scm (<bytespec>): Remove
      <glil-vars>, as with <glil-asm>.
      (preprocess, make-meta, codegen, dump-object!): Adapt to change in
      <glil-asm>.

commit ca445ba5ec5babe2d160061ed627570e36a28dd1
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 9 17:49:09 2009 +0100

    rename translate.scm to compile-ghil.scm, and more work on compiler.texi
    
    * doc/ref/api-evaluation.texi: Fix some typos and xrefs.
    
    * doc/ref/compiler.texi (The Scheme Compiler): Document the scheme
      compiler, and start documenting the GHIL language.
    
    * doc/ref/guile.texi (Guile Implementation): Whoops, put autoconf after
      the implementation foo. Unless we want it before?
    
    * doc/ref/history.texi (The Emacs Thesis): Fix typo.
    
    * doc/ref/vm.texi (Environment Control Instructions): Rename offset to
      index.
    
    * module/language/ghil.scm (parse-ghil): Fix what I think was a bug --
      the consumer in a mv-call shouldn't be a rest arg.
    
    * module/language/scheme/Makefile.am (SOURCES):
    * module/language/scheme/compile-ghil.scm: Rename this file from
      translate.scm.
    
    * module/oop/goops.scm:
    * module/language/scheme/spec.scm: Deal with renaming.

commit e3ba263de48a2a7cce27f773bd9be079eb5517db
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 9 15:52:55 2009 +0100

    fix some xrefs, flesh out compiler.texi a bit more
    
    * doc/ref/api-debug.texi:
    * doc/ref/vm.texi: Fix some cross-references.
    
    * doc/ref/compiler.texi: Hack some more, finishing the section on the
      compiler tower.

commit 46d666d4aad3d5c1c7313ffda290235d43b5efd0
Author: Andy Wingo <address@hidden>
Date:   Fri Jan 9 13:28:43 2009 +0100

    finish api-procedures.texi
    
    * doc/ref/api-procedures.texi: Finish documenting bits on compiled
      procedures.

commit 5a069042e7f67e3c7e74bbc37258b57ed127b8e0
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 8 23:46:48 2009 +0100

    more work on api-procedures.texi
    
    * doc/ref/api-procedures.texi (Compiled Procedures): Stub out these docs
      some more, taking some commented-out docs from vm.texi.
    
    * doc/ref/vm.texi: Move docs ^.

commit 00ce5125837c139ecd80f2f056b63ffdef4b9332
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 8 22:05:59 2009 +0100

    start at documenting the compiler
    
    * doc/ref/api-evaluation.texi: Add documentation for the standard
      compilation interface, and some notes about compiled files.
    
    * doc/ref/api-procedures.texi (Compiled Procedures): A stub at
      documenting compiled procedures.
    
    * doc/ref/compiler.texi (Compiling to the Virtual Machine): Flesh out
      with some structure, though much of the text remains to be written.
      This stuff is hard to write!

commit 9ff56d9e65fa9292ef09a8ca01abd825147b37ac
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 8 19:24:47 2009 +0100

    (language ghil def) becomes (language ghil)
    
    * module/language/Makefile.am:
    * module/language/ghil/Makefile.am:
    * module/language/ghil.scm:
    * module/language/ghil/compile-glil.scm:
    * module/language/ghil/spec.scm:
    * module/language/glil/Makefile.am:
    * module/language/glil.scm:
    * module/language/glil/compile-objcode.scm:
    * module/language/glil/spec.scm:
    * module/language/scheme/inline.scm:
    * module/language/scheme/translate.scm:
    * module/oop/goops.scm: Rename (language ghil def) and (language glil
      def) to not have the "def". They're nicer names.

commit d9042285bab866ca61b213dda1bafef8eede5709
Author: Andy Wingo <address@hidden>
Date:   Thu Jan 8 12:18:34 2009 +0100

    move lang-specific modules, e.g. (system il compile) to (language ghil 
compile-glil)
    
    * configure.in: Remove module/system/il directory.
    
    * module/language/ghil/Makefile.am (SOURCES):
    * module/language/ghil/compile-glil.scm (system):
    * module/language/ghil/def.scm (language):
    * module/language/ghil/spec.scm (language, ghil):
    * module/language/glil/Makefile.am (SOURCES):
    * module/language/glil/compile-objcode.scm (language):
    * module/language/glil/def.scm (language):
    * module/language/glil/spec.scm (language, compile):
    * module/language/scheme/Makefile.am (SOURCES):
    * module/language/scheme/inline.scm (system, define-inline):
    * module/language/scheme/translate.scm (language): Move files, renaming
      the modules.
    
    * module/oop/goops.scm (load-toplevel): Unfortunately the GHIL name
      leaked here. Patch it up.
    
    * module/system/vm/Makefile.am (SOURCES): Remove assemble.scm.

commit 6515a6663884cd1f578a767bae9ac0185a913002
Author: Andy Wingo <address@hidden>
Date:   Tue Jan 6 14:13:34 2009 +0100

    react to comments by ludovic on history.texi
    
    * doc/ref/history.texi: Adjust to some of Ludovic's comments.

commit bd7aa35f0658c8e2f189f6c1b286338984a9b9a5
Author: Andy Wingo <address@hidden>
Date:   Tue Jan 6 14:08:46 2009 +0100

    finish vm.texi except references
    
    * doc/ref/vm.texi: Finish writing the VM reference, all correct except
      for the missing references.

commit dc686d7b0a1490e26482e018489dec040b79b952
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 4 22:45:54 2009 +0000

    NEWS entry for %fast-slot-ref/set! fix

commit a9931e4e1ab80e6b47d6d836edf834f530bd9522
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 4 21:32:23 2009 +0000

    Fix implementation of %fast-slot-ref and %fast-slot-set!
    
    * libguile/goops.c (scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x):
      Correct incantation for getting the number of slots of the specified
      instance.
    
    * libguile/goops.h (SCM_NUMBER_OF_SLOTS): Removed (because wrong).
    
    * test-suite/standalone/test-fast-slot-ref.in: New standalone test.
    
    * configure.in: Generate test-suite/standalone/test-fast-slot-ref.
    
    * test-suite/standalone/Makefile.am (check_SCRIPTS): Add
      test-fast-slot-ref.

commit fb10a0084e0e670cf6ecad1e62e6f22e315672b9
Author: Andy Wingo <address@hidden>
Date:   Sun Jan 4 14:06:52 2009 +0100

    allow `apply' on %nil-terminated lists
    
    * libguile/vm-engine.h (PUSH_LIST): Add a parameter to check that the
      list was proper.
    
    * libguile/vm-i-system.c: Adapt PUSH_LIST callsites to pass SCM_NULLP or
      SCM_NULL_OR_NIL_P, as appropriate. Add a check to return/values*.
    
    * libguile/vm.c: Add lang.h header for SCM_NULL_OR_NIL_P.
    
    * test-suite/tests/elisp.test: Fix XFAIL for elisp + apply.

commit 53e4bd36f3c8fc756fc091891b79e6aa16820256
Author: Neil Jerram <address@hidden>
Date:   Sun Dec 14 14:42:08 2008 +0000

    Update autogen.sh
    
    * autogen.sh: Don't call guile-readline/autogen.sh; not needed because
      autoreconf recurses itself.  Remove copies of config.guess and
      config.sub, which are now invalid because we don't have those files
      in the top level directory.  Remove mention of
      --enable-maintainer-mode, as we don't use AM_MAINTAINER_MODE any
      more.

commit 911d725439b06ce4183b19f773f02cc67d5ef45a
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 2 20:51:12 2008 +0100

    Delete redundant `config.{guess,sub}'.

commit b1b942b74c0f2a9870326372843ea1baeafc3dcb
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 26 17:59:46 2008 +0100

    remove heap links in VM frames, incorporate vm frames into normal backtraces
    
    * doc/ref/vm.texi (Stack Layout): Update to remove references to the
      "heap link".
    
    * gdbinit: Update for "heap link" removal.
    
    * libguile/frames.c:
    * libguile/frames.h: Update macros and diagram for removal of "heap
      link". As part of this, we also remove "heap frames", replacing them
      with "vm frames", which are much like the interpreter's debug objects,
      but for VM stacks. That is to say, they don't actually hold the stack
      themselves, just the pointers into stack that's held by a continuation
      (either captured or current).
    
    * libguile/stacks.c (stack_depth, read_frames): Since a "stack" object is
      really a copy of information that comes from somewhere else, it makes
      sense to copy over info from the VM, just as `make-stack' does from the
      evaluator. The tricky bit is to figure out how to interleave VM and
      interpreter frames. We do that by starting in the interpreter, and
      whenever the current frame's procedure is actually a program, we switch
      to the VM stack, switching back when we reach a "bootstrap frame". The
      last bit is hacky, but it does work...
      (is_vm_bootstrap_frame): Hacky predicate to see if a VM frame is a
      bootstrap frame.
      (scm_make_stack): Accept a VM frame in addition to debug frames.
      Probably has some bugs in this case. But in the case that the arg is
      #t (a common case), do the right thing, capturing the top VM frame as
      well, and interleaving those frames appropriately on the stack.
    
      As an accident, we lost the ability to limit the number of frames in
      the backtrace. We could add that back, but personally I always want
      *all* frames in the trace... Narrowing still works fine, though there
      are some hiccups sometimes -- e.g. an outer cut to a procedure that
      does a tail-call in VM code will never find the cut, as it no longer
      exists in the continuation.
    
    * libguile/vm.h (struct scm_vm): So! Now that we have switched to save
      stacks in the normal make-stack, there's no more need for `this_frame'
      or `last_frame'. On the other hand, we can take this opportunity to fix
      tracing: when we're in a trace hook, we set `trace_frame' on the VM,
      so we know not to fire hooks when we're already in a hook.
      (struct scm_vm_cont): Expose this, as make-stack needs it to make VM
      frames from VM continuations.
    
    * libguile/vm.c (scm_vm_trace_frame): New function, gets the current
      trace frame.
      (vm_mark, make_vm): Hook up the trace frame.
      (vm_dispatch_hook): New hook dispatcher, with a dynwind so it does the
      right thing if the hook exits nonlocally.
    
    * libguile/vm-engine.c (vm_run): No more this_frame in the wind data.
    
    * libguile/vm-engine.h (RUN_HOOK): Run hooks through the dispatcher.
      (ALIGN_AS_NON_IMMEDIATE, POP_LIST_ON_STACK): Remove unused code.
      (NEW_FRAME): Adapt for no HL in the frame.
    
    * libguile/vm-i-system.c (goto/args, mv-call, return, return/values):
      Adapt for no HL in the frame.
    
    * module/system/vm/frame.scm:
    * module/system/vm/vm.scm: Beginnings of some reworkings, needs more
      thought.

commit 9f0e9918f4475d1a6313a8328262e80758c7f64e
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 26 16:44:02 2008 +0100

    repl.scm relies on `display-backtrace' to do everything, some naming tweaks
    
    * module/ice-9/boot-9.scm (default-pre-unwind-handler): Rename from
      default-lazy-handler.
      (pre-unwind-handler-dispatch): Rename from lazy-hadler-dispatch.
      (error-catching-loop): Adjust caller.
    
    * module/system/repl/repl.scm (default-pre-unwind-handler): Remove this
      definition, in favor of the default one in boot-9.
      (default-catch-handler): Don't do a vm-backtrace, as we will soon be
      relying on core machinery to do that for us.
      (call-with-backtrace): Start a new stack for the thunk.
      (with-backtrace): Macro version of call-with-backtrace.
      (start-repl): Use with-backtrace for brevity. Start a stack with #t as
      the tag instead of repl-eval, because all traces of repl-eval are gone
      after it does a tail-call.
    
    * module/ice-9/debugger.scm:
    * module/ice-9/debugging/traps.scm:
    * module/ice-9/stack-catch.scm: Adapt to s/lazy/pre-unwind/ in
      boot-9.scm.

commit 9a9f64874a500ed0765f45a05befc71f74255e4c
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 26 16:36:53 2008 +0100

    add scm_c_program_source
    
    * libguile/programs.h:
    * libguile/programs.c (scm_c_program_source): New helper for getting
      source information from C.

commit e052d2964098005a02fcb2b1e1e670e9ff4157c1
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 26 16:35:43 2008 +0100

    backtrace.c: allow vectors for SCM_FRAME_SOURCE (frame)
    
    * libguile/backtrace.c (display_backtrace_get_file_line): If the source
      is a vector, treat it as a #(line column file) vector, as emitted by
      the VM. Needs subsequent patches to make sense.

commit eff313ed21ad8722733ec16e079107aea9369215
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 26 16:33:33 2008 +0100

    fix doc typo
    
    * doc/ref/data-rep.texi (Non-immediate objects): Fix a typo, thanks to
      Dale Smith.

commit 39321905217d77272b9b27741e7adb1cdaf97a46
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 22 16:24:04 2008 +0100

    Fix typo in SRFI-19.
    
    * srfi/srfi-19.scm (priv:string->date): Check for EOF on CH, not PORT.

commit d22fc3e4af63e6764affcd8000ef3fa35159e066
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 19 11:50:43 2008 +0100

    remove the `late-bind' instruction
    
    * doc/ref/vm.texi: Minor fixes.
    
    * libguile/vm-i-loader.c: Remove the unused `late-bind' instruction.

commit 090d51edb2184b3292f812a2ee8b47bb3ebf161c
Author: Andy Wingo <address@hidden>
Date:   Fri Dec 19 11:24:44 2008 +0100

    write history.texi
    
    * doc/ref/vm.texi: Flesh out the VM documentation, adding a rationale.
    
    * doc/ref/history.texi: Write the Guile history.
    
    * doc/ref/guile.texi (Top): Some tweaks.

commit 2898317d8b950e70235866efde69e50296e454f7
Author: Ludovic Courtès <address@hidden>
Date:   Thu Dec 18 22:43:57 2008 +0100

    Update `INSTALL', from Automake 1.10.2.

commit 36c66a07e54d27df2fdad5e3b64e8731067a9cfe
Author: Ludovic Courtès <address@hidden>
Date:   Thu Dec 18 22:38:06 2008 +0100

    Don't use deprecated functions in `debug-malloc.c'.
    
    * libguile/debug-malloc.c (scm_malloc_stats): Use
      `scm_from_locale_string ()'.  Patch by Linas Vepstas
      <address@hidden>.

commit 8891556e50be2609f7dd7daaecfac150415b6331
Author: Ludovic Courtès <address@hidden>
Date:   Thu Dec 18 22:34:23 2008 +0100

    srfi-19: Fix `string->date' weekday lookup.
    
    * srfi/srfi-19.scm (priv:locale-abbr-weekday->index): Use
      `locale-day-short' since it expects integers in the range 1-7, unlike
      `priv:locale-abbr-weekday'.
      (priv:locale-long-weekday->index): Likewise.
    
    * test-suite/tests/srfi-19.test ("SRFI date/time
      library")["string->date works on Sunday"]: New test.

commit 55aae983565cd14821d4cdff9f44afc96f8868c1
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 10 19:11:28 2008 +0000

    Revert "(scm_shell_usage): Note need for subscription to address@hidden"
    
    This reverts commit f3e3f530c28cfa5c7830c5d9b01de6fc388bc42a, which is
    appropriate because subscription is not now required for someone to
    send a message to address@hidden
    
    Conflicts:

commit 88f5ea45d52a703aa86da917b5c9dc28d2d0d45b
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 10 19:07:14 2008 +0000

    Revert "Note need for subscription to address@hidden"
    
    This reverts commit cbea802b3763aa8cb43c88f7df272da3e41c32da, which is
    appropriate because subscription is not now required for someone to
    send a message to address@hidden
    
    Conflicts:

commit 9dfa64ca7f86f1f25f5bba8976b9e29ca6d1bdbc
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 10 19:02:50 2008 +0000

    Revert "(Reporting Bugs): Note need for subscription to"
    
    This reverts commit e563095988a1c64feb30307928bcc090828cdda9, which is
    appropriate because subscription is not now required for someone to
    send a message to address@hidden
    
    Conflicts:

commit 1e45754493e157e9122134dd1429064a2ef7f084
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 10 18:57:20 2008 +0000

    Revert "* README: Note need for subscription to address@hidden"
    
    This reverts commit 51d079ab0d23e4175d333ce22eb3e74aeae5913d, which is
    appropriate because subscription is not now required for someone to
    send a message to address@hidden

commit 83fda4707cfebf885a841dfb75d5c8a5978d4447
Author: Ludovic Courtès <address@hidden>
Date:   Wed Dec 10 11:05:50 2008 +0100

    i18n: Add comment about standardization of the `locale_t' API.
    
    * libguile/i18n.c: Add pointer to the POSIX 2008 standardization of the
      API.

commit 9320e9339085b4d004c255eb55619819fe0b3ca2
Author: Ludovic Courtès <address@hidden>
Date:   Wed Dec 10 10:44:24 2008 +0100

    Fix erroneous differences in `NEWS' compared to `branch_release-1-8'.

commit 96e3f63af02a4ddc944933ad14b566f130a31826
Author: Ludovic Courtès <address@hidden>
Date:   Wed Dec 10 10:06:46 2008 +0100

    configure: Check for <ltdl.h>.
    
    * configure.in: Check for <ltdl.h>, to clarify misconfigurations.

commit bbfbb2a7cd6313978435ce57283fb09ad002c04a
Author: Ludovic Courtès <address@hidden>
Date:   Wed Dec 10 09:57:33 2008 +0100

    configure: Don't substitute `DLPREOPEN'.
    
    * configure.in: Don't substitute `DLPREOPEN' since it's no longer used
      (see commit 72db29f200c38fca64a8ccd0d679821eb25de5a9).

commit 69986e21d30b85bd0b4fd7e81cd24cef586c4871
Author: Neil Jerram <address@hidden>
Date:   Tue Dec 9 23:56:51 2008 +0000

    Remove everything to do with GDS Breakpoints
    
    (which I now regard as an unsuccesful experiment)
    
    This commit makes all affected files the same in master as they are in 
branch_release-1-8.
    
    * doc/ref/api-debug.texi (Breakpoints): Removed.
    
    * doc/ref/scheme-using.texi (GDS Introduction, GDS Getting Started,
      Displaying the Scheme Stack): Remove mentions of breakpoints.
      (Setting Specific Breakpoints, Setting GDS-managed Breakpoints,
      Setting and Managing Breakpoints, Listing and Deleting Breakpoints,
      Moving and Losing Breakpoints): Removed.
    
    * emacs/gds-scheme.el (gds-bufferless-breakpoints,
      gds-bpdef:behaviour, gds-bpdef:type, gds-bpdef:file-name,
      gds-bpdef:proc-name, gds-bpdef:lc, gds-breakpoint-number,
      gds-breakpoint-buffers, gds-breakpoint-programming,
      gds-breakpoint-cache, gds-breakpoint-face,
      gds-breakpoints-file-name, gds-delete-lost-breakpoints,
      gds-bpdefs-cache, gds-read-breakpoints-file, gds-adopt-breakpoints,
      gds-adopt-breakpoint, gds-make-breakpoint-overlay,
      gds-send-breakpoint-to-client, gds-default-breakpoint-type,
      gds-set-breakpoint, gds-defun-name-region,
      gds-breakpoint-overlays-at, gds-write-breakpoints-file,
      gds-fold-breakpoints, gds-delete-breakpoints, gds-delete-breakpoint,
      gds-breakpoint-at-point, gds-union, gds-user-selected-breakpoint,
      gds-describe-breakpoints, gds-describe-breakpoint,
      gds-after-save-update-breakpoints, gds-breakpoint-map): Removed.
      (gds-nondebug-protocol): Removed handling for `breakpoint' and
      `get-breakpoints'.
    
    * emacs/gds.el (gds-scheme-first-load): Removed.
    
    * ice-9/debugging/Makefile.am (ice9_debugging_sources): Removed
      breakpoints.scm and load-hooks.scm.
    
    * ice-9/debugging/breakpoints.scm: Removed.
    
    * ice-9/debugging/load-hooks.scm: Removed.
    
    * ice-9/gds-client.scm (handle-nondebug-protocol): Remove everything
      to do with breakpoints.
      (breakpoints, set-gds-breakpoints): Removed.
      (run-utility): Call `connect-to-gds' instead of `set-gds-breakpoints'.

commit e00634774a68694911b933fd619ee3d2e1033f76
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 8 21:34:08 2008 +0100

    Mention the end of `ChangeLog' files in `NEWS'.

commit f24ceff2838be2adbd5bb6b91510706c541b0116
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 8 21:17:21 2008 +0100

    Make `config.status' happier.
    
    * guile-tools.in (datarootdir): New variable, needed since `pkgdatadir'
      may refer to `${datarootdir}'.

commit b2b91068a499d86635c31599f85f61c084adb03c
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 8 08:06:34 2008 +0100

    Add other missing Gnulib files.

commit de7d32d064f2178c41dc98540ec5822a286107ae
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 7 22:01:50 2008 +0100

    Remove useless references to Libtool's `dlpreopen' mechanism.
    
    * libguile/Makefile.am (guile_LDFLAGS): Remove address@hidden@' since it
      has no effect.
    
    * libguile/guile.c (main): Don't invoke `LTDL_SET_PRELOADED_SYMBOLS ()'
      since it had no effect given how we invoke `libtool'.  It also fixes
      compatibility issues when using libltdl 1.5 with a Libtool 2.2
      package.

commit 14f02d0bcf6ae00c0d35bcf6d390466f24155077
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 7 22:34:47 2008 +0100

    Add missing Gnulib M4 files.
    
    Reported by Neil Jerram.

commit 38ff4606a1292f414fb0a2ba64448ceae6026e50
Author: Neil Jerram <address@hidden>
Date:   Sun Dec 7 16:26:32 2008 +0000

    Several new hash table tests, written by Gregory Marton.
    
    * test-suite/tests/hash.test ("make-hash-table, hash-table?",
      "hash-set and hash-ref", "auto-resizing hashx", "hashx"): New tests.
    
    * AUTHORS, THANKS: Add Gregory Marton as a contributor.

commit 3ae3166b2307ee8588aa9b422764b486ed02ad09
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 2 19:42:39 2008 +0100

    Fix sloppy bound checking in `string-{ref,set!}' with the empty string.
    
    * libguile/strings.c (scm_string_ref): Add proper range checking for the
      empty string.
      (scm_string_set_x): Likewise.
      Reported by Bill Schottstaedt <address@hidden>.
    
    * test-suite/tests/strings.test ("string-ref"): New test prefix.
      ("string-set!")["empty string", "empty string and non-zero index",
      "out of range", "negative index", "regular string"]: New tests.
    
    * NEWS: Update.

commit 691343ead288625816175574d629f8b5c925fbab
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 2 19:30:56 2008 +0100

    Update `NEWS'.

commit cb823e630d6f410bacb463d4c42b263bb5b8ce7c
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 30 20:26:56 2008 +0100

    Fix potential deadlock in `make-struct'.
    
    * libguile/struct.c (scm_make_struct): Remove critical section, as
      suggested by Linas Vepstas <address@hidden>.  See
      http://lists.gnu.org/archive/html/bug-guile/2008-11/msg00036.html for
      a discussion.

commit d051899d17b5263df6c9cf446d8732d7e50b726a
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 30 19:37:29 2008 +0100

    Make GNU Libtool 2.2.x happier.
    
    * configure.in: Use `AC_CONFIG_MACRO_DIR([m4])'.  Reverts patch
      b01284227e180d223c97e1b9ba7e2cbd0ddded7e and makes `libtoolize' from
      Libtool 2 happier (removes a couple of warnings).
    
    * Makefile.am (ACLOCAL_AMFLAGS): Remove `-I guile-config' since that
      directory only contains macros that we distribute, not macros that we
      use.

commit 634aa8de8f8facc285867100c6c0a54c4ea5e6d4
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 30 18:43:41 2008 +0100

    Check the return value of libc's functions to make `_FORTIFY_SOURCE=2' work.
    
    This fixes bug #24009 reported by Martin Pitt.
    
    * libguile/threads.c (guilify_self_1): Check the return value of
      pipe(2).
      (scm_std_select): Use `full_read ()' instead of `read ()' when reading
      from WAKEUP_FD.
    
    * libguile/async.c (scm_i_queue_async_cell): Use `full_write ()' instead
      of write(2) when writing to SLEEP_FD.
    
    * libguile/fports.c (fport_flush): Likewise.
    
    * libguile/posix.c (getgroups): Use the return value of getgroups(2) as
      NGROUPS.
      (scm_nice): Get the return value of nice(2) to make glibc happy.
    
    * libguile/scmsigs.c (take_signal): Use `full_write ()' instead of
      write(2).

commit 9b36a80c79c6c26e8e3016eb5d88ea86f66de368
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 30 17:48:06 2008 +0100

    Use Gnulib's `full-write' and `full-read' modules.

commit aa7a939cbfffcb9afefee45ec51834971e4e9787
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 30 17:44:44 2008 +0100

    Update Gnulib files to commit d4b129b8e5f8a8d1198020fd6fc79310d305936c.

commit 1da93484fbaef11def3e74fe72039adec52d5fd7
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 24 22:04:44 2008 +0100

    Use orthodox libtoology in `guile'.
    
    * libguile/guile.c (main): Use `LTDL_SET_PRELOADED_SYMBOLS ()' instead
      of our own trick.

commit 7635043239e9ac2786fec54df3eff73c7f213518
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 24 09:40:00 2008 +0100

    Run the handler of SRFI-34's `with-exception-handler' in the right dyn. env.
    
    * srfi/srfi-34.scm (with-exception-handler): Use `with-throw-handler'
      instead of `lazy-catch'.
    
    * test-suite/tests/srfi-34.test ("SRFI 34")["`with-exception-handler'
      invokes HANDLER in THUNK's dynamic env."]: New test.
    
    * test-suite/tests/srfi-39.test: Use `(srfi srfi-34)'.
      ("SRFI-39")["SRFI-34"]: New test.
    
    * NEWS: Update.

commit 92834759359e8061479215579134e70da23c6336
Author: Ludovic Courtès <address@hidden>
Date:   Mon Nov 24 09:10:51 2008 +0100

    Fix comments in `test-scm-c-read.c'.
    
    * test-suite/standalone/test-scm-c-read.c (make_port): Fix comments.

commit 8e7ff77376d99f7c0641d906e40f85320273bb20
Author: Ludovic Courtès <address@hidden>
Date:   Sat Nov 22 15:48:16 2008 +0100

    Add C unit test for `scm_c_read ()' and the port API.
    
    * test-suite/standalone/Makefile.am (check_PROGRAMS, TESTS): Add
      `test-scm-c-read'.
      (test_scm_c_read_SOURCES, test_scm_c_read_CFLAGS,
      test_scm_c_read_LDADD): New.

commit 6d2275560d32a157e1d26b15cdd73fb80daef526
Author: Neil Jerram <address@hidden>
Date:   Sun Nov 23 22:37:23 2008 +0000

    Make scm_c_read use caller buffer only for unbuffered ports.
    
    We recently modified scm_c_read so that it temporarily swaps the
    caller's buffer with the port's normal read buffer, in order to
    improve performance in the case where the port is unbuffered (which
    actually means having a single-byte buffer) - but we implemented the
    swap in the buffered case too.  The latter turns out to be a bad idea
    - because it means that the C code of a custom port implementation
    cannot rely on a port's buffer always being the same as when it was
    first set up - and so this commit reverts that.  The buffer swapping
    trick now applies to unbuffered ports only.
    
    * libguile/ports.c (scm_c_read): Only do swapping of port and caller
      buffer for unbuffered ports.

commit f7e5296e0417b7d4bac3e4244e12f3ba342b63a7
Author: Andy Wingo <address@hidden>
Date:   Thu Nov 20 13:45:27 2008 +0100

    late-variable-{ref,set} -> toplevel-{ref,set}
    
    * benchmark/lib.scm:
    * libguile/vm-i-system.c (toplevel-ref, toplevel-set):
    * module/system/vm/assemble.scm (codegen):
    * module/system/vm/disasm.scm (code-annotation):
      s/late-variable/toplevel/. It's just a better name.

commit 8680d53b8c66278eac6864d021172e9e97f7bfed
Author: Andy Wingo <address@hidden>
Date:   Thu Nov 20 13:44:22 2008 +0100

    merge vm docs into guile reference (as yet unfinished)
    
    * doc/ref/compiler.texi: A new empty section on the compiler.
    
    * doc/ref/data-rep.texi: Made to be a section of a chapter instead of an
      appendix. The beginnings of some revision, but not there yet.
    
    * doc/ref/guile.texi: Put the "Data Representation" essay into the new
      "History and Implementation Details" chapter.
    
    * doc/ref/history.texi: New empty section on Guile history.
    
    * doc/ref/libguile-concepts.texi:
    * doc/ref/libguile-smobs.texi: Fix up some xrefs.
    
    * doc/ref/vm.texi: New section documenting the VM. Not done yet.

commit b0b180d5227d76f5ca1e2f48b06f6d45195bd1f8
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 14 22:42:31 2008 +0100

    nifty generic compiler infrastructure -- no more hardcoded passes
    
    * module/system/base/language.scm (<language>): Rework so that instead of
      hardcoding passes in the language, we define compilers that translate
      from one language to another. Add `parser' to the language fields, a
      bit of a hack but useful for languages with s-expression external
      representations but with record internal representations.
      (define-language, *compilation-cache*, invalidate-compilation-cache!)
      (compute-compilation-order, lookup-compilation-order): Add an algorithm
      that does a depth-first search for a translation path from a source
      language to a target language, caching the result in a lookup table.
    
    * module/language/scheme/spec.scm:
    * module/language/ghil/spec.scm: Update to the new language format.
    
    * module/language/glil/spec.scm: Add a language specification for GLIL,
      with a compiler to objcode. Also there are parsers and printers, for
      repl usage, but for some reason this doesn't work yet.
    
    * module/language/objcode/spec.scm: Define a language specification for
      object code. There is some sleight of hand here, in the "compiler" to
      values; but there is method behind the madness, because this way we
      higher levels can pass environments (a module + externals pair) to
      objcode->program.
    
    * module/language/value/spec.scm: Define a language specification for
      values. There is something intellectually dishonest about this, but it
      does serve its purpose as a foundation for the language hierarchy.
    
    * configure.in:
    * module/language/Makefile.am
    * module/language/ghil/Makefile.am
    * module/language/glil/Makefile.am
    * module/language/objcode/Makefile.am
    * module/language/value/Makefile.am:
      Autotomfoolery for the ghil, glil, objcode, and value languages.
    
    * module/language/scheme/translate.scm (translate): Import the bits that
      understand `compile-time-environment' here, and pass on the relevant
      portions of the environment to the next compiler pass.
    
    * module/system/base/compile.scm (current-language): New procedure, refs
      the current language fluid, or lazily sets it to scheme.
      (call-once, call-with-output-file/atomic): Refactor these bits to use
      with-throw-handler. No functional change.
      (compile-file, compile-and-load, compile-passes, compile-fold)
      (compile): Refactor the public interface of the compiler to be generic
      and simple. Uses `lookup-compilation-order' to find a path from the
      source language to the target language.
    
    * module/system/base/syntax.scm (define-type): Adapt to changes in
      define-record.
      (define-record): Instead of expecting all slots in the first form,
      expect them in the body, and let the first form hold the options.
    
    * module/system/il/compile.scm (compile): Adapt to the compilation pass
      API (three in and two out).
    
    * module/system/il/ghil.scm (<ghil-var>, <ghil-env>)
      (<ghil-toplevel-env>): Adapt to define-record changes.
    
    * module/system/il/glil.scm (<glil-vars>): Adapt to define-record
      changes.
      (<glil>, print-glil): Add a GLIL record printer that uses unparse.
      (parse-glil, unparse-glil): Update unparse (formerly known as pprint),
      and write a parse function.
    
    * module/system/repl/common.scm (<repl>): Adapt to define-record changes.
      (repl-parse): New function, parses the read form using the current
      language. Something of a hack.
      (repl-compile): Adapt to changes in `compile'.
      (repl-eval): Fix up the does-the-language-have-a-compiler check for
      changes in <language>.
    
    * module/system/repl/repl.scm (start-repl): Parse the form before eval.
    
    * module/system/repl/command.scm (describe): Parse.
      (compile): Be more generic.
      (compile-file): Adapt to changes in compile-file.
      (disassemble, time, profile, trace): Parse.
    
    * module/system/vm/debug.scm:
    * module/system/vm/assemble.scm: Adapt to define-record changes.
    
    * module/language/scheme/translate.scm (receive): Fix an important bug
      that gave `receive' letrec semantics instead of let semantics. Whoops!

commit c9e44fd755ae3bba217f3ae053d4ffc1c26ddc57
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 14 00:41:41 2008 +0100

    Update `THANKS'.

commit ccf1ca4adfd43cbc814c7b437a0f9d78c7787e1a
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 14 00:35:32 2008 +0100

    Update the thread stack base when `scm_with_guile' is invoked multiple 
times.
    
    * NEWS: Update.
    
    * libguile/threads.c (scm_i_init_thread_for_guile): When the thread is
      already guilified, update `t->base' so that it corresponds to the new
      stack base.  Bug report and patch by Linas Vepstas <address@hidden>.
    
    * test-suite/standalone/Makefile.am (test_scm_with_guile_CFLAGS,
      test_scm_with_guile_LDADD): New.
      (check_PROGRAMS, TESTS): Add `test-scm-with-guile'.

commit 38c1da430cf0b83c1dcd09bb99fd5f3fc0ea830a
Author: Ludovic Courtès <address@hidden>
Date:   Thu Nov 13 23:27:25 2008 +0100

    Augment `.gitignore'.

commit 1660414a24acdd3fc2820c0be0b4cb8654da382b
Author: Ludovic Courtès <address@hidden>
Date:   Thu Nov 13 23:24:32 2008 +0100

    Update "guile(1)" man page.
    
    * doc/guile.1: Remove reference to the version and date.  Mention R5RS,
      instead of R4RS.  Explicitly say that the full documentation is in
      Texinfo (as other GNU packages do).

commit 9e4db0ef4d00a17e39eb420b4a4ecd94cc44eefa
Author: Ludovic Courtès <address@hidden>
Date:   Thu Nov 13 23:12:34 2008 +0100

    Add "guile(1)" man page.
    
    Robert Merkel's copyright assignment to the FSF had apparently been on
    file for some time.
    
    * NEWS: Update.
    
    * doc/Makefile.am (dist_man1_MANS): New.

commit 7493339cfc36cf95b77aa8a1ad4cd0b5dd36710a
Author: Andy Wingo <address@hidden>
Date:   Wed Nov 12 00:29:45 2008 +0100

    more ghil parsing fixen
    
    * module/system/il/ghil.scm (parse-ghil): Fix a typo for values*
      (unparse-ghil): Only output (quote foo) if the object is a symbol.
      (unparse-ghil): Fix some missing ,@.

commit 7c290506607ca9e003dbdacca701e2870f2d777b
Author: Andy Wingo <address@hidden>
Date:   Tue Nov 11 23:12:39 2008 +0100

    fix unparse-ghil errors with quasiquote
    
    * module/system/il/ghil.scm (unparse-ghil): Fix some issues with
      quasiquote and unquote[-splicing]. Doh!

commit 32c8ae2009b8ec3ec395a492dc1720ac5456343a
Author: Andy Wingo <address@hidden>
Date:   Tue Nov 11 23:11:27 2008 +0100

    rashly bump stack limit to 40k words
    
    * libguile/eval.c (scm_debug_opts): Whereas, today's machines are larger
      than yesterday's; GCC consumes more words per stack frame than it used
      to; and you can get quite some recursion in a halfway-compiled system,
      be it resolved: let's bump up the C stack limit to 40k words (160 kB /
      320 kB, depending on word size).

commit f38624b349c29e3e5b3e6518959f33803af45558
Author: Andy Wingo <address@hidden>
Date:   Tue Nov 11 22:52:24 2008 +0100

    add parsers and unparser for ghil; ,language ghil works now
    
    * module/system/repl/common.scm (repl-print): Slightly refine the meaning
      of "language-printer": a language printer prints an expression of a
      language, not the result of evaluation. `write' prints values.
    
    * module/language/ghil/spec.scm (ghil): Define a language printer, and a
      translator for turning s-expressions (not scheme, mind you) into GHIL.
    
    * module/language/scheme/translate.scm (quote, quasiquote): Add some
      #:keyword action, so that we can (quote #:keywords).
    
    * module/system/base/language.scm (<language>):
    * module/system/base/compile.scm (read-file-in): Don't require that a
      language have a read-file; instead error when read-file is called.
      (compile-passes, compile-in): Refactor to call a helper method to turn
      the language + set of options into a set of compiler passes.
    
    * module/system/base/syntax.scm (define-type): Allow the type to be a
      list, with the car being the name and the cdr being keyword options.
      Interpret #:printer as a printer, and pass it down to...
      (define-record): Here.
    
    * module/system/il/ghil.scm (print-ghil, <ghil>): New printer for GHIL,
      yay!
      (parse-ghil, unparse-ghil): New lovely functions. Will document them in
      the manual.

commit f698d111b4e6cc763c01e157c291358152a18ec3
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 10 12:17:18 2008 +0100

    remove .cvsignore files

commit 2651e3c4122618f0836c5d983309650df2362a5f
Author: Andy Wingo <address@hidden>
Date:   Sun Nov 2 01:37:00 2008 +0100

    proper printing of thunks, reduced disasm verbosity
    
    * module/system/vm/disasm.scm (disassemble-program): Don't print the
      nargs= nrest= etc line, it's redundant.
    
    * module/system/vm/program.scm (program-bindings-as-lambda-list): If the
      program bindings is null, then that's that.

commit 6c3686ea144c2b7e72c64f8d5df966ae1691d986
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 20:31:57 2008 +0100

    define macros before functions using macros; more MV fixen in srfi-69
    
    * module/srfi/srfi-69.scm: Move the macros up before the functions that
      use them, so that the compiler can do its job.
      (hash-table-walk): While it is true about what I said about R5RS
      before, it seems that for R6 this will have to change. Anyway. In the
      meantime, since the test suite checks that hash-table-walk procedures'
      return values and number of return values are ignored, call that
      procedure within a call-with-values.

commit 9b10d0bcfd363508b833e09f70ad5fb4e74059ad
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 18:37:48 2008 +0100

    fix for (apply values '(1))
    
    * libguile/vm-i-system.c (return/values): In the
      multiple-values-to-a-single-value-continuation (or MV but where N=1),
      null out the correct number of values from the stack. Fixes aborts on
      (apply values '(1)).
    
    * testsuite/t-values.scm (call-with-values): Add a test.

commit 42906d7406913a724aea52e4d8f087e6819ab4c6
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 18:19:19 2008 +0100

    fix multiple values coming from interpreted or C procedures
    
    * libguile/vm-i-system.c (call, goto/args): Handle the case in which a
      non-program (i.e. interpreted program or a subr) returns multiple
      values.
    
    * testsuite/t-values.scm: Add test case that exhibited this problem.

commit 3fd8807eab56f37eb881e2be98246ec6620957ab
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 17:12:23 2008 +0100

    make-procedure-with-setter inherits name from getter
    
    * libguile/procs.c (scm_make_procedure_with_setter): Patch through the
      getter's procedure name to the procedure-with-setter. Fixes part of the
      srfi-17 test, as the VM doesn't set procedure-name on define -- but
      perhaps that is the bug that should be fixed. In any case this patching
      is cheap.
    
    * test-suite/tests/eval.test: Change so that (define name pws) is
      initially passed an anonymous procedure-with-setter, as was the case
      before the procs.c change.

commit 0a283d1b0b07d3b4ba1358e797f697a9a5850ca8
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 14:25:53 2008 +0100

    avoid delivering 0 values to 1-valued continuations in srfi-19
    
    * module/srfi/srfi-19.scm: Some parts of this code used a strange idiom,
      `(values)', to indicate that a procedure did nothing. However, quoth
      R5RS:
    
         Except for continuations created by the `call-with-values'
         procedure, all continuations take exactly one value.
    
      Indeed the VM indicated this error. I reworked the code to avoid these
      cases.

commit ea93465de79826ca8bbd3689bfbccca58e8d9353
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 13:49:23 2008 +0100

    move scm srfi files to module/srfi, and compile them.
    
    * .gitignore: Add gdb-pre-inst-guile.
    
    * configure.in: Add module/srfi/Makefile.
    
    * module/Makefile.am: Add srfi/.
    
    * module/srfi/: SRFI scheme files moved here, and compiled.
    
    * srfi/Makefile.am: Remove the bits about the scheme files.

commit 3f0bce1e14a4da50ff401104896314c5122a9765
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 13:05:10 2008 +0100

    move guilec.mk to am/guilec
    
    * am/Makefile.am:
    * am/guilec: guilec moved here from /guilec.mk.
    
    All includers of guilec adapted.

commit b1368a416617dc152eaa84a4ca1e0a0d667e3a6d
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 12:53:37 2008 +0100

    remove stale env script, clean up gdb-pre-inst-guile
    
    * env: Removed (a vestige of the guile-vm merge).
    
    * gdb-pre-inst-guile.in: Make a bit more robust (using libtool
      --mode=execute).

commit 00d04892052f345a844c967adbe77c258896c1e7
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 1 12:44:21 2008 +0100

    move ice-9/ and oop/ under module/
    
    Moved ice-9/ and oop/ under module/, with the idea being that we have
    only scheme under module/. Adjusted configure.in and Makefile.am
    appropriately. Put oop/ at the end of the compilation order.

commit 5192c9e89bc18e5f6b33741aceed66bf28d56823
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 18:30:27 2008 +0100

    compile goops accessors. woot!
    
    * oop/goops.scm: Define compiler hooks for dealing with @slot-ref and
      @slot-set!.
      (make-bound-check-get, make-get, make-set): Compile these indexed
      accessors instead of having them be closures. Probably slower for the
      memoizer, but faster for the vm... not sure what the perfect solution
      is.
    
    * test-suite/tests/goops.test ("defining classes"): Add a test that
      defining a class with accessors works (it didn't until I figured out
      that (@ (system base compile) compile) thing).

commit 1e4b834ab1821f272359e03712044a4793c5d529
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 14:09:01 2008 +0100

    new ops: slot-ref, slot-set. remove and recompile your .go files
    
    * libguile/vm-i-scheme.c (slot-ref, slot-set): New ops.

commit eb5f05c3209530792ddbd81a8afadaed3836b168
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 14:07:11 2008 +0100

    fix bug in define-scheme-translator
    
    * module/language/scheme/translate.scm (define-scheme-translator): Fix a
      bug in this macro for the syntax-error case.

commit 03fa04dfe13512d37e0f19ffd0e6c7f5db8f466f
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 13:28:06 2008 +0100

    pass backtraces through the compiler
    
    * module/system/base/compile.scm (call-with-nonlocal-exit-protect): New
      helper, like unwind-protect but only for nonlocal exits.
      (call-with-output-file/atomic): Use call-with-nonlocal-exit-protect so
      that we don't mess up backtraces by catching all and then rethrowing.
      Should fix this more comprehensively somewhere, though.

commit 46ccd0bbf919b8b501355e0452deaee123057239
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 13:26:48 2008 +0100

    make define-inline more usable from external modules
    
    * module/system/il/inline.scm (define-inline): Use @ when accessing
      module vars so that other modules don't need to import all of our
      modules. However case-lambda is still needed.

commit fd4da4fae65c5dad3cd8d62a7cb31f85ac669fdf
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 13:25:11 2008 +0100

    rework the scheme translator so it's extensible by external modules
    
    * module/language/scheme/translate.scm (*translate-table*)
      (define-scheme-translator): Rework the translator to have the clauses
      defined separately via the define-scheme-translator macro, so that
      external modules can define their own translators. Should be no
      functional change in this commit, though.

commit 4631414e299060ae1c2a2e33fc3e79dfe0e82d53
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 11:35:47 2008 +0100

    compile goops submodules, goops.test now passes again
    
    * libguile/goops.c (get_slot_value, set_slot_value): While keeping the
      inlined getter/setter dispatch for closures, allow the getters and
      setters to be any kind of procedure.
    
    * oop/goops.scm (compute-getters-n-setters): Relax the checks on
      getter/setter procedures, so that if a getter is a procedure but not a
      closure, we don't try to poke its arity.
    
    * oop/goops/Makefile.am (SOURCES): Compile all the goops submodules!
    
    * oop/goops/old-define-method.scm: Removed, in an act of housekeeping.
    
    * oop/goops/compile.scm:
    * oop/goops/dispatch.scm: Break a circular module dependency by making
      sure that (oop goops) is loaded when we go to compile submodules.
    
    * oop/goops/compile.scm (compile-method/memoizer)
      (compile-method/memoizer+next): Allow a procedure without source
      through. This can happen with getter and setter lambdas that were
      compiled, and in that case there is no next-method call anyway. Ideally
      we should be able to specify compile-method for accessor methods...

commit fd7ac322a5dd990148d9dd94cb4596a81ad2ff46
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 10:14:49 2008 +0100

    fix chaining up from interpreted to compiled methods; allow compiled 
init-thunk
    
    * libguile/goops.c (scm_sys_initialize_object): Don't assume that an init
      thunk is a closure; just go through scm_call_0 instead.
    
    * oop/goops/compile.scm (make-make-next-method/memoizer): Allow for the
      case that the next method is compiled.

commit 7d38f3d819aba904c44a7e48197a43729083f808
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 31 00:07:04 2008 +0100

    compile goops
    
    The pending task is to make the accessors compiled too, and also to
    compile compile.scm and dispatch.scm, and to integrate dispatch into the
    VM.
    
    * oop/Makefile.am (SOURCES): VM-ify the makefile, so we compile goops.scm
      by default.
    
    * oop/goops.scm (load-toplevel): Load goops builtins when compiling too.
      (method): Fix a literal #<unspecified> in the generated procedure (for
      an empty body).
      (internal-add-method!): Cleverness when bootstrapping add-method!.
      Neat!
      (initialize for <generic>): Use the `method' macro so we get
      compilation support.
    
    * oop/goops/dispatch.scm (cache-methods): Don't assume entries are pairs.

commit 41a2772c5c234407c991f97ce08e34fba372e6c5
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 30 15:53:11 2008 +0100

    compile occam-channel
    
    * ice-9/Makefile.am (SOURCES): Compile the goops-using occam-channel.scm.

commit 05b37c17ff8e7099d047ae8265766fbb084cb1c3
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 30 15:50:48 2008 +0100

    fix up some assumptions that cmethods were lists
    
    * libguile/eval.i.c (type_dispatch, apply_vm_cmethod)
      (apply_memoized_cmethod): Tweak the nastiness a bit more so as to deal
      with the '(no-method) empty entries. I would like to stop the search if
      the cdr isn't a pair, but currently with the inlined memoized bits, the
      cdr is a pair. The fix would be to make the memoizer return a procedure
      and not the already-inlined bits -- slightly slower but the vm will be
      faster anyway.
    
    * libguile/objects.c (scm_mcache_lookup_cmethod): Same fixes here.
    
    * oop/goops/dispatch.scm (cache-hashval, cache-try-hash!): Allow non-list
      cmethod tails.

commit 5487977b1bf4a120cc3604f649cc51ea39b533d9
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 30 13:42:40 2008 +0100

    runtime byte compilation of goops methods, whooooo
    
    * ice-9/boot-9.scm (make-modules-in): Change to make sure that we are
      making modules in modules; that is, that a global binding of `compile'
      doesn't prevent a module from importing a submodule named `compile'.
      (resolve-module): Clean up a bit, and serialize the logic.
    
    * libguile/objects.c (scm_mcache_lookup_cmethod, scm_apply_generic):
    * libguile/eval.i.c (CEVAL): Now that cmethod entries can have a program
      as their tail instead of a memoized proc, we have to change the halting
      condition on the method cache search, in both places: the one that's
      inlined into eval.i.c and the one in objects.c. If the cmethod isn't a
      pair, apply it.
    
    * libguile/goops.c (make): In the `make' procedure that's used before
      GOOPS is booted, bind #:formals, #:body, and #:compile-env on methods.
    
    * oop/goops/compile.scm (compute-entry-with-cmethod): There was a
      terrible trick here that involved putting a dummy pair in the cache,
      then modifying it in place with the result of memoization. The note
      claimed that this was to cut recursion short, or something. I can't see
      how it could recurse, given that `methods' is changing each time. Also,
      the pair trick doesn't work with byte-compiled methods. So, remove it.
      (compile-method): Dispatch to the appropriate method compiler, based on
      whether the method was defined with the interpreter or with the
      compiler.
      (make-next-method): New function, generically computes a `next-method'
      procedure, though the caller has to supply the arguments.
      (compile-method/vm): Exciting method byte compiler!
      (make-make-next-method/memoizer, compile-method/memoizer): Add the
      /memoizer suffix, and move all this code to the bottom of the file.

commit 3de80ed52f7482faee2ce883d3df21eb8a38ee7a
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 30 10:57:36 2008 +0100

    recompiling with compile environments, fluid languages, cleanups
    
    * ice-9/boot-9.scm (compile-time-environment): Remove definition from
      boot-9 -- instead, autoload it and `compile' from (system base
      compile).
    
    * libguile/objcodes.h:
    * libguile/objcodes.c (scm_objcode_to_program): Add an optional argument,
      `external', the external list to set on the returned program.
    
    * libguile/vm-i-system.c (externals): New instruction, returns the
      external list. Only used by (compile-time-environment).
    
    * libguile/vm.c (scm_load_compiled_with_vm): Adapt to
      scm_objcode_to_program change.
    
    * module/language/scheme/translate.scm (translate): Actually pay
      attention to the environment passed as an argument.
      (custom-transformer-table): Expand out (compile-time-environment) to
      something that can be passed to `compile'.
    
    * module/system/base/compile.scm (*current-language*): Instead of
      hard-coding `scheme' in various places, use a current language fluid,
      initialized to `scheme'.
      (compile-file, load-source-file): Adapt to *current-language*.
      (load-source-file): Ada
      (scheme-eval): Removed, no one used this.
      (compiled-file-name): Don't hard-code "scm" and "go"; instead use the
      %load-extensions and %load-compiled-extensions.
      (cenv-module, cenv-ghil-env, cenv-externals): Some accessors for
      compile-time environments.
      (compile-time-environment): Here we define (compile-time-environment)
      to something that will return #f; the compiler however produces
      different code as noted above.
      (compile): New function, compiles an expression into a thunk, then runs
      the thunk to get the value. Useful for procedures. The optional second
      argument can be either a module or a compile-time-environment; in the
      latter case, we can recompile even with lexical bindings.
      (compile-in): If the env specifies a module, set that module for the
      duration of the compilation.
    
    * module/system/base/syntax.scm (%compute-initargs): Fix a bug where the
      default value for a field would always replace a user-supplied value.
      Whoops.
    
    * module/system/il/ghil.scm (ghil-env-dereify): New function, takes the
      result of ghil-env-reify and turns it back into a GHIL environment.
    
    * scripts/compile (compile): Remove some of the tricky error handling, as
      the library procedures handle this for us.
    
    * test-suite/tests/compiler.test: Add a test for the dynamic compilation
      bits.

commit 9c646eee436c0fa4760962bc0c4070892522eff1
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 26 21:43:04 2008 +0000

    Fix stack calibration-related errors when running make distcheck.
    
    * libguile/Makefile.am (stack-limit-calibration.scm): Use $(srcdir), to
      support building in a different directory.
      (MOSTLYCLEANFILES): Add stack-limit-calibration.scm.

commit 21497600d23534b2878f82401ffaf5551fdb6efd
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 24 11:56:31 2008 +0200

    add `formals', `body', and `compile-env' slots to <method>
    
    * ice-9/boot-9.scm (compile-time-environment): Return #f instead of
      erroring under the interpreter, a bit more sane.
    
    * libguile/goops.c (create_standard_classes):
    * libguile/goops.h (scm_si_formals, scm_si_body, scm_si_compile_env):
    * oop/goops.scm (method, initialize): Add `formals', `body', and
      `compile-env' slots to <method>.

commit ae9ce4b786dd76d85061c5a3ceb3bb96b5ba6115
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 24 11:38:32 2008 +0200

    defmacroize (oop goops accessors), (oop goops save)
    
    * oop/goops/accessors.scm (define-class-with-accessors)
      (define-class-with-accessors-keywords): Turn into defmacros.
    
    * oop/goops/save.scm (readable, restore, write-component): Turn into
      defmacros.
    
    Both of these changes are untested, unfortunately.

commit 20bdc71054e6917442097e18de208ca8db89b5fd
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 24 11:36:59 2008 +0200

    add `compile-time-environment'
    
    * ice-9/boot-9.scm (compile-time-environment): New function, with
      documentation. The trick is that the compiler recognizes calls to
      (compile-time-environment) and replaces it with a representation of the
      *available* lexicals. Note that this might not be all the lexicals;
      only the heap-allocated ones are returned.
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile `compile-time-environment' to <ghil-reified-env>.
    
    * module/system/il/compile.scm (codegen): Add <ghil-reified-env> clause,
      which calls ghil-env-reify.
    
    * module/system/il/ghil.scm (ghil-env-reify): New procedure, returns a
      list of (NAME . EXTERNAL-INDEX).
      (<ghil>): Add <ghil-reified-env> object.

commit 1086fabdc9452846f1b269da7faf2022b5cc7472
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 24 11:09:43 2008 +0200

    define-type no longer expects `|' subform
    
    * module/system/base/syntax.scm (define-type): Rework to not require the
      `|', which confuses Emacs.
    
    * module/system/il/ghil.scm (<ghil>):
    * module/system/il/glil.scm (<glil>): Adapt to define-type changes.

commit 7776113a28f460592b484ec882e20777e20c35f0
Author: Neil Jerram <address@hidden>
Date:   Fri Oct 24 22:46:43 2008 +0100

    Add measure-hwm.scm to the set of distribution files.
    
    * libguile/Makefile.am (EXTRA_DIST): Add measure-hwm.scm.

commit f9d44e84761a2898671deb10ad538aad04f232ab
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 22 08:45:42 2008 +0100

    Fix hang in srfi-18.test
    
        * libguile/threads.h (held_mutex): New field.
    
        * libguile/threads.c (enqueue, remqueue, dequeue): Use critical
        section to protect access to the queue.
        (guilify_self_1): Initialize held_mutex field.
        (on_thread_exit): If held_mutex non-null, unlock it.
        (fat_mutex_unlock, fat_cond_free, scm_make_condition_variable,
        fat_cond_signal, fat_cond_broadcast): Delete now unnecessary uses
        of c->lock.
        (fat_mutex_unlock): Pass m->lock to block_self() instead of
        c->lock; move scm_i_pthread_mutex_unlock(m->lock) call from before
        block_self() to after.
        (scm_pthread_cond_wait, scm_pthread_cond_timedwait,
        scm_i_thread_sleep_for_gc): Set held_mutex before pthread call;
        reset it afterwards.
    
    I was seeing a hang in srfi-18.test, when running make check in master,
    in the "exception handler installation is thread-safe" test.  It wasn't
    100% reproducible, so looked like a race.
    
    The problem is that wait-condition-variable is not actually
    atomic in the way that it is supposed to be.  It unlocks the mutex,
    then starts waiting on the cond var.  So it is possible for another
    thread to lock the same mutex, and signal the cond var, before the
    wait-condition-variable thread starts waiting.
    
    In order for wait-condition-variable to be atomic - e.g. in a race
    where thread A holds (Scheme-level) mutex M, and calls
    (wait-condition-variable C M), and thread B calls (begin (lock-mutex
    M) (signal-condition-variable C)) - it needs to call pthread_cond_wait
    with the same underlying mutex as is involved in the `lock-mutex'
    call.  In terms of the threads.c code, this means that it has to use
    M->lock, not C->lock.
    
    block_self() used its mutex arg for two purposes: for protecting
    access and changes to the wait queue, and for the pthread_cond_wait
    call.  But it wouldn't work reliably to use M->lock to protect C's
    wait queue, because in theory two threads can call
    (wait-condition-variable C M1) and (wait-condition-variable C M2)
    concurrently, with M1 and M2 different.  So we either have to pass
    both C->lock and M->lock into block_self(), or use some other mutex to
    protect the wait queue.  For this patch, I switched to using the
    critical section mutex, because that is a global and so easily
    available.  (If that turns out to be a problem for performance, we
    could make each queue structure have its own mutex, but there's no
    reason to believe yet that it is a problem, because the critical
    section mutex isn't used much overall.)
    
    So then we call block_self() with M->lock, and move where M->lock is
    unlocked to after the block_self() call, instead of before.
    
    That solves the first hang, but introduces a new one, when a SRFI-18
    thread is terminated (`thread-terminate!') between being launched
    (`make-thread') and started (`thread-start!').  The problem now is
    that pthread_cond_wait is a cancellation point (see man
    pthread_cancel), so the pthread_cond_wait call is one of the few
    places where a thread-terminate! call can take effect.  If the thread
    is cancelled at that point, M->lock ends up still being locked, and
    then when do_thread_exit() tries to lock M->lock again, it hangs.
    
    The fix for that is a new `held_mutex' field in scm_i_thread, which is
    set to point to the mutex just before a pthread_cond_(timed)wait call,
    and set to NULL again afterwards.  If on_thread_exit() finds that
    held_mutex is non-NULL, it unlocks that mutex.
    
    A detail is that checking and unlocking held_mutex must be done before
    on_thread_exit() calls scm_i_ensure_signal_delivery_thread(), because
    the innards of scm_i_ensure_signal_delivery_thread() can do another
    pthread_cond_wait() call and so overwrite held_mutex.  But that's OK,
    because it's fine for the mutex check and unlock to happen outside
    Guile mode.
    
    Lastly, C->lock is then not needed, so I've removed it.

commit d2a510879be656b278a58e8110e4f222d0845847
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 22 08:45:42 2008 +0100

    Fix hang in srfi-18.test
    
        * libguile/threads.h (held_mutex): New field.
    
        * libguile/threads.c (enqueue, remqueue, dequeue): Use critical
        section to protect access to the queue.
        (guilify_self_1): Initialize held_mutex field.
        (on_thread_exit): If held_mutex non-null, unlock it.
        (fat_mutex_unlock, fat_cond_free, scm_make_condition_variable,
        fat_cond_signal, fat_cond_broadcast): Delete now unnecessary uses
        of c->lock.
        (fat_mutex_unlock): Pass m->lock to block_self() instead of
        c->lock; move scm_i_pthread_mutex_unlock(m->lock) call from before
        block_self() to after.
        (scm_pthread_cond_wait, scm_pthread_cond_timedwait,
        scm_i_thread_sleep_for_gc): Set held_mutex before pthread call;
        reset it afterwards.
    
    I was seeing a hang in srfi-18.test, when running make check in master,
    in the "exception handler installation is thread-safe" test.  It wasn't
    100% reproducible, so looked like a race.
    
    The problem is that wait-condition-variable is not actually
    atomic in the way that it is supposed to be.  It unlocks the mutex,
    then starts waiting on the cond var.  So it is possible for another
    thread to lock the same mutex, and signal the cond var, before the
    wait-condition-variable thread starts waiting.
    
    In order for wait-condition-variable to be atomic - e.g. in a race
    where thread A holds (Scheme-level) mutex M, and calls
    (wait-condition-variable C M), and thread B calls (begin (lock-mutex
    M) (signal-condition-variable C)) - it needs to call pthread_cond_wait
    with the same underlying mutex as is involved in the `lock-mutex'
    call.  In terms of the threads.c code, this means that it has to use
    M->lock, not C->lock.
    
    block_self() used its mutex arg for two purposes: for protecting
    access and changes to the wait queue, and for the pthread_cond_wait
    call.  But it wouldn't work reliably to use M->lock to protect C's
    wait queue, because in theory two threads can call
    (wait-condition-variable C M1) and (wait-condition-variable C M2)
    concurrently, with M1 and M2 different.  So we either have to pass
    both C->lock and M->lock into block_self(), or use some other mutex to
    protect the wait queue.  For this patch, I switched to using the
    critical section mutex, because that is a global and so easily
    available.  (If that turns out to be a problem for performance, we
    could make each queue structure have its own mutex, but there's no
    reason to believe yet that it is a problem, because the critical
    section mutex isn't used much overall.)
    
    So then we call block_self() with M->lock, and move where M->lock is
    unlocked to after the block_self() call, instead of before.
    
    That solves the first hang, but introduces a new one, when a SRFI-18
    thread is terminated (`thread-terminate!') between being launched
    (`make-thread') and started (`thread-start!').  The problem now is
    that pthread_cond_wait is a cancellation point (see man
    pthread_cancel), so the pthread_cond_wait call is one of the few
    places where a thread-terminate! call can take effect.  If the thread
    is cancelled at that point, M->lock ends up still being locked, and
    then when do_thread_exit() tries to lock M->lock again, it hangs.
    
    The fix for that is a new `held_mutex' field in scm_i_thread, which is
    set to point to the mutex just before a pthread_cond_(timed)wait call,
    and set to NULL again afterwards.  If on_thread_exit() finds that
    held_mutex is non-NULL, it unlocks that mutex.
    
    A detail is that checking and unlocking held_mutex must be done before
    on_thread_exit() calls scm_i_ensure_signal_delivery_thread(), because
    the innards of scm_i_ensure_signal_delivery_thread() can do another
    pthread_cond_wait() call and so overwrite held_mutex.  But that's OK,
    because it's fine for the mutex check and unlock to happen outside
    Guile mode.
    
    Lastly, C->lock is then not needed, so I've removed it.

commit 02e720ff76049e21c1206576442683818323d574
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 23 15:00:19 2008 +0200

    method is a defmacro.
    
    * oop/goops.scm (method): Make into a defmacro.

commit 56f952c682273594288dccc828afdc8ddc4ecf38
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 23 14:56:17 2008 +0200

    define-method is a defmacro
    
    * oop/goops.scm (define-method): Make into a defmacro -- didn't change
      any of the logic, but the logic is a bit dodgy (see the note in the
      source).

commit 1d83f47eb0f4ee4ee8e925c08b7f6ea433ea3c5f
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 23 14:24:57 2008 +0200

    define-generic, define-accessor are defmacros too
    
    * oop/goops.scm (define-generic, define-accessor): Define as defmacros. I
      find their semantics to be a bit odd, though -- but the test case
      checks for this behavior, so we'll follow the test cases.

commit d31c5d197d173bd20f8218de8eeb5df5c704a30b
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 23 14:03:51 2008 +0200

    make `define-class' and `class' into defmacros
    
    * oop/goops.scm: Use srfi-1, as util.scm already does.
      (kw-do-map): New helper for processing keyword args.
      (define-class-pre-definition, define-class): Rework so that
      define-class is a defmacro without side effects. There are two
      functional differences: we don't check that define-class is called only
      at the toplevel, because defining a lexical class might makes sense,
      and defmacros don't give us the toplevel check that we would want.
      Second in the redefinition case, we don't do a `define', as we don't
      actually need a new variable.
      (class): Similarly, make `class' a defmacro.

commit 6ce6dc03c1e6f648e5d715f5221956377e66a2f9
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 18 19:42:37 2008 +0200

    fix typo in assembler
    
    * module/system/vm/assemble.scm (dump-object!): Whoops, spell `nexts'
      correctly.

commit 5e390de62f2355866e9bdad8b7aea4ac4080bdcd
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 18 19:21:44 2008 +0200

    fix bug in self-tail-recursion with "external" variables; other sundries
    
    * gdbinit (pp, inst): New commands.
    
    * libguile/vm-engine.c (vm_error_not_a_pair): New error case.
    
    * libguile/vm-i-scheme.c (VM_VALIDATE_CONS): New macro -- use this
      instead of SCM_VALIDATE_* because SCM_VALIDATE will exit nonlocally
      before we have a chance to sync the regs.
      (car, cdr, set-car, set-cdr): Use VM_VALIDATE_CONS.
    
    * libguile/vm-i-system.c (goto/args): Bugfix: when doing a
      self-tail-recursion, allocate fresh externals. Fixes use of match.go.
    
    * module/system/vm/assemble.scm (dump-object!): Add some checks that we
      aren't dumping out values that the VM can't handle.
    
    * module/system/vm/disasm.scm (disassemble-externals): Fix rotten call to
      `print-info'.
    
    * oop/goops/dispatch.scm: Add a FIXME.
    
    * testsuite/Makefile.am (vm_test_files):
    * testsuite/t-closure4.scm (extract-symbols): New test, distilled with
      much effort out of match.scm.
    
    * ice-9/Makefile.am (NOCOMP_SOURCES): Re-enable compilation of match.scm.
      Yay!

commit b3b45ac15ef508623dd9031f3c7e69dff7949801
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 18 16:06:43 2008 +0200

    bug fix to enable code "packing"
    
    * module/system/vm/conv.scm (code-pack): Fix so that we actually
      recognize (make-int8 1) and turn it into (make-int8:1).

commit d8b6e19181ffaf2df29431166cc4ca64c1390fc8
Author: Neil Jerram <address@hidden>
Date:   Fri Oct 17 21:43:36 2008 +0100

    Avoid `Stack overflow' errors when running `make check'
    
    For explanation, see comments and text in the new file
    libguile/measure-hwm.scm.
    
    * .gitignore: Add libguile/stack-limit-calibration.scm.
    
    * check-guile.in: Load libguile/stack-limit-calibration.scm.
    
    * configure.in: Add AC_CONFIG_FILES to generate test-use-srfi from
      test-use-srfi.in.
    
    * libguile/Makefile.am (TESTS, TESTS_ENVIRONMENT,
      stack-limit-calibration.scm): New targets, so that `make check'
      calibrates the stack limit before running the Guile test suite.
    
    * libguile/measure-hwm.scm: New file, calibrates stack limit for `make
      check'.
    
    * libguile/stackchk.c (scm_sys_get_stack_size): New primitive.
    
    * libguile/stackchk.h (scm_sys_get_stack_size): New primitive
      (declaration).
    
    * test-suite/standalone/test-use-srfi: Renamed test-use-srfi.in, so
      that ./configure can fill in variables in it.
    
    * test-suite/standalone/test-use-srfi.in: Load
      libguile/stack-limit-calibration.scm.

commit ec5cb8259132365f3a5388c9f833727fbfe5d22f
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 14:16:53 2008 +0200

    elisp.test: apply to nil-terminated list is UNRESOLVED with compiled boot-9
    
    * test-suite/tests/elisp.test: If running the '(apply foo nil) test
      fails with a vm-error, throw UNRESOLVED. This allows the test suite to
      pass in the compiled boot-9.scm while still keeping the elisp apply
      issue open.

commit 62f803617ebe694fe1e9badf2a32e68df4496cb7
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 13:58:59 2008 +0200

    run the elisp test with a larger stack limit
    
    * test-suite/tests/elisp.test: Enlarge the stack for the duration of the
      elisp test. It's a hack, but it at least allows the test to run with a
      compiled ice-9.

commit cc588f740fe01cfde08f2cba9914dd59a0206afc
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 13:56:41 2008 +0200

    fix backtraces, broken since the program-bindings format change
    
    * module/system/vm/frame.scm (frame-bindings): Fix for new binding
      format; actually use the bindings accessors.
      (frame-lookup-binding): Clarify.

commit f580ec0f56c40838a1f4cb8c8b02c4b5c70729a3
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 13:49:57 2008 +0200

    fix use of `binding' data abstraction
    
    * module/system/vm/assemble.scm (make-temp-binding, btemp:name)
      (btemp:extp, btemp:index): Don't abuse program.scm's make-binding to
      make something that actually isn't a binding.
      (codegen): Do use program.scm's make-binding to make something that
      actually is a binding.
    
    * module/system/vm/program.scm (binding:start, binding:end): New
      accessors.
      (make-binding): Expand to have the start and end arguments in the
      constructor.

commit 1f40459f5cd2389d0a44b6c46d431ed58f450f3a
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 13:24:39 2008 +0200

    ensure that lists pushed onto the stack are proper
    
    I saw this problem when running elisp.test -- it tries to apply a
    function to an arglist ending in nil, which obviously is not null.
    
    * libguile/vm-engine.h (PUSH_LIST): New helper macro, pushes the elements
      of a list onto the stack. Checks to make sure that the list is proper.
    
    * libguile/vm-i-system.c (list-break, mv-call, apply, goto/apply)
      (goto/cc): Use LIST_BREAK.
    
    * libguile/vm-engine.c (vm_error_improper_list): New error case.

commit 28a2f57bde42030e96b4c2ab574336c6e8c394b5
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 16 12:55:27 2008 +0200

    fix asyncs running in the vm; re-enable popen.scm compilation
    
    * libguile/vm-i-system.c (goto/args): Sync the registers before doing the
      SCM_TICK. We probably need a different SCM_TICK that saves the regs
      only if necessary. This fixes GC problems with a compiled popen.scm.
    
    * ice-9/Makefile.am: Re-enable popen.scm compilation.

commit 2588eccdf4b69272f978305c7c79eb4c7975b92f
Author: Andy Wingo <address@hidden>
Date:   Wed Oct 15 22:44:37 2008 +0200

    fix `(help)'
    
    * ice-9/session.scm (help): Return valid scheme forms in the no-arg and
      no-regex cases.

commit 1a38597553387a95d645df1c0310a1fedb1851ca
Author: Andy Wingo <address@hidden>
Date:   Wed Oct 15 22:42:51 2008 +0200

    fix mv-call disasm bug
    
    * module/system/vm/disasm.scm (code-annotation): Fix bug with mv-call.

commit 8f64368ee5e2923f38867da2d367755445e931d4
Author: Andy Wingo <address@hidden>
Date:   Wed Oct 15 22:30:47 2008 +0200

    fix disasm bugs, add some more instruction annotations
    
    * module/system/vm/disasm.scm (disassemble-program): Fix misunderstanding
      of nlocs: the *actual* number of locals is nlocs + nargs, even if the
      arg is heap-allocated -- because our calling convention always puts the
      initial val on the stack. Also: don't disassemble the objects, they are
      now woven into the text.
      (code-annotation): Fix external-{ref,set} handling to allow for
      referencing externals from enclosed stack frames. Really this should be
      statically determined, though. Add late-variable-{ref,set} handling.

commit 02b1883e5661eb1a9bfb196e060a22c2c2cadc88
Author: Andy Wingo <address@hidden>
Date:   Sun Oct 12 22:49:24 2008 +0200

    make disassembly better -- a more woven text.
    
    * module/system/vm/assemble.scm (pop): Define a pop here too.
      (codegen): Rework how bindings are represented in a program's
      meta-info, so they declare their range in the binding list instead of
      you having to figure out when they end.
    
    * module/system/vm/conv.scm (make-byte-decoder): Return the end-address
      as well; requires a change to callers.
    
    * module/system/vm/disasm.scm (disassemble-objcode, disassemble-program)
      (disassemble-bytecode, disassemble-objects, disassemble-externals)
      (disassemble-meta, source->string, make-int16, code-annotation)
      (print-info): Rework to display my domination of `format', and, more
      seriously, start to integrate the "subsections" of the disassembly into
      the main disassembly text.
    
    * module/system/vm/program.scm (program-bindings-as-lambda-list): Update
      for new bindings format; should be more correct.

commit 95b6ad34c3eefeaf85723841dca92c7da8f1322a
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 11 18:55:44 2008 +0200

    simplify disassembly annotations a bit
    
    * module/system/vm/disasm.scm (original-value): Simplify a bit to
      normally dispatch on the instruction, only trying code->object at the
      end.

commit 972c33e59277f21a51a99292ce03699b49bd9fa4
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 11 15:03:00 2008 +0200

    make each invocation of `while' throw to different keys
    
    * ice-9/boot-9.scm (while): Further fixes to while, brought out by the
      test suite. Also updated documentary comments.

commit 27d43e3cf72128bbf2ad4f4ee24585da5e238395
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 11 12:01:25 2008 +0200

    relax an assertion -- the test suite completes without aborting, whee
    
    * libguile/vm-i-system.c (call/cc, goto/cc): Don't assert that ip matches
      vp->ip, because vp->ip is not restored by vm_reset_stack, and indeed
      it's re-set to 0 by `halt'. But still, perhaps reset_stack and halt
      should indeed reset vp->ip.

commit 2bbe1533e8cf0f3954229d55b03f265d1a82fc90
Author: Andy Wingo <address@hidden>
Date:   Sat Oct 11 11:54:12 2008 +0200

    truly thread-local vms; don't compile popen.scm
    
    * ice-9/Makefile.am: Don't compile popen.scm, its behaviour at runtime
      is not consistent -- seems to miss some GC references? I suspect a bug
      in the compiler. In any case without popen.scm being compiled,
      continuations.test, r4rs.tes, and r5rs_pitfall.test do pass.
    
    * libguile/threads.h (scm_i_thread):
    * libguile/threads.c (thread_mark, guilify_self_2): Add a field for the
      thread's vm. Previously I had this as a fluid, but it seems that newly
      created threads share their fluid values from the creator thread; as
      expected, I guess. In any case one VM should not be active in two
      threads.
    
    * libguile/vm.c (scm_the_vm): Change to access the thread-local vm,
      instead of accessing a fluid.
      (scm_the_vm_fluid): Removed.
    
    * module/system/vm/vm.scm: Removed *the-vm*.

commit 88cefbc7de86e0061b0cc4fb5417de78f7afba15
Author: Ludovic Courtès <address@hidden>
Date:   Fri Oct 10 10:00:21 2008 +0200

    Fix compilation error due to strict aliasing rules on 
`i386-unknown-freebsd7.0'.
    
    * libguile/threads.c (scm_threads_mark_stacks): Cast `&t->regs' to
      `(void *)' rather than `(SCM_STACKITEM *)' to avoid "warning:
      dereferencing type-punned pointer will break strict-aliasing rules"
      with GCC 4.2.1 on `i386-unknown-freebsd7.0'.

commit ec9ef386157036ed5388023121720a179d4faeb9
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 9 22:56:19 2008 +0200

    Fix compilation of the hard copy of the R5RS, tutorial and GOOPS manual.
    
    * doc/tutorial/Makefile.am (TEXINFO_TEX): Remove.
    
    * doc/goops/Makefile.am (TEXINFO_TEX): Remove.
    
    * doc/r5rs/Makefile.am (TEXINFO_TEX): Remove.

commit 1ffa692322ef03890f7d15aadeb79cffaa0f105d
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 9 22:32:16 2008 +0200

    Add test case to make sure `read' returns mutable strings.
    
    * test-suite/tests/reader.test ("reading")["returned strings are
      mutable"]: New test, as reported by szgyg <address@hidden>.

commit 45a9f4304955599ee4e772069e56d131401695dd
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 9 22:21:33 2008 +0200

    Revert "Make literal strings (i.e., returned by `read') read-only."
    
    This reverts commit fb2f8886c4d537b0c7d3e9e78a8d4e5e272a36f4.
    
    The rationale is that `read' must return mutable strings, as reported
    by szgyg <address@hidden>.

commit 66db076ae17e1a6b5225fabaaeb6958115cc9b4c
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 9 14:44:43 2008 +0200

    NULLSTACK fixes for nonlocal exits in reentrant pre-wind handlers
    
    * libguile/vm-i-system.c (goto/cc): Add some asserts here.
    
    * libguile/vm.c (capture_vm_cont): Add some asserts here too.
      (reinstate_vm_cont): Null the correct number of bytes. Add a FIXME.
      (vm_reset_stack): Make the code a bit clearer. Null the correct number
      of bytes.
    
    * libguile/vm-engine.h (NULLSTACK_FOR_NONLOCAL_EXIT): New macro, handles
      a very tricky case that took me days to find! Amply commented. Expands
      to nothing in the normal case.
    
    * libguile/vm-i-system.c (call, goto/args, mv-call): Call
      NULLSTACK_FOR_NONLOCAL_EXIT in the right places. Fixes
      continuations.test.

commit 0570c3f197f910cc136969d6a2ed2ad0792b3501
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 9 12:17:51 2008 +0200

    sundries: side effects in interpreted repl, wrong-num-args in vm, 
self-checks
    
    * libguile/vm-engine.c (vm_error_wrong_num_args): Sync the registers
      before calling scm_wrong_num_args. (The other cases are handled more
      uniformly.)
    
    * libguile/vm.c (vm_heapify_frames_1): Add a FIXME: I don't think we
      should be modifying the stack.
      (scm_vm_save_stack): If stack nulling is enabled, verify the stack here
      before reifying it.
    
    * module/language/scheme/spec.scm (scheme): Use primitive-eval here
      instead of eval, because at the repl we do want to allow evaluations to
      have side effects like setting the current module.

commit 1bb6b839ecd06f3a487c792fb317f000a557f771
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 9 11:10:25 2008 +0200

    handle throws to unknown keys in the repl
    
    * module/system/repl/repl.scm (default-catch-handler): Don't rethrow if
      we don't know the key, just print an error.

commit 5a9634892fb0f68693654d8a59fb75b5747118dc
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 9 11:09:43 2008 +0200

    fix dynwind + nonlocal entrance/exit + programs bug
    
    * libguile/dynwind.c (scm_i_dowinds): Invoke guard procedures when
      entering and exiting nonlocally. Previously this procedure was
      program-racist.

commit 11ea1aba9eb99756e72b6447a93da8d901558299
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 3 16:00:30 2008 +0200

    precise stack marking, fix some missed references, still imperfect
    
    * libguile/vm-engine.h (CHECK_STACK_LEAK, NULLSTACK): Add a new mode,
      VM_ENABLE_STACK_NULLING, that tries to ensure that all stack data past
      the top of the stack is NULL. This helps to verify the VM's
      consistency. If VM_ENABLE_STACK_NULLING is not defined, there is no
      overhead.
      (DROP, DROPN): Hook into NULLSTACK.
      (POP_LIST): Hoo, fix a good bug: if CONS triggered a GC, the elements
      of the list that had not yet been consed would not be marked, because
      the sp was already below them.
      (NEXT): Hook into CHECK_STACK_LEAK.
      (INIT_ARGS): Add a note that consing the rest arg can cause GC.
      (NEW_FRAME): Cons up the external data after initializing the frame, so
      that if GC is triggered, the precise marker sees a well-formed frame.
    
    * libguile/vm-i-loader.c (load-program): In the four-integers case, use
      the POP macro so that we can hook into NULLSTACK (if necessary).
    
    * libguile/vm-i-scheme.c (ARGS2, ARGS3): Hook into NULLSTACK.
    
    * libguile/vm-i-system.c (halt): Null the nvalues. Rework some asserts
      into using ASSERT, and null the stack when we free the frame.
      (variable-set): Use DROPN instead of sp -= 2.
      (BR): Hook into NULLSTACK.
      (goto/args): Hook into NULLSTACK. In the non-self case, delay updating
      the frame until after INIT_ARGS so that GC sees a well-formed frame.
      Delay consing the externals until after the frame is set up, as in
      NEW_FRAME.
      (call/cc): Add some asserts.
      (return): Rework some asserts into ASSERT, and hook into NULLSTACK.
      (return/values): Hook into NULLSTACK, and use ASSERT.
      (return/values*) Use ASSERT.
    
    * libguile/vm.c (VM_ENABLE_ASSERTIONS, VM_ENABLE_STACK_NULLING): These
      are the variables that control assertions and nulling. Perhaps we can
      do these per-engine when we start compiling the debug engine separate
      from a speedy engine.
      (vm_mark_stack): Add a precise stack marker. Yay!
      (vm_cont_mark): Mark the continuation stack precisely.
      (capture_vm_cont): Record the difference from the vp's stack_base too,
      so that we can translate the dynamic links when marking the
      continuation stack. Memset the stack to NULL if we are doing nulling.
      (reinstate_vm_cont): If we are nulling, null out the relevant part
      of the stack.
      (vm_reset_stack): When resetting sp due to a nonlocal exit, null out
      the stack too.
      (vm_mark): If we are nulling, assert that there are no extra values on
      the stack. Mark the stack precisely.

commit edb1d1d78da289ffe9170ffe21e120cb31e463b5
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 3 15:07:09 2008 +0200

    remove repl.scm's start-stack definition
    
    * module/system/repl/repl.scm: Now that we actually compile start-stack,
      no need to provide our own definition here.

commit 64da3c12459038d9147ee60cf96009f20972e7f3
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 3 15:06:03 2008 +0200

    add gdb-pre-inst-guile
    
    * configure.in:
    * gdb-pre-inst-guile.in: Add gdb-pre-inst-guile, because I'm tired of
      typos. You can run it just like Guile. For compiling, you might try
      GUILE=./gdb-pre-inst-guile scripts/compile foo.scm.

commit 9a8cc8e7f736bda93706dc74e6ab8f07621dd341
Author: Andy Wingo <address@hidden>
Date:   Thu Oct 2 11:00:55 2008 +0200

    be more like the interpreter in signalling wrong-num-args
    
    * libguile/vm-engine.c: Call scm_wrong_num_args in the wrong-num-args
      case, to be more like the interpreter.
    
    * libguile/vm-engine.h (ASSERT): New macro.
    
    * libguile/vm-i-system.c (apply, goto/apply): Assert that nargs >= 2,
      because the compiler should always feed us correct instructions.
      (call/cc): If no values are returned to the continuation, signal
      no_values instead of wrong_num_args.

commit 7e91e01dd85ae4a54f7f4c41bbb174fb73cddeeb
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 23:57:13 2008 +0200

    load the i18n extension when compiling i18n.scm
    
    * ice-9/i18n.scm: Load the i18n extension when compiling too, so that the
      macros that depend on (provided? 'nl-langinfo) actually have
      nl-langinfo. Fixes the i18n test.

commit 2bd859c81ac55b8f229778b0fff23a35b0d6e904
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 23:41:16 2008 +0200

    fix compilation of quasiquote with splicing and improper lists
    
    * libguile/vm-engine.h (POP_CONS_MARK): New macro, analagous to
      POP_LIST_MARK; used in quasiquote on improper lists.
    
    * libguile/vm-i-system.c (cons-mark): New instruction. You know the
      drill, remove all your .go files please.
    
    * module/system/il/compile.scm (codegen): Compile quasiquoted improper
      lists with splices correctly. Additionally check that we don't have
      slices in the CDR of an improper list.
    
    * testsuite/t-quasiquote.scm: Add a test for unquote-splicing in improper
      lists.

commit 887ce75ae828fabd9a76d8e719bd3070c334eb44
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 22:50:48 2008 +0200

    fix some missed references when calling C functions
    
    * gdbinit: Update to be a bit more useful.
    
    * libguile/vm-i-system.c: Make sure that arguments to C procedures are
      visible on the stack so they get marked. Could be a source for the
      missed references.

commit 999f1b26e74a7a8eb9e9e5e479f971e145aa7326
Merge: ac0e91c42dac01b74f89260090273cdb7ff7e791 
89bc270db3c207b2210736f066ce18721e0dbc76
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 21:12:16 2008 +0200

    Merge commit 'origin/master' into vm
    
    Conflicts:
    
        doc/Makefile.am
        ice-9/Makefile.am
        libguile/gc.c

commit ac0e91c42dac01b74f89260090273cdb7ff7e791
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 20:29:35 2008 +0200

    (oop goops) works again, after (the-environment) removal
    
    * oop/goops.scm: Update so as not to use (the-environment), which no
      longer exists. I think that the speed characteristics are the same,
      broadly speaking.

commit 8befde009ae8f07b9205ab5685f181687ed09e62
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 20:18:57 2008 +0200

    object-documentation knows about programs
    
    * ice-9/documentation.scm (object-documentation): Add hooks for getting
      documentation for compiled procedures, too. (Goops would be helpful
      here.)

commit 3b573ef4a5f7d5ab357f5e63b0a84767d16ac072
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 00:40:36 2008 +0200

    don't require users of users of optargs to have used optargs
    
    * ice-9/optargs.scm: Do the compile-friendly equivalent of unquoting in a
      value into the macro: use @@.

commit fd3585753a34fde835cd9b660fe7322e9543721b
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 30 00:31:17 2008 +0200

    compile @ and @@
    
    * libguile/vm-engine.c (vm_run): Add new error case for resolving @ or @@
      references, but there is no such module. Possible if
      module-public-interface returns #f.
    
    * libguile/vm-i-loader.c (link-now): Allow the stack arg to be a sym, as
      before, or a list, indicating an absolute reference. Could be two
      separate instructions, but I'm lazy.
    
    * libguile/vm-i-system.c (late-variable-ref, late-variable-set): As in
      link-now, allow the lazy reference to be a list, for @ and @@.
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile @ and @@, and set! forms for both of them. This will ease the
      non-hygienic pain for exported macros.
    
    * module/system/il/compile.scm (make-glil-var): Translate public and
      private module variable references into glil-module variables.
    
    * module/system/il/ghil.scm (ghil-var-at-module!): New function, resolves
      a variable for @ or @@.
    
    * module/system/il/glil.scm (<glil-module>): Revival of <glil-module>,
      this time with the semantics that it really links to a particular
      module.
    
    * module/system/vm/assemble.scm (<vlink-now>, <vlink-later>): Redefine as
      taking a "key" as the argument, which may be a sym or a list; see the
      notes on link-now for more details.
      (codegen): Compile <glil-module> appropriately. Some duplication here,
      probably could use some cleanup later.

commit a1122f8cba23ee17f0b4ae0c4cabd42f176a84dc
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 29 23:20:10 2008 +0200

    call toplevel variables "toplevel", not "module"
    
    * module/system/il/ghil.scm (ghil-var-for-set!, ghil-var-for-ref!)
      (ghil-var-define!): ghil-var-kind of a toplevel var is now 'toplevel.
    
    * module/system/il/glil.scm: Renamve <glil-module> to <glil-toplevel>.
      Remove the unused `module' field. Remove the unused <glil-late-bound>
      type.
    
    * module/system/il/compile.scm (make-glil-var): s/toplevel/module/
    
    * module/system/vm/assemble.scm (<vlink-later>, <vdefine>): Remove the
      unused `module' parameters from these two types.
      (codegen, dump-object!): Adapt to module/toplevel name changes.

commit 48d0006409dc7d882ba47620d80f99f412f8fff1
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 29 22:52:36 2008 +0200

    remove `type' and `value' fields from <ghil-var>
    
    * module/system/il/ghil.scm (<ghil-var>): Remove `type' and `value'
      fields, as they were not used.

commit dc68fdb961f1116c67c797ca07889ae21de40492
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 29 21:36:25 2008 +0200

    move module-public-interface to C, and expose it as C API
    
    * libguile/modules.h:
    * libguile/modules.c:
    * ice-9/boot-9.scm (module-public-interface): Move definition of
      module-public-interface to C, where it is now available as
      scm_module_public_interface ().

commit 89bc270db3c207b2210736f066ce18721e0dbc76
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Sep 13 00:19:23 2008 -0300

    Remove GH and its traces.

commit 46d2d6f80ebbb18e787434c4bfe2031f6182f652
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 28 23:09:11 2008 +0200

    allocate variables that are set! on the heap
    
    * module/system/il/ghil.scm (ghil-lookup): So, it turns out this function
      needed to be split into three:
      (ghil-var-is-bound?, ghil-var-for-ref!, ghil-var-for-set!): The
      different facets of ghil-lookup. Amply commented in the source. The
      difference being that we now allocate variables that are set! on the
      heap, so that other continuations see their possibly-modified values.
      (force-heap-allocation!): New helper.
    
    * testsuite/Makefile.am:
    * testsuite/t-call-cc.scm: New test, that variables that are set! are
      allocated on the heap, so that subsequent modifications are still
      seen by the continuation. The test was distilled from test 7.3 in
      r5rs_pitfall.test.

commit 877ffa3f9c8b1d58aedff2821ee1811c6f3c3622
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 28 23:08:14 2008 +0200

    revert part of 7ff017002ddc980 that caused missed references
    
    * libguile/programs.c (scm_c_make_closure): If the program is actually
      not a program, abort. This can happen if GC misses a reference, as
      currently seems to happen.
    
    * libguile/vm.c (vm_mark): Revert part of
      7ff017002ddc980f684120653549a10c6c7cde5c, which changed the call to
      scm_mark_locations. I'm 99% *sure* this is wrong, but it seems to
      prevent missed references when recompiling the .go files in guile
      itself. Needs revisiting soon, but for the time being we can go back to
      where we were a couple of days ago.
    
    * libguile/vm-i-system.c (halt, vector, vector-mark): Sync the registers
      before calling into C, as it may GC.

commit cda52b2fdae8dc6e6f9cb630112c1d43419145c6
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 28 18:24:20 2008 +0200

    don't compile psyntax.scm
    
    * ice-9/Makefile.am: Don't try to compile psyntax.scm

commit 696a761f96329d4d08690628b7bf4f1fe23b6492
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 26 17:35:37 2008 +0200

    rename psyntax.ss to psyntax.scm to hack around makefile foo
    
    * ice-9/Makefile.am (SOURCES):
    * ice-9/syncase.scm:
    * ice-9/psyntax.scm: Renamve psyntax.ss to psyntax.scm. This way the
      guilec rules won't delete it on a make clean. Doh!

commit 7ff017002ddc980f684120653549a10c6c7cde5c
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 26 13:42:09 2008 +0200

    Fix continuation marking, and some tests.
    
    * libguile/continuations.c (continuation_mark): Mark the vm
      continuations.
    
    * libguile/vm.c (vm_cont_mark): Fix the marking function.
      (vm_mark): Fix this one too -- the size is a number of STACKITEMS,
      which we foolishly assume are the same size as SCM.
    
    * test-suite/tests/ftw.test: Make our stat hacks verifyable without
      assuming that they are interpreted.
    
    * test-suite/tests/r5rs_pitfall.test: Re-indent.

commit 107139eaadab946e9713748cdeacd07b22a181db
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 26 12:03:36 2008 +0200

    actually compile start-stack to something useful
    
    * ice-9/boot-9.scm (start-stack): Define as a defmacro instead of an acro
      in C. We have a way to delay evaluation of the exp, after all: putting
      it in a thunk is sufficient.
    
    * libguile/debug.h:
    * libguile/debug.c (scm_sys_start_stack): Renamed from scm_start_stack,
      and exposed to the user. Takes a thunk instead of an expression +
      environment.
      (scm_m_start_stack): Remove this acro.
    
    * module/language/scheme/translate.scm (custom-transformer-table): Remove
      the start-stack special case.

commit 76ed3e877fd9490e9b3219f309e952205e16b4af
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 25 21:36:14 2008 +0200

    Enclose `regexp.test' in a module.
    
    * test-suite/tests/regexp.test: Add `define-module' clause.

commit c6333102655783c91b3ce733dde7ce79b362e1cf
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 25 21:07:06 2008 +0200

    Fix handling of the FLAGS argument in `fold-matches'.
    
    * ice-9/regex.scm (fold-matches): If FLAGS is non-null, use
      `(car flags)', not `flags'.
    
    * test-suite/tests/regexp.test ("fold-matches"): New test prefix.
    
    * NEWS: Update.

commit 99b1dd09ccba248261b679657519e6a5b2b76560
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 17:17:02 2008 +0200

    further compilation fixes -- all files compile fine now
    
    * ice-9/runq.scm (strip-sequence): Remove use of obtuse guile `define'
      extension.
    
    * ice-9/boot-9.scm (while): Redefine so as not to unquote in a procedure.
      Less hygienic. Perhaps we should switch to syncase at some point.
    
    * ice-9/session.scm (help): Redefine as a normal macro, so that it can be
      compiled. Not very useful though -- further effort should go into
      (system repl ...).
      (system-module): Removed, it didn't work, and is not useful as far as I
      can tell.
    
    * ice-9/string-fun.scm (string-prefix-predicate): Remove guile define
      extension usage. Compilation also fixed by `while' compilation fix.
    
    * ice-9/threads.scm (par-mapper): Remove guile define extension usage.

commit 7024b583294f2f3db19608510603d162fa1c6cb7
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 16:50:21 2008 +0200

    compile `delay' into `make-promise' with a thunk
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Translate `delay' into `make-promise'.

commit 7c455996e8a88f8d7480b63e5a9c4553da7a629e
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 16:16:35 2008 +0200

    export `make-promise' to scheme
    
    * libguile/eval.h:
    * libguile/eval.c (scm_make_promise): Rename from `scm_makprom', and
      export as the scheme procedure, `make-promise'.
    
    * libguile/eval.i.c (CEVAL): s/makprom/make_promise/.

commit 8ab3c80f8bbc1e606b6c18aac7de514cd088091d
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 13:54:54 2008 +0200

    enable compilation of more modules
    
    * ice-9/Makefile.am: Compile most modules. There are still a couple that
      fail to compile.

commit 1e6ebf54dbbd1bd54294fcc876ac1a1ffec26265
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 13:46:09 2008 +0200

    a number of small compilation fixes
    
    * ice-9/boot-9.scm: Allow a compiled load of posix, networking, and
      deprecated files.
    
    * module/language/scheme/translate.scm (lookup-transformer): Lookup the
      sc-macro by value, not by name. Works around the fact that compiled
      macros don't have names, which is probably a bug.
    
    * module/system/base/compile.scm (syntax-error)
      (call-with-compile-error-catch): Throw and catch a key that's not used
      by anyone else. Write error messages to the error port.
    
    * module/system/repl/repl.scm (default-catch-handler): Call display-error
      with the correct number of arguments.
    
    * module/system/vm/frame.scm (frame-program-name): Guard against unbound
      variables.
    
    * ice-9/optargs.scm (let-keywords-template): Don't unquote in a helper
      procedure. A bit irritating. I suppose we should fix the modules +
      syncase situation at some point, and then switch to syncase.

commit 5ba9d84978641700562a8e166bf9c0cdf3d51ae3
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 13:40:13 2008 +0200

    compile psyntax-pp
    
    * ice-9/Makefile.am: Compile psyntax-pp.scm, which is the new name of
      psyntax.pp.
    
    * ice-9/syncase.scm: Load the pre-processed source as psyntax-pp so that
      we load up a .go file if available.

commit cd829416b2bdf19e95a58b48587acebac876f7dd
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 12:08:54 2008 +0200

    fix handling of multiple values from c functions
    
    * libguile/vm-i-system.c (mv-call, goto/cc): Fix handling of values
      returns from C or interpreted functions.

commit ff1592a106f9a28dcbbd77939db0b2c1f9b27064
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 12:07:52 2008 +0200

    add gdbinit for debugging the vm
    
    * gdbinit: Add my gdbinit. The most useful commands are gwrite and
      vmstack.

commit 76282387eaaeccb2a3d307d9f4df9e423885aad2
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 11:07:54 2008 +0200

    compile call/cc, yee ha
    
    * libguile/vm-i-system.c (call, goto/args): Add a FIXME for handling the
      case in which a call to the interpreter returns a values object.
      (call/cc, goto/cc): Flesh out, and handle full continuations (with the
      C stack also).
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile call-with-current-continuation. This is necessary so that the
      called procedure is called in tail position.
    
    * module/system/il/compile.scm (codegen): Translate apply to goto/apply,
      call/cc to goto/cc, etc when in tail position.

commit f63ea2ce78dffa006825f4d360eb36a590dcef24
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 25 11:04:35 2008 +0200

    fix bug introduced in the fluid commit
    
    * libguile/vm.c (the-vm): If the dynamic binding of *the-vm* is false,
      make a new vm. Fixes multiple threads with the vm since the *the-vm*
      fluid changes.

commit bfffd2583cb95379f1b08fa8fe8019044a4c6bd0
Author: Andy Wingo <address@hidden>
Date:   Wed Sep 24 17:04:14 2008 +0200

    make call/cc capture and restore the vm stacks
    
    * libguile/continuations.c (scm_make_continuation): Capture VM
      continuations as well, as their stack is outside the C stack.
      (copy_stack): Reinstate VM stacks with the C stack.
    
    * libguile/continuations.h (scm_t_contregs): Add a pointer for VM stacks.
      A binary-incompatible change -- hopefully not too many people were
      messing around with this struct, though.
    
    * libguile/vm-engine.c (vm_run): Add a note about possibly maintaining a
      stack of vms.
    
    * libguile/vm.c (struct scm_vm_cont): New struct, distinct from scm_vm.
      (vm_cont_mark, vm_cont_free, capture_vm_cont, reinstate_vm_cont):
      Reorder some code, and fix some bad assumptions about what part of the
      stack to copy; obviously this code was never used.
    
    * libguile/vm.h:
    * libguile/vm.c (scm_vm_capture_continuations)
      (scm_vm_reinstate_continuations): New public functions, used by
      continuations.c.

commit 7bbed5181c562f771276e93480358d6512260dbf
Author: Andy Wingo <address@hidden>
Date:   Wed Sep 24 11:47:25 2008 +0200

    the vm is a fluid
    
    * module/system/vm/vm.scm:
    * libguile/vm.h:
    * libguile/vm.c: Make the `the-vm' procedure access a fluid, `*the-vm*'.
      Export that fluid from vm.h and vm.scm.

commit fb2f8886c4d537b0c7d3e9e78a8d4e5e272a36f4
Author: Ludovic Courtès <address@hidden>
Date:   Mon Sep 22 23:03:20 2008 +0200

    Make literal strings (i.e., returned by `read') read-only.
    
    * libguile/read.c (scm_read_string): Use `scm_i_make_read_only_string ()' to
      return a read-only string, as mandated by R5RS.  Reported by Bill
      Schottstaedt <address@hidden>.
    
    * libguile/strings.c (scm_i_make_read_only_string): New function.
      (scm_i_shared_substring_read_only): Special-case the empty string
      so that the read-only and read-write empty strings are `eq?'.  This
      optimization is relied on by the `substring/shared' `empty string'
      test case in `srfi-13.test'.
    
    * libguile/strings.h (scm_i_make_read_only_string): New declaration.
    
    * test-suite/tests/strings.test ("string-set!")["literal string"]: New test.
    
    * NEWS: Update.

commit fd2b17b9cb7aaa6b550ad9b6a3efe3c53c94ccce
Author: Ludovic Courtès <address@hidden>
Date:   Mon Sep 22 22:51:36 2008 +0200

    Make `symbol->string' return a read-only string.
    
    * libguile/strings.c (scm_i_symbol_substring): Return a read-only string
      since R5RS requires `symbol->string' to return a read-only string.
      Reported by Bill Schottstaedt <address@hidden>.
    
    * test-suite/tests/symbols.test: Add `define-module' clause.
      (exception:immutable-string): Adjust to current exception.
      ("symbol->string")["result is an immutable string"]: Use
      `pass-if-exception' instead of `expect-fail-exception'.
    
    * NEWS: Update.

commit 1dd797921c950f0a4d396faa6d7326ec6928e771
Author: Neil Jerram <address@hidden>
Date:   Wed Sep 17 21:46:40 2008 +0100

    Fix for incorrect (gcd -2) => -2; should give 2.
    
    (reported by Bill Schottstaedt)
    
    * libguile/numbers.c (scm_gcd): When only one arg given, use scm_abs
      to ensure that result is non-negative.
    
    * test-suite/tests/numbers.test ("gcd"): New test, (gcd -2).

commit f8c01b6f683e9a7e6962a70703cdad1f76771319
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 18 23:13:42 2008 +0200

    Fix `strftime' documentation wrt. `%Z'.
    
    * doc/ref/posix.texi (Time)[strftime]: Remove erroneous note saying
      that `%Z' ignores `tm:zone'.  Reported by Neil Jerram.

commit 02b84691b274155f4528f99e90fbe39c77ed546d
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 18 23:04:58 2008 +0200

    don't poke installed scm, go, etc files when running pre-inst-guile
    
    * libguile/load.c (scm_init_load_path): If GUILE_SYSTEM_PATH is set, use
      that instead of the compiled-in suffix to the load path. And, as a
      special case, GUILE_SYSTEM_PATH= is interpreted as '(). A bit nasty.
    
    * pre-inst-guile-env.in (top_builddir): Set GUILE_SYSTEM_PATH to the
      empty string, if it is not set.

commit d51406fe875ae5040324da19459c3e867df434a3
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 18 22:49:55 2008 +0200

    lambda-lifting for (lambda () ...) as consumer of call-with-values
    
    * libguile/vm-engine.c (vm_run): Add new error case,
      vm_error_not_enough_values.
    
    * libguile/vm-i-system.c (goto/nargs, call/nargs): So, in these cases, if
      we get too many values, we don't truncate the values like we do in the
      single-value continuation case, or in the mvbind case. What to do? I
      guess we either truncate them here, or only allow the correct number of
      values. Dunno. Mark the code as a fixme.
      (truncate-values): New instruction, for mv-bind: checks that the number
      of values on the stack is compatible with the number of bindings we
      have arranged for them, truncating if necessary.
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile receive as a primary form -- not so much because it is a
      primary form, but more to test the mv-bind machinery. Also it's more
      efficient, I think.
    
    * module/system/il/compile.scm (lift-variables!): New helper, factored
      out of `optimize'.
      (optimize): Add a few more cases. Adapt `lambda' optimization, which
      isn't much. I'm not happy with ghil as a mungeable language.
      Add a case for call-with-values with the second argument is
      a lambda: lift the lambda. Untested.
      (codegen): Refactor the push-bindings! code. Compile mv-bind.
    
    * module/system/il/ghil.scm (<ghil-mv-bind>): Add mv-bind construct,
      along with its procedures.
    
    * module/system/il/glil.scm (<glil-mv-bind>): Add mv-bind construct,
      different from the high-level one. It makes sense in the source, I
      think.
    
    * module/system/vm/assemble.scm (codegen): Assemble glil-mv-bind by
      pushing onto the bindings list, and actually push some code to truncate
      the values.

commit 87e7228ff6b76d44ecf63e092fadb5754557e5eb
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 16 23:16:00 2008 +0200

    Fix first-time compilation
    
    Hello!
    
    The attached patch fixes first-time compilation, by ensuring SRFI
    modules are built before "guile-tools compile" is ever run.
    
    Thanks,
    Ludo'.
    
    From 691a111c440a26c021f52b4027b0d9772f8e04cc Mon Sep 17 00:00:00 2001
    From: =?utf-8?q?Ludovic=20Court=C3=A8s?= <address@hidden>
    Date: Tue, 16 Sep 2008 23:13:38 +0200
    Subject: [PATCH] Fix compilation order of the sub-directories.
    
    * Makefile.am (SUBDIRS): Move `ice-9' past `srfi' and friends, so that
      the SRFI modules needed by the compiler are built before "guile-tools
      compile" is used.

commit d600df9aa9c9afd072f066736964a2f013e0fbe3
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 18 20:05:23 2008 +0200

    fix case in which we can fail to exit the repl cleanly
    
    * module/system/repl/repl.scm (next-char): Don't throw if we get an EOF,
      just return the EOF object. Fixes a case in which we fail to exit
      cleanly.

commit efbd589204408fe8af33b9d86a7e33104997bf6a
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 16 00:26:22 2008 +0200

    compile call-with-values, woot!
    
    * libguile/vm-engine.c (vm_run): Add another byte onto the bootstrap
      program, as the offset passed to mv-call now takes two bytes.
    
    * module/system/vm/frame.scm (bootstrap-frame?): Update for the new
      bootstrap length. Really we should just check for 'halt though.
    
    * libguile/vm-i-system.c (FETCH_OFFSET): New helper, used in BR().
      (goto/nargs, call/nargs): Versions of goto/args and call, respectively,
      that take the number of arguments from a value on the top of the stack.
      (mv-call): Call FETCH_OFFSET to get the offset.
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile call-with-values to <ghil-mv-call>. There is some trickery
      because of the r4rs.scm call-with-values trampolines.
    
    * module/system/il/ghil.scm: Add <ghil-mv-call> and accessors.
    
    * module/system/il/compile.scm (codegen): Compile <ghil-mv-call>.
    
    * module/system/il/glil.scm: Add <glil-mv-call>, which needs some special
      assembly because of the label. Fix some typos.
    
    * module/system/vm/assemble.scm (byte-length): New helper, factored out
      and made more general.
      (codegen): Assemble mv-call, including the label.
      (check-length): New helper, makes sure that the addressing is
      consistent within the produced object code.
      (stack->bytes): Rewrite to be more generic -- now `br' instructions
      aren't the only ones jumping around in the instruction stream.
    
    * module/system/vm/conv.scm (make-byte-decoder): Return two values in the
      #f case.
    
    * module/system/vm/disasm.scm (disassemble-bytecode): Rewrite, because
      the previous implementation depended on a guile interpreter quirk:
      namely, that multiple values could be represented within one value, and
      destructured later.

commit b5cb4464ca4e23d077a9777bbc17835feb0f4374
Author: Neil Jerram <address@hidden>
Date:   Mon Sep 15 00:25:25 2008 +0100

    Make multi-byte reads on unbuffered ports more efficient.
    
    Idea and original patch were by Ludovic Courtès, this is Neil Jerram's
    reworking of it.
    
        * libguile/srfi-4.c (scm_uniform_vector_read_x): Use scm_c_read,
        instead of equivalent code here.
    
        * libguile/ports.c (scm_fill_input): Add assertion that read
        buffer is empty when called.
        (port_and_swap_buffer, swap_buffer): New, for...
        (scm_c_read): Use caller's buffer for reading, to avoid making N
        1-byte low-level read calls, in the case where the port is
        unbuffered (or has a very small buffer).

commit aa51e98ac5bcb36298741c9948039ac253e86c35
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jun 1 19:31:36 2008 +0200

    Add `uniform-vector-read!' benchmark.

commit ef24c01bffb41a9855fe1aea36c4444742aba660
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 15 00:04:34 2008 +0200

    add special case for (apply values ...)
    
    * libguile/vm-engine.c (vm_run): Move nvalues to the top level, to avoid
      (spurious, it seems) gcc warnings about it being used uninitialized.
    
    * libguile/vm-i-system.c (halt, return/values): Adapt to gcc silliness.
      Deindent some of return/values.
      (return/values*): New instruction, does what (apply values . args)
      would do.
    
    * module/language/scheme/translate.scm (custom-transformer-table): Move
      the apply and @apply cases here from inline.scm, because we need some
      more cleverness when dealing with cases like (apply values . args).
      (lookup-apply-transformer): Define an eval transformer for `values',
      turning it into ghil-values*.
    
    * module/system/il/compile.scm (codegen): Compile <ghil-values*> into
      return/values*.
    
    * module/system/il/ghil.scm: Add <ghil-values*> and accessors.
      (ghil-lookup): Add optional argument, define?, which if false tells us
      not to actually cache the binding if it is not found in the toplevel.
    
    * module/system/il/inline.scm: Remove apply clauses.
    
    * module/system/vm/frame.scm (bootstrap-frame?): Update heuristic for
      bootstrap-frame?, as the bootstrap frame is now 5 bytes since it
      accepts multiple values.

commit a222b0fa91fe33461db1c7f8f4370ce6a5db588f
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 14 17:06:52 2008 +0200

    add multiple values support to the vm
    
    * libguile/vm-engine.c (vm_run): The bootstrap program now uses mv_call,
      so as to allow multiple values out of the VM. (It did before, because
      multiple values were represented internally as single scm_values
      objects, but now that values go on the stack, we need to note the boot
      frame as accepting multiple values.)
      (vm_error_no_values): New error, happens if you pass no values into a
      single-value continuation. Passing more than one is OK though, it just
      takes the first one.
    
    * libguile/vm-i-system.c (halt): Assume that someone has pushed the
      number of values onto the stack, and package up that number of values
      as a scm_values() object, for communication with the interpreter.
      (mv-call): New instruction, calls a procedure with a multiple-value
      continuation, even handling calls out to the interpreter.
      (return/values): New instruction, returns multiple values to the
      continuation. If the continuation is single-valued, takes the first
      value or errors if there are no values. Otherwise it returns to the
      multiple-value return address, pushing the number of values on top of
      the values.
    
    * module/system/il/compile.scm (codegen): Compile <ghil-values> forms.
    
    * module/system/il/ghil.scm (<ghil-values>) Add new GHIL data structure
      and associated procedures.
    
    * module/language/scheme/translate.scm (custom-transformer-table):
      Compile (values .. ) forms into <ghil-values>.

commit 7e97ad2dd69cbc0066cfe2fee71088d22b8b8021
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 14 14:26:29 2008 +0200

    look up scheme translators by value, not by name
    
    * module/language/scheme/translate.scm (custom-transformer-table): Rename
      from `primitive-syntax-table', because now it will handle procedural
      values as well.
      (lookup-transformer): Update for renaming. Look up custom transformers
      by value, not name.
      (make-pmatch-transformers): Key the transformer table by value, not
      name.

commit 3394818c0a465c8b337252250174ecb0d13d726d
Author: Ludovic Courtès <address@hidden>
Date:   Sat Sep 13 20:09:08 2008 +0200

    Include <config.h> in standalone tests.
    
    * test-suite/standalone/Makefile.am (test_cflags): Add `-I$(top_builddir)' 
so
      that <config.h> can be found.
      (snarfcppopts): Likewise.
    
    * test-suite/standalone/*.c: Include <config.h>.

commit f03c31dbaddba733757e3d9161c8d9c8e8f363a7
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 19:19:10 2008 +0200

    rename tail-call to goto/args, add some more tail instructions
    
    * libguile/vm-i-system.c (call): Rename continuation invocation from
      `vm_call_cc' to `vm_call_continuation', because that's what it really
      does. Add a note that it doesn't handle multiple values at the moment.
      (goto/arg): Renamed from tail-call, in deference to the progenitors, on
      Dale Smith's suggestion.
      (goto/apply): New instruction, for `apply' in a tail context. Not yet
      used, or vetted for that matter.
      (call/cc): No need to pop the program, I don't think; although this
      isn't tested either.
      (goto/cc): New instruction, for call/cc in a tail context.
    
    * module/language/scheme/translate.scm (*forbidden-primitives*): Rename
      from %forbidden-primitives.
    
    * module/system/il/compile.scm (codegen): Adapt to goto/args instead of
      tail-call.
    
    * module/system/il/inline.scm: Start inlining some macros used in
      r4rs.scm -- not yet fully tested.
    
    * ice-9/boot-9.scm: Allow load of a compiled r4rs file.

commit da320011a31f4b58570d8cb7e67cde39133572eb
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 19:15:20 2008 +0200

    add a multiple values return address to stack frames
    
    * libguile/frames.c (frame-mv-return-address): New accessor.
    
    * libguile/frames.h: Update frame diagram.
      (SCM_FRAME_UPPER_ADDRESS): Update for data area
      growing by one pointer.
      (SCM_FRAME_MV_RETURN_ADDRESS): New macro.
    
    * libguile/vm-engine.h (NEW_FRAME): Update for frame getting bigger by a
      pointer. In a normal NEW_FRAME, set the MV return address to NULL, to
      indicate that this continuation does not accept multiple values.
    
    * libguile/vm-i-system.c (tail-call): Update frame replacement code to
      understand the MV return address.
      (return): Make room for the MVRA.

commit 28106f547dc88723e02a38de7d4dc4ffc6434590
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 15:41:43 2008 +0200

    inline frame replacement in tail-call
    
    * libguile/programs.c (program_print): Only try to lookup write-program
      if the module system is booted.
    
    * libguile/vm-engine.h (FREE_FRAME): Remove, it's now inlined everywhere.
    
    * libguile/vm-i-system.c (tail-call): Inline FREE_FRAME, and implement
      the calling bits here. Will make things more hackable.

commit dbb605f575ea9720cb534b1e3e1a3a7015c828a6
Author: Ludovic Courtès <address@hidden>
Date:   Sat Sep 13 15:35:27 2008 +0200

    Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than 
`#if'.

commit 1dc8f8517c4f89f7e0a330fe7f5b945f2a8e2523
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 14:40:27 2008 +0200

    inline FREE_FRAME in halt
    
    * libguile/vm-i-system.c (halt): Inline FREE_FRAME, specialized for the
      halt case.

commit f13c269b7ffde245f12503fc9c80f92fcea2026a
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 14:30:57 2008 +0200

    inline FREE_FRAME in return, sync stack_base in CACHE_REGISTER
    
    * libguile/vm-engine.h (CACHE_REGISTER): Sync stack_base too.
    
    * libguile/vm-i-system.c (return): Inline FREE_FRAME here,
      micro-optimizing a wee bit. Sounds silly, but it's to enable some
      refactoring.

commit 2cdb8cdc0d0201e3381b01baa2fc2f501dbed4db
Author: Andy Wingo <address@hidden>
Date:   Thu Sep 11 19:30:15 2008 +0200

    clean up NEW_FRAME macro
    
    * libguile/vm-engine.h (NEW_FRAME): Clean up this macro.

commit 93d197be984c2732e08f1c271d8127886142f953
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 14:14:20 2008 +0200

    readability improvement in vm-i-scheme
    
    * libguile/vm-engine.h:
    * libguile/vm-i-scheme.c: Move some helper macros closer to their use
      sites.

commit 0ba8bb7143204fb8f2b99c80ff62b16bed4b56fd
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 13:14:45 2008 +0200

    tweaks for printing programs
    
    * module/system/vm/program.scm (program-bindings-as-lambda-list): Handle
      the bindings-is-null case too -- not sure how it comes about, though. A
      thunk with no let, perhaps.
      (write-program): Another default for the name: the source location at
      which it was defined.
    
    * libguile/programs.c (program_print): Add some "logic" to stop doing
      detailed prints if one print had a nonlocal exit -- preventing
      exceptions in backtraces.

commit e6fea6182305f12db177af855f5c8343b4768c14
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 12 23:14:46 2008 +0200

    programs can now get at their names, and print nicely
    
    * module/system/vm/frame.scm (frame-call-representation)
      (frame-program-name): Rename program-name to frame-program-name, and
      use the program-name if it is available.
    
    * module/system/vm/program.scm (program-bindings): Return #f if there are
      no bindings.
      (program-name): New public procedure.
      (program-bindings-as-lambda-list, write-program): A more useful writer
      for programs.
    
    * libguile/programs.c (scm_bootstrap_programs, program_print): Add a smob
      printer for programs, which dispatches to `write-program'.

commit 5dcf8f3555d8a96cc0c028f50c12968a4e238506
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 12 23:11:09 2008 +0200

    (define (foo ...) ...) actually gives the lambda a name
    
    * module/language/scheme/translate.scm (primitive-syntax-table): In forms
      like (define x y) where y is a lambda, and the lambda has no name yet,
      set the lambda's name in its metadata.

commit 6cdcb824f046cf1e12f0dd6696cd44c89c2e975b
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 12 23:09:45 2008 +0200

    fix confusion in disassemble-bindings
    
    * module/system/vm/disasm.scm (disassemble-bindings): Fix external/local
      confusion when printing args and locals.

commit 535ed4d041029e2afb95261e8764e81478325589
Author: Andy Wingo <address@hidden>
Date:   Sat Sep 13 14:13:13 2008 +0200

    fix *another* bug in compiling `or'. incredible.
    
    * module/system/il/compile.scm (codegen): Fix *another* bug in compiling
      `or' -- in the case in which the value was being discarded, as in `or'
      used as a control structure, we were sometimes leaving a value on the
      stack.
    
    * testsuite/t-or.scm: Add another test case for `or'.

commit 61db429e251bfd2f75cb4632972e0238056eb24b
Author: Ludovic Courtès <address@hidden>
Date:   Fri Sep 12 21:46:32 2008 +0200

    Add `ChangeLog-2008' files to the distribution.

commit afb59d75b879b6265597320dfb28a7a5e50ae4ea
Author: Ludovic Courtès <address@hidden>
Date:   Fri Sep 12 21:48:04 2008 +0200

    Rename `ChangeLog' files to `ChangeLog-2008'.

commit 1b92d94c885a4a6470b4fcb6f291aec11608b410
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 12 17:59:59 2008 +0200

    untabify process-define-module
    
    * ice-9/boot-9.scm (process-define-module): Untabify.

commit 709f95afcd251968b32476f0ee41535fe76e0c69
Author: Andy Wingo <address@hidden>
Date:   Fri Sep 12 17:55:33 2008 +0200

    correctly disassemble program bindings (arguments, locals, externals)
    
    * module/system/vm/disasm.scm (disassemble-bindings): New function,
      properly disassembles the bindings data. Neat!

commit 8370b00b4139a4f16f6e8ab941d86a621610f068
Author: Ludovic Courtès <address@hidden>
Date:   Fri Sep 12 11:30:04 2008 +0200

    doc: Correct the default value of `%load-path'.
    
    * doc/ref/api-options.texi (Build Config): Remove "." from the default value
      of `%load-path'.  Reported by David Séverin <address@hidden>.

commit 3c2a5013de34811da09727a7af56014bec29cbc3
Author: Ludovic Courtès <address@hidden>
Date:   Fri Sep 12 09:41:54 2008 +0200

    Include <config.h> in `discouraged.c'.
    
    * libguile/discouraged.c: Include <config.h> first so that files that
      rely on `config.h' macros (such as Gnulib-provided headers) work as
      expected.

commit 85ca88c68ba4333fb2b771453ce9fd8c6c87028d
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 11 21:28:21 2008 +0200

    Remove `.cvsignore' files.

commit ac47b09afafd2f9e11abc01d4265d84c5d3c9a93
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 11 21:16:47 2008 +0200

    Use Gnulib's `autobuild' module.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Add `autobuild'.
    
    * Makefile.am (EXTRA_DIST): Add `m4/autobuild.m4'.

commit b71c8ec90ac5328ce437cf91ef2b4886ca25f9ba
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Sep 10 00:11:02 2008 -0300

    Revise GC asserts.
    
    * libguile/gc.c (scm_i_gc): Change assert into printed warning.
    
    * libguile/private-gc.h (nil): introduce scm_i_last_marked_cell_count,
      as a private mechanism for maintaining cell counts.  Remove variable
      scm_cells_allocated.

commit b48efb55b0ce22d05f82cc93f55a6090d912af1e
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Sep 3 01:35:18 2008 -0300

    * HACKING: update to current practice
    
      * Drop CVS references.
    
      * Ask for Git based patches.
    
      * Drop outdated info (EGCS, SCM_P)

commit c5cd474d8c37bf32d7236e63d754a0eee9eb9071
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 10 11:38:23 2008 +0200

    Fix compilation of `libguile-i18n' on MinGW.
    
    * libguile/locale-categories.h (MESSAGES): Enclose in `#ifdef LC_MESSAGES' 
as
      it's not available on MinGW.  Reported by Han-Wen.

commit 7ddb9baf80744f0ea4810c35b465d96f48338750
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Sep 9 23:08:16 2008 -0300

    Cleanup mark-during-GC debug checks.
    
    * libguile/__scm.h (SCM_DEBUG): add SCM_DEBUG_MARKING_API
    
    * libguile/gc.h (SCM_SET_GC_MARK): depending on
    SCM_DEBUG_MARKING_API crash if someone is touching markbits
    outside regular hours.
    
    Rename ensure_marking() to scm_i_ensure_marking().
    
    * libguile/inline.h (scm_double_cell, scm_cell): only set mark bits
    for debugging if SCM_DEBUG_MARKING_API is unset
    
    * libguile/gc-mark.c: Issue deprecation warning if we are marking
    outside of the GC mark phase.

commit a8db4a59c898598cc55dd3bd86a6fd8618721d10
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 9 22:46:04 2008 +0200

    Use Gnulib's `count-one-bits' as a replacement for `scm_i_uint_bit_count 
()'.
    
    * libguile/gc-card.c: Include <config.h> and <count-one-bits.h>.
      (scm_i_uint_bit_count): Remove.
      (scm_i_card_marked_count): Use `count_one_bits_l ()' instead
      of `scm_i_uint_bit_count ()'.
    
    * libguile/gc-segment.c: Include <config.h> and <count-one-bits.h>.
      (scm_i_heap_segment_marked_count): Use `count_one_bits_l ()' instead
      of `scm_i_uint_bit_count ()'.
    
    * libguile/private-gc.h (scm_i_uint_bit_count): Remove.

commit d7014610b16cd5f273479e70db253bff2f0124fc
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 9 22:37:43 2008 +0200

    Use Gnulib's `count-one-bits' module.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Add `count-one-bits'.

commit 53f4876abcebf3f05d2a88bba3a898ddcda25a74
Merge: 69f23174d313650ca8fb0f69ede45c48d7a26b05 
242ebeaf083cc43a9df18ac4436178d9b3ff66e5
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 9 22:03:42 2008 +0200

    Merge branch 'master' into strftime-gnulib
    
    Conflicts:
        libguile/ChangeLog
        srfi/ChangeLog
        test-suite/ChangeLog

commit 242ebeaf083cc43a9df18ac4436178d9b3ff66e5
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 9 18:06:37 2008 +0200

    Get rid of Automake's "maintainer mode".
    
    * NEWS: Update.
    * configure.in: Remove `AM_MAINTAINER_MODE' invocation.
    * doc/Makefile.am, ice-9/Makefile.am: Ignore `MAINTAINER_MODE'
      conditional.

commit e91e07811a16c2e9cfa8955455c21d060a131ce4
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 08:33:53 2008 +0200

    really newline on eof
    
    * module/system/repl/repl.scm (next-char): Another newline-on-eof case.

commit 624e533f4f066bd9762651355d77ad510bf68c02
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 08:27:49 2008 +0200

    fix program disassembly for meta-in-a-thunk
    
    * module/system/vm/disasm.scm (disassemble-program): Fix for recent
      meta-in-a-thunk change.

commit 6a01fabfd076471e93f59ef229f0b3aa9474f482
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 08:23:10 2008 +0200

    run the vm repl instead of the scm-style-repl
    
    * ice-9/boot-9.scm (@, @@): Note that these don't work with the compiler.
      Damn.
      (top-repl): Run the VM repl. Whooo!
    
    * module/system/repl/repl.scm (start-repl): Catch 'quit, as the
      scm-style-repl does. Newline after input EOF's, so that we don't leave
      the user's shell messed up.

commit 02ed0d3df2607c5d78fbc38cbb82a65df1bc7080
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 07:54:23 2008 +0200

    add repl option to interpret rather than compile
    
    * module/language/scheme/spec.scm (scheme): Specify an evaluator, `eval'.
    
    * module/system/repl/common.scm (repl-default-options): Add option,
      `interp', specifying that, if possible, the repl should interpret its
      expressions rather than compile them. Defaults to #f.

commit 8e3670748f86ae78cc59a628d9262ad165c1fae4
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 07:15:01 2008 +0200

    rework late binding resolution to be simpler and more efficient
    
    * libguile/programs.h (struct scm_program):
    * libguile/programs.c (scm_c_make_program): Record the current module
      when making a program. This replaces the per-late binding recorded
      module in the generated code, which should be more efficient, both in
      terms of garbage, and in not calling resolve-module.
      (program-module): New accessor.
    
    * module/system/vm/program.scm: Add program-module to exports.
    
    * libguile/vm-i-loader.c (link-later): Remove this instruction, since now
      the entry in the object table is just a symbol, and can be loaded with
      load-symbol.
    
    * libguile/vm-i-system.c (late-variable-ref, late-variable-set): Rework
      so as to look up in the module of the current program. The logic could
      be condensed quite a bit if scm_module_lookup () knew what to do with
      mod==#f.
    
    * module/system/vm/assemble.scm (dump-object!): Dump <vlink-later> just
      as load-symbol, as mentioned in the note on link-later.
    
    * module/system/il/ghil.scm: Update comment to reflect the new reality.

commit 7618201efd35d653b98d3c1036d65e36b2c6db53
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 07:13:14 2008 +0200

    final de-:prefixification
    
    * scripts/compile: Don't (read-set! keywords 'prefix) here either.

commit 1a1a10d3a5bfed3ef93b5e6b7cd91954892639e7
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 9 06:56:06 2008 +0200

    use #:keywords in module/*.scm, not :keywords
    
    * module/system/base/syntax.scm (keywords): Don't enable :keywords, it
      breaks code that may assume that ':foo is a symbol, like boot-9.
    
    * module/*.scm: Don't use :keywords, use #:keywords. The user can decide
      if she wants #:keywords in their .guile, and :keywords might make us
      compile modules differently.

commit 191e7165555f62ace0c2e840c3f27eab4cd67e8c
Author: Ludovic Courtès <address@hidden>
Date:   Mon Sep 8 14:36:12 2008 +0200

    Update `NEWS' wrt. `mutex-lock' deadlock fix.

commit 13906f976ec3122edbd85868a4aff154a1dbfd0c
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 8 01:03:34 2008 +0200

    lazily load meta info, for less consage
    
    * module/system/vm/assemble.scm (make-meta, codegen): Hide the "meta"
      information -- the names of the bindings, source info, procedure
      properties, etc -- behind a lambda. This way, loading up a program
      conses less, because the metadata stays as mmap'd code until it is
      needed.
    
    * libguile/vm-i-loader.c (load-program): Adjust load-program to expect
      the metadata to be a program.
    
    * module/system/vm/program.scm (program-bindings, program-sources)
      (program-properties): Adjust to new meta format.

commit 70634522760096c4cb670994fd064c602931c729
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 7 23:17:58 2008 +0200

    compile boot-9. woop!
    
    * ice-9/Makefile.am (SOURCES, NOCOMP_SOURCES): Compile boot-9.scm.
      Wooooo! This makes some things harder to debug, and program loading
      needs to cons much less, but I think it makes sense to compile boot-9
      by default if for no other reason than to catch bugs earlier.

commit 6c289afe76e9910a626f135f8a008cb39f4cb861
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 7 23:13:52 2008 +0200

    macro-transformer recognizes compiled macros
    
    * libguile/macros.c (macro-transformer): Recognize compiled as well as
      interpreted transformer procedures.

commit 3633ff4e952fd3fcb2c0375194d8c34e930867f3
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 22:24:11 2008 -0700

    print compiled macros correctly
    
    * libguile/macros.c (macro_print): Print macros whose code is a program
      as non-primitive. (Already, primitive-macro? would return #f.)

commit 80b5909ca8feae3bebfed8b44af906c2a7f0fa16
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 09:33:25 2008 -0700

    allow boot-9.go load if available
    
    * libguile/init.c (scm_load_startup_files): Don't specify the .scm
      suffix, so as to allow loading a boot-9.go if appropriate.

commit 275e00329555ce572fe9a68f7692dbecc52d8b34
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 09:32:31 2008 -0700

    remove define-syntax-macro from boot-9.scm
    
    * ice-9/boot-9.scm (defmacro:syntax-transformer, define-syntax-macro):
      Removed these, as I could not see anywhere they were being used, and
      they use the unnecessary procedure->syntax procedure.

commit 29a321aef0ee0b63e63c13bb394adaff0fb3ffb6
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:51:54 2008 -0700

    take procedure->memoizing-macro off of probation
    
    * module/language/scheme/translate.scm (%forbidden-primitives): Take
      procedure->memoizing-macro off probation; although it's not a good
      idea, there is a fair amount of existing code that uses it that can be
      compiled fine. So allow it in that case.

commit 7e58032880b97df1fd9c1c8626dd778de28cec5a
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:49:50 2008 -0700

    make thunk? understand programs
    
    * libguile/procs.c (thunk?): Return #t for thunk programs.

commit b95b1b835e932116b9b771e8de933afaaa1e0d9d
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:42:39 2008 -0700

    reorder module system boot time
    
    * ice-9/boot-9.scm: Postpone module system boot until (%app modules) is
      defined, so that resolve-module will work. This might not actually be
      necessary given the previous tomfoolery in resolve-module, but it
      doesn't seem like a bad change.

commit 73dea589ca6eb3361cf9583a09f8272f546ee3bf
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:49:17 2008 -0700

    module-variable accesses pre-module-obarray if module is #f
    
    * libguile/modules.c (module-variable): If module is #f, access the
      pre-modules-array. This is so that nested-ref can work before the
      module system is booted, I think.
    
      Of course all of these dependency lines during bootstrap are just to
      make sure the system can be booted properly, either interpreted or
      compiled, so there's no one right way: there are many ways that could
      work.

commit 53f84bc8b55efb648e181ded6b973ea87d32d026
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:40:57 2008 -0700

    prevent (resolve-module '(guile)) recursion
    
    * ice-9/boot-9.scm (resolve-module): Change so that resolving '(guile)
      does not require any module lookups. This is so that while within a
      call to (resolve-module '(guile)), we don't recurse when looking up the
      location for e.g. `append'. I can imagine other ways to get around
      this, but this one seems OK.

commit 3aabb7b793c0b3499b54b4f67674c196ff06557a
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:33:31 2008 -0700

    make late-variable-{ref,set} work before module system boot
    
    * libguile/vm-i-system.c (late-variable-ref, late-variable-set): If the
      module system isn't booted, do a simple scm_lookup. In the -ref case,
      actually cache the variable location (doh!).

commit 1b79210aa2508812011c40af2d2f321d96fdc7d9
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:21:10 2008 -0700

    better diagnostics on quasiquote errors
    
    * module/system/il/compile.scm (constant?, codegen): Add some diagnostics
      so that we can get decent error reporting if we accidentally unquote an
      unreadable value into the compiled output.

commit 2e7e6969bde40bafd0cba5cbfbc1e04ebb3db9ce
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 7 22:27:08 2008 +0200

    allow multiple modules in one compilation unit
    
    * module/system/il/ghil.scm (<ghil-env>, <ghil-toplevel-env>): Refactor
      so that all environments point (eventually) at one toplevel
      environment. Instead of having potentially multiple toplevel
      environments, each noting the module against which its bindings are
      resolved, have each binding in the toplevel record what module it
      should be resolved in. Should fix compilation units that define
      multiple modules.
      (ghil-lookup, ghil-define): Reworked to not be destructive. Module
      variables now have the module name as their "env", and are keyed as
      `(MODNAME . SYM)' in the var table.
      (call-with-ghil-environment): Reindented.
    
    * module/system/il/inline.scm (try-inline-with-env): Adapt to
      env/toplevel changes.
    
    * module/system/vm/assemble.scm (dump-object!): A vlink-later now holds
      the module name, not the module itself.
    
    * module/system/il/compile.scm (make-glil-var): The "env" of a "module"
      var is now the module name, not the module.
    
    * module/language/scheme/translate.scm (primitive-syntax-table): Update
      the way we test for toplevel environments. Reindent the lambda
      translator.
      (lookup-transformer, trans): lookup-transformer now has 2 args, not 3.
      (translate): Update the way we make toplevel environments.

commit b5c46470a54349a583022cfeb82e7f4f2ce28aba
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 7 22:15:25 2008 +0200

    improve backtraces
    
    * module/system/vm/frame.scm (frame-call-representation): Show more of
      lists.
      (program-name): Avoid a traceback if (frame-address link) is #f. Not
      sure when this can happen, but it does, and since this is already in
      the backtrace function, there be badness there.

commit ee79dfab3dc012b89a34a337a1803424ab0ed131
Author: Andy Wingo <address@hidden>
Date:   Sun Sep 7 22:14:18 2008 +0200

    update .gitignore files
    
    * .gitignore:
    * libguile/.gitignore: Update

commit 32e29e24b6b6d9946866ba656e36d01b54b4849e
Author: Ludovic Courtès <address@hidden>
Date:   Thu Sep 4 21:33:44 2008 +0200

    Update `NEWS' wrt. the removal of `scm_i_' symbols.

commit 39d275916b83bc515b7caef34a5d7a895d7a6718
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Sep 3 01:50:30 2008 -0300

    * eval.c: Mark #endif with comment.

commit 289cd1a720edb522ea60d7dfd0f1f4763284f050
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Sep 3 01:37:58 2008 -0300

    Don't sanity check GC numbers on 64 bit platforms, while we
    investigate a real fix.

commit 4e641322d3dc2b47677c87de3a32f8469431cf74
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 2 23:01:47 2008 +0200

    Fix compilation of `libguile-i18n' on NetBSD.
    
    * libguile/i18n.c (str_upcase, str_downcase, scm_char_locale_downcase,
      scm_char_locale_upcase): Cast chars to `int' when invoking `toupper ()'
      et al. to avoid "array subscript has type 'char'" on NetBSD.
      Reported by Greg Toxel <address@hidden>.

commit 69f23174d313650ca8fb0f69ede45c48d7a26b05
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 2 21:24:53 2008 +0200

    Use Gnulib's `strftime' to address bug #24130.
    
    * libguile/stime.c (scm_strftime): Use `nstrftime ()' from Gnulib.
      This provides the same semantics on all platforms, thereby fixing
      bug #24130.
    
    * doc/ref/posix.texi (Time): Remove note about non-portable `%Z'
      behavior.  Describe the new, portable behavior.
    
    * test-suite/tests/time.test ("strftime")["strftime %Z doesn't return
      garbage"]: Reinstate.
      ["C99 %z format"](have-strftime-%z): Remove.
      ("GMT", "EST+5"): Don't use `have-strftime-%z'.

commit e65fc94b7a01a46d867480861e93984e8ea1e012
Author: Ludovic Courtès <address@hidden>
Date:   Tue Sep 2 21:16:10 2008 +0200

    Add Gnulib `strftime' module, update Gnulib files.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Add `strftime'.

commit 97f1153a86b219699605bd08548f9950f1198ca2
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:15:26 2008 -0700

    superstition with no important effect
    
    * module/system/vm/assemble.scm (dump-object!): Some superstition, use
      bit arithmetic instead of int arithmetic. Makes me happier.

commit 22f4ee48822db5e30df3abf9a11b6066f2bab9d3
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:08:26 2008 -0700

    make primitive-load-path load compiled files if available
    
    * libguile/load.h: Update scm_search_path prototype.
    
    * libguile/load.c: Include vm.h for load-compiled/vm. Not sure if this is
      bad wrt modularity.
      (scm_c_string_has_an_ext): New private helper.
      (scm_search_path): Add an extra optional arg, `require_exts'; if true,
      require that the returned file name have one of the given extensions.
      Changes the C API, but not the scheme API.
      (scm_sys_search_load_path): Adapt to scm_search_path API change.
      (primitive-load-path): Here is the craziness: load a compiled file if
      found and newer than the corresponding (or not) source file.
      (scm_init_load): Define %load-compiled-extensions as the list of
      extensions denoting compiled files; defaults to '(".go").

commit 90b0be2028677095d6a1879c6461008ed00ea119
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:27:59 2008 -0700

    move up some initializations in the vm
    
    * libguile/vm.c: Move 'vm-run, 'vm-error, 'debug sym initialization up to
      the bootstrap phase, so they are ready if load-compiled/vm is called
      before (system vm vm) is loaded.

commit 27af6bc2b39eda0de7a5f4f3612380baf7ccfca7
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:51:30 2008 -0700

    turn define-option-interface into a defmacro
    
    * ice-9/boot-9.scm (define-option-interface): Turn into a defmacro
      instead of an mmacro.

commit 373d251b4dd5153c6909898dc225d37d4948e3d6
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:48:10 2008 -0700

    disable start-stack in compiled code
    
    * module/language/scheme/translate.scm (primitive-syntax-table): Disable
      semantics of start-stack in compiled code. I think start-stack
      semantics aren't bad, but they don't have vm-based implementations at
      this point.

commit 060cce72db44835f77078b6cecbccdd479a8b432
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:45:20 2008 -0700

    remove the-environment, the-root-environment, environment-module
    
    * ice-9/boot-9.scm (the-environment, the-root-environment)
      (environment-module): Remove these representation of the interpreter's
      idea of the environment, because they are not valid in the compiled
      case, and are not part of the scheme spec anyway.

commit 3bf2760867157e096d9fd987957b2e748c316c30
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:43:38 2008 -0700

    avoid local-eval in record constructors and accessors
    
    * ice-9/boot-9.scm (record-constructor, record-accessor)
      (record-modifier): Avoid local-eval when possible, because it uses the
      interpreter's representation of environments; and when we need to eval,
      use primitive-eval instead. Slight semantic change in that this
      evaluates relative to the current module rather than the root module,
      but not really a biggie. Should make this compilable in the future,
      somehow.

commit 1b68d041a58c475d070161812e0ebaf6fad53483
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:40:10 2008 -0700

    nits picked on boot-9.scm
    
    * ice-9/boot-9.scm (defmacro): Indentation fix.
      (begin-deprecated): Don't cons in the `begin' macro itself, only the
      symbol `begin'.

commit 115b9ee8ab976e8ff6d5a4d9a0a8469a929cca7e
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:37:15 2008 -0700

    enter into the (guile) module when compiling boot-9.scm
    
    * ice-9/boot-9.scm: Before doing very much, put us into the (guile)
      module when compiling. This avoids some circularity in the module boot
      process, whereby symbols are seen to resolve to the (guile-user)
      module, whereas in fact they originally pertain to the (guile) module.

commit c09346521eed9b46e0efe5a6173492ce0d675841
Author: Andy Wingo <address@hidden>
Date:   Mon Sep 1 23:54:15 2008 -0700

    Fix compilation #ifndef STACK_CHECKING.
    
    * libguile/debug.c (scm_debug_options): Fix compilation #ifndef
      STACK_CHECKING.

commit 049af8259bee1c9c6af0e82d0564e076ac19790d
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:36:21 2008 -0700

    fix Makefile.am in module/language
    
    * module/language/Makefile.am: Actually recurse into scheme/.

commit 5c4926209fb851c84f55b519c4968dd5b466b707
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 10:23:05 2008 -0700

    ditch the 8-bit compiled form of program parameters
    
    * libguile/vm-i-loader.c (load-program):
    * module/system/vm/assemble.scm (dump-object!): There are cases in which
      we use the 16-bit representation for program params (nargs, nexts,
      etc), but the actual 16-bit number actually fits into 8 bits -- which
      is then misinterpreted by the loader as the 8-bit form. So ditch the
      8-bit form entirely (it was never much of an optimization), and just
      use the 16-bit form. Make sure to clear out all your .go files before
      recompiling this one!

commit 7950b4cffb638cb34ecb79b0696d409d3034f467
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:13:08 2008 -0700

    fix a bug loading functions with 8 or more arguments
    
    * libguile/vm-i-loader.c: A combination of superstition and a bugfix:
      make sure that we treat bits as being of a type as wide as we think it
      is, and, more importantly, allow for programs with 8 <= nargs < 16.

commit 124c52d8bbfbc20a1184493182e090167685664e
Author: Andy Wingo <address@hidden>
Date:   Tue Sep 2 00:23:10 2008 -0700

    fix nested quasiquotes (yeepers)
    
    * module/language/scheme/translate.scm (primitive-syntax-table)
      (trans-quasiquote): Fix handling of nested quasiquotes.
    
    * testsuite/Makefile.am (vm_test_files):
    * testsuite/t-quasiquote.scm: Add a quasiquote test case.

commit 37a52039553b08c568e596852a871e59948ebfa6
Author: Julian Graham <address@hidden(none)>
Date:   Sat Aug 30 19:03:21 2008 -0400

    Resolve a deadlock caused by not checking mutex state after calling 
`SCM_TICK'.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit d0b6ad349184773a3a7c515612858d84b5fd7f01
Author: Julian Graham <address@hidden(none)>
Date:   Sat Aug 30 13:49:38 2008 -0400

    Raise error on SRFI-18 load if Guile built without threading support
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit e0b20b68b0e53084e5d86a5ecfda05ef43d533db
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 27 17:19:41 2008 -0700

    shamefully disable some more gc asserts
    
    * libguile/gc-freelist.c: Disable some more asserts. I have no idea why
      they're hitting, however.

commit 72f7452826d282e3c23b249f8ffdf5de01e6184e
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 27 17:17:30 2008 -0700

    move guilec and guile-disasm to be guile-tools scripts
    
    * .gitignore: Some touchups.
    
    * configure.in:
    * src/.cvsignore:
    * src/Makefile.am:
    * Makefile.am: No more src/.
    
    * scripts/compile:
    * scripts/disassemble: Moved here from src/ and changed into guile-tools
      scripts.
    
    * scripts/Makefile.am: Add the new scriptes.
    
    * guilec.mk: Adapt to new way of invoking the compiler.

commit cc39ff0ea15364175b9b506f897b50f72f9b193c
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 27 23:47:56 2008 +0200

    Remove `coop-threads' files that had been useless since 2005-03-02.

commit 70eca635571bce82123fcb6f72579ee741c50b2c
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 27 23:05:44 2008 +0200

    Fix builds `--without-threads'.

commit f85ea2a85fcdd051f432964806f044c0301d0945
Merge: 487b9dec2ea6b88ddbc6fbd17f445ddb197aebc5 
582a4997abc8b34ac6caf374fda8ea3ac65bd571
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Aug 26 23:48:20 2008 -0300

    Merge branch 'master' of git://git.sv.gnu.org/guile into nits

commit 487b9dec2ea6b88ddbc6fbd17f445ddb197aebc5
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Aug 26 22:49:05 2008 -0300

    Only sanity check numbers if SCM_DEBUG_CELL_ACCESSES is unset.
    
    SCM_DEBUG_CELL_ACCESSES uses the mark bits for its own purposes.

commit 80237dcc7783b4d94ecf1d987deb9306d61735a0
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Aug 26 22:47:19 2008 -0300

    Set SRCPROP{PLIST,COPY} through a macro, so SCM_DEBUG_CELL_ACCESSES 
compiles.

commit 89c95c460b3d3c39e2870ed426182524a2f7b79b
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:55:05 2008 -0700

    fix guile-disasm
    
    * src/guile-disasm.in: Adapt to the split-up of (system vm core).
      Detabify.
    
    Patch by C. K. Jester-Young <cky944 <at> gmail.com>.

commit 515bc96855c1795843d972a74c0e0d439e2153f6
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:52:20 2008 -0700

    m4 quoting foo in labels-as-values.m4.
    
    * m4/labels-as-values.m4: More m4 quoting love.
    
    Patch from C. K. Jester-Young <cky944 <at> gmail.com>.

commit 1976ad74b8fdfadd1b6b5c0884cc1f0b9bb9a2b2
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:43:17 2008 -0700

    fix casting-pointers-to-ints bug
    
    * libguile/vm.c: Cast pointers to intptr_t, not int.
    
    Patch from C. K. Jester-Young <cky944 <at> gmail.com>.

commit b26422769164c2b4961efbc0a85ac0db4c9a020d
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:40:07 2008 -0700

    fetch an inum's bits into a scm_bits_t, not an int
    
    * libguile/vm-i-scheme.c (FUNC1): Remove, cause it's not used.
      (FUNC2): Don't assume an inum can fit into an int, use scm_bits_t
      instead. In reality though we should probably do use different checks,
      i.e. for multiplication probably we overflow. (That would be a bug.)
    
    Based on a patch by C. K. Jester-Young <cky944 <at> gmail.com>.

commit bc73abc5ff832a1e7015b3e957afb9c6c3e8ac87
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:33:55 2008 -0700

    suppress autoconf warning
    
    * guile-tools.in: Suppress ``WARNING: $ac_file_inputs seems to ignore the
      --datarootdir setting'' message.
    
    Patch from C. K. Jester-Young <cky944 <at> gmail.com>

commit 05ddc073c3c1ea8220b2d148312852ac91d4905c
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 13:29:55 2008 -0700

    disable gc statistics asserts
    
    * libguile/gc.c: Disable the statistics asserts; see
      http://thread.gmane.org/gmane.lisp.guile.devel/7505

commit fdc0a82263cb3793cb92d802431162a50f12674c
Merge: ce66d60be23a0b151b6471896d3727601173907a 
582a4997abc8b34ac6caf374fda8ea3ac65bd571
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 12:51:19 2008 -0700

    merge from guile master
    
    Had to fix up .gitignore for some conflicts.

commit ce66d60be23a0b151b6471896d3727601173907a
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 26 12:40:25 2008 -0700

    start compiling ice-9
    
    * ice-9/Makefile.am: Integrate with guilec.mk, and start compiling
      sources. Have to figure out what to do with procedure->memoized-macro
      though, to get boot-9.scm compiling.

commit 582a4997abc8b34ac6caf374fda8ea3ac65bd571
Author: Ludovic Courtès <address@hidden>
Date:   Mon Aug 25 11:20:02 2008 +0200

    Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compile
    Gnulib code.

commit bfb2e1135842460d450cd514b8ef692a752db26c
Author: Ludovic Courtès <address@hidden>
Date:   Mon Aug 25 11:20:02 2008 +0200

    Use $(GCC_CFLAGS) for `-Werror' et al. so that it's not used to compile
    Gnulib code.

commit 75a09d5ae6486b41a0df405ce652844245db2d1d
Author: Andy Wingo <address@hidden>
Date:   Mon Aug 25 13:05:16 2008 -0700

    module compilation fixen, post-integration
    
    Thanks to Dale Smith.
    
    * guilec.mk: Rework to expect the includer to define $(modpath), then
      make $(moddir) from that.
    
    * module/language/Makefile.am:
    * module/language/scheme/Makefile.am:
    * module/system/base/Makefile.am:
    * module/system/il/Makefile.am:
    * module/system/repl/Makefile.am:
    * module/system/vm/Makefile.am: Define modpath instead.
    
    * src/guilec.in: Don't import (system vm bootstrap), it is no more.

commit 4b7513463d20acca02ed233583fef958352f2c71
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Aug 21 23:21:57 2008 -0300

    Fix 2 indentation nitpicks.

commit 1f5844000e11a4efda65c34fcd9af4e5f152b537
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Aug 21 23:16:20 2008 -0300

    Style nitpicks: space before () in function call.

commit 83495480e8e401d99158222f61d5c96fd2480e24
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 21 18:39:30 2008 -0700

    merge guile-vm into libguile itself
    
    * ice-9/boot-9.scm: Only define load-compiled as #f if it's not already
      defined, which won't normally be the case.
    
    * libguile/guile-vm.c: Removed, there's no more guile-vm binary.
    
    * libguile/frames.c: (with change frame? -> heap-frame?)
    * libguile/frames.h:
    * libguile/instructions.c:
    * libguile/instructions.h:
    * libguile/objcodes.c:
    * libguile/objcodes.h:
    * libguile/programs.c:
    * libguile/programs.h:
    * libguile/vm-bootstrap.h: (was bootstrap.h)
    * libguile/vm-engine.c: (was vm_engine.c)
    * libguile/vm-engine.h: (was vm_engine.h)
    * libguile/vm-expand.h: (was vm_expand.h)
    * libguile/vm-i-loader.c: (was vm_loader.c)
    * libguile/vm-i-scheme.c: (was vm_scheme.c)
    * libguile/vm-i-system.c: (was vm_system.c)
    * libguile/vm.c:
    * libguile/vm.h: These files moved here from src/, as guile-vm is now a
      part of libguile.
    
    * libguile/init.c: Bootstrap the VM. Yay!
    
    * libguile/Makefile.am: The necessary chicanery here.
    
    * module/system/vm/Makefile.am:
    * module/system/vm/bootstrap.scm:
    * module/system/vm/frame.scm:
    * module/system/vm/instruction.scm:
    * module/system/vm/objcode.scm:
    * module/system/vm/program.scm:
    * module/system/vm/vm.scm:
    
    * pre-inst-guile-env.in: Add builddirs to the load path; add module/ to
      the path in the empty-$GUILE_LOAD_PATH case as well.
    
    * src/Makefile.am: Moved out everything except guilec and guile-disasm,
      which probably should be moved to the scripts directory?
    
    * testsuite/Makefile.am: Update to find guile-vm in the right place.
    
    * module/system/vm/Makefile.am:
    * module/system/vm/bootstrap.scm: Removed bootstrap.scm, scm_init_guile
      handles the bootstrapping for us.
    
    * module/system/vm/frame.scm:
    * module/system/vm/instruction.scm:
    * module/system/vm/objcode.scm:
    * module/system/vm/program.scm:
    * module/system/vm/vm.scm: Call the init functions in libguile; should
      fix at some point to avoid the dlopen?

commit be52b55a3213c8f683d1007a542771daa3f9a06b
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 21 15:11:27 2008 -0700

    make pre-inst-guile use pre-inst-guile-env
    
    * pre-inst-guile-env.in:
    * pre-inst-guile.in: Change so that pre-inst-guile uses
      pre-inst-guile-env. Fixed inconsistency regarding $subdirs_with_ltlibs.

commit 9106a44eaa8f3e43ea143d55590157908c7b411d
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 21 14:49:12 2008 -0700

    chmod -x guilec.in.
    
    * src/guilec.in: Chmod -x.

commit 103dc4d4d297ed7522e36415869f60d81f9cbc5a
Author: Ludovic Courtès <address@hidden>
Date:   Thu Aug 21 22:23:59 2008 +0200

    Add Gnulib-provided files for convenience.
    
    These come from Gnulib's Git commit
    ae3a0d62f26d8156b403e40d6007475006f3136f, dated 2008-08-19.

commit fcd4901bef43fb17ab245e70ac420249bb951ef6
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 20 14:32:36 2008 -0700

    fix some compilation warnings, in anticipation of moving to libguile/
    
    * src/Makefile.am: Use standard guile CFLAGS, which has -Werror and
      -Wmissing-prototypes.
    
    * src/frames.h:
    * src/instructions.h:
    * src/objcodes.h:
    * src/programs.h:
    * src/vm.h:
    * src/vm.c: Fix warnings, mostly about prototypes.
    
    * src/vm_system.c: Fix a tricky x-is-not-initialized error. Thanks, GCC!

commit 22e95889ffb32ac09b799ef23df8b4eaeb3face3
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 20 14:11:35 2008 -0700

    remove unused "envs" code from guile-vm
    
    * src/Makefile.am:
    * src/envs.c:
    * src/envs.h: Remove the envs code, which was historically used to
      implement modules. But since we use Guile's modules, these aren't
      necessary.
    
    * src/vm.c:
    * src/vm_loader.c:
    * module/system/vm/assemble.scm: Remove code bits that trafficked in yon
      deprecation.

commit 417566ebc9dc51fc65b490a96213059e17994dde
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 20 19:31:46 2008 +0200

    Never define `_GNU_SOURCE' explicitly since `AC_USE_SYSTEM_EXTENSIONS'
    takes care of it.
    
    Conflicts:
    
        ChangeLog
        configure.in
        libguile/eval.c
        libguile/srfi-14.c
        libguile/threads.c

commit 82d8d6d9e8ac6a2c36534d6085cd3f96d6278856
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 20 00:44:20 2008 +0200

    Add test case for the GOOPS `class-redefinition' memory corruption.

commit 4a1db3a91ff5f2b8947d144f4ed3486d1960b34c
Author: Ludovic Courtès <address@hidden>
Date:   Tue Aug 19 19:13:39 2008 +0200

    Add ChangeLog and NEWS entry for the GOOPS `class-redefinition' memory
    corruption fix.

commit bb764c0e3c6969bc34154b9212eb0cd04b5f8f87
Author: Ludovic Courtès <address@hidden>
Date:   Tue Aug 19 19:08:29 2008 +0200

    Complete fix of `hell' allocation in GOOPS.

commit 408bcd99d3ec8eef04a44f24cd97dd32428d00c8
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Aug 18 11:02:43 2008 -0300

    Fix sizeof() nitpick for goops corruption.

commit 5bfb683e124887f5953e25d036531d146acee1f6
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 15:34:04 2008 -0300

    Make marked conservatively statistic accumulative.

commit 676d9cc55311d9c44205423a794a026e98c35ee1
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 15:20:55 2008 -0300

    If realloc() fails in scm_realloc, then do a complete GC with complete
    sweep directly.

commit 40945e5e9f5b1ecbd9a5d9f8713e25898e056198
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 15:03:48 2008 -0300

    Add a statistic for tracking how many cells are marked conservatively.
    
    This allows an informed choice for deciding how many segments to
    create.  After startup, ~2% of the cells are scanned conservatively.

commit 82ae1b8eb3413e6be6bd2aa032986fc7782e85ac
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 13:57:23 2008 -0300

    Garbage collection cleanup.
    
    * New file gc-segment-table.c: hold code for the segment table.
    
    * Remove data that might be out of date; remove
      scm_i_adjust_min_yield().  We don't store min_yields, since they
      are only accurate at one point in time (when the sweep finishes).
      We decide the min yield at that point from min_yield_fraction and
      freelist->collected / freelist->swept
    
    * Introduce scm_i_gc_heap_size_delta() replacing
      scm_i_gc_grow_heap_p().
    
    * Remove foo_1 fields containing penultimate results.
    
    * After GC, count mark bit vector to discover number of live
      objects. This simplifies hairy updates.
    
    * Many formatting and layout cleanups.
    
    * Fix in scm_i_sweep_card(): return the length of free_list returned,
      rather than number of deleted objects.
    
    * For mtrigger GCs: do not also run a full sweep after the gc() call, as
      this is inconsistent with lazy sweeping.
    
    * Remove scm_i_make_initial_segment().
    
    * Use calloc in scm_i_make_empty_heap_segment() to save on
      initialization code.
    
    * New function scm_i_sweep_for_freelist() which sweeps, with proper
      statistic variable updates.
    
    * New segments are conceptually blocks with 100% reclaimable cells.
    
    * Remove some useless constants/comments: SCM_HEAP_SIZE,
      SCM_INIT_HEAP_SIZE, SCM_EXPHEAP, SCM_HEAP_SEG_SIZE
    
    * Do not increment scm_cells_allocated() from the
      scm_[double]cell(). This would be a race condition.
    
    * Move some deprecation checks in separate functions to not distract
      from main code flow.

commit b474ac33ee0e47ab14306c218cb060667f9af2db
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 13:27:17 2008 -0300

    Remove comments about removed variables.

commit d09752ffd17688b33a1e828cf4c11f66b86c3c3c
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 11:57:27 2008 -0300

    Introduce scm_i_marking to detect when GC mark bits are touched
    outside of marking stage.

commit e89b7b36259edb20f60efc0e3e11fa83e5b35b89
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 02:58:36 2008 -0300

    Remove unused macro UNMARKED_CELL_P()

commit 569aa529d5379f3c942fa6eb01e8a1ad48ba9f77
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 02:58:17 2008 -0300

    Use word_2 to store mark bits for freeing structs and vtables in the
    correct order.
    
    This ensures that we only use GC Marks during the actual GC Mark.

commit b61b5d0ebea924ee4b3930b2cba72e282d4751c7
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 12:28:19 2008 -0300

    Do not include private-gc.h in srfi-60.

commit 51ef99f7fa9fb766fbb48619fc5863ab9914591d
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Aug 16 02:18:51 2008 -0300

    Fix memory corruption issue with hell[] array: realloc/calloc need to
    factor in sizeof(scm_t_bits)

commit 01621bf62ec16cb62260f0b7c9e926793718fd6d
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Aug 14 02:16:41 2008 -0300

    Include min-yields in gc-stats output.

commit 2072309c1c39cf193687cd895348d2f817537a3e
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Aug 14 01:51:24 2008 -0300

    Whitespace and formatting fixes.
    
    Conflicts:
    
        libguile/gc-freelist.c
        libguile/gc-segment.c
        libguile/gc.h

commit c95514b3b41c8e335ada863f8abb99cc4af9abe1
Author: Ludovic Courtès <address@hidden>
Date:   Thu Aug 14 00:15:03 2008 +0200

    Remove the now useless `qthreads.m4'.

commit b9d8ed05024ecfefa46f71888c0e502c2e3ff844
Author: Andy Wingo <address@hidden>
Date:   Mon Aug 11 19:51:33 2008 +0200

    make ,stats work
    
    * module/system/repl/command.scm (display-time-stat, display-mips-stat):
      Always convert to float.
    
    * module/system/vm/frame.scm (print-frame): Write the args, don't display 
them.
    
    * module/system/repl/command.scm (statistics): gc-sweep-time is no more.

commit 482015afec0c1848bd5c2b3445ee429037b8748b
Author: Andy Wingo <address@hidden>
Date:   Mon Aug 11 19:27:23 2008 +0200

    ease-of-use improvement to ,m; catch read errors at the repl
    
    * module/system/repl/command.scm (module): Accept e.g. `,m ice-9 popen'
      in addition to `,m (ice-9 popen)'.
    
    * module/system/repl/repl.scm (start-repl): Call read with a backtrace
      handler too.

commit 7e4760e4133160e24cc15dba17cdeac3040eb080
Author: Andy Wingo <address@hidden>
Date:   Mon Aug 11 18:35:58 2008 +0200

    fix bug in compilation of `and' and `or'; more robust underflow detection.
    
    * module/system/il/compile.scm (codegen): Rewrite handling of `and' and
      `or' ghil compilation, because it was broken if drop was #t. Tricky
      bug, this one! Took me days to track down!
    
    * module/system/repl/repl.scm: Export call-with-backtrace, which probably
      should go in some other file.
    
    * src/vm.c (scm_vm_save_stack): Handle the fp==0 case for errors before
      we have a frame.
    
    * src/vm_engine.h (NEW_FRAME, FREE_FRAME): Stricter underflow checking,
      raising the stack base to the return address, in an attempt to prevent
      inadvertant stack smashing (the symptom of the and/or miscompilation
      bug).
      (CHECK_IP): A check that the current IP is within the bounds of the
      current program. Not normally compiled in. Perhaps it should be?
    
    * src/vm_system.c (halt): Set vp->ip to NULL. Paranoia, I know.
      (return): Call CHECK_IP(), if such a thing is compiled in.
    
    * testsuite/Makefile.am (vm_test_files):
    * testsuite/t-catch.scm:
    * testsuite/t-map.scm:
    * testsuite/t-or.scm: New tests.

commit 67c4505e7a1002d8bbb395d3d4d79e77250f737e
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 9 14:30:52 2008 +0200

    backtraces on meta-commands too
    
    * module/system/repl/repl.scm (call-with-backtrace): New helper.
      (start-repl): Use the helper, for normal expressions *and* for
      meta-commands.

commit 707b812ef43f15a72d18b917e6f8323708570cbf
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 9 14:23:20 2008 +0200

    warn and load source file if newer than compile file
    
    * ice-9/boot-9.scm (try-module-autoload): Warn if the compiled file is
      older than the source file, and in that case load the source file.

commit e6d4e05cbda8445b86bccaa26b8604620cbe6412
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 9 14:11:35 2008 +0200

    don't truncate .go files, do an atomic rename to prevent SIGBUS
    
    * module/system/base/compile.scm (call-with-output-file/atomic): New
      proc, outputs to a tempfile then does an atomic rename. Prevents SIGBUS
      if a compiled file is truncated and rewritten, as the file's objcode is
      mmap'd in.
      (compile-file): Use the new helper.

commit fbea69ad42706c0ac755b89135e34fcf9586763f
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 9 13:41:23 2008 +0200

    fix source location reporting for compiled code
    
    * module/system/repl/repl.scm (default-catch-handler): Cosmetic
      improvements on VM error backtraces.
    
    * module/system/vm/frame.scm (print-frame): Cosmetic improvements.
      (frame-line-number): source:line operates on the handle, not the cdr.
      (print-frame-chain-as-backtrace): Cosmetic improvements.

commit 29711eb918794ea47999928c0817be6d1be6247f
Author: Andy Wingo <address@hidden>
Date:   Fri Aug 8 17:05:41 2008 +0200

    heapify the bootstrap program
    
    * src/vm_engine.c (vm_run):
    * src/programs.c (scm_c_make_program): If the holder is #f, malloc *and*
      copy the bytecode.
    
    * module/system/vm/frame.scm (bootstrap-frame?): Now that we actually
      heapify the bootstrap program, we can check for `halt' in the bytecode.

commit e15f47740b754276960c7b8cc38da14ae0ac9a83
Author: Andy Wingo <address@hidden>
Date:   Fri Aug 8 13:19:49 2008 +0200

    More relevant VM backtrace
    
    * module/system/repl/repl.scm: Remove a useless print in the backtrace
      handler.
    
    * module/system/vm/debug.scm (vm-backtrace): s/reverse!/reverse/
    
    * module/system/vm/frame.scm (bootstrap-frame?): A heuristic to see if a
      frame is a bootstrap frame, the one allocated on the stack in
      vm_engine.c; need to have a better solution for this.
      (make-frame-chain): Don't include bootstrap frames, they add no
      information.
      (print-frame-chain-as-backtrace): Remove a pk.
    
    * src/vm_engine.c (vm_run): Add a fixme about the bootstrap prograp.

commit d0168f3da8b77e24ea8eafd9c74da35419a96668
Author: Andy Wingo <address@hidden>
Date:   Fri Aug 8 12:55:57 2008 +0200

    improve source loc info in nonlocal exits and backtraces
    
    * module/system/il/compile.scm (codegen): The currently-executing
      instruction is actually the one right before the instruction pointer;
      so for purposes of assv to find a source location for an ip, put the
      source after the code, as it was before.
    
    * module/system/vm/debug.scm (vm-backtrace): Move more code to frame.scm.
    
    * module/system/vm/frame.scm (make-frame-chain): Include all frames, even
      the bootstrap one. For a reentrant backtrace we'll have boostrap
      programs anyway. Probably should check for objcode[2] == scm_op_halt,
      to not show those frames in the trace.
      (frame-line-number, frame-file): New helpers.
      (print-frame): Print out the line number too.
      (frame-call-representation): Code from print-frame-call moved here.
      (print-frame-chain-as-backtrace): A backtrace printer, yays.
      (program-name): Check link validity before calling frame-address on it.
    
    * module/system/vm/program.scm (source:addr, source:line, source:column)
      (source:file): New accessors for the elements of program-sources.
    
    * module/system/vm/vm.scm (vm:last-ip): New export.
      (vm-last-frame-chain): Use vm:last-ip in making the frame chain.
    
    * src/vm.h (struct scm_vm):
    * src/vm.c (make_vm, scm_vm_last_ip, scm_vm_save_stack): Save the last
      instruction pointer when saving the stack. Really though, we should be
      saving all of the stack data on a spaghetti stack.
    
    * src/vm_system.c (late-variable-ref): Pointless s/REGISTER/BEFORE_GC/.

commit 81aae20202b46e58b315dbea6b12f277b222f035
Author: Andy Wingo <address@hidden>
Date:   Fri Aug 8 00:26:17 2008 +0200

    fix bug in variable-set instruction; ,x prints out program metadata
    
    * module/system/vm/disasm.scm (disassemble-program, disassemble-meta):
      Disassemble program meta information too, if it's there.
    
    * src/vm_system.c (variable-set): Don't try to proxy name information;
      maybe we can do this later, but the code as it was was calling SCM_CAR
      on a variable, which is for the lose.

commit 5ea8e76e85c04757bc0d114f45637a37395ca7f1
Author: Neil Jerram <address@hidden>
Date:   Thu Aug 7 23:24:31 2008 +0200

    Fix build failure on Debian hppa architecture (bad stack growth detection)
    
        * configure.in (SCM_I_GSC_STACK_GROWS_UP): Remove use of
        AC_CACHE_CHECK, which was inadvertently causing
        SCM_I_GSC_STACK_GROWS_UP _always_ to be 0.

commit 17d1b4bffd32ab3f4eae5d0dbef63fca96174e6d
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 7 19:04:25 2008 +0200

    fix stack corruption on vm-save-stack; more robust with nonlocal exits
    
    * module/system/repl/command.scm: Coerce rationals to floats.
    
    * module/system/vm/program.scm (program-documentation): Fix a typo, doh!
    
    * src/vm.c (vm_reset_stack, struct vm_unwind_data): Add unwind handler to
      reset vp->sp, vp->fp, and vp->this_frame when performing a nonlocal
      exit from a vm_run.
      (vm_heapify_frames_1): Don't repack the stack, it causes stack
      corruption. I think we need spaghetti stacks to handle continuations,
      not separate heap frames. I don't think call/cc is working now.
      (vm-save-stack): Don't call heapify_frames, that modifies the stack
      that we're copying. Instead call its helper, heapify_1.
    
    * src/vm_engine.c (vm_run): Set up the vm_reset_stack unwind handler.
    
    * src/vm_engine.h (IP_REG, SP_REG, FP_REG): If we got through all of the
      checks without having these macros defined, define them as empty.
      Happens on x86-64.
    
    * src/vm_system.c (halt): End the dynwind before we return from the VM.
    
    * src/vm_scheme.c (REL): Sync the regs before calling scm_lt_p et al,
      cause they can do a nonlocal exit.

commit 68a2e18a047a2c8cbdc6e000fda51af52e75de0a
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 7 13:51:45 2008 +0200

    vm backtrace improvements
    
    * module/system/repl/repl.scm (default-pre-unwind-handler): Save the VM
      stack in addition to the interpreter stack. At some point these
      functions should know about each other, I guess.
      (default-catch-handler): Show the VM stack too. Needs a bit of work.
    
    * module/system/vm/frame.scm: Export make-frame-chain.
    
    * module/system/vm/vm.scm: Export vm-save-stack.
    
    * src/vm.c (scm_vm_save_stack): New function, heapifies the current
      stack, saving it to vm->last_frame.
    
    * src/vm_engine.c (vm_run:vm_error): Don't heapify frames here, because
      nonlocal exits avoid this code entirely. Instead rely on the user
      saving the stack with a pre-unwind handler, as the repl does.

commit d0927dde9759bee23a1bdafdd0148f6192b1e20f
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 7 13:29:15 2008 +0200

    build fixes
    
    * benchmark/measure.scm: Update for module changes.
    
    * module/system/vm/Makefile.am: Update the set of modules needing
      compilation.
    
    * src/guile-vm.c: Bootstrap the VM, now that we have a function for it.
    
    * testsuite/Makefile.am:
    * testsuite/run-vm-tests.scm: Update to fix make check, broken since we
      merged with Guile.

commit 07e56b27a1841d70e562ac69b9ef9d25d489ceb3
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 7 13:11:27 2008 +0200

    big reorg of scheme modules -- e.g. programs.c -> (system vm program)
    
    This reorganization kills the ugly module-export-all hacks in
    bootstrap.scm and core.scm. In fact, it gets rid of core.scm entirely,
    breaking out its functionality into separate files.
    
    * module/system/vm/trace.scm:
    * module/system/vm/profile.scm:
    * module/system/vm/disasm.scm:
    * module/system/vm/debug.scm:
    * module/system/vm/conv.scm:
    * module/system/vm/assemble.scm:
    * module/system/repl/repl.scm:
    * module/system/repl/common.scm:
    * module/system/base/compile.scm:
    * module/system/repl/command.scm: Update for changes, and fix a bug in
      procedure-documentation.
    
    * module/system/vm/bootstrap.scm: Just call scm_bootstrap_vm, which
      handles setting load-compiled for us.
    
    * module/system/vm/core.scm: Removed, functionality folded into other
      modules.
    
    * module/system/vm/frame.scm: Export the C frame procedures here; also
      move scheme functions from core.scm here.
    
    * module/system/vm/instruction.scm: New file, exports procedures from
      instructions.c.
    
    * module/system/vm/objcode.scm: New file, exports procedures from
      objcodes.c.
    
    * module/system/vm/program.scm: New file, exports procedures from
      programs.c, and some scheme functions originally from core.scm.
    
    * module/system/vm/vm.scm: New file, from vm.c and core.scm.
    
    * src/Makefile.am (libguile_vm_la_SOURCES): Add bootstrap.h.
    
    * src/bootstrap.h: New file, prototypes scm_bootstrap_vm (), which the
      scm_init_* functions call.
    
    * src/frames.h:
    * src/frames.c (scm_init_frames):
    * src/frames.c (scm_bootstrap_frames):
    
    * src/vm.h:
    * src/instructions.h:
    * src/instructions.c (scm_init_instructions):
    * src/instructions.c (scm_bootstrap_instructions):
    * src/objcodes.h:
    * src/objcodes.c (scm_bootstrap_objcodes):
    * src/objcodes.c (scm_init_objcodes):
    * src/programs.h:
    * src/programs.c (scm_bootstrap_programs):
    * src/programs.c (scm_init_programs):
    * src/vm.c (scm_bootstrap_vm):
    * src/vm.c (scm_init_vm): Call scm_bootstrap_vm() before doing anything
      in an init function. Bootstrap_vm will call bootstrap_instructions(),
      etc to initialize types, then set load-compiled to point to
      load-compiled/vm.
    
    * src/vm.c (scm_load_compiled_with_vm): Code to load .go files, if
      they're present.

commit 1865ad56804be4da82a6247a868a81648ebe87b3
Author: Andy Wingo <address@hidden>
Date:   Wed Aug 6 00:13:31 2008 +0200

    sync registers before calling c functions, really
    
    * src/vm_loader.c:
    * src/vm_scheme.c: Use SYNC_REGISTER, although it's the same as
      SYNC_BEFORE_GC. A style issue?
    
    * src/vm_system.c (call, tail-call): Explicitly do a SYNC_REGISTER, not
      relying on POP_LIST to do it for us, because POP_LIST won't do it if
      there are 0 arguments. The way that this manifested itself to me was
      badness after the second (read) call in a repl session. I wish I
      understood more about this problem.

commit 6287726adc8cb0f667657e2af757c95c072023e4
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 5 23:08:58 2008 +0200

    save vm's state before calling out to c procedures
    
    * .gitignore: Ignore .go files.
    
    * src/vm_loader.c:
    * src/vm_scheme.c:
    * src/vm_system.c: Sync the VM's state before calling out to C
      procedures that might cons or cause a nonlocal exit.

commit d507b25f1f9a3368026c6cd50565e6bbca3fc46f
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 5 21:56:29 2008 +0200

    disable trampoline "optimizations"
    
    * src/vm_system.c: Disable those trampoline "optimizations", as they
      actually slowed down benchmark/measure.scm '(fibo 30)'. They were
      edifying, in that now I have an appreciation of the need for
      SYNC_ALL().

commit 659b4611b6a138fa252a42d1e1a0f4862242454c
Author: Andy Wingo <address@hidden>
Date:   Tue Aug 5 01:03:17 2008 +0200

    re-enable computed goto; fix ,help in the repl; subr dispatch optimizations
    
    * m4/labels-as-values.m4: New file, checks for computed goto.
    
    * configure.in: Use AC_C_LABELS_AS_VALUES.
    
    * module/system/repl/command.scm (procedure-documentation): Extend the
      core's procedure-documentation in an ad-hoc way, so that ,help works.
    
    * module/system/vm/core.scm (program-properties): New function.
      (program-documentation): New function.
    
    * src/vm_engine.h (DROP, DROPN): Decrement sp before checking for
      underflow.
    
    * src/vm_system.c (call, tail-call): Add some optimized dispatch for some
      C functions, so that we can avoid consing and the interpreter if
      possible. However currently it seems that I'm always getting the
      scm_call_* trampolines back.

commit fbde2b915bfe4139b75e71c4ad5fd701b2558d8f
Author: Andy Wingo <address@hidden>
Date:   Sun Aug 3 14:33:02 2008 +0200

    Add docstring support
    
    * module/language/scheme/translate.scm (translate): Adapt to lambda
      having a `meta' slot now.
      (primitive-syntax-table, parse-lambda-meta): Parse out a docstring from
      lambda forms, putting in the <ghil-lambda>'s meta slot.
    
    * module/system/il/compile.scm (optimize, codegen): Passthrough for the
      `meta' slot to the <glil-asm> object.
    
    * module/system/il/ghil.scm (<ghil-lambda>): Add meta slot.
    
    * module/system/il/glil.scm (<glil-asm>): Add meta slot.
      (unparse): Unparse meta.
    
    * module/system/vm/assemble.scm (preprocess): Pass through the meta slot.
      (codegen): So, set the bytespec's meta slot as a list: bindings, source
      info, then the tail is the meta-info, which should be an alist.
      Currently the only defined key is `documentation', but `name' could
      come in the future.
    
    * module/system/vm/core.scm (program-sources): Sources are now in the
      cadr...
      (program-property): And here we have access to the cddr.

commit 96969dc1d645db882768da14f47ce8a4fc699f08
Author: Andy Wingo <address@hidden>
Date:   Sun Aug 3 14:03:47 2008 +0200

    fix recording of source locations
    
    * module/language/scheme/translate.scm (translate, trans)
      (make-pmatch-transformers): When recursing into subexpressions, get the
      appropriate source location information.
      (location): Include the source filename in the location information.
    
    * module/system/il/compile.scm (codegen): Record source locations in more
      cases. (This information ends up being part of the procedure metadata,
      not the actual codepath.)
    
    * module/system/il/glil.scm (unparse): Don't destructure the source
      locations (it's a vector now).

commit 76dae881582bf316967e21d3bdf44e3ead7d69f7
Author: Neil Jerram <address@hidden>
Date:   Sun Aug 3 00:18:33 2008 +0100

    Fix misleading output from `(help rationalize)'
    
        * numbers.c (scm_rationalize): Update docstring to match the
        manual (which is more correct).  Change argument "err" to "eps",
        also to match the manual.

commit 427d4a0c51e4e186fa20b7d85dccf77b5dae8c88
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 2 12:46:14 2008 +0200

    only pass symbols to module-ref & c
    
    * module/language/scheme/translate.scm: Make sure that we're actually
      passing symbols to module-ref et al.

commit 75e03dee5b21a1e2c300021e28aef3aa861b6b13
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 12:26:20 2008 +0200

    add compile-toplevel and evaluate conditions to eval-case
    
    * ice-9/boot-9.scm (eval-case): Define two more conditions:
      compile-toplevel and evaluate, as common lisp and chez scheme do.
      (defmacro, define-option-interface, define-macro, define-syntax-macro)
      (define-module, use-modules, use-syntax, define-public)
      (defmacro-public, export, re-export): Add `compile-toplevel' to all
      uses of eval-case.

commit 99f20fb62217fcac3d092c88fd5063a68e072c6f
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 12:23:46 2008 +0200

    make has-suffix? use string-suffix?
    
    * ice-9/boot-9.scm (has-suffix?): Use the core / srfi-13's
      string-suffix?.

commit 6b1a13744b666e15cf0a53433030868bff7e4375
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 12:19:28 2008 +0200

    Support loading of compiled syncase macros
    
    * ice-9/syncase.scm (current-eval-closure): New procedure.
      (env->eval-closure): Don't default to the root module: if we have no
      environment, we default to the current module via the logic in
      current-eval-closure. This is because psyntax's compilation mode
      doesn't know about guile modules, and thus won't dump the code to
      twiddle the current eval closure.
      (putprop, getprop, guile-macro): Use `current-eval-closure'.
      At the end, leave the expansion-eval-closure set to #f.

commit 2b70bf0eb389baa8c4788d9f6e20e6fda5d2f0de
Author: Andy Wingo <address@hidden>
Date:   Fri May 9 16:42:44 2008 +0200

    support thunks as prompts, as readline does.
    
    * ice-9/boot-9.scm (repl-reader): Support thunks as prompts.

commit d28d59933ca6da047e55da8af2ab4a18fb8fac61
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 2 12:29:07 2008 +0200

    make readline's `repl-reader' impl check the current-reader fluid
    
    * guile-readline/ice-9/readline.scm (activate-readline): Use the current
      binding of the current-reader fluid, if it is available.

commit d351811347b3bbc2c0b8fbada5335392772079b8
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 2 12:17:27 2008 +0200

    Fixes to make guile-vm compile in guile source tree
    
    * INSTALL: Updated.
    * m4/gnulib-cache.m4: Regenerated.
    
    * Makefile.am: Spelling fix.
    
    * guilec.mk:
    * src/Makefile.am:
    * src/vm.c: Update to actually work inside a guile source tree.
    
    * libguile/Makefile.am: Don't error on warnings in the flex-generated
      c-tokenize function.

commit e610dc3851da716e6ee4568f94f5f7cace84d2d9
Merge: 7dc9ae7179b8b099897f8080b675e2a9c54d388c 
87c4242ca8f65ac833659b43f2b150621a2ad998
Author: Andy Wingo <address@hidden>
Date:   Sat Aug 2 11:40:32 2008 +0200

    merge guile-vm to guile
    
    An attempt to pull in the original history from guile-vm into guile itself.

commit 091baf9edfb8330226524b99c3bf623499516bf7
Author: Neil Jerram <address@hidden>
Date:   Fri Jul 11 17:53:43 2008 +0100

    Single stepping through code from Emacs
    
    When you use GDS to evaluate Scheme code from Emacs, you can now use
    `C-u' to indicate that you want to single step through that code. See
    `Evaluating Scheme Code' in the manual for more details.
    
        * scheme-using.texi (Evaluating Scheme Code): Document use of
            `C-u' prefix with evaluation commands.
    
            * gds-scheme.el (gds-eval-region, gds-eval-expression)
            (gds-eval-defun, gds-eval-last-sexp): Support `C-u' prefix,
            meaning that user wants to single step through the code.
    
            * gds-client.scm (handle-nondebug-protocol): Add support for
            setting a trap on code that is about to be evaluated.

commit 0d751d472091421d91c097342c849cd52386f6ca
Author: Neil Jerram <address@hidden>
Date:   Thu Jul 17 22:03:49 2008 +0100

    ChangeLog for "Improve stack direction test"

commit 2b3df509f68ac68d91cc25b4718f8cf6069b97e9
Author: Neil Jerram <address@hidden>
Date:   Thu Jul 17 22:02:01 2008 +0100

    ChangeLog for "Improved MIPS/Linux gc_os_dep.c definitions"

commit 450be18dfffd496ef14e1c921953e6f179727ab4
Author: Ludovic Courtès <address@hidden>
Date:   Thu Jul 17 00:17:56 2008 +0200

    Handle lack of `struct dirent64' and `readdir64_r ()' on HP-UX 11.11.

commit 4696a66693fe88f87abc6313027cbd1563dc350c
Author: Neil Jerram <address@hidden>
Date:   Fri Jul 11 23:30:19 2008 +0100

    Improve stack direction test
    
        * configure.in: Update stack direction test to be like that in
        Autoconf _AC_LIBOBJ_ALLOCA and Gnulib; specifically in involving a
        function calling itself.

commit c0a658c4db8bb6aa85834a43a62c11ad5a8371ed
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 12 19:22:59 2008 +0100

    Improved MIPS/Linux gc_os_dep.c definitions
    
        From Thiemo Seufer <address@hidden>:
    
        * gc_os_dep.c (CPP_WORDSZ, ALIGN_DOUBLE, DATAEND,
        DYNAMIC_LOADING): Added #defines.
        (_fdata, _end): Added declarations.
        (DATASTART): Use _fdata instead of __data_start.
        (STACKBOTTOM): Changed from 0x80000000 to 0x7fff8000.

commit 8722d99a45ce09fbacad4a7bc6dff790bbf0af54
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 6 23:58:15 2008 +0200

    Use `-q' when running standalone tests.

commit 61c8bf343cf5e0edccb8a1631e94c6f313c8cb4d
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 6 19:55:18 2008 +0200

    Update `INSTALL'.

commit 4bdc8fb5acc750450819b53978665136eca6c171
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 6 19:53:49 2008 +0200

    Update to Autoconf 2.61.

commit 3d8c00e725d363379200b90c582c0a83f17b2402
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jul 5 20:24:51 2008 +0200

    Update Gnulib files.

commit 071bb6a84061dd8fba278219797fd376b0a54e10
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jul 5 20:10:44 2008 +0200

    Add `scm_c_symbol_length ()'.

commit b6137ed741eb0f14a4fb68c98879b91ec8250039
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jul 4 22:22:06 2008 +0200

    Don't declare `scm_i_locale_mutex' as `SCM_INTERNAL'.

commit a572acb2c2a51af368ca84db3e8b34ecae8ecc04
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jul 4 22:03:08 2008 +0200

    Update `THANKS'.

commit 3e28462ffb3038d9d8a026020702f4ea267bbca4
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jul 4 22:02:56 2008 +0200

    Fix `SCM_INTERNAL' with GCC 4.3.

commit 7b28af22c075b8339bec92b1abaa75689607db38
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 30 19:48:50 2008 +0200

    Add `NEWS' entry for SRFI-18.

commit e68f492a43a07a41c9ffbd08a0f3e7302a56c207
Author: Julian Graham <address@hidden(none)>
Date:   Sat Jun 21 00:55:17 2008 -0400

    srfi-modules.texi (SRFI-18): New sections.
    
    Signed-off-by: Ludovic Courtès <address@hidden>

commit 47871d5a161400e87999b7e28a85cb9022610238
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jun 28 22:00:44 2008 +0200

    Modernize Automake files.

commit c8779dde04535333f8c2a7258a412420e9778e2f
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jun 28 20:37:21 2008 +0200

    Fix doc typo regarding `use-syntax' and "syntax transformers".

commit 994e8417d21d834a8e144e7903659c23de830c15
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jun 28 20:32:17 2008 +0200

    Fix harmless typo in SRFI-19.

commit 95c6523b03387997d62c1bed57bd1a0864e30836
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jun 28 20:31:01 2008 +0200

    Disable type-checking of `SCM_UNPACK' for the broken HP compilers.

commit 83bd8c1223c95551afee6d69f7a2a9a35792fb98
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 2 21:47:53 2008 +0200

    Update `THANKS'.

commit 589d9eb8140f323475b97459443be4e42a3a6590
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 2 21:47:41 2008 +0200

    guile-config: Show `-L$libdir' before `-lguile'.

commit 6eadcdab985018791a4a39e932109f444dc1d4fe
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 2 21:43:07 2008 +0200

    Work around `#define except' on Tru64.

commit fcbc08686c3341dd2dd5b429e13f41fc08e29db4
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 2 21:34:57 2008 +0200

    Support systems whose <inttypes.h> doesn't define `PRIiMAX'.

commit e36280cb28f1041166ceb0941639c03e5c68fa70
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jun 1 13:09:36 2008 +0200

    Fix SRFI-88 URL in the manual.

commit 8c40b75d38d09040d9a09e1be9ddb478e56a8959
Author: Ludovic Courtès <address@hidden>
Date:   Sat May 31 23:19:55 2008 +0200

    Update `NEWS'.

commit 102dbb6f6ccf69badcb2215259d755136b19fe89
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 14 05:20:47 2008 +0200

    Add `SCM_INTERNAL' macro, use it.

commit 87c4242ca8f65ac833659b43f2b150621a2ad998
Author: Andy Wingo <address@hidden>
Date:   Sun May 25 13:43:26 2008 +0200

    Updated loop disassembly
    
    * benchmark/lib.scm: Update loop disassembly, with inlining. Neat!

commit 6cc3f99e83eaa3c6c8f4788695cd955235d2e712
Author: Andy Wingo <address@hidden>
Date:   Sun May 25 13:38:17 2008 +0200

    add inline macros for zero? and 1-
    
    * module/system/il/inline.scm (zero?, 1-): New inlines. Neat :) The loop
      benchmark speedup is now up to 5x.

commit e677365cbc1253eb28a88d694a35838f8125dac6
Author: Andy Wingo <address@hidden>
Date:   Sun May 25 13:34:50 2008 +0200

    Speed up the self-tail-recursive case (1x->2x)
    
    * benchmark/lib.scm: Add a comment, update the loop disassembly. Loop is
      now faster in the VM, thankfully.
    
    * src/vm_engine.h (CACHE_PROGRAM): Only release and regrab the object
      array handle if the program changed. That is to say, optimize the
      self-tail-recursive case. But perhaps the thing to optimize here are
      the procedure calls themselves. Worth looking at in the future.

commit 22bcbe8cc9e2bdf9d4fb4e912a32df9e5ba28754
Author: Andy Wingo <address@hidden>
Date:   Sun May 25 13:13:15 2008 +0200

    enable inlining; speed!
    
    * module/system/il/inline.scm: New module, implements generic inlining of
      scheme functions. It even does the right thing regarding (define
      arity:nopt caddr) and such. So now there are many more inlines: the
      arithmetics, `apply', the caddr family, etc. This makes the benchmarks
      *much* faster.
    
    * module/language/scheme/translate.scm (trans): Remove the
      %scheme-primitives code in favor of the generic (scheme il inline)
      code. Adds inlining for +, -, =, etc.
    
    * src/vm.c (vm_puts): Fix to work.
    
    * module/system/base/compile.scm (system): Export load/compile also.
    
    * module/system/il/compile.scm (optimize): Further debitrotting, but I
      haven't tried this function yet. It seems that <ghil-inst> was what
      <ghil-inline> is.
    
    * module/system/il/ghil.scm (*core-primitives*, *macro-module*)
      (ghil-primitive-macro?, ghil-macro-expander, ghil-primitive?): Remove
      these unused things.
    
    * module/system/il/macros.scm: Removed, replaced with inline.scm.
    
    * module/system/vm/assemble.scm (stack->bytes): Before, the final
      serialization code did an (apply u8vector (apply append (map
      u8vector->list ...))). Aside from the misspelling of append-map, this
      ends up pushing all elements of the u8vector on the stack -- assuredly
      not what you want. But besides even that, I think that pushing more
      than 32k arguments on the stack brings out some other bug that I think
      was hidden before, because now we actually use the `apply' VM
      instruction. Further testing is needed here, I think. Fixed the code to
      be more efficient, which fixes the manifestation of this particular
      bug: a failure to self-compile after inlining was enabled.
    
    * module/system/vm/bootstrap.scm: New module, serves to bootstrap
      boot-9's `load-compiled'. That way when we load (system vm core), we're
      loading compiled code already.
    
    * module/system/vm/core.scm: Use (system vm bootstrap).
    
    * src/guilec.in: Use the bootstrap code, so that we really are compiling
      with an entirely compiled compiler.
    
    * module/system/repl/repl.scm (default-catch-handler): An attempt at
      making the repl print a backtrace; more work needed here.
    
    * module/system/vm/frame.scm (make-frame-chain): Fix some misspellings --
      I think, anyway.

commit b046219e511d7251f37df1a9fe6e62b12527b3ac
Author: Julian Graham <address@hidden(none)>
Date:   Thu May 15 00:50:50 2008 -0400

    Scheme SRFI-18 implementation and tests file

commit 5feb8b6529f0bff937bd4504b6dd23e60bf65ac1
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 13:30:21 2008 +0200

    update news
    
    * NEWS: Update news for 0.7 release

commit 51f6b8f377fa7c3d57f40bd05f61adf4da6d10b1
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 12:54:14 2008 +0200

    distcheck works now
    
    * guilec.mk: New file, to be included when building .go files.
    
    * module/language/scheme/Makefile.am:
    * module/system/base/Makefile.am:
    * module/system/il/Makefile.am:
    * module/system/repl/Makefile.am:
    * module/system/vm/Makefile.am: Use guilec.mk.
    
    * module/system/base/compile.scm (compiled-file-name): Work on the
      basename of a file, so that we always create files in the directory
      where we run. Perhaps should add a -o option to guilec in the future.
    
    * Makefile.am: Actually recurse into module/ in a normal build.

commit 292bb8fc681d7e9216809da233a32f4de6688adc
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 12:21:40 2008 +0200

    include local copy of guile.m4
    
    * acinclude.m4: Add guile.m4 to this, because I really can't be arsed
      with aclocal.
    
    * autogen.sh: More better vanilla.

commit 1f246cb782e0ef810d8235047af473ef19e0698d
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 12:10:18 2008 +0200

    autotooling, version bump to 0.7
    
    * acconfig.h: Removed.
    
    * acinclude.m4: Use the extended AC_DEFINE for HAVE_LABELS_AS_VALUES, so
      as to remove the need for acconfig.h.
    
    * autogen.sh: Use autoreconf.
    
    * configure.in: Update info, don't warn about non-gnu make, bump version
      to 0.7.
    
    * doc/texinfo.tex: Automagically updated. (Should this be in VCS?)

commit b571a648d57de536c9a6ff0626c930f86e6b82f9
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 11:54:05 2008 +0200

    fix distcheck
    
    * src/Makefile.am (AM_CFLAGS, libguile_vm_la_LDFLAGS): Don't build with
      -pg. (There are better profilers out there.)
      (CLEANFILES): Add guilev and guile-disasm.
    
    * testsuite/Makefile.am (GUILE_VM): s/srcdir/builddir/.

commit 13c47753528ca790fa4a2d1f019150f9b8e898c1
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 11:46:52 2008 +0200

    properly include config.h in source files, not headers
    
    * src/Makefile.am: Add $(DEFAULT_INCLUDES) to a couple of our custom
      rules so we pick up the -I for config.h.
    
    * src/*.[ch]: Include the config.h in the C files, not in the headers.

commit d79d908ef0c421798b79bd72403b2a8fd196173c
Author: Andy Wingo <address@hidden>
Date:   Tue May 20 11:33:28 2008 +0200

    guile-vm is completely self-compiling now!
    
    * module/language/scheme/translate.scm (*the-compile-toplevel-symbol*):
      Reset to compile-toplevel, which requires a patch to guile.
    
    * module/system/base/compile.scm (compile-file): Some foo so that we load
      up the scheme language before call-with-output-file. Fixes compilation
      of (language scheme) modules.
    
    * module/system/base/language.scm (define-language): Don't unquote in
      make-language; refer to it by name instead, and export it.
    
    * module/system/repl/Makefile.am (vm_DATA): Don't compile describe.scm,
      because we really can't deal with goops yet.
    
    * module/system/repl/repl.scm (compile-toplevel): If we're compiling, put
      in a stub definition of start-stack, which is closely tied to the
      interpreter.
    
    * src/vm_loader.c (load-program): Fix a very tricky corruption bug!

commit 5163e9513896580f2f809cd032b121ba1e2e6276
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 21:38:09 2008 +0200

    fix syntax error in describe.scm
    
    * module/system/repl/describe.scm (format-documentation): Remove bad
      string syntax. This file doesn't compile though, due to define-macro
      being a procedure->syntax macro.

commit 9246a48606cfb25ca7f016f862c9ad5a2197200b
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 21:29:18 2008 +0200

    fix immediate linkage, some other fixes to allow vm/ to compile
    
    * module/language/scheme/translate.scm (lookup-transformer): Allow for
      undefined variables when doing the transformation -- it's possible that
      they come from a module definition's forward declaration.
    
    * module/system/repl/command.scm (import): Make into legal Scheme, caught
      by the compiler :-)
    
    * module/system/vm/assemble.scm (<vlink-now>): Remove the module field.
      Immediate bindings will now always be relative to the current module.
      Fixes some mess about process-define-module not being defined when
      loading modules, probably because we destructively modified the
      ghil-env.
      (codegen, dump-object!): Don't dump a module name.
    
    * src/vm_loader.c (link-now): Just use scm_lookup.

commit 6297d22907ef28d6dc059db3bbcd711d9b7c50a1
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 19:37:39 2008 +0200

    bind all module-level variables lazily
    
    comments in ghil-lookup are pertinent.
    
    * module/system/il/compile.scm (make-glil-var): Require that ghil vars
      have environments. Remove the 'unresolved case -- we'll treat all
      module-level variables as late bound.
    
    * module/system/il/ghil.scm (ghil-lookup): Treat all module level vars as
      late bound.
    
    * module/system/vm/assemble.scm: Instead of vlink and vlate-bound, have
      vlink-now and vlink-later.
      (codegen): Add a bunch of crap to get the various cases right.
      (object-assoc, dump-object!): Handle the new cases, remove the old
      cases.
    
    * src/vm_loader.c (link-now, link-later): Change from link and lazy-bind.
      Include the module in which the link is to be done, so that callers
      from other modules get the right behavior.
    
    * src/vm_system.c (late-variable-ref, late-variable-set): Instead of a
      sym, the unbound representation is a module name / symbol pair.
    
    * testsuite/run-vm-tests.scm (run-vm-tests): Remove some debugging.

commit 9cc649b880fe81ff4b2dd1929beb45ea313dee42
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 17:46:05 2008 +0200

    Add instructions for doing very late binding
    
    Fixes the mutually-recursive toplevel definitions case. This could be
    fixed by rewriting bodies as letrecs, as r6 does, but that's not really
    repl-compatible.
    
    * module/system/il/ghil.scm (ghil-lookup): Ok, if we can't locate a
      variable, mark it as unresolved.
    
    * module/system/il/compile.scm (make-glil-var): Compile unresolved
      variables as <glil-late-bound> objects.
    
    * module/system/il/glil.scm: Add <glil-late-bound> definition.
    
    * module/system/vm/assemble.scm (codegen): And, finally, when we see a
      <vlate-bound> object, allocate a slot for it in the object vector,
      setting it to a symbol. Add a new pair of instructions to resolve that
      symbol to a variable at the last minute.
    
    * src/vm_loader.c (load-number): Bugfix: the radix argument should be
      SCM_UNDEFINED in order to default to 10.
      (late-bind): Add an unresolved symbol to the object vector. Could be
      replaced with load-symbol I guess.
    
    * src/vm_system.c (late-variable-ref, late-variable-set): New
      instructions to do late symbol binding.
    
    * testsuite/Makefile.am (vm_test_files):
    * testsuite/t-mutual-toplevel-defines.scm: New test, failing for some
      reason involving the core even? and odd? definitions.

commit 1b8abe55148e6ff3e11acb5aff8c8ba6c50e3f2c
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 12:57:48 2008 +0200

    compile all of base/; some arbitrary changes; more "fixes" to `link'
    
    * module/language/scheme/translate.scm (lookup-transformer): When
      expanding syncase macros, use the eval closure from the ghil-env.
      Probably doesn't make any difference whatsoever.
    
    * module/system/base/Makefile.am (SOURCES): Compile pmatch.scm, now that
      it works :-))
    
    * module/system/base/compile.scm (compile-in): Compile inside a
      save-module-excursion, so that side effects of evaluation don't leak
      out.
    
    * module/system/base/pmatch.scm: Change from :use-syntax/:export-syntax
      to simply :use-modules/:export. Also probably has no effect.
    
    * module/system/il/ghil.scm (fix-ghil-mod!): Suppress warnings resulting
      from compilation of define-module.
    
    * src/vm_loader.c (link): So, referencing variables defined but not
      exported from the current module didn't work. Fixed that, but it's
      hacky. There are still some uncaught cases.

commit 8f43eb2b42b2289d7bb4a12ddee82bca7d4ccabc
Author: Andy Wingo <address@hidden>
Date:   Mon May 19 10:38:18 2008 +0200

    syncase macros compiling!
    
    * module/system/base/compile.scm: Also import load-objcode from (system
      vm core).
    
    * module/language/scheme/translate.scm (lookup-transformer): Use
      sc-expand3 in compilation mode when compiling macros. Yay, syncase
      macros compile!

commit a52b96a70a75aa6005ec5dc35813c5036f458476
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 23:38:52 2008 +0200

    rudimentary syncase support; some dash symbol syncase removal
    
    * module/system/vm/assemble.scm (dump-object!):
    * src/vm_loader.c (VM_DEFINE_LOADER): Use scm_from_locale_keywordn, not
      the krazy dash symbol stuff.
    
    * module/language/scheme/translate.scm (lookup-transformer): Add a
      special case for syncase macros.

commit 7f52f9e3b444a8621c44cd13bf6c90dab3f1aa93
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 18:57:33 2008 +0200

    avoid zealous unquotation
    
    * module/system/base/syntax.scm (define-record): Again, don't unquote in
      actual objects, because this is uncompilable. Ah well. At least now all
      of base/ is compiling.
    
    * module/system/vm/assemble.scm (dump-object!): More debug info.

commit cd702346f263fa38d1638e2512c2c6365611118b
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 18:48:22 2008 +0200

    fix else in cond, letrec env corruption, syntax.scm compile, define-module 
side effects
    
    * module/language/scheme/translate.scm (primitive-syntax-table):
      Translate the `else' clause of a cond as (begin ...). We used to use
      trans-body, which processes internal defines, which are not legal
      syntax here.
    
    * module/system/base/syntax.scm (define-record): Unfortunately, we can't
      unquote in the actual procedure for `%compute-initargs', because that
      doesn't work with compilation. So reference %compute-initargs by name,
      and export it.
    
    * module/system/il/ghil.scm (apopq!): Gaaaaar. The order of the arguments
      to assq-remove! was reversed, which was the badness, causing corruption
      to the env after calling call-with-ghil-bindings. Grrrrrr.
    
      (fix-ghil-mod!, ghil-lookup, ghil-define): As amply commented in the
      code, deal with compile-time side effects to the current module by
      lazily noticing and patching up the compile-time environment. A hacky
      solution until such a time as we special-case something for
      `define-module'.

commit 6167de4f72d5aed29a73f3a4e7e6b4bfebe4287a
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 13:55:33 2008 +0200

    `link' instruction links to symbols by module
    
    * module/system/il/compile.scm (make-glil-var): Only dump the module if
      we actually have one.
    
    * module/system/il/ghil.scm (ghil-define): Make sure that ghil-var-env is
      a ghil-env.
    
    * src/vm_loader.c (link):
    * module/system/vm/assemble.scm (dump-object!): Rewrite `link' to take
      two Scheme arguments on the stack: the symbol, as before, and the
      module in which the symbol was found at compile time. This introduces
      some undesireable early binding, but it does let the vm load up
      modules, and (potentially) have multiple modules in one .go file. On a
      practical level, I can now compile modules and have their .go files
      load up the modules' dependencies as necessary.

commit 26e69c946940766d6c9c4e71fd1f9dd778b75d91
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 13:03:47 2008 +0200

    remove some debugging info
    
    * module/system/vm/assemble.scm: remove a pk

commit 5e1cead4197736c1c4c9125b5e06625697249d5e
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 13:03:10 2008 +0200

    push the module resolution info for variables down into glil
    
    * module/system/il/compile.scm (make-glil-var): Make the :mod of the
      glil-var actually a guile module, not a ghil-env.
    
    * module/system/il/ghil.scm (module-lookup, ghil-lookup): For module
      variables, encode the location where we found the variable in the
      ghil-var.

commit 10be70254b14b11b2937783eac11833cb631f518
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 12:20:18 2008 +0200

    fix dumping of #:keywords
    
    * module/language/scheme/translate.scm (trans):
    * module/system/il/compile.scm (codegen): When making records where a
      value can be a keyword, make sure to use the keyword initialization
      form, so that the record initializer doesn't interpret the keyword as a
      slot name.
    
    * module/system/base/Makefile.am (vm_DATA): For now, don't compile
      pmatch.

commit bd76c6d3ea5b61e4481072e09f9f59ed5003fe70
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 11:17:00 2008 +0200

    allow interpretation of load-toplevel as compile-toplevel
    
    * module/language/scheme/translate.scm (*the-compile-toplevel-symbol*)
      (primitive-syntax-table): Existing eval-case invocations in boot-9.scm
      only have `load-toplevel', not `load-toplevel' and `compile-toplevel'
      as they should. Allow for interpreting `load-toplevel' as
      `compile-toplevel'.

commit 241d9cea20f77eeaa3546be4f8e7af7135bd3654
Author: Neil Jerram <address@hidden>
Date:   Thu May 15 00:00:57 2008 +0100

    Delete trailing whitespace.

commit 184af225b8a5233e6e5a24379f99026de3721117
Author: Julian Graham <address@hidden(none)>
Date:   Sun Apr 13 20:31:18 2008 -0400

    ChangeLog updates for latest set of SRFI-18 changes

commit 74926120a316f161c69a6df92b72318600737d36
Author: Neil Jerram <address@hidden>
Date:   Wed May 14 23:52:49 2008 +0100

    Delete trailing whitespace.

commit e009240547306ccafb84e9827eadb362a4755c88
Author: Andy Wingo <address@hidden>
Date:   Thu May 15 00:38:31 2008 +0200

    rework eval-case handling to be like cl's eval-when
    
    * module/language/scheme/translate.scm (trans): Remove the hacky case for
      the unspecified value, not needed any more.
      (primitive-syntax-table): Rework eval-case to understand
      compile-toplevel and evaluate contexts, as in common lisp's eval-when:
      http://www.lisp.org/HyperSpec/Body/speope_eval-when.html
      This is the Right Thing.

commit adc085f17c2ce4c6b5cb51f5cb8abc6975023b99
Author: Julian Graham <address@hidden(none)>
Date:   Sun Apr 13 19:51:23 2008 -0400

    latest set of SRFI-18 support changes to core threads

commit 0658041d11437c503ee5de4fcc4c0a4148ae00a7
Author: Andy Wingo <address@hidden>
Date:   Wed May 14 14:54:52 2008 +0200

    fix use-syntax / use-modules confusion -- fixes testsuites
    
    * testsuite/t-match.scm:
    * testsuite/t-records.scm: While the attempt to redefine use-syntax as
      being "use during compilation" was cute, it does not reflect the
      historical usage of use-syntax, nor does it correspond to existing code
      that includes other modules and uses them during compilation.
    
      So use-syntax has been replaced with use-modules. The test suites now
      pass. In the future, compilation phases should be done on whole
      modules, I think; r5rs-style computation does not have phases.

commit 7d1c45d38e34659c1ec3b76ba4c985901123bf61
Author: Andy Wingo <address@hidden>
Date:   Wed May 14 14:47:29 2008 +0200

    fix macro compilation via hooking into eval-case
    
    * module/language/scheme/translate.scm (eval-at-compile-time)
      (&compile-time-module, expand-macro): Remove this attempt at dealing
      with macros. Instead, we're going to rely on macros being first-class,
      and just catch eval-case at the bottom.
      (lookup-transformer): Lookup all syntax transformers in the module's
      eval closure. We catch the primitive-macros, compiling them to ghil,
      and expand the rest.
      (lookup-transformer): Fold in trans-pair here. Add a hacky case for the
      unspecified value; the problem shows up when compiling e.g.
      (define-macro (plus! x) `(set! ,x (1+ x))), as a fallout from
      eval-case.
      (make-pmatch-transformers, primitive-syntax-table): Define the
      primitive syntax transformers as a data-driven table instead of a
      function. There's a bit of syntax, too. Eval-case was rewritten to use
      pmatch.
    
    * module/system/base/compile.scm (scheme): Define as a thunk instead
      of a value, so as to allow (language scheme translate) to be imported
      in the repl. Still, a hack.

commit c78279fc40f407f8cbe3a2b38423b9c9fcceda9b
Author: Andy Wingo <address@hidden>
Date:   Wed May 14 11:19:06 2008 +0200

    (void) -> (begin)
    
    * module/language/scheme/translate.scm (expand-macro, trans-pair): Remove
      support for the scheme form, '(void). Replace it by (begin). What was
      Keisuke thinking? :)

commit 540d9d871e8323acf405d70087fc1bf54f2462f5
Author: Andy Wingo <address@hidden>
Date:   Wed May 14 11:13:00 2008 +0200

    remove x.foo.bar -> (slot x 'foo 'bar) compile-time translation
    
    * module/language/scheme/translate.scm (trans): Remove compile-time dot
      expansion.

commit e4c1d4cf612897d0eef7b2c5308056722daf2502
Author: Neil Jerram <address@hidden>
Date:   Tue May 13 00:00:34 2008 +0100

    Expand DEFFROM and DEFTO macros in discouraged.c
    
    * discouraged.c: Expand DEFFROM and DEFTO macros, to avoid
    compiler warnings about excess semicolons.  (Reported by Didier
    Godefroy.)

commit 346e4402a4e0110d53ee691137d562a8018a27e1
Author: Neil Jerram <address@hidden>
Date:   Thu May 8 00:29:53 2008 +0100

    Fix continuation problems on IA64.
    
    * Specific problems in IA64 make check
    
    ** test-unwind
    
    Representation of the relevant dynamic context:
    
                      non-rewindable
               catch      frame       make cont.
      o----o-----a----------b-------------c
            \
             \             call cont.
              o-----o-----------d
    
    A continuation is captured at (c), with a non-rewindable frame in the
    dynamic context at (b).  If a rewind through that frame was attempted,
    Guile would throw to the catch at (a).  Then the context unwinds back
    past (a), then winds forwards again, and the captured continuation is
    called at (d).
    
    We should end up at the catch at (a).  On ia64, we get an "illegal
    instruction".
    
    The problem is that Guile does not restore the ia64 register backing
    store (RBS) stack (which is saved off when the continuation is
    captured) until all the unwinding and rewinding is done.  Therefore,
    when the rewind code (scm_i_dowinds) hits the non-rewindable frame at
    (b), the RBS stack hasn't yet been restored.  The throw finds the
    jmp_buf (for the catch at (a)) correctly from the dynamic context, and
    jumps back to (a), but the RBS stack is invalid, hence the illegal
    instruction.
    
    This could be fixed by restoring the RBS stack earlier, at the same
    point (copy_stack) where the normal stack is restored.  But that
    causes a problem in the next test...
    
    ** continuations.test
    
    The dynamic context diagram for this case is similar:
    
                       non-rewindable
      catch                 frame       make cont.
        a----x-----o----------b-------------c
              \
               \    call cont.
                o-------d
    
    The only significant difference is that the catch point (a) is
    upstream of where the dynamic context forks.  This means that the RBS
    stack at (d) already contains the correct RBS contents for throwing
    back to (a), so it doesn't matter whether the RBS stack that was saved
    off with the continuation gets restored.
    
    This test passes with the Guile 1.8.4 code, but fails (with an
    "illegal instruction") when the code is changed to restore the RBS
    stack earlier as described above.
    
    The problem now is that the RBS stack is being restored _too_ early;
    specifically when there is still stuff to do that relies on the old
    RBS contents.  When a continuation is called, the sequence of relevant
    events is:
    
      (1) Grow the (normal) stack until it is bigger than the (normal)
          stack saved off in the continuation.  (scm_dynthrow, grow_stack)
    
      (2) scm_i_dowinds calls itself recursively, such that
    
          (2.1) for each rewind (from (x) to (c)) that will be needed,
                another frame is added to the stack (both normal and RBS),
                with local variables specifying the required rewind; the
                rewinds don't actually happen yet, they will happen when
                the stack unwinds again through these frames
    
          (2.2) required unwinds - back from where the continuation was
                called (d) to the fork point (x) - are done immediately.
    
      (3) The normal (i.e. non-RBS) stack that was stored in the
          continuation is restored (i.e. copied on top of the actual
          stack).
    
          Note that this doesn't overwrite the frames that were added in
          (2.1), because the growth in (1) ensures that the added frames
          are beyond the end of the restored stack.
    
      (4) ? Restore the RBS stack here too ?
    
      (5) Return (from copy_stack) through the (2.1) frames, which means
          that the rewinds now happen.
    
      (6) setcontext (or longjmp) to the context (c) where the
          continuation was captured.
    
    The trouble is that step (1) does not create space in the RBS stack in
    the same kind of way that it does for the normal stack.  Therefore, if
    the saved (in the continuation) RBS stack is big enough, it can
    overwrite the RBS of the (2.1) frames that still need to complete.
    This causes an illegal instruction when we return through those frames
    and try to perform the rewinds.
    
    * Fix
    
    The key to the fix is that the saved RBS stack only needs to be
    restored at some point before the next setcontext call, and that doing
    it as close to the setcontext call as possible will avoid bad
    interactions with the pre-setcontext stack.  Therefore we do the
    restoration at the last possible point, immediately before the next
    setcontext call.
    
    The situation is complicated by there being two ways that the next
    setcontext call can happen.
    
      - If the unwinding and rewinding is all successful, the next
        setcontext will be the one from step (6) above.  This is the
        "normal" continuation invocation case.
    
      - If one of the rewinds throws an error, the next setcontext will
        come from the throw implementation code.  (And the one in step (6)
        will never happen.)  This is the rewind error case.
    
    In the rewind error case, the code calling setcontext knows nothing
    about the continuation.  So to cover both cases, we:
    
      - copy (in step (4) above) the address and length of the
        continuation's saved RBS stack to the current thread state
        (SCM_I_CURRENT_THREAD)
    
      - modify all setcontext callers so that they check the current
        thread state for a saved RBS stack, and restore it if so before
        calling setcontext.
    
    * Notes
    
    ** I think rewinders cannot rely on using any stack data
    
    Unless it can be guaranteed that the data won't go into a register.
    I'm not 100% sure about this, but I think it follows from the fact
    that the RBS stack is not restored until after the rewinds have
    happened.
    
    Note that this isn't a regression caused by the current fix.  In Guile
    1.8.4, the RBS stack was restored _after_ the rewinds, and this is
    still the case now.
    
    ** Most setcontext calls for `throw' don't need to change the RBS stack
    
    In the absence of continuation invocation, the setcontext call in the
    throw implementation code always sets context to a place higher up the
    same stack (both normal and RBS), hence no stack restoration is
    needed.
    
    * Other changes
    
    ** Using setcontext for all non-local jumps (for __ia64__)
    
    Along the way, I read a claim somewhere that setcontext was more
    reliable than longjmp, in cases where the stack has been manipulated.
    
    I don't now have any reason to believe this, but it seems reasonable
    anyway to leave the __ia64__ code using getcontext/setcontext, instead
    of setjmp/longjmp.
    
    (I think the only possible argument against this would be performance -
    if getcontext was significantly slower than setjmp.  It that proves to
    be the case, we should revisit this.)
    
    ** Capping RBS base for non-main threads
    
    Somewhere else along the way, I hit a problem in GC, involving the RBS
    stack of a non-main thread.  The problem was, in
    SCM_MARK_BACKING_STORE, that scm_ia64_register_backing_store_base was
    returning a value that was massively greater than the value of
    scm_ia64_ar_bsp, leading to a seg fault.  This is because the
    implementation of scm_ia64_register_backing_store_base is only valid
    for the main thread.  I couldn't find a neat way of getting the true
    RBS base of a non-main thread, but one idea is simply to call
    scm_ia64_ar_bsp when guilifying a thread, and use the value returned
    as an upper bound for that thread's RBS base.  (Note that the RBS
    stack grows upwards.)
    
    (Were it not for scm_init_guile, we could be much more definitive
    about this.  We could take the value of scm_ia64_ar_bsp as a
    definitive base address for the part of the RBS stack that Guile cares
    about.  We could also then discard
    scm_ia64_register_backing_store_base.)

commit 53db56a030c4b950cafe663c9751d4b0ba8bf733
Author: Andy Wingo <address@hidden>
Date:   Tue May 13 00:13:56 2008 +0200

    fix env script
    
    * env: Fix env script to find $top_srcdir correctly

commit 83dff6e55f8397219e81b3f66d7d47c46c14b1cb
Author: Andy Wingo <address@hidden>
Date:   Tue May 13 00:07:40 2008 +0200

    Update Makefile.am's; remove slib import
    
    * Makefile.am:
    * module/Makefile.am:
    * module/language/scheme/Makefile.am:
    * module/system/Makefile.am:
    * module/system/base/Makefile.am:
    * module/system/il/Makefile.am:
    * module/system/repl/Makefile.am:
    * module/system/vm/Makefile.am: Cleaned up to be more complete, if not
      completely working.
    
    * module/guile/slib.scm:
    * module/slib/: Removed the slib import; it's a bit out of place here,
      and bitrotten at that.

commit 0a5db6e11d0bc8b5f7f822d8b45015b9ac0fc367
Author: Andy Wingo <address@hidden>
Date:   Mon May 12 23:39:25 2008 +0200

    add env script
    
    * env: New file, run as ./env guile

commit 9cd17db7dc2fb8f2482c82061b3c979b47c26550
Author: Andy Wingo <address@hidden>
Date:   Mon May 12 23:27:14 2008 +0200

    catch errors in the repl, with poor backtraces
    
    * module/system/repl/repl.scm (default-pre-unwind-handler)
      (default-catch-handler): New procedures, to do some error handling in
      the repl.
      (start-repl): Catch errors in the repl loop.

commit db917b415291a54a75451f54eb66b9aa88af8e51
Author: Andy Wingo <address@hidden>
Date:   Mon May 12 22:26:31 2008 +0200

    replace cenv with things in <repl> and fluids; remove the `use' meta-command
    
    * module/system/base/compile.scm (<cenv>): No more cenv, it was a useless
      data structure.
    
    * module/system/repl/command.scm (*command-table*): Remove `use', it's
      the same as `import'. Otherwise in this file, adapt to the repl having
      direct pointers to the vm and the language, and to the module being in
      the current-module fluid.
    
    * module/system/repl/repl.scm (prompting-meta-read):
    * module/system/repl/common.scm (<repl>): The repl now has a direct
      pointer to the vm and language. Adapt accordingly.

commit cd9d95d760e9b7576f90510ed584b844450cdc2c
Author: Andy Wingo <address@hidden>
Date:   Mon May 12 00:22:36 2008 +0200

    fixes so that typing asdfadfasff in the repl doesn't error
    
    Before:
    
    > ,c (set! x 3)
       0    (make-int8 3)                   ;; 3
       2    (link "x")
       5    (variable-set)
    
    > ,c (define x 3)
       0    (make-int8 3)                   ;; 3
       2    (link "x")
       5    (variable-set)
    
    After:
    > ,c (define x 3)
       0    (make-int8 3)                   ;; 3
       2    (define "x")
       5    (variable-set)
    
    * src/vm_loader.c (link): `link' now errors if the variable is undefined.
      This corresponds with desired behavior, for both `ref' and `set'
      operations, for scheme. It's not what elisp wants, though. Perhaps
      elisp linking needs another instruction.
      (define): New instruction, the same as calling scm_define(), basically.
    
    * module/language/scheme/translate.scm (trans-pair): Don't try to look up
      an existing variable definition when translating `define'; instead use
      the special-purpose lookup from ghil.scm's `ghil-define'.
    
    * module/system/il/compile.scm (codegen): Compile to a different kind of
      variable access from `set!', specifically via passing 'define as the op
      to `make-glil-var'.
    
    * module/system/il/ghil.scm (ghil-lookup): Don't add to the module table
      when compiling variable sets via `set!'.
      (ghil-define): New procedure, for looking up variables for `define'.
    
    * module/system/vm/assemble.scm (<vdefine>): New record: a new
      instruction type.
      (codegen): Compile `define' module vars into <vdefine>.
      (dump-object!): <vdefine> == `define'.

commit 859f6390740774ac8573ee9273f8102d94694686
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 22:37:35 2008 +0200

    only allow `define' at toplevel
    
    * module/language/scheme/translate.scm (trans-pair): Add a guard to only
      allow `define' at the top level; other defines are already filtered out
      via trans-body.
    
    * module/system/il/ghil.scm (ghil-env-toplevel?): Export, and fix.

commit fbbc50caf8eb97b88cd51bff3b62e084e32b6cf6
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 22:03:50 2008 +0200

    remove define-private
    
    * module/language/scheme/translate.scm: Remove define-private.

commit 77046be3d3545009b4103afa2fa78395a7ab97fe
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 22:00:34 2008 +0200

    explicitly list exports instead of using define-public
    
    * module/system/base/compile.scm:
    * module/system/il/ghil.scm:
    * module/system/repl/describe.scm:
    * module/system/vm/core.scm:
    * module/system/vm/frame.scm:
    * module/system/vm/trace.scm: Explicitly list exports in the module
      declaration instead of using define-public.

commit 01967b694c1e2cc2f9a1f683fce269ccb99dd8c2
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 21:48:10 2008 +0200

    <foo>? -> foo?; some exports cleanups
    
    * module/system/base/compile.scm: Export cenv? also.
    
    * module/system/base/syntax.scm: Clean up vestiges of the old structure
      code. Make accessors defined as foo? instead of <foo>?.
    
    * module/system/il/glil.scm:
    * module/system/il/ghil.scm: Remove <foo>-1 accessors, since we have
      named accessors.

commit be852e52dea31aef9e3078d9b62febc04b1e80e3
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 21:30:02 2008 +0200

    pmatchify a cond for prettiness
    
    * module/language/scheme/translate.scm: pmatchify, it's prettier.

commit 36fb1e06c8aa56d5f62b9b86c23905b52fef7d41
Author: Andy Wingo <address@hidden>
Date:   Sun May 11 20:53:47 2008 +0200

    fix to meta-reader's optional port argument
    
    * module/system/repl/repl.scm (meta-reader): Make the generated read
      procedure accept a port argument.

commit ccbbbe6d70fffc27fc61f731a74046fe4f1f9fa9
Author: Andy Wingo <address@hidden>
Date:   Fri May 9 13:21:23 2008 +0200

    ice-9 history integration
    
    * module/system/repl/repl.scm (start-repl): (ice-9 history) integration
      via the before-eval-hook and the before-print-hook.

commit 3a6f6678cfe529d94bee16039373c8d864f2d1ec
Author: Andy Wingo <address@hidden>
Date:   Fri May 9 13:15:15 2008 +0200

    readline integration for guile-vm
    
    * module/system/repl/common.scm (repl-prompt): Return a string instead of
      outputting to the port, for better readline integration.
    
    * module/system/repl/repl.scm (meta-reader, prompting-meta-read)
      (start-repl): Integrate with (ice-9 readline) via the current-reader
      fluid and the repl-reader function, both from boot-9.scm.

commit f116f923182c59077baae184ff2f8fb43e8eccfa
Author: Andy Wingo <address@hidden>
Date:   Fri May 9 12:14:15 2008 +0200

    more exports cleanups
    
    * module/system/repl/common.scm: Declare exports in the module
      declaration.

commit b79f118f8ea81754849edbfac360bbcdb6d2796e
Author: Andy Wingo <address@hidden>
Date:   Fri May 9 12:08:06 2008 +0200

    multiple-values help for the repl; exports cleanups
    
    * module/system/repl/command.scm (system): Declare exports in the module
      declaration.
    
    * module/system/repl/repl.scm (start-repl): If the evaluation returns
      multiple values, print them separately.

commit 33384c27eb64ad70b9bbbfb4e76a6e222e5d5ba6
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 7 20:52:59 2008 +0200

    Merge changes for 1.8.5.

commit a728672018cda71c77016555a69011bdc269c8fd
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 7 19:57:40 2008 +0200

    Remove uses of non-portable makefile constructs.

commit 7a35784c6b5f7c15bf53e01a6dfb9d85ab48f755
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 7 17:43:17 2008 +0200

    Avoid warning with GCC on FreeBSD 6.2 in `numbers.c'.

commit 6d4e1f627ee5738d9edb66ad4045a01637888f92
Author: Neil Jerram <address@hidden>
Date:   Mon May 5 23:47:24 2008 +0100

    Fix c-tokenize.c error: 'input' defined but not used, when compiling with 
GCC 4.3.0

commit b20ef3a6afe57e07140185912d937f12da4eda6b
Author: Neil Jerram <address@hidden>
Date:   Mon May 5 22:31:07 2008 +0100

    Add NEWS and concept index entries for traps infrastructure and Emacs 
support.

commit cdbbe19250efa534a937dde381ae3d5a84960b68
Author: Ludovic Courtès <address@hidden>
Date:   Sun May 4 22:42:13 2008 +0200

    Fix omissions and typos in previous commit.

commit 92826dd0e28a8c7abe5a29f46fd8ed8dd0a3b3b2
Author: Ludovic Courtès <address@hidden>
Date:   Sun May 4 22:19:30 2008 +0200

    Add `pkg-config' support.

commit f540e3271b55bd9e61165557c72d6ff8f9619e54
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 17:25:13 2008 +0200

    Replace ice-9 match's structures with guile's records
    
    * module/system/base/syntax.scm (define-record): Rebase to implement on
      top of Guile's records, which are the substrate of srfi-9's records.
      (%compute-initargs): Rename from %make-struct, just return the list of
      values.
      (get-slot, set-slot!, slot): Removed, no longer used.
      (record-case): Allow slots of the form (MYNAME SLOTNAME), which binds
      SLOTNAME to MYNAME (instead of SLOTNAME to SLOTNAME).
      (record-case, record?): No more ice-9 match!
    
    * module/system/il/compile.scm (codegen): Tweaks so that the new record
      code works.
    
    * module/system/il/ghil.scm: Fix some slot references.
    
    * module/system/vm/assemble.scm (preprocess, codegen): Remove calls to
      `slot'.
      (codegen): Fix some slot references.

commit a27bf0b7f681c02fe124c449e0ed1d4a0d92035c
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 16:26:56 2008 +0200

    Removed dot-expander syntax foo
    
    * module/system/base/syntax.scm (expand-dot!, expand-symbol, syntax):
      Removed, we don't use this syntax any more.

commit 44f38a1f363a0ced4ee942537dde9a8be6b98ec0
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 16:25:36 2008 +0200

    finish dedottifying
    
    * module/system/base/compile.scm: Dedottify.
    
    * module/system/base/language.scm: Export language accessors.
    
    * module/system/repl/common.scm: Dedottify. It's ugly, I know.

commit ce0925e14e3ef69e8fbed86ad87bd79323df4036
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 16:12:36 2008 +0200

    more dedottification, almost done
    
    * module/system/repl/common.scm:
    * module/system/base/compile.scm: Export some more things.
    
    * module/system/repl/command.scm: Dedottify.

commit aa0a011b827a7658300c32180f1e5a4ef7126452
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 15:59:40 2008 +0200

    Dedottify some more
    
    * module/system/il/compile.scm: Dedottify.
    
    * module/system/il/ghil.scm: Export some more thingies.

commit 61dc81d993c25d75aaaa5b29463c0f5b55eceb6f
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 15:37:54 2008 +0200

    procedures-with-setters, debitrot `optimize', dedottification
    
    * module/system/base/syntax.scm (define-record): Define the accessors as
      procedures-with-setters, not just as getters.
    
    * module/system/il/compile.scm (optimize): This function was bitrotten
      since the addition of source locations in
      cb4cca12e719edfef1740f238d9187c21c8e1e35. Untested attempts to
      de-bitrot it. Dedottify as well.
    
    * module/system/il/ghil.scm:
    * module/system/il/glil.scm (unparse):
    * module/system/vm/debug.scm (debugger-repl): Ongoing dedottification.

commit 9f8ec6eb1fabb4d02a458d029c50eb0ebaa8a4d8
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 14:28:16 2008 +0200

    fix errors in (language scheme translate) introduced in pmatchification
    
    * module/language/scheme/translate.scm (trans-pair): Fix some errors
      introduced in pmatchification.

commit 024e1862300dcca7c1854a137ce25c8558436559
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 14:03:53 2008 +0200

    Start the process of de-dottification.
    
    * module/system/vm/assemble.scm: De-dottify.

commit bdaffda2c4dbc14f679bfed0b11e472f7eb64bc5
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 13:54:41 2008 +0200

    Define named accessors for legacy record types
    
    * module/system/base/syntax.scm (define-record): Define named accessors,
      to prepare the code for srfi-9 records switchover.
    
    * module/system/il/ghil.scm:
    * module/system/il/glil.scm: Export a bunch of named accessors.

commit f245e62cf87076c5a77101a509090851ccbd8da5
Author: Andy Wingo <address@hidden>
Date:   Sun May 4 13:26:00 2008 +0200

    Refactor (language scheme translate) to use pmatch
    
    * module/language/scheme/translate.scm: Refactor use of `match' to use
      `pmatch'. Relatively straightforward.
    
    * module/system/base/pmatch.scm (ppat): Fix some copy-n-paste bugs: the _
      rule, the quote rule.

commit e429de1e5f3827d786cfdb7492e64b7e60739c56
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 19:39:41 2008 +0200

    more pmatchification
    
    * module/system/il/ghil.scm: No need for a match
    
    * module/system/repl/command.scm: Pmatchify
    
    * module/system/vm/disasm.scm: Pmatchify.

commit 23d43503d19da804ea8f08d0a08e954b4de29324
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 19:38:10 2008 +0200

    bugfix to make-cenv
    
    * module/system/base/compile.scm (make-cenv): Fix make-cenv.

commit e9b8c501d6a1f07e798457d6bd2b8c16de758dbe
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 19:23:45 2008 +0200

    start using pmatch instead of match
    
    * module/system/base/Makefile.am: Add pmatch.scm.
    
    * module/system/base/pmatch.scm: New file, taken from Dan Friedman's
      alpha-kanren paper. Implements a less magical match syntax, pmatch.
    
    * module/system/vm/assemble.scm: No more need for (ice-9 match).
    
    * module/system/vm/conv.scm (code-pack, code->object): Change to use
      pmatch.

commit 3164d8d0f35bef52f88b6ac5e5221525e229e781
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 19:13:51 2008 +0200

    s/match-lambda\*/case-lambda/g
    
    * module/system/il/macros.scm: Use case-lambda from srfi-16 rather than
      match-lambda*.

commit 67169b2960c0befc87673a7a01e7027c19b4e787
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 18:47:05 2008 +0200

    convert a couple more modules to record-case
    
    * module/system/base/syntax.scm (record-case): Capture the match macro.
    
    * module/system/il/glil.scm:
    * module/system/il/compile.scm: Convert to record-case.

commit 849cefacf15c265a091aa7d582d14b84f82ddcda
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 18:32:46 2008 +0200

    unify variant types and records; also make-foo instead of <foo>
    
    * module/system/base/syntax.scm (define-record): Rework to separate the
      type and its constructor. Now (define-record (<foo> bar)) will create
      `make-foo' as the constructor, not `<foo>'. Also the constructor now
      takes either keyword or positional arguments, so that it can be used as
      the implementation of variant types as well.
      (|): Map directly to define-record instead of rolling our own thing.
    
    * module/language/scheme/translate.scm:
    * module/system/base/language.scm:
    * module/system/il/compile.scm:
    * module/system/il/ghil.scm:
    * module/system/il/glil.scm:
    * module/system/repl/common.scm:
    * module/system/vm/assemble.scm:
    * module/system/vm/debug.scm: Change instances of record creation to use
      the make-foo procedures instead of <foo>. Adjust module exports as
      necessary.

commit 1aa0dd2b4529d19b78f344c921fb71e38fbbee19
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 14:52:36 2008 +0200

    Convert assemble.scm to use record-case.
    
    * module/system/base/syntax.scm (record?): Temporarily export this thing,
      so that code will remain correct when I change to srfi-9 records.
    
    * module/system/vm/assemble.scm: Convert to use record-case.

commit 7ef8d0a0086c932d7507025137eedd2546d39f8d
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 14:00:45 2008 +0200

    fix to (system base syntax)'s syntax
    
    * module/system/base/syntax.scm: Fix define-module

commit b816304293c430f9ccdc25cd92990dae87d1055d
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 13:55:33 2008 +0200

    rebase record-case on `match'
    
    * module/system/base/syntax.scm (record-case): Rebase on `match', for
      transition purposes.

commit be4efc52d29f7d26db01da846121bd648be99567
Author: Andy Wingo <address@hidden>
Date:   Sat May 3 13:46:56 2008 +0200

    pull in srfi-9, implement record-case
    
    * module/system/base/syntax.scm: Pull in srfi-9. Define a record-case
      macro that will replace (match foo (($ <type> slot ...) body...)).

commit 063fd30bbe68c67475dc46ba5d4cf49bac321305
Author: Andy Wingo <address@hidden>
Date:   Fri May 2 18:59:04 2008 +0200

    clean up some syntax imports and exports
    
    * module/system/base/syntax.scm (system): Don't re-export receive or
      and-let*; modules should explicitly import these if they want to. Don't
      export an empty stack-catch definition!
    
    * module/system/repl/command.scm (system): Pull in and-let*.
    
    * module/system/vm/disasm.scm (system): Don't import and-let*.

commit 0a8a9780b8ea829af0e06578541fe9a1fb71530c
Author: Andy Wingo <address@hidden>
Date:   Fri May 2 17:51:34 2008 +0200

    remove module.scm
    
    * module/system/base/module.scm: Removed module.scm, as it was unused
      (see 9419ff9ae91c93983972797e607e135ecd1233bb).

commit 6649bc04364be26666caa6395900265736d67a98
Author: Andy Wingo <address@hidden>
Date:   Fri May 2 17:35:25 2008 +0200

    cleanups in syntax.scm
    
    * benchmark/lib.scm (fibo): Make fibo actually a fibonacci sequence.
    
    * module/system/base/syntax.scm (system): Forward-declare all exports.
      (expand-symbol, slot): Rewrite expand-symbol to expand to a
      non-recursive invocation of `slot', so that in the future when we get
      rid of this syntax, the replacement will be more palatable to the eyes.

commit 0fb11ae43259bfa3d07e2da97e644caaff65c477
Author: Ludovic Courtès <address@hidden>
Date:   Mon Apr 28 18:03:27 2008 +0200

    Fix type-checking of SRFI-1 `partition'.

commit a030cb4b16cf9c39fcd8c4ab3b6570d599cd993f
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 27 00:50:05 2008 +0200

    Include <config.h> in SRFI-1.

commit 56ae2148173f0b9a8fe8bb82530113f99f1f364d
Author: Ludovic Courtès <address@hidden>
Date:   Sat Apr 26 21:55:29 2008 +0200

    Only run `test-with-guile-module' when pthread support is built.

commit bd22f1c768e2d5c7ec6264b8c68cc56019daccf4
Author: Ludovic Courtès <address@hidden>
Date:   Sat Apr 26 21:39:27 2008 +0200

    Remove extraneous semi-colon in `read.c'.

commit 816e3edf152f8c4d8a219e0bf24daa908c710adf
Author: Ludovic Courtès <address@hidden>
Date:   Sat Apr 26 21:09:40 2008 +0200

    Make `(srfi srfi-35)' visible through `cond-expand'.

commit 189681f55b464888b47b1e798bc20e3f984eb6ca
Author: Ludovic Courtès <address@hidden>
Date:   Sat Apr 26 19:34:37 2008 +0200

    Add `(srfi srfi-88)'.

commit 1afb97c4643163efdeb9cde28533132d823ac516
Author: Ludovic Courtès <address@hidden>
Date:   Sat Apr 26 19:27:55 2008 +0200

    Fix dangling references to files that have been removed.

commit b89fc2153ec8a46ce55d16c3a90a559117bc3aa1
Author: Ludovic Courtes <address@hidden>
Date:   Sun Jul 30 21:01:40 2006 +0000

    Slowly improving support for macro compilation.
    
    * module/language/scheme/translate.scm (&current-macros): Removed.
      (&current-macro-module): Removed.
      (&compile-time-module): New.
      (eval-at-compile-time): New.
      (translate): Initialize `&compile-time-module'.
      (expand-macro)[use-syntax]: New case.
      [begin let...]: Don't expand these built-in macros.
      [else]: Rewrote the macro detection and invocation logic.  Invoke macro
      transformers in the current compile-time module.
      (trans): Let `expand-macro' raise an exception if needed.
      (trans-pair)[defmacro define-macro]: Evaluate the macro definition in
      the compile-time module.
    
    * testsuite/t-match.scm: Use `use-syntax' instead of `use-modules' for
      `(ice-9 match)' and `(srfi srfi-9)'.
    
    * testsuite/t-records.scm: Likewise.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-15

commit e274f1c232db823e7c8e875cec6c1709c1a68445
Author: Ludovic Court`es <address@hidden>
Date:   Tue Jan 10 08:36:43 2006 +0000

    Fixed `autogen.sh' and removed `module' from the list of dirs to build.
    
    * autogen.sh: Fixed (call `libtoolize').
    
    * Makefile.am (SUBDIRS): Removed `module' which doesn't build right now.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-16

commit 9dbbe4bb838489e07dbed60f49d64156ef42cdf4
Author: Ludovic Courtes <address@hidden>
Date:   Tue Jan 3 23:13:30 2006 +0000

    Improved macro handling; started documenting the issue.
    
    * doc/guile-vm.texi (Compiling Scheme Code): New node.
    
    * module/language/scheme/translate.scm (&current-macro-module): New.
      (translate): Evaluate macros in `&current-macro-module'.
      (trans-pair): Likewise.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-13

commit a316e42d98c01b8a6ccaf99e42d18da93a778713
Author: Ludovic Courtes <address@hidden>
Date:   Mon Jan 2 18:05:23 2006 +0000

    Fixed the exception handler of `guilec'.
    
    * src/guilec.in: Fixed the exception handler.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-12

commit 23b587b0a1e73940b167f67a1d1f7273b7fc5f79
Author: Ludovic Courtes <address@hidden>
Date:   Mon Jan 2 18:04:04 2006 +0000

    Encode the length of constant lists/vectors on 2 octets instead of 1.
    
    * module/system/vm/assemble.scm (dump-object!): New sub-procedure
      `too-long'.  For `list' and `vector', encode the length on 2 octets
      instead of 1 and report an error if a list/vector is longer than 65535.
    
    * module/system/vm/disasm.scm (original-value): New sub-procedure
      `list-or-vector?'; when true, return the number of elements for that
      list/vector.
    
    * src/vm_system.c (list): Fetch the length as a two-octet integer.
      (vector): Likewise.
    
    * testsuite/t-basic-contructs.scm: New.
    
    * testsuite/Makefile.am (vm_test_files): Added the above file.
    
    * module/system/vm/core.scm (load-compiled): Added a bit of
      documentation.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-11

commit a55572bf3d9f2cc596a9367de6394b55f429b966
Author: Ludovic Courtes <address@hidden>
Date:   Mon Jan 2 15:20:33 2006 +0000

    Renamed the library from `libguilevm' to `libguile-vm'.
    
    * src/Makefile.am (lib_LTLIBRARIES): Renamed to `libguilevm.la' to
      `libguile-vm.la'.
    
    * module/system/vm/core.scm: Dynamic-link "libguile-vm" instead of
      "libguilevm.so".
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-10

commit 2335fb97dc870ac46980091bdab093b15a52d09b
Author: Ludovic Courtes <address@hidden>
Date:   Tue Dec 20 23:22:11 2005 +0000

    Added support for `defmacro' and `define-macro' in the compiler.
    
    * module/language/scheme/translate.scm: Use `(srfi srfi-39)'.
      (&current-macros): New top-level.
      (expand-macro): New.
      (scheme-primitives): Renamed `%scheme-primitives'.
      (%forbidden-primitives): New.
      (trans): Use `expand-macro' instead of `macroexpand'.
      (trans-pair): Handle `define-macro' and `defmacro'.
    
    * module/system/base/compile.scm (call-with-compile-error-catch): Handle
      non-pair LOC.
    
    * testsuite/t-macros2.scm: New test case.
    
    * testsuite/Makefile.am (vm_test_files): Updated.
    
    * testsuite/t-macros.scm: Test `read-options'.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-9

commit d0100f476dabede54b86ec8503df0d90012697a5
Author: Ludovic Courtes <address@hidden>
Date:   Tue Dec 20 23:12:10 2005 +0000

    Fixed an "unbound variable" in `(system vm conv)'.
    
    * module/system/vm/conv.scm: Autoload `(system vm core)' also when
      `opcode->instruction' is hit.  This fixes an "unbound variable" problem.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-8

commit 48302624d960dab283aeff9dce21167c7da83cc5
Author: Ludovic Courtes <address@hidden>
Date:   Tue Dec 13 21:33:50 2005 +0000

    Fixed error handling; detect and report macro expansion errors.
    
    * module/language/scheme/translate.scm (trans): Catch exceptions thrown
      by `macroexpand' and throw a syntax error.
      (trans-pair): Catch calls to `procedure->memoizing-macro' and raise a
      syntax error.
    
    * module/system/base/compile.scm (call-with-compile-error-catch): Made a
      macro (a procedure doesn't do the job).
      (compile-file): Uncommented call to `call-with-compile-error-catch'.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-7

commit 884d46de23cb24a14c87ae85731591dfd40b367b
Author: Ludovic Courtes <address@hidden>
Date:   Tue Nov 1 23:24:15 2005 +0000

    Tried compiling more code; augmented the doc.
    
    * module/language/Makefile.am: New.
    
    * module/language/scheme/Makefile.am: New.
    
    * configure.in: Produce these two new Makefiles.
    
    * doc/guile-vm.texi: Documented `compile-file', `compiled-file-name', and
      `compile-in'.
    
    * module/system/base/compile.scm: Cosmetic changes.
    
    * module/system/base/language.scm: Likewise.
    
    * module/system/il/Makefile.am: Tried (and failed) to compile more
      things.
    
    * module/system/vm/Makefile.am: All source files in here can now be
      compiled without harming further compilation.
    
    * module/system/vm/assemble.scm: Select only specific bindings from
      `(system vm core)'.
      (dump-object!): Show a more meaningful error message.
    
    * module/system/vm/conv.scm: Select only specific bindings from `(system
      vm core)'.
    
    * module/system/vm/debug.scm: Likewise.
    
    * module/system/vm/frame.scm: Changed the header.  Use a renamer for
      `(system vm core)'.
    
    * src/guilec.in: Added options, via `getopt-long'.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-6

commit b6368dbbb9af59e6c2df6b8cccc2651a2da8b725
Author: Ludovic Courtes <address@hidden>
Date:   Tue Nov 1 21:29:04 2005 +0000

    Fixed a Scheme translation bug; cleaned compilation with GCC 4.
    
    * module/language/scheme/translate.scm (trans-pair): In the `set!' case,
      when a procedure-with-setter is passed, call `trans:pair' with an
      actual pair.  This fixes a long-lasting bug which prevented compilation
      of `set!' statements with procedures-with-setter (this showed up when
      compiling `(system vm assemble)').
    
    * module/system/base/compile.scm: Added `objcode->u8vector' to the
      `#:select' clause.
    
    * module/system/base/syntax.scm: Cosmetic changes.
    
    * module/system/vm/assemble.scm (preprocess): Removed debugging
      statements.
    
    * src/frames.c: Cosmetic changes.
    
    * src/frames.h (SCM_FRAME_SET_DYNAMIC_LINK): New.
    
    * src/objcodes.c: Use `scm_t_uint8' instead of `char' when relevant.
    
    * src/vm.c (vm_heapify_frames_1): Use `SCM_FRAME_SET_DYNAMIC_LINK ()'.
    
    * src/vm_loader.c: Added casts to mute GCC 4 warnings.
    
    * testsuite/run-vm-tests.scm (*scheme*): Renamed to `%scheme'.
      (run-test-from-file): Renamed to `compile/run-test-from-file'.
      (run-vm-tests): Run each test using both the VM and the interpreter;
      compare the results.
    
    * testsuite/t-proc-with-setter.scm: Try out `get/set'.
    
    * doc/Makefile.am (info_TEXINFOS): New.
    
    * doc/guile-vm.texi: Added index entries and indices.
    
    * doc/texinfo.tex: New file.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-5

commit 49edef60dc34fcdb40ba1df3b5136e88796870c0
Author: Ludovic Court`es <address@hidden>
Date:   Fri Oct 28 14:49:25 2005 +0000

    Minor binding name clash tweak.
    
    * module/system/base/compile.scm: Only import `the-vm' and `vm-load' from
      `(system vm core)'.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-10

commit a52b2d3d5547564c10cfce9ae9993ee0a9ae698e
Author: Ludovic Courtes <address@hidden>
Date:   Sat Jun 25 06:57:20 2005 +0000

    Started documenting the compiler.
    
    * doc/guile-vm.texi:  Documented the compiler (node `The Compiler').
      Removed a number of things that might have been relevant to Guile-VM 0.0.
    
    * module/system/il/compile.scm (optimize):  Commented out the case
      using `<ghil-inst?>'.
    
    * src/vm_engine.c (vm_run)[objects_handle]:  New variable.
      Before leaving the function, release OBJECTS_HANDLE.
    
    * src/vm_engine.h (CACHE_PROGRAM):  Use `scm_vector_writable_elements'
      instead of `scm_vector_elements';  don't release the handle right away.
    
    * src/vm_loader.c (load-program):  New commented out piece of code
      dealing with simple vectors.
    
    * src/vm_system.c (object-ref):  Added the type of OBJNUM.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-3

commit 0b5f0e49a8b172544e2a7cb564c01c2ec439aaec
Author: Ludovic Courtes <address@hidden>
Date:   Sat Jun 25 03:13:56 2005 +0000

    * src/objcodes.c (make_objcode_by_mmap):  Fixed the error type when the
      object file is too small.
    
    * doc/guile-vm.texi:  Documented `make-closure'.  Improved the documentation
      of `load-program'.
    
    * testsuite:  New directory.
    
    * configure.in:  Added `testsuite/Makefile' to `AC_OUTPUT'.
    
    * Makefile.am (SUBDIRS):  Added `testsuite'.
    
    * src/vm_engine.h (VM_CHECK_OBJECT):  New option.
      (CHECK_OBJECT):  New macro.
    
    * src/vm_system.c (object-ref):  Use VM_CHECK_OBJECT.
    
    * module/system/vm/assemble.scm (preprocess):  Commented out the debugging
      code.
    
    * benchmark/lib.scm (do-loop):  New procedure.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-2

commit 6208295910a6fab78228b8255ed56ccd089bd5f0
Author: Ludovic Courtes <address@hidden>
Date:   Fri Jun 24 17:25:36 2005 +0000

    Removed a few more deprecated function calls;  documented closures.
    
    * src/Makefile.am (.c.x):  Fixed the rule.
    
    * src/envs.c:  Use `scm_hash_get_handle ()' instead of
      `scm_sym2ovcell_soft ()' and `scm_hash_create_handle_x ()' instead of
      `scm_intern_symbol ()'.
    
    * src/objcodes.c (bytecode->objcode):  Don't use `SCM_VALIDATE_INUM', use
      `SCM_VALIDATE_NUMBER' instead.
      (make_objcode_by_mmap):  Check whether the file is smaller than the
      magic cookies; check whether the magic cookies are there.
    
    * src/frames.c (frame-local-ref):  Likewise, but use `SCM_MAKE_VALIDATE'.
      (frame-local-set!):  Likewise.
    
    * src/instructions.c (opcode->instruction):  Likewise.
    
    * src/programs.c (program-external-set!):  New function.
    
    * src/guile-disasm.in:  New file.
    
    * src/Makefile.am:  Produce `guile-disasm'.
    
    * doc/guile-vm.texi:  Documented `external-ref', `external-set', `local-ref'
      and `local-set'.
    
    * module/system/vm/disasm.scm (disassemble-bytecode):  Fixed the way
      `load-program' is represented.
    
    git-archimport-id: address@hidden/guile-vm--mobile--0.6--patch-1

commit 135b32ee84567a7d704fdc1f6b86997bfd970eb9
Author: Ludovic Court`es <address@hidden>
Date:   Tue May 3 15:13:42 2005 +0000

    Playing with the procedure call mechanism.
    
    * src/objcodes.c (do-pair):  New experiment.
    * src/vm_engine.h (ALIGN_AS_NON_IMMEDIATE):  New macro.
      (POP_LIST_ON_STACK):  New experimental macro.
    * src/vm_engine.c (call):  In the procedure call case, I tried using the 
above
      macro.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-8

commit f41cb00ce25d0263bb58e83e3d632ec6bf79b05a
Author: Ludovic Court`es <address@hidden>
Date:   Mon May 2 16:32:32 2005 +0000

    Fixed a stack leak.  Now observing actual performance.
    
    * src/*.[ch]:  Replaced `scm_mem2symbol' by `scm_from_locale_symboln' and
      `scm_ulong2num' by `scm_from_ulong'.
    * src/vm_system.c (tail-call):  Fixed stack leak (SP lacked decrement by
      one more Scheme object in the tail-recursive case).
    * benchmark/measure.scm (measure):  Make sure we are using the compiled
      procedure (i.e. a program object) when measuring.  This yields better
      results than before.  :-)
    * doc/guile-vm.texi:  Augmented the instruction set documentation with
      branch instructions, `call' and `tail-call'.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-7

commit 2d80426a3ec7de15a194d0baed0e9f4be8659b92
Author: Ludovic Court`es <address@hidden>
Date:   Fri Apr 29 14:12:12 2005 +0000

    Improved the VM's efficiency.  The VM is as fast as the interpreter.  :-(
    
    * benchmark/lib.scm:  New file.
    * benchmark/measure.scm:  New file.
    * README:  Added useful pointers to various threads.
    * doc/guile-vm.texi:  Fixed the description of `load-program' (it now 
expects
      _immediate_ integers).
    * src/*.[ch]:  Use immediate integers whereever possible, as in the original
      code.  For `CONS', use `scm_cell' rather than `scm_cons'.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-6

commit 238e7a11a8ec5aa2406b31620d3e56409639d4cf
Author: Ludovic Court`es <address@hidden>
Date:   Thu Apr 28 15:45:59 2005 +0000

    Got the VM up and running!  Augmented the documentation.
    
    * src/*.[ch]:  Replaced the remaining `SCM_MAKINUM', and changed `SCM_VELTS'
      into `scm_vector_elements ()'.
    * src/vm_loader.c (link):  Fixed so that it pushed a variable object on
      the stack.
    * src/vm_system.c (variable-ref):  Fixed so that it uses `scm_variable_ref 
()'
      and friends.
    * module/system/vm/assemble.scm (dump-object!):  Fixed the string case.
    * src/vm_engine.h (CONS):  Use `scm_cons' instead of `SCM_NEWCELL'.
    * doc/guile-vm.texi:  Added actual instruction definitions, explanations of
      the program invocation mechanism, programs' object tables, etc., in the
      `Instruction Set' chapter.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-5

commit fa19602c28cf4a6d54860e98b3c4379b3a058d37
Author: Ludovic Court`es <address@hidden>
Date:   Wed Apr 27 09:36:52 2005 +0000

    Fixed the compiler, got the disassembler working.
    
    * doc/guile-vm.texi:  Texified and cleaned up.
    * src/vm.c:  Use `scm_from_locale_string ()' instead of `scm_makfrom0str 
()'.
    * src/vm_engine.c:  Likewise.
    * src/programs.c (scm_program_bytecode):  Return a u8vector instead of a 
string.
    * module/system/vm/conv.scm (make-byte-decoder):  Fixed a few things wrt. to
      the string to u8vector transition.
    * src/objcodes.c (bytecode->objcode):  Fixed a bug where the last 10 bytes 
of
      the bytecode where ignored.
    * module/system/vm/assemble.scm (dump-object!):  Don't convert everything
      to a u8vector, keep strings where it makes sense.
    * module/system/vm/conv.scm (code->bytes):  Accordingly, convert strings to
      u8vectors when needed.
      (make-byte-decoder):  Accordingly too, when decoding instructions, return
      variable-length instructions' argument as strings except for 
`load-program'.
    * module/system/vm/disasm.scm:  Export `disassemble-bytecode'.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-4

commit 054599f117f12ea183167c46b62c18cd590181c4
Author: Ludovic Court`es <address@hidden>
Date:   Mon Apr 25 16:56:18 2005 +0000

    Updated the assembly process so that `u8vectors' are used.  Compilation 
works.
    
    * module/system/vm/conv.scm (encode-length):  Use u8vectors.
      (code->bytes):  Likewise.
    * module/system/vm/assemble.scm (codegen):  Use u8vectors instead
      of strings.
    * src/objcodes.c (objcode->string):  Removed.
      (objcode->u8vector):  New function.
    * module/system/base/compile.scm (compile-file):  Use `objcode->u8vector'
      and `uniform-vector-write'.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-3

commit d8eeb67c89ea3f68f25bd1d7633a91cd3e8c1b68
Author: Ludovic Court`es <address@hidden>
Date:   Fri Apr 22 16:00:33 2005 +0000

    Translation from Scheme to GHIL, and compilation to GLIL work.
    
    * src/*.c:  Removed calls to `scm_must_malloc', `SCM_MUST_MALLOC' and
      `scm_must_free'.  Same for `SCM_INUMP', `SCM_INUM', `SCM_STRING_CHARS',
      and the likes.
    * module/system/base/syntax.scm:  Do not import `(ice-9 match)' and do
      not re-export `match', do not export `syntax-error' which was not
      defined here.
    * module/system/base/compile.scm (call-with-compile-error-catch):  Use
      the `catch' form instead of `try'.
    * src/instructions.c:  Use `scm_from_char ()' instead of the deprecated
      macro `SCM_MAKINUM ()'.
    * src/instructions.h (scm_instruction):  Made `npop' a signed char.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-2

commit f9e8c09d42ce992803d2c4dddbc00991260c636f
Author: Ludovic Court`es <address@hidden>
Date:   Fri Apr 22 11:07:06 2005 +0000

    Updated the C code base so that it compiles with Guile 1.7.2.
    
    * src/*.[ch]:  Introduced changes so that it compiles with Guile 1.7.2.
    
    git-archimport-id: address@hidden/guile-vm--revival--0.6--patch-1

commit 535b3592b24693a0d24b7c7fd4702d3c405bf3d6
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 24 19:25:30 2008 +0200

    Don't use "-I$(srcdir)", so that our "random.h" doesn't shadow libc's on 
Tru64.

commit 839e63263cbd494ef5368448c46b3134c7f3c6a5
Author: Neil Jerram <address@hidden>
Date:   Thu Apr 17 21:36:20 2008 +0100

    Document file-exists?

commit 6bb1dc98b9faecfc9943b724f5f99e3e0aa39340
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 17 10:04:09 2008 +0200

    Add `read' benchmark.

commit be10cba84b4ab85a89cb8e4f30281d40820b4f5f
Author: Ludovic Courtès <address@hidden>
Date:   Wed Apr 16 12:00:49 2008 +0200

    Update `NEWS'.

commit f5c2af4be0d2b5deefe489e093a9bafc77f69b33
Author: Ludovic Courtès <address@hidden>
Date:   Mon Apr 14 18:09:49 2008 +0200

    Inline `scm_getc', `scm_putc' and `scm_puts'.

commit c3455f571acf354f151304616139140bbb09ed6d
Merge: c4d088f54cd7827c9678d5f043b325a4e343eacf 
f0c88df7de9dee90e7718fb5d47f23cefd182657
Author: Ludovic Courtès <address@hidden>
Date:   Wed Apr 16 09:06:02 2008 +0200

    Merge branch 'master' of ssh://address@hidden/srv/git/guile

commit c4d088f54cd7827c9678d5f043b325a4e343eacf
Author: Ludovic Courtès <address@hidden>
Date:   Wed Apr 16 09:01:33 2008 +0200

    Don't use "echo -n" in `guile-readline/configure.in'.

commit f0c88df7de9dee90e7718fb5d47f23cefd182657
Author: Neil Jerram <address@hidden>
Date:   Tue Apr 15 23:52:58 2008 +0100

    Add TAGS to .gitignore

commit ee9e3a93f7c67f94d8cc7a748861cb7880fdaab2
Author: Neil Jerram <address@hidden>
Date:   Mon Apr 14 21:25:17 2008 +0100

    A few elisp fixes and enhancements

commit b1860cb3429e8b4f71d414e79c89400f18dff569
Author: Neil Jerram <address@hidden>
Date:   Mon Apr 14 19:40:02 2008 +0100

    * gds-client.scm (gds-debug-trap): Ensure that frame index passed to Emacs 
is always positive.

commit 904fabb6020baeef5c8c7cd313c759912cc918e7
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 15 20:14:44 2008 +0200

    Revert "Fix typo in `read.c'."
    
    This reverts commit 6ddb3ca825b1ee8b746eb688e98aa3b37ab55c3e.

commit 6ddb3ca825b1ee8b746eb688e98aa3b37ab55c3e
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 15 20:01:13 2008 +0200

    Fix typo in `read.c'.

commit ef4cbc08c88b9c0ca6498ba36af91e1ad35b5dfe
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 15 19:52:43 2008 +0200

    Add support for SRFI-88-like postfix keyword read syntax.

commit cac3960028d0c9d01076074d442b2a80483aff9a
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 13 20:41:23 2008 +0200

    Test the interaction of GOOPS objects with `struct-{ref,set!}'.

commit 9dca89355ff2364ead7bcc4d9c5bea03f77b4423
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 13 19:38:42 2008 +0200

    Slightly simplify inline machinery.

commit 07db6fcd4cceca090c386ca0527e3762a81467cf
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 13 19:35:46 2008 +0200

    Really fix inline machinery for MacOS X.

commit 7dc9ae7179b8b099897f8080b675e2a9c54d388c
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 10 23:57:05 2008 +0200

    Fix inline machinery in C99 mode on MacOS X.

commit f1c212b15665a93f6b1411bf16d066dc9b45a36f
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 10 23:20:20 2008 +0200

    Add `NEWS' entries for Andy's fixes.

commit 4650d115020924e8da5547d4c346cbe5cd01029e
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 10 01:32:14 2008 +0200

    fix struct-ref and struct-set! on "light" structs
    
    * libguile/struct.c (scm_struct_ref, scm_struct_set_x): "Light" structs
    have no hidden words (members of the SCM_STRUCT_DATA(x) array accessed
    with negative indices). In that case, determine the number of fields
    from the length of the struct layout descriptor. (Most GOOPS instances
    are light structs.)

commit 4125c767611836b984749045d4566d3d1c9ed393
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 10 01:27:19 2008 +0200

    initialize 'u' slots to 0, not SCM_UNPACK(SCM_GOOPS_UNBOUND)
    
    * goops.c (wrap_init): Initialize 'u' slots to 0, not some random
    SCM value.

commit 54ee7cdfce93366c10a28e54ac14090b8c94b91b
Author: Andy Wingo <address@hidden>
Date:   Thu Apr 10 01:23:06 2008 +0200

    respect slot allocation, e.g. for <read-only-slot>
    
        * libguile/goops.c (get_slot_value, set_slot_value): In the struct
        allocation case, don't poke the slots array directly -- we should
        go through struct-ref/struct-set! code so that we get the
        permissions and allocation ('u' versus 'p') correct.

commit 08365ce40013cde2597e851e859ccc034fa20bd3
Author: Neil Jerram <address@hidden>
Date:   Fri Mar 28 22:56:24 2008 +0000

    Fix manual typo.

commit 4b824aae11e2dbb83c3ac13c18866c09c5939699
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 27 21:50:06 2008 +0100

    Update/remove references to the CVS repository.

commit 5995c6d8013789b0d18ea0419e63c8377d01734b
Author: Ludovic Courtès <address@hidden>
Date:   Sun Apr 6 18:41:07 2008 +0200

    Fix "#include" directives in stand-alone C tests.

commit 979eade6515559e3590f87f127d21172036f52a6
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 3 17:28:42 2008 +0200

    Fix inline machinery for GCC 4.3 and later in C99 mode.

commit 90ace3e1c1012dc0af0f4d15e408a675014d8597
Author: Ludovic Courtès <address@hidden>
Date:   Mon Apr 7 23:55:58 2008 +0200

    More `.gitignore'.

commit 89e3e0dceab994b4f3191f63344e007758c48e9c
Author: Ludovic Courtès <address@hidden>
Date:   Mon Apr 7 23:48:08 2008 +0200

    More `.gitignore'.

commit 2a1d06886efb50b7aece452aee534143b8cc4c99
Author: Neil Jerram <address@hidden>
Date:   Mon Mar 24 21:51:09 2008 +0000

    (to_timespec): Change 1000000 multiplier to
    1000000000.
    (unchecked_unlock_sym, allow_external_unlock_sym,
    recursive_sym): Use SCM_SYMBOL.
    (scm_make_mutex_with_flags): When raising unsupported option
    error, report what the unsupported option was.
    (fat_mutex_unlock): When raising errors, unlock m->lock first.
    (fat_cond_timedwait): Removed.
    (scm_timed_wait_condition_variable): Call fat_mutex_unlock
    directly instead of via fat_cond_timedwait.

commit 9c9b203b80013aea6f4a3ed906510a2641489f0e
Author: Neil Jerram <address@hidden>
Date:   Mon Mar 24 21:50:51 2008 +0000

    (Mutexes and Condition Variables): Change
    `flag' to `flags' in docstring.

commit 09499546b9bf5c65b706786d73071cd62f255641
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 19 22:56:17 2008 +0000

    (command-loop): Use
    needed modules.

commit 24dbb5ed1080132c1dc67bf100d10ab4cc011af1
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 19 22:51:24 2008 +0000

    * api-debug.texi (Low Level Trap Calls): Removed (material
    duplicated elsewhere); doc for with-traps and debug-object? moved
    to section on evaluator trap options.
    (High Level Traps): Renamed just `Traps'.  Add references to
    evaluator trap options and debug options.  Make language
    appropriate for core Guile (as opposed to previously separate
    package).
    (Location Traps): Corrected to reflect that location traps now
    specify a specific position, not a range of positions.
    (Debugging Examples): New (content moved here from
    scheme-debugging.texi, and updated to use traps instead of
    breakpoints).
    
    * api-modules.texi (Included Guile Modules): Change `Debugging
    Features' reference to `Tracing'.
    
    * api-options.texi (Evaluator trap options): Doc for with-traps
    and debug-object? is now here.
    
    * guile.texi, scheme-debugging.texi: Move the `Tracing' content of
    scheme-debugging.texi to the Modules section.
    
    * scheme-using.texi (Using Guile in Emacs, GDS Getting Started):
    Minor edits.
    
    * scheme-debugging.texi (Debugging Features, Intro to
    Breakpoints): Removed.
    (Examples): Moved to api-debug.texi.
    (Tracing, Old Tracing): Promoted one level.
    (New Tracing, Tracing Compared): Removed.

commit cc7e01ceddaae8723feeedf33cca4fd106111025
Author: Ludovic Courtès <address@hidden>
Date:   Tue Mar 18 09:10:45 2008 +0000

    Use SRFI-1 in `(oop goops util)'.

commit eedcb08a2530145c87a86154e16a5a834d3aef37
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 13 14:03:58 2008 +0000

    Honor $TMPDIR in the test suite.

commit 62c5382b886f6a0e58fdff707fbf84eeef4bf166
Author: Ludovic Courtès <address@hidden>
Date:   Wed Mar 12 17:01:19 2008 +0000

    Fix SRFI-37 `args-fold' with short option names of argument-less options.

commit bbb6fc4fc29107d82d1d990021cca040d4d64c19
Author: Ludovic Courtès <address@hidden>
Date:   Wed Mar 12 17:00:07 2008 +0000

    Provide `describe' feature in `(oop goops describe)'.

commit c2ad98ad41aed45564cbab73eec1ae521e695d87
Author: Ludovic Courtès <address@hidden>
Date:   Mon Mar 10 22:34:40 2008 +0000

    Fix `alloca' on FreeBSD 6.

commit bca69a9fbad6f19850cb060c6b8ba2b57d4b2e6c
Author: Neil Jerram <address@hidden>
Date:   Sun Mar 9 21:57:00 2008 +0000

    Only define scm_from_complex_double if it will
    actually be used.

commit 6180e336b297560db1ca2e121ffbb34379455fe4
Author: Neil Jerram <address@hidden>
Date:   Sat Mar 8 16:22:40 2008 +0000

    Core enhancements, by Julian Graham, to Guile's thread, mutex and
    condvar primitives, in preparation for SRFI-18 support.

commit 61b6542aa618902422c8707793ff57f947631a65
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 6 09:51:44 2008 +0000

    Fix type-checking for the second argument of `eval'.

commit 3f52096714fad9636ba70cce24b78860f6e6c35b
Author: Ludovic Courtès <address@hidden>
Date:   Sun Mar 2 17:03:42 2008 +0000

    Fix "mixed linkage" errors in `inline.h'.

commit fa80e2809e3b8e0805f396032439c884db752b45
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 27 23:00:37 2008 +0000

    (errno): Remove declarations that have been there
    forever, and are known to conflict on some platforms with that
    provided by <errno.h>, which we include unconditionally.  If
    <errno.h> doesn't provide a errno declaration, what is the point
    of it?

commit d53f85dd859fa69af8a0b67482774d2a88aaf407
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 23 18:30:00 2008 +0000

    * FAQ: New file.
    
    * Makefile.am (EXTRA_DIST): Add FAQ

commit 2018147881238f0e5a0e150ae74c8b72b922abf0
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 23 18:29:45 2008 +0000

    Updated to GNU coding
    standards; added standard license statement.

commit a2c25234fbb110c9b888cdb89913ad3eb58df16c
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 23 11:28:11 2008 +0000

    Use `imaginary_part' instead of `imaginary' to fix build on Solaris 2.10.

commit e27d2495372019f01c9e5fc75d72df62cb01d7ca
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 22 16:05:30 2008 +0000

    Fix `(ice-9 match)' for lists of lists.

commit 4fcb27c471cfdd84589bf4d5974dd36d8d5543a2
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 22 09:55:22 2008 +0000

    Look for `strncasecmp' declaration.

commit bfb64eb40896ea59cb70abaa02d4d5eee9a31187
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 22 09:53:02 2008 +0000

    Fix build issue in `gc.c' on GNU/Linux IA64.

commit 27ba39f2e6328d794428a6627ebe5f784e9235cc
Author: Neil Jerram <address@hidden>
Date:   Thu Feb 21 23:05:22 2008 +0000

    Fix a strange character that got into "scm_add_slot" somehow

commit 5305df84f8870f21eab8b44bb0c89530889e17b7
Author: Ludovic Courtès <address@hidden>
Date:   Thu Feb 21 08:43:54 2008 +0000

    Fix bug #22369: segfault in `scm_add_slot ()'.

commit 25a640ca6e86e27752861e7ab4ff93900e71eb43
Author: Ludovic Courtès <address@hidden>
Date:   Thu Feb 21 08:41:24 2008 +0000

    Merge 1.8.4 release commit.

commit 9a6fac59b1624e27aaa898da8fee3abc8b8d7b71
Author: Ludovic Courtès <address@hidden>
Date:   Sat Feb 16 19:45:41 2008 +0000

    Fix NetBSD/alpha support.

commit b226295af854bfa2247d8e2a074177ff48edafd6
Author: Neil Jerram <address@hidden>
Date:   Fri Feb 15 23:13:59 2008 +0000

    Release stuff: missing NEWS and 2007/2008 copyrights.

commit d4a00708e7dd3f5db7f0b5c19f441a0f4e03c38e
Author: Neil Jerram <address@hidden>
Date:   Fri Feb 15 23:06:52 2008 +0000

        * autogen.sh: Copy versions of config.guess and config.sub from
        Guile CVS to build-aux and guile-readline.
    
        * HACKING: Note need for libtool >= 1.5.26.
    
        * config.rpath, build-aux/config.rpath: Updated to latest upstream
        version.
    
        * config.guess, config.sub: 2008-01-07 versions added to Guile
        CVS, to ensure that Guile developers are using new enough versions
        (in particular for AIX 6.1 support).

commit f937ce3741184ba2f3ee3c70bfd0caa057207c98
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 15 16:02:22 2008 +0000

    Add `gc.test' hack for SPARC GNU/Linux.

commit 8cd5eae91d5409a62e6a565e00e0d1846c35d606
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 12 21:00:05 2008 +0000

    configure.in: additional note suggested by Greg Troxel

commit 5b5179f895ec199596a66e0fc6876ed088a66485
Author: Ludovic Courtès <address@hidden>
Date:   Tue Feb 12 14:26:37 2008 +0000

    guile-snarf: Honor $TMPDIR.

commit 8c726cf0b48d7ca7e7dae4e803e4f53e926eadb3
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 11 22:34:33 2008 +0000

    (Random): New text about the default random state,
    following suggestions by Stephen Uitti.

commit 4b26c03ec726aa212b012df31d23e800f08194b5
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 11 21:20:14 2008 +0000

    * numbers.c (SCM_COMPLEX_VALUE): Use GUILE_I instead of _Complex_I
    directly, and only if GUILE_I was defined by the configure step.
    (scm_log, scm_log10, scm_exp, scm_sqrt): Use SCM_COMPLEX_VALUE
    code only if SCM_COMPLEX_VALUE is defined.
    
    * configure.in (--without-64-calls): Use AC_MSG_CHECKING and
    AC_MSG_RESULT instead of just echo.
    (GUILE_I): New programs to try using _Complex_I or 1.0fi for the
    imaginary unit.

commit 7f74cf9a67398b58412cd40ff589a5a7cf22e74b
Author: Ludovic Courtès <address@hidden>
Date:   Thu Feb 7 09:54:47 2008 +0000

    More compilation fixes with Sun CC (bug #21378).

commit 86a597f8b38ecc9de563977aa150ddff3771cadc
Author: Neil Jerram <address@hidden>
Date:   Thu Feb 7 01:24:31 2008 +0000

        * threads.c (do_thread_exit, scm_cancel_thread,
        scm_set_thread_cleanup_x, scm_thread_cleanup): Lock on thread-specific
        admin mutex instead of `thread_admin_mutex'.
        * threads.h (scm_i_thread)[admin_mutex]: New field.
        * throw.c (make_jmpbuf): Don't enter critical section during thread
        spawn -- there is a possibility of deadlock if other threads are
        exiting.

commit 0ea659f3ba4067425c4779da03e2e76e9b0651ca
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 6 22:47:29 2008 +0000

    (Next-method): Minor improvements to the
    text.

commit 32b164aacdbd6b41a7bfb881d9a53a4ef63d5c7c
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 6 22:29:22 2008 +0000

    Default to --without-64-calls for
    powerpc-ibm-aix*.  Thanks to Rainer Tammer for reporting that the
    64 calls are a problem on that OS.

commit 4a19ed04528750e7764837494dea39556aca09f8
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 6 22:22:14 2008 +0000

    (scm_gc_malloc): Return NULL if requested size is 0.
    (scm_gc_free): Don't call `free' if mem is NULL.

commit 189171c5bb05de698d7704d86c57208773a0de4a
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 6 13:51:05 2008 +0000

    Fix compilation of `numbers.c' with Sun CC.

commit d05bcb2edee6b92e56f58ffb6b8b49d9f594ceb8
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 5 23:14:21 2008 +0000

    * fports.c (fport_seek): Make dependent on GUILE_USE_64_CALLS.
    
    * _scm.h: Make definition of CHOOSE_LARGEFILE depend on
    GUILE_USE_64_CALLS.
    
    * configure.in (--without-64-calls): New option.

commit 01be513ed1b05368074bd47200459388b38b072d
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 5 21:55:44 2008 +0000

    New test file (forgotten from checkin last week).

commit 3ac8359afda0372374bf555fcecc51bcd471cd33
Author: Neil Jerram <address@hidden>
Date:   Fri Feb 1 22:51:34 2008 +0000

    * modules.c (the_root_module): Moved before scm_current_module.
    (scm_current_module): Return the root module if `the-module' fluid
    gives #f.
    
    * standalone/Makefile.am: Add stanza for test-with-guile-module.
    
    * standalone/test-with-guile-module.c: New test.

commit 300b1ae58a43756bdac8603fc338cbce9efb754e
Author: Neil Jerram <address@hidden>
Date:   Fri Feb 1 21:02:15 2008 +0000

    (Threads): Add "C Function scm_join_thread"
    to doc for join-thread.  Thanks to Antoine Mathys for reporting
    that scm_join_thread was missing.

commit 027e0e2c6927d74e9f30b4ab99b023b6ccfe5c10
Author: Neil Jerram <address@hidden>
Date:   Wed Jan 30 22:59:12 2008 +0000

    (dyld_prefix), pre-inst-guile-env.in
    (dyld_prefix): Construct and export dyld_prefix in a similar way
    to ltdl_prefix, to allow pre-install dynamic linking to work on
    MacOS.  Thanks to Roger Mc Murtrie for reporting this problem.

commit d4ebfb617ea5be85c32111eec3ef6d312313ac3f
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jan 30 10:28:22 2008 +0000

    Explicitly require Gnulib's `extensions' module.

commit 6a945c34cfc7e44dfadea85b08e0a8bbd4dbc0e8
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 29 23:02:18 2008 +0000

    * readline.c (scm_init_readline): Only do init_bouncing_parens ()
    if HAVE_RL_GET_KEYMAP.
    (init_bouncing_parens, find_matching_paren, match_paren): Compile
    out if ! HAVE_RL_GET_KEYMAP.
    
    * configure.in: Add check for rl_get_keymap.

commit 5e42b8e7546d599653f00be07ce1f2c29233aa2f
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 22 21:49:04 2008 +0000

    *** empty log message ***

commit 7df13834d4840efd73eb2dbfb72e0100ebb06bef
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 22 21:46:24 2008 +0000

    * LICENSE: Change COPYING.LIB to COPYING.LESSER.
    
    * COPYING.LESSER: Renamed, previously COPYING.LIB.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.
    
    * COPYING: Removed.

commit d3cf93bc253e87077823450c847fa2d02c2521b9
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 22 21:06:22 2008 +0000

    * srfi-39.scm: Update copyright statement to LGPL.
    
    * __scm.h, _scm.h, weaks.c: Update copyright statement to LGPL.
    
    * compat/compat.h: Update copyright statement to LGPL.
    
    * oldfmt.c: Update copyright statement to LGPL.
    
    * libguile.h: Update copyright statement to LGPL.

commit 15bd90eafd5c683582da9cf88a250d21829860b3
Author: Neil Jerram <address@hidden>
Date:   Fri Jan 18 23:33:41 2008 +0000

    * hashtab.c (scm_hash_fn_create_handle_x): If supplied assoc_fn
    returns neither a pair nor #f, signal a wrong-type-arg error.
    (Thanks to Gregory Marton for reporting this.)
    
    * tests/hash.test: New "hashx" test supplied by Gregory Marton;
    prior to today's fix in libguile/hashtab.c, this caused a
    segmentation fault.

commit 5485d9edeebcbae9239f8b042a3af04d47fc2ac2
Author: Neil Jerram <address@hidden>
Date:   Fri Jan 18 23:18:18 2008 +0000

    Recent gnulib adds gl_PO_BASE and gl_PO_DOMAIN
    lines to this file.

commit 84eebc646fed385a118dc074851c1494ebdc8c6f
Author: Neil Jerram <address@hidden>
Date:   Mon Dec 31 16:02:03 2007 +0000

        * guile.m4: add serial number to m4

commit c0186ee73632414c79e86f47e44afef60904b022
Author: Neil Jerram <address@hidden>
Date:   Sat Dec 29 12:34:34 2007 +0000

    (top level): Explain the point of this test.

commit 378cc6458f283ff7b3cd139de3647c2dc8171b16
Author: Neil Jerram <address@hidden>
Date:   Sat Dec 29 12:33:54 2007 +0000

    *** empty log message ***

commit d69668b7de7ef267d1151b1aba5c376c371517ff
Author: Neil Jerram <address@hidden>
Date:   Sat Dec 29 01:35:47 2007 +0000

    * standalone/test-bad-identifiers: New test.
    * standalone/Makefile.am (check_SCRIPTS, TESTS): Add it.

commit 5c004b6d6a6acca5327ca1e7cdf766c5edfa5548
Author: Neil Jerram <address@hidden>
Date:   Sat Dec 29 01:35:33 2007 +0000

    * gc.c (mark_gc_async): Change "func_data" to "fn_data", to avoid
    clash with AIX header file.
    * hooks.c (scm_c_hook_add, scm_c_hook_remove): Same again.
    * hooks.h (scm_t_c_hook_function, scm_c_hook_add,
    scm_c_hook_remove): Same again.

commit 70a4404429e198f37f52ddf73f6d9336277ed54c
Author: Ludovic Courtès <address@hidden>
Date:   Thu Dec 13 12:27:37 2007 +0000

    Changes from arch/CVS synchronization

commit 2ae87f26a8f84a16944f9fcdd0bbcae45939a509
Author: Ludovic Courtès <address@hidden>
Date:   Thu Dec 13 12:23:40 2007 +0000

    Add missing SRFI-69 files.

commit 2dffd0537a935ad2d425a781f925650b13bb94ce
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 9 17:38:14 2007 +0000

    Changes from arch/CVS synchronization

commit dfe8c13bf099ad07e24b514236d3bba125377eda
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 9 17:27:03 2007 +0000

    Changes from arch/CVS synchronization

commit 9cc37597af1efcb2e60cc07e82e4d6d8fa874e6e
Author: Ludovic Courtès <address@hidden>
Date:   Sat Dec 8 16:00:56 2007 +0000

    Changes from arch/CVS synchronization

commit 693758d5a84cac257ae39d69dbade694d2f4f515
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 4 17:57:44 2007 +0000

    Changes from arch/CVS synchronization

commit 7d1fc8721724ab64ccdc44d6f4f84abad43751b4
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 4 17:32:59 2007 +0000

    Changes from arch/CVS synchronization

commit 1317062f0b120b07150e01e51c77346b7577935f
Author: Ludovic Courtès <address@hidden>
Date:   Mon Dec 3 12:36:12 2007 +0000

    Changes from arch/CVS synchronization

commit 07e02175a0260e45e2a791e36184d46702a515eb
Author: Ludovic Courtès <address@hidden>
Date:   Mon Oct 29 22:03:37 2007 +0000

    Changes from arch/CVS synchronization

commit dbd1132b9c08b1362de6d9ff2d08840028129757
Author: Ludovic Courtès <address@hidden>
Date:   Sat Oct 27 18:40:41 2007 +0000

    Changes from arch/CVS synchronization

commit 8b0f07460a60e11319496a9bbf35a6f3dd8a9702
Author: Ludovic Courtès <address@hidden>
Date:   Sat Oct 27 17:41:35 2007 +0000

    Changes from arch/CVS synchronization

commit ee834df41f1ce712ed6061bc93e394fca9ecc6b6
Author: Ludovic Courtès <address@hidden>
Date:   Sat Oct 27 15:15:23 2007 +0000

    Changes from arch/CVS synchronization

commit a49ebd8917b3e229a6836c5531e845e19543f440
Author: Ludovic Courtès <address@hidden>
Date:   Sat Oct 27 09:56:36 2007 +0000

    Changes from arch/CVS synchronization

commit 5e9086b4bfa2bc980fac6ebb601d361a5ef65638
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 24 11:55:07 2007 +0000

    Add lib-version.texi.

commit 90ecbd811cd6c4dad68c58e79a2659685561255e
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 24 11:52:48 2007 +0000

    * .cvsignore: Add "lib".

commit 917d3db31f4529f4a297d8ce2ee1598820e72a48
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 24 11:51:11 2007 +0000

    build-aux/.cvsignore: Add a load more generated files to ignore,
    and commit to CVS.

commit 0943ffcdfe0021c15acf88aff822de74f7d8160d
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 24 11:48:56 2007 +0000

    Commit m4/.cvsignore to CVS.

commit 6e14de7de8a10a13903f5791770b77dc7486d5f8
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 21 20:46:54 2007 +0000

    *** empty log message ***

commit 2d04022ce290feb5eb3d59fc066b5aeed5909cbf
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 21 20:45:45 2007 +0000

    * tests/continuations.test ("continuations"): Use
    with-debugging-evaluator.
    
    * lib.scm (with-debugging-evaluator*, with-debugging-evaluator):
    New utilities.
    
    * standalone/test-use-srfi: Use -q to avoid picking up the user's
    ~/.guile file.
    
    * tests/eval.test (promises)[unmemoizing a promise]: New test.

commit acbfb5946b783c8782e1f36d183e896b18fcb5f6
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 21 20:43:14 2007 +0000

    (unmemoize_delay): Extend the environment before
    unmemoizing the promise thunk.  This fixes a segmentation fault
    reported by Frank Schwidom.

commit 4098fda1e61c210e8f8ffb3441364e6c4b245dfc
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 21 20:41:42 2007 +0000

    *** empty log message ***

commit 2e77f7202b11ad0003831fcff94ec7db80cca015
Author: Ludovic Courtès <address@hidden>
Date:   Sat Oct 20 11:09:58 2007 +0000

    Changes from arch/CVS synchronization

commit d41668faec7b6a7b6e91e5056098ce98b9c21ff8
Author: Ludovic Courtès <address@hidden>
Date:   Wed Oct 17 21:56:10 2007 +0000

    Changes from arch/CVS synchronization

commit 24e59a92572394308f77da3fe5d80c7513530ac7
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 16 21:23:53 2007 +0000

    Changes from arch/CVS synchronization

commit a84251b06a61fd29099f37b653b934bf6c9c6070
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 16 17:00:21 2007 +0000

    Add missing file `HACKING'.

commit c8bb98a9fa280ec938d715b379e87c0daba399fe
Author: Ludovic Courtès <address@hidden>
Date:   Wed Oct 10 20:15:08 2007 +0000

    Changes from arch/CVS synchronization

commit 663026180234a3ab0a808fdae89a4da85e4e64de
Author: Ludovic Courtès <address@hidden>
Date:   Wed Oct 10 16:46:26 2007 +0000

    Changes from arch/CVS synchronization

commit 1445e4492fd0a6a19f39625d3bfe2f78c33fda9a
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 4 16:22:05 2007 +0000

    Changes from arch/CVS synchronization

commit 29776e85da637ec4d44b2b2822d6934a50c0084b
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 2 16:06:25 2007 +0000

    Changes from arch/CVS synchronization

commit dc061a74fdb0fbc8a308ef75ebde429b0ca8b297
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 2 03:16:28 2007 +0000

    Changes from arch/CVS synchronization

commit 61d3568bff4e75d52847e9cfa24f5a83bca9ef56
Author: Ludovic Courtès <address@hidden>
Date:   Mon Oct 1 20:22:08 2007 +0000

    Changes from arch/CVS synchronization

commit ed0042dda73f78397ac7fc0d443355ec4a564ddc
Author: Ludovic Courtès <address@hidden>
Date:   Sun Sep 23 10:28:23 2007 +0000

    Changes from arch/CVS synchronization

commit 68eccd8bc2e0edea3ff8ae46a3b647ba327f1565
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 11 00:47:34 2007 +0000

    *** empty log message ***

commit 5b7ecf1b300f8381ef56a8f9fca79471302f1fc7
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 11 00:46:15 2007 +0000

    (scm_putenv): Confine the putenv("NAME=") bit to mingw, use
    putenv("NAME") as the fallback everywhere else.  In particular this is
    needed for solaris 9.  Reported by Frank Storbeck.

commit bc4ee34e1d8457ae4348fa3a6552f4f37c3c7470
Author: Ludovic Courtès <address@hidden>
Date:   Mon Sep 10 18:28:15 2007 +0000

    Changes from arch/CVS synchronization

commit 454866e05276ae7ab84c4270d168fa468c054a2e
Author: Ludovic Courtès <address@hidden>
Date:   Mon Sep 3 16:58:20 2007 +0000

    Changes from arch/CVS synchronization

commit f43f36201835b688515c828dafceb61b7071ef85
Author: Ludovic Courtès <address@hidden>
Date:   Sun Sep 2 22:56:56 2007 +0000

    Changes from arch/CVS synchronization

commit 8d4d5dfcf9abc3501c8021fa06484e0ce291b212
Author: Kevin Ryde <address@hidden>
Date:   Sun Sep 2 22:40:23 2007 +0000

    *** empty log message ***

commit b69471c1075465e6157364cc242c00e1cd428e43
Author: Kevin Ryde <address@hidden>
Date:   Sun Sep 2 22:39:45 2007 +0000

    (AC_CHECK_FUNCS): Move cexp and clog up into the main
    funcs check block.  Remove carg which is now unused.

commit 90709cd75fc038afd1ced9553bea77ae6f092679
Author: Kevin Ryde <address@hidden>
Date:   Sun Sep 2 22:36:23 2007 +0000

    (scm_log): Test HAVE_CLOG as well as HAVE_COMPLEX_DOUBLE
    before using clog().  It's possible for gcc to provide the "complex
    double" type, but for the system not to have the complex funcs.
    (scm_exp): Ditto HAVE_CEXP for cexp().
    (clog, cexp, carg): Remove fallback definitions.  These only
    duplicated the code within scm_log and scm_exp, and the latter have to
    exist for the case when there's no "complex double".  So better just
    fix up the conditionals selecting between the complex funcs and plain
    doubles than worry about fallbacks.

commit 1ac5fb45bca1f963ccd654efda3f98604f39f5a0
Author: Ludovic Courtès <address@hidden>
Date:   Sun Sep 2 10:55:58 2007 +0000

    Changes from arch/CVS synchronization

commit d7c0c26d886c35dc168cf07cf16b51c0594b21be
Author: Ludovic Courtès <address@hidden>
Date:   Sat Sep 1 16:54:26 2007 +0000

    Changes from arch/CVS synchronization

commit e9966dbb9fb097a4bd01b947702d996392438e78
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Aug 26 18:12:53 2007 +0000

    ("port-for-each"): remove unresolved for
    port-for-each memory test.
    ("fdes->port"): test fdes->port

commit 5dbc6c067957e1e854adf09ea654773fef24e4c2
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Aug 26 18:11:57 2007 +0000

    replace port table with weak hash table. This simplifies
    memory management, and fixes freed cells appearing in
    port-for-each output.

commit b87e6d0412ab54a30d133db19c01d3de2e61ddee
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Aug 26 18:11:24 2007 +0000

    (cleanup_for_exit): abort cleanup if init_mutex is still
    held.

commit 492faee1e5bdc59fff23a3a60c9a1d05cfb976a2
Author: Ludovic Courtès <address@hidden>
Date:   Thu Aug 23 21:17:24 2007 +0000

    Changes from arch/CVS synchronization

commit 2baec6a946660fa757cf3a06bf01435f3c9d6728
Author: Ludovic Courtès <address@hidden>
Date:   Thu Aug 23 21:10:57 2007 +0000

    Changes from arch/CVS synchronization

commit 5dda5df74280d25d38712f3be009db23da35e925
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 23 00:32:00 2007 +0000

    *** empty log message ***

commit 256f34e7a49c7cf5e385996ef976e8f0d3a37290
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 23 00:03:14 2007 +0000

    (port-for-each): New test for passing freed cell,
    marked as unresolved since problem not yet fixed.

commit 1f11c61a62543569b7abbc94903ae663fd078e9b
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 21 01:09:41 2007 +0000

    *** empty log message ***

commit 8f3aa0bd6ad403c6f82613507fbac9bff9400d80
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 21 01:08:17 2007 +0000

    (scm_i_card_statistics): Record scm_tc7_number types as
    tc16 values so big, real, complex and fraction can be distinguished.
    
    (scm_i_tag_name): Return "number" for scm_tc7_number, not NULL.  NULL
    was making numbers come out as "type 23" in gc-live-object-stats.
    Fix tests of the tc16 number types, they were checked under
    scm_tc7_number, but the values went down the tag>=255 smob case.
    Put smob case under scm_tc7_smob instead of using tag>=255, per
    recommendation in comments with scm_tc7_smob to use symbolic values.
    Use SCM_TC2SMOBNUM to extract scm_smobs index, instead of explicit
    code.  Lose some unnecessary "break" statements.
    
    (scm_i_card_statistics): Use scm_hashq_create_handle_x and modify the
    element returned, rather than two lookups scm_hashq_ref and
    scm_hashq_set_x.

commit 949ec9f9631b4958dd227bcd9a43249d824dbf82
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 16 23:34:58 2007 +0000

    *** empty log message ***

commit 9eec84a935e3cd2f2da51ae9f65229e1422df74a
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 16 23:33:46 2007 +0000

    Add #define _REENTRANT, to get gmtime_r() prototype on
    solaris 2.6.  Reported by anirkko.

commit b81a5bf26d9980be1dfd9bd9c477b41c503d5124
Author: Ludovic Courtès <address@hidden>
Date:   Tue Aug 14 14:32:38 2007 +0000

    Added `config.rpath'.

commit 7ff6c169d510fbce96f62b4e3c4b48feed2e6970
Author: Ludovic Courtès <address@hidden>
Date:   Sat Aug 11 10:49:59 2007 +0000

    Changes from arch/CVS synchronization

commit c9de3d45f3a42a742bc1c1658f955fc6cada1ca9
Author: Ludovic Courtès <address@hidden>
Date:   Sat Aug 11 10:13:09 2007 +0000

    Added SRFI-35 files.

commit f50ca8da5bedd4a9efddf3005c9b73ade9873c99
Author: Ludovic Courtès <address@hidden>
Date:   Sat Aug 11 10:08:10 2007 +0000

    Changes from arch/CVS synchronization

commit 1fdd8ffa83ec9de2243e4f6e51f5c88156f75f57
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 8 15:35:56 2007 +0000

    Changes from arch/CVS synchronization

commit 3ba9acb1b4c3f4794e186a1359a371c1ef4685bd
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 8 14:56:02 2007 +0000

    Changes from arch/CVS synchronization

commit 416fe978b025d5ec73d9dc793b48477a33ad3931
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 29 15:30:09 2007 +0000

    Added `m4/gnulib-cache.m4'.

commit ca7406a9db2605931770cdbc9d128863c38b493c
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 29 15:27:24 2007 +0000

    Changes from arch/CVS synchronization

commit f7439099748d8f1bd4806b96c989897f22b0634e
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 29 15:16:46 2007 +0000

    Changes from arch/CVS synchronization

commit 6caac03c93f3c0657a9487ee175b2779eae0f747
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 29 14:58:21 2007 +0000

    Changes from arch/CVS synchronization

commit f6b4d9b42eeabd38068bf18ae612c20c723b5368
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 29 13:52:38 2007 +0000

    Changes from arch/CVS synchronization

commit e08f3f7a303f77c2e9ed41b69b2d6a5205be6668
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 24 23:17:54 2007 +0000

    Changes from arch/CVS synchronization

commit 7337d56d5714227865aeca2b40b6bd97cce296d2
Author: Ludovic Courtès <address@hidden>
Date:   Sun Jul 22 16:30:13 2007 +0000

    Changes from arch/CVS synchronization

commit 24d6fae831ac3dff56fdf86b235b3d867b74f5f3
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jul 18 22:13:14 2007 +0000

    Changes from arch/CVS synchronization

commit 57e1ad75c7d3a690bd9231bdb6deb9492c21d5ff
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jul 18 20:40:16 2007 +0000

    Revision: address@hidden/guile-core--cvs-head--0--patch-82
    Creator:  Ludovic Courtes <address@hidden>
    
    Slight edits to `srfi-37.scm'.
    
    * srfi/srfi-37.scm: Don't use the SCSH comment syntax.  Properly use the
      `Commentary:' syntax.

commit d4c382218de2050de207318e9d8558c0aac6a7b9
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jul 18 20:40:09 2007 +0000

    Revision: address@hidden/guile-core--cvs-head--0--patch-81
    Creator:  Ludovic Courtes <address@hidden>
    
    Added SRFI-37, by Stephen Compall.
    
    (See ChangeLogs.)

commit 9ee0f67880df329b2e330a96fe2c8e37410ef48c
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jul 18 20:25:38 2007 +0000

    Changes from arch/CVS synchronization

commit df4497227344b13df10e2a4f7ae8811a5fbaca17
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 17 08:39:35 2007 +0000

    Changes from arch/CVS synchronization

commit b1f57ea4ce3aa45d3bc733f63ed6448498d45803
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 10 22:34:50 2007 +0000

    Changes from arch/CVS synchronization

commit 0867f7baa84e27a1294a62a023829f319620ef70
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jul 9 16:47:56 2007 +0000

    Changes from arch/CVS synchronization

commit d3075c52acac924e91b64c6f91759c757ad3b741
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jun 25 22:25:22 2007 +0000

    Changes from arch/CVS synchronization

commit 2778269600807f46e85190746e16e284ca66cef2
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jun 12 22:01:56 2007 +0000

    Changes from arch/CVS synchronization

commit 7a5fb79613d0d5d865d1429432ce124d00e9a6b6
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jun 12 21:55:11 2007 +0000

    Changes from arch/CVS synchronization

commit a1ef7406369b25054c0084c50e920ee9a4072ec3
Author: Ludovic Courtès <address@hidden>
Date:   Thu Jun 7 08:36:13 2007 +0000

    Changes from arch/CVS synchronization

commit 3dcf33733c72905739cc05254d9e42b7cbf85685
Author: Ludovic Courtès <address@hidden>
Date:   Sat May 26 14:30:50 2007 +0000

    Changes from arch/CVS synchronization

commit 41185bfe2af9c5ced76eb27517b5ca768163503f
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 16 07:51:52 2007 +0000

    Changes from arch/CVS synchronization

commit c122500a288195f4f90c4205732bb6cbd891926e
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 9 21:14:49 2007 +0000

    Changes from arch/CVS synchronization

commit a7db5522438192dca928b2db715741b1599d557a
Author: Ludovic Courtès <address@hidden>
Date:   Wed May 9 20:18:31 2007 +0000

    Changes from arch/CVS synchronization

commit 608860a5b3ef05951f11702edf79dcf281c55720
Author: Ludovic Courtès <address@hidden>
Date:   Sat May 5 20:38:57 2007 +0000

    Changes from arch/CVS synchronization

commit 51a3fdd836ad0138c10efdd19870d7622f810453
Author: Ludovic Courtès <address@hidden>
Date:   Sat May 5 18:38:10 2007 +0000

    Changes from arch/CVS synchronization

commit 1911e3da17638c31bd2fe638c9727f560fd1c1ec
Author: Ludovic Courtès <address@hidden>
Date:   Tue Apr 17 14:12:17 2007 +0000

    Changes from arch/CVS synchronization

commit 1d8ce4c04d984a6a60104ccf47b9b8679d44a493
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Apr 9 14:47:41 2007 +0000

    * configure.in (HAVE_CRYPT): check for cexp, clog, carg
    
    * numbers.c (carg): provide carg, cexp, clog in case they are
    missing.

commit afb49959b0952c257770f88bc87ca40ae0305c45
Author: Ludovic Courtès <address@hidden>
Date:   Tue Mar 27 08:03:33 2007 +0000

    Changes from arch/CVS synchronization

commit 29d8c12436a70f8b8d27344457465b90de7ae83a
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:39:42 2007 +0000

    fixup Ludovic's name 2006-01-04, got a literal ascii "E8", somehow

commit b3aa4626cd68c3ee8c16218f7ad5ed9df21dfff3
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:35:55 2007 +0000

    merge from 1.8 branch

commit 1ef21ad2a90cb8f1f64d2aa81b8b829ea1b9e738
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:34:32 2007 +0000

    merge from 1.8 branch (texinfo.tex added)

commit 65ae4d2d69f60118eaeccafbed7980a6d2ba48e4
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:13:04 2007 +0000

    copyright year

commit 651f2cd27d30856f172b9c64226534a9984981c9
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:12:36 2007 +0000

    merge from 1.8 branch

commit 004be623c4f68896473b0f9a5285fc76ca1e0b34
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 23:00:22 2007 +0000

    merge from 1.8 branch

commit 40b2de1c56bd9f81701ef21c4671b89b63150188
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 22:46:01 2007 +0000

    copyright year

commit bf5df489e2b3a525fc921b4239ed22ee42adf798
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 7 22:46:00 2007 +0000

    merge from 1.8 branch

commit 5cfbbaff85dd01dde323067fc467c4c2ec9f360d
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 24 17:34:02 2007 +0000

    Announce versions of autoconf, automake, libtool and
    m4.

commit 6f0579c2ddc826550d8b7532ef23de8ca02fbae9
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 24 17:21:37 2007 +0000

    (subdirs_with_ltlibs): Add libguile.

commit 5f0dc04af8dd47f037f09f296282eaed20d01dfb
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 20 22:55:19 2007 +0000

    Remove changes that weren't in fact needed:
    - config.rpath in EXTRA_DIST, in Makefile.am
    - dummy definition of AM_INTL_SUBDIR, in acinclude.m4.

commit 17dce95009e0951763cbeba8e5a3342980aa18ec
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 20 21:16:45 2007 +0000

    (EXTRA_DIST): Add lib-version.texi to the
    distribution.

commit 4505fbb1a6134cd4ec0b5e9bd3169b2f4e7e1d0a
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 20 07:23:19 2007 +0000

    *** empty log message ***

commit 652dbce648230d14d6c7d8d633704cd41478f607
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 19 23:00:07 2007 +0000

    (noinst_HEADERS): Add private-options.h, so that it
    is included in the distribution.
    (noinst_HEADERS): And the same for eval.i.c.

commit 032913739218c756f673bfb9c8f66ef9f8f02330
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 19 07:50:08 2007 +0000

    (noinst_HEADERS): Add private-options.h, so that it
    is included in the distribution.

commit a2ec35031b39b9a728c2ab4cc5a1ac6a5ad7a96a
Author: Neil Jerram <address@hidden>
Date:   Sun Feb 18 23:12:39 2007 +0000

    (AM_INTL_SUBDIR): Remove unnecessary dnl.

commit 819cd901513efdc4785d49a597072998a6d7e6af
Author: Neil Jerram <address@hidden>
Date:   Sun Feb 18 23:04:35 2007 +0000

    * configure.in: Remove AM_GNU_GETTEXT_VERSION again.
    
    * Makefile.am (EXTRA_DIST): Add config.rpath.
    
    * config.rpath (Module): New (from gettext package).

commit 169ccff576c7c7d6e9c4b77deb65241ebaa3ee71
Author: Neil Jerram <address@hidden>
Date:   Sun Feb 18 23:03:35 2007 +0000

    (connect-to-gds): Break generation of client name
    into ...
    (client-name): New procedure.
    (client-name): Put something from (program-arguments) in the
    client name that GDS displays in Emacs.
    (connect-to-gds, client-name): Add application-name arg to allow
    caller to specify client name.

commit e6ee0d484f81834bdb291990ddc5b90f94264eee
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 9 16:25:50 2007 +0000

    Changes from arch/CVS synchronization

commit ed1dec3ce3f00af862efe7a962e6611495fe5baf
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 6 23:31:03 2007 +0000

            * gds-scheme.el (gds-display-results): Use save-selected-window
            instead of switching to other-window in order to return to the
            proper window in frames with more than two windows.

commit 2656b1b208ab8f2ab96b4e27edb7a9096acc2060
Author: Ludovic Courtès <address@hidden>
Date:   Sun Feb 4 21:16:31 2007 +0000

    Changes from arch/CVS synchronization

commit a2f00b9b36930797bf9e19c4a00fd089b0be3c9b
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jan 31 20:58:20 2007 +0000

    Changes from arch/CVS synchronization

commit 0bdb025f7bc89222f0759f39a87c2369faec407d
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 28 15:58:07 2007 +0000

    * configure.in: Do AM_GNU_GETTEXT_VERSION, so that autoreconf will
    run autopoint.
    
    * acinclude.m4 (AM_INTL_SUBDIR): Provide dummy definition, to work
    around current autoconf/automake/gettext bug.

commit 3d4797caa52a174b122f156dc22aa6eade43b3a3
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 28 09:36:51 2007 +0000

    New upstream version of INSTALL.

commit a872aa83e5e4a34e9c002abe34350785f40caa9f
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 28 09:35:18 2007 +0000

    New upstream version.

commit 2a8d66b090cdbf9646714653f64359acc83f13fe
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 25 01:16:24 2007 +0000

    *** empty log message ***

commit 8cb7939c78e71ef9be636d9570d181a6e41933ff
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 16:00:23 2007 +0000

    (s_scm_vector_move_right_x): complain about naming.

commit d00a0704a95a20e1803ddcabddfb50c6ba3c68a2
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:57:22 2007 +0000

    regularize comments.

commit 3d178652b8e5906df1b5da5f6183c5967e49342b
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:29:56 2007 +0000

    * eval.c: remove superfluous ifndef DEVAL.
    
    * eval.c: distangle. move duplicate code to eval.i.c and include
    twice.
    
    * backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
    eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
    read.h, stacks.c, symbols.c, throw.c: use private-options.h

commit 243ebb61133e9cdd56fb3b7feb1ed75827c576f7
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:20:35 2007 +0000

    * private-options.h: idem.
    
    * eval.i.c: copyright nitpicking.
    
    * eval.c: distangle. move duplicate code to eval.i.c and include
    twice.
    
    * eval.i.c: new file.
    
    * backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
    eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
    read.h, stacks.c, symbols.c, throw.c: use private-options.h
    
    * private-options.h: new file: contain hardcoded option
    definitions.

commit 0ee05b85ee23af97afc6c45ca2c66f94d2cba50b
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:16:44 2007 +0000

    * eval.c: distangle. move duplicate code to eval.i.c and include
    twice.
    
    * eval.i.c: new file.
    
    * backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
    eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
    read.h, stacks.c, symbols.c, throw.c: use private-options.h

commit 22fc179acda911108e697446921306b5c9eb644b
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:14:40 2007 +0000

    * backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
    eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
    read.h, stacks.c, symbols.c, throw.c: use private-options.h
    
    * private-options.h: new file: contain hardcoded option
    definitions.

commit cb90e2cbe7cc0ea11c4f3f7310ee9f07f59ecd4a
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:11:30 2007 +0000

    add FSF header.

commit 924e80084f8f57a2f1240ba4379ab4803efe5ee7
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Jan 22 15:10:40 2007 +0000

    new file. Make using git easier.

commit 8a9faebcbf8b629926a5b235da3f46407d71569a
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 20:05:30 2007 +0000

    idem.

commit 19ab431ea1900cc66120637c0f4abec0636555b7
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 20:05:18 2007 +0000

    * api-options.texi (Evaluator trap options): document
    memoize-symbol-handler
    
    * api-evaluation.texi (Evaluator Behaviour): link to the Evaluator
    trap options node in trap-enable/trap-set! doco.

commit 72f19c26469dc95fbb6bf42e9443ac4d3379fd69
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 20:05:05 2007 +0000

    * debug.h (SCM_RESET_DEBUG_MODE): switch to debugging if
    memoize-symbol is set.
    
    * eval.h (SCM_MEMOIZE_HDLR): add macros for memoize symbol trap.
    
    * eval.c (CEVAL): add memoize_symbol trap.
    
    * read.c: idem.
    
    * eval.c: terminate option lists with 0.

commit 03347a975b726f4b645339660156f62aba1f27ec
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 19:35:36 2007 +0000

    * options.c (scm_options_try): new function. This allows error
    reporting before changing options in a critical section.
    
    * options.c: remove n (for length) from scm_option_X
    functions. Detect option list length by looking for NULL name.

commit b0763985c406ea86dde87854cfaabc175c293eb1
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 19:33:10 2007 +0000

    * srcprop.c: use double cell for storing source-properties.  Put
    filename in the plist, and share between srcprops if possible.
    Remove specialized storage.
    
    * srcprop.h: remove macros without SCM_ prefix from
    interface. Remove specialized storage/type definitions.
    
    * eval.c: terminate option lists with 0.

commit 07109436196d11e42e5c3fe856c6625e94505be5
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 19:28:55 2007 +0000

    terminate option list with NULL.
    (scm_init_readline): fix CVS mess-up.

commit 62560650136f8c1a321a754e5081e323009b812a
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jan 19 19:26:36 2007 +0000

    * readline.c: terminate option list with NULL.
    
    * read.c: idem.
    
    * print.c: idem.
    
    * eval.c: terminate option lists with 0.
    
    * options.c: remove n (for length) from scm_option_X
    functions. Detect option list length by looking for NULL name.

commit 42ddb3cb8b30a2bba45c4ef9bf29d3ab04c6cc45
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jan 19 08:53:33 2007 +0000

    Changes from arch/CVS synchronization

commit e5467c4d74348e81060ec81cff8f4d7a342adff0
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 18 23:10:46 2007 +0000

    *** empty log message ***

commit 970aac161bd7a18ea6018a7a4aad1f5b6cdb063a
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 18 23:10:13 2007 +0000

    (exception:string-contains-nul): New exception pattern.

commit 937038e823f18eb4d375890cd0737e8b79667a41
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 18 12:34:24 2007 +0000

    (scm_ithrow): more refined error message: print symbols
    too.

commit 6d6a3fe26083e37760d5de28198a67903d083d3e
Author: Neil Jerram <address@hidden>
Date:   Wed Jan 17 13:38:17 2007 +0000

    (gds-display-results): Add another binding for
    gds-show-last-stack (RET).
    (scheme-mode-map): And another: C-h S.
    (scheme-mode-map): And an alternative C-h G binding for
    gds-apropos, as we probably should not be using C-h C-g.

commit 8e1973d9abd8a1706d5014e316c0a0fdec6f75da
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:49:04 2007 +0000

    merge from 1.8

commit de6eff7190b343e71baa282f0700dec60289ed8f
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:42:46 2007 +0000

    copyright year

commit 23d72566286b3b2b6fec9548cbfdb5d79685e973
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:42:45 2007 +0000

    merge from 1.8

commit cea95a2fa1f2ec810f0322a038a3af33da309e4a
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:31:08 2007 +0000

    *** empty log message ***

commit 9a18d8d431e4d3d9f524bb6d20611c8693e47d6c
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:22:36 2007 +0000

    merge from 1.8

commit 2039f7be7dddf59829a25a0263ac56944e14f970
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:07:49 2007 +0000

    avoid tab/space difference from 1.8

commit 45c0ff10689a6b0ab8ce27f4ec8c3f8eadb8d74d
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 23:06:45 2007 +0000

    merge from 1.8

commit 01ec9e9459bf4b83fa064785bf7456ce72e17049
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 22:56:45 2007 +0000

    *** empty log message ***

commit 329e03949c777c1e19a005177333d7dd632ac72c
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 15 22:54:26 2007 +0000

    merge from 1.8

commit a2c40dc7c0c52eaf6a58660a7c44665fdebba252
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Jan 10 11:42:04 2007 +0000

    (scm_ithrow): print out key symbol and string arguments
    when error happens inside a critical section, and document why.

commit 391f57e6ad53a2855b4f3ab270edd328da275dfd
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Jan 6 18:20:35 2007 +0000

    (s_scm_read_hash_extend): document #f argument to
    read-hash-extend.

commit 93632e3cfda6f7bbd55b85096d5fe1a3b3bdacd5
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Jan 3 17:26:32 2007 +0000

    (s_scm_gc_stats): return an entry for total-cells-allocated
    too.
    (gc_update_stats): update scm_gc_cells_allocated_acc too.

commit 73cc2740d456a5d50c0a140748a8da2cc9b283c0
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Jan 3 17:23:15 2007 +0000

    (Module): only try to run render-bugs if it exists.

commit c6a576f7669b27c05405fe65abca015d50a01c1a
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Dec 24 01:05:56 2006 +0000

    ("equal?"): add case for reduction of
    rational numbers.

commit e2bf3b19f666260d2e666a8686fee0ef553b87fb
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Dec 23 20:35:32 2006 +0000

    * numbers.c (scm_i_fraction_reduce): move logic into
    scm_i_make_ratio(), so fractions are only read.
    scm_i_fraction_reduce() modifies a fraction when reading it.  A
    race condition might lead to fractions being corrupted by reading
    them concurrently.
    
    * numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
    SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
    SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
    SCM_FRACTION_REDUCED.

commit f30e1bdf97ae8b2b2918da585f887a4d3a23a347
Author: Ludovic Courtès <address@hidden>
Date:   Tue Dec 12 14:01:40 2006 +0000

    Changes from arch/CVS synchronization

commit 22be72d35f90fa94f5dd09444cd891e2bb963cc8
Author: Ludovic Courtès <address@hidden>
Date:   Wed Nov 29 09:05:10 2006 +0000

    Changes from arch/CVS synchronization

commit 5b3a39c7ff472eee3978784549a6902c09600810
Author: Ludovic Courtès <address@hidden>
Date:   Sat Nov 18 18:18:23 2006 +0000

    Added missing files for `(ice-9 i18n)'.

commit b89c494395ce659d04508f47ea489d4fd1002182
Author: Ludovic Courtès <address@hidden>
Date:   Sat Nov 18 18:14:55 2006 +0000

    Changes from arch/CVS synchronization

commit cbea802b3763aa8cb43c88f7df272da3e41c32da
Author: Neil Jerram <address@hidden>
Date:   Fri Nov 17 15:53:17 2006 +0000

    Note need for subscription to address@hidden

commit f3e3f530c28cfa5c7830c5d9b01de6fc388bc42a
Author: Neil Jerram <address@hidden>
Date:   Fri Nov 17 15:52:51 2006 +0000

    (scm_shell_usage): Note need for subscription to address@hidden

commit e563095988a1c64feb30307928bcc090828cdda9
Author: Neil Jerram <address@hidden>
Date:   Fri Nov 17 15:52:23 2006 +0000

    (Reporting Bugs): Note need for subscription to
    address@hidden

commit 51d079ab0d23e4175d333ce22eb3e74aeae5913d
Author: Neil Jerram <address@hidden>
Date:   Fri Nov 17 15:51:37 2006 +0000

    * README: Note need for subscription to address@hidden
    
    * NEWS: Note need for subscription to address@hidden

commit 31b6212e9d357ef22ac66b0fe5189f19980aa21f
Author: Neil Jerram <address@hidden>
Date:   Mon Nov 13 22:22:06 2006 +0000

    (environment-module): Change eval-closure-module call
    back to procedure-property lookup.  (This completes the reversion
    of the change made on 2005-06-10, which was only partially undone
    by the change on 2005-08-01.)

commit 19b16cd0551758d5f9103eb90126afbdb60f7461
Author: Neil Jerram <address@hidden>
Date:   Mon Nov 13 22:21:36 2006 +0000

    *** empty log message ***

commit d9f71a0754d8d01804028700e3f6adce00e7f44e
Author: Ludovic Courtès <address@hidden>
Date:   Wed Nov 8 09:34:35 2006 +0000

    Changes from arch/CVS synchronization

commit dd18d31211b6cbf9d1f1f8a83de8ba7ccb7ed32f
Author: Neil Jerram <address@hidden>
Date:   Thu Nov 2 21:10:37 2006 +0000

    Remove environments.[ch] from the build.

commit d5074b473cceea3f051ea27eb05cfb797b7d788e
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 26 07:20:59 2006 +0000

    Changes from arch/CVS synchronization

commit 9a5fa6e98a0078e6f3e47dd72d1545877ea862f7
Author: Neil Jerram <address@hidden>
Date:   Wed Oct 25 22:37:24 2006 +0000

    * configure.in: New check for uca lib (needed for IA64 on HP-UX).
    
    * threads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp() and
    scm_ia64_register_backing_store_base() instead of Linux-specific
    implementations.
    
    * gc.h (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp):
    New declarations.
    
    * gc.c (__libc_ia64_register_backing_store_base): Declaration
    removed.
    (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp): New, with
    implementations for Linux and HP-UX.
    
    * coop-pthreads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp()
    and scm_ia64_register_backing_store_base() instead of
    Linux-specific implementations.
    
    * continuations.h (__libc_ia64_register_backing_store_base):
    Declaration removed.
    (scm_t_contregs): New "fresh" field.
    
    * continuations.c (ia64_getcontext): Removed.
    (scm_make_continuation): Use continuation fresh field instead of
    interpreting getcontext return values (which isn't portable).  Use
    scm_ia64_ar_bsp() and scm_ia64_register_backing_store_base()
    instead of Linux-specific implementations.
    (copy_stack_and_call): Use scm_ia64_register_backing_store_base()
    instead of Linux-specific implementation.
    
    * _scm.h (__ia64__): Also detect __ia64.

commit ba6984d09bdc2298eb331f8ddedab3844e777e39
Author: Neil Jerram <address@hidden>
Date:   Sat Oct 14 16:34:16 2006 +0000

    (gds-socket-type-alist): New.
    (gds-run-debug-server): Use gds-server-socket-type and
    gds-socket-type-alist instead of gds-server-port-or-path.
    (gds-server-socket-type): New, replacing gds-server-port-or-path.

commit e2d23cc0f8ef473a8248b86d8928c70d3cb92873
Author: Neil Jerram <address@hidden>
Date:   Thu Oct 12 23:24:02 2006 +0000

    * gds.el (gds-run-debug-server): Use variable
    gds-server-port-or-path instead of hardcoded 8333.
    (gds-server-port-or-path): New.
    
    * gds-server.el (gds-start-server): Change port arg to
    port-or-path, to support Unix domain sockets.
    
    * gds-client.scm (connect-to-gds): Try to connect by Unix domain
    socket if TCP connection fails.
    
    * gds-server.scm (run-server): Update to support listening on a
    Unix domain socket.

commit c1ab3a6d6b490c73740419326b4e2b35f64cc0a3
Author: Neil Jerram <address@hidden>
Date:   Tue Oct 10 21:52:40 2006 +0000

    (Setting and Managing Breakpoints): New text
    about what happens when a breakpoint is created.
    (Listing and Deleting Breakpoints, Moving and Losing Breakpoints):
    New.

commit bdb55624ca1fb984aa6b74ac6bdc384186a60e37
Author: Kevin Ryde <address@hidden>
Date:   Tue Oct 10 00:11:22 2006 +0000

    stray tab

commit 8ab3d8a0681777eb329ac533be51d557267ccf32
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 9 23:40:48 2006 +0000

    merge from 1.8 branch

commit 121a80826c8279dafa5969df6ef66c1a248068d3
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 9 23:27:59 2006 +0000

    merge from 1.8 branch (removing this file)

commit afc4ccd4ddcf0f78932a5e0597731beb6efc8c7c
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 9 22:59:10 2006 +0000

    merge from 1.8 branch

commit 40296bab814a677dd0e9a09bdf93be2e9ccd3fd0
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 9 22:47:06 2006 +0000

    merge from 1.8 branch

commit aeb9d8e054a250c1f56d90f281590e8f8688c35f
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 8 08:24:00 2006 +0000

    (GDS Getting Started): Editorial updates.

commit 72bcfa04ecbe168d1bdaf8f4fdc5920724cbe657
Author: Neil Jerram <address@hidden>
Date:   Sun Oct 8 08:19:13 2006 +0000

    (Working with GDS in Scheme Buffers): New
    subsection, to group (Access to Guile Help and Completion, Setting
    and Managing Breakpoints, Evaluating Scheme Code) together.

commit 72ea645a88b56da0b5c585e10c22a2598da1cef1
Author: Neil Jerram <address@hidden>
Date:   Fri Oct 6 00:10:36 2006 +0000

    (Access to Guile Help and Completion): Mention where keys are
    defined.
    (Setting and Managing Breakpoints): Update text on how to set
    breakpoints.

commit 7e5a256c842997b6dd13555219b4c11c308c8512
Author: Neil Jerram <address@hidden>
Date:   Thu Oct 5 23:55:22 2006 +0000

    (Using Guile in Emacs): Subnodes reordered,
    from (Displaying the Scheme Stack, Continuing Execution,
    Evaluating Scheme Code, Setting and Managing Breakpoints, Access
    to Guile Help and Completion) to (Access to Guile Help and
    Completion, Setting and Managing Breakpoints, Evaluating Scheme
    Code, Displaying the Scheme Stack, Continuing Execution).

commit 3bff1789df617ddcb9513e365c9fa9069841fc31
Author: Neil Jerram <address@hidden>
Date:   Thu Oct 5 23:28:44 2006 +0000

    (new-input-prompt): Renamed from "prompt".
    (continuation-prompt): Renamed from "prompt2".
    (make-readline-port, readline, set-readline-prompt!): Reflect above 
renamings.
    (activate-readline): Rename locals "read-hook" and "prompt" to
    "repl-read-hook" and "repl-prompt", to disambiguate them from
    globals.  Save and restore the new-input- and continuation-
    prompts around the REPL read call.

commit 83a5b41b47dde7dd97077f06607fe0967af9be56
Author: Neil Jerram <address@hidden>
Date:   Tue Oct 3 19:21:48 2006 +0000

    (run-utility): Remove unnecessary
    `connect-to-gds' call.

commit 1e1387ca1e47044ae29c79fd121dcdad6b2d83e5
Author: Neil Jerram <address@hidden>
Date:   Tue Oct 3 19:20:50 2006 +0000

    (GDS Getting Started): Editorial updates.

commit 63258dc9a16dec8987c623faf507b51cf560294b
Author: Neil Jerram <address@hidden>
Date:   Sat Sep 30 17:21:52 2006 +0000

    (debug-trap): Use
    `debugger-command-loop' instead of `read-and-dispatch-commands',
    which isn't actually available.  Thanks to Carlos Pita for
    reporting this.
    (debugger-command-loop): Define here for 1.6.x.

commit 4f6e3015832482b95daf5b4d0b3b62e7d6bd15e7
Author: Neil Jerram <address@hidden>
Date:   Thu Sep 28 07:41:49 2006 +0000

    (GDS Introduction, GDS Getting Started): Minor
    edits.

commit 4695789c02aea86ed6159ffb72d8dc4c2ec83c0f
Author: Neil Jerram <address@hidden>
Date:   Thu Sep 28 07:32:40 2006 +0000

    (Symbol Props): Remove unnecessarily specific
    parenthesis about Guile 1.6's use of extra symbol slots.

commit 5695ccd43b051caf99f1ca94f00f7231c1466439
Author: Neil Jerram <address@hidden>
Date:   Wed Sep 27 17:49:38 2006 +0000

    (Slot Options): Added example from Ludovic Courtès
    about difference between init-value, -form and -thunk.

commit 94a2c24a6406c788ca295f7e738f55ffa44c8e45
Author: Neil Jerram <address@hidden>
Date:   Tue Sep 26 21:43:52 2006 +0000

    (Using Guile in Emacs, GDS Introduction):
    Editorial updates.
    (GDS Architecture): Moved earlier in containing section; editorial
    updates.
    (GDS Getting Started, How to Use GDS): Merged; editorial updates;
    subsections reordered.

commit ee6be719ce2e34d23b6dcd0cf1095ed40261ad88
Author: Neil Jerram <address@hidden>
Date:   Mon Sep 25 21:05:46 2006 +0000

    * scheme-using.texi (Error Handling, Interactive Debugger): Minor
    editorial improvements.
    (Leave Debugger): Removed.
    (Display Backtrace): Minor updates.
    (Frame Selection, Frame Information, Frame Evaluation) : Minor
    editorial improvements.
    (Stepping and Continuing): Merged from three previous nodes; plus
    minor improvements.  Removed doc for `trace-finish', which no
    longer exists.
    
    * debugging/ice-9-debugger-extensions.scm (debugger:step):
    Docstring improvements.
    (debugger:next): Docstring improvements.
    (debugger:continue): Docstring improvements.
    
    * debugger/commands.scm (up, down): Docstring corrections.
    (info-args, info-frame, position, evaluate): Docstring
    improvements.

commit 534cd148682af22fbf6a820126fe7c1806f2d3db
Author: Neil Jerram <address@hidden>
Date:   Mon Sep 25 20:37:23 2006 +0000

    Fix typo.

commit 49dec04b6a73aa878b98ea89bd132b6dc6cf8126
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 20 13:13:34 2006 +0000

    Changes from arch/CVS synchronization

commit a17d26545da83dbb6dc0c9571f97d0f02d8ddc34
Author: Ludovic Courtès <address@hidden>
Date:   Wed Sep 20 12:48:45 2006 +0000

    Changes from arch/CVS synchronization

commit ace5708285569094d9b7fa75a0afdf69a17dcf63
Author: Rob Browning <address@hidden>
Date:   Wed Sep 20 00:34:02 2006 +0000

    *** empty log message ***

commit 162426a8eee0c76d30f7329d397e8edd6e4628d8
Author: Rob Browning <address@hidden>
Date:   Wed Sep 20 00:33:56 2006 +0000

    (build-link): Restore the removal of "/usr/lib" (in addition to
    "/usr/lib/" from any -L arguments).

commit 9f1ba6a9a45276278a0f511f1f1936e659aea8f8
Author: Neil Jerram <address@hidden>
Date:   Fri Sep 15 09:23:18 2006 +0000

    Doc typo fixes

commit 418122ce6b049679edb67ea2bb6423d75c709602
Author: Rob Browning <address@hidden>
Date:   Fri Sep 1 01:38:18 2006 +0000

    *** empty log message ***

commit bd83658e66cc70b72500a61e186fc5beb2fb6deb
Author: Rob Browning <address@hidden>
Date:   Fri Sep 1 01:37:57 2006 +0000

    (scm_c_port_for_each): Add a scm_remember_upto_here_1(ports) at the
    end of the function to fix a GC bug.

commit 5b2da4cc18be3dfb97ced8fe2c64d0ae59d98793
Author: Neil Jerram <address@hidden>
Date:   Tue Aug 29 22:47:41 2006 +0000

    (Debug on Error): Added paragraph on need to use
    debugging evaluator.  Added text on what the Guile REPL code does.

commit b5944f66723daaad141f440176b03c8987b6857c
Author: Neil Jerram <address@hidden>
Date:   Mon Aug 28 22:17:26 2006 +0000

    (scm_display_backtrace_with_highlights): Minor
    improvements to docstring.
    (scm_backtrace_with_highlights): Analogous improvements.

commit fc3d5c436f0c4600025681a2ea68b1f71c01a15f
Author: Neil Jerram <address@hidden>
Date:   Mon Aug 28 22:16:42 2006 +0000

    (Examining the Stack): Minor improvements to
    display-backtrace doc.
    (Debug on Error): More new text on catching the error stack.

commit 2202fd6cbad98c764b033f1a0d02a048d8bc4638
Author: Neil Jerram <address@hidden>
Date:   Sun Aug 27 14:06:16 2006 +0000

    (Debug on Error): New text on how to catch errors
    and the error stack.

commit 01d2ee158552a0be1cc22c6a2eda33486bcfef02
Author: Neil Jerram <address@hidden>
Date:   Wed Aug 23 22:11:24 2006 +0000

    (Using Guile in Emacs): New text about
    available Emacs libraries.
    (GDS Introduction): New node, containing GDS-specific introductory
    text.

commit fce4b99e9e7c1bbbb2e8afc23ab7f13971340116
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 18 14:21:23 2006 +0000

    * gds-server.el (gds-start-server): Change "ossau" to "ice-9".
    
    * gds-scheme.el (gds-start-utility-guile): Change "ossau" to
    "ice-9".

commit 1e2346ae9330a4c30fdce7f5da0893a3c07a6435
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 18 14:19:44 2006 +0000

    * configure.in: Generate Makefile for emacs subdir.
    
    * Makefile.am (SUBDIRS): Add emacs subdir.
    
    * configure.in: Generate Makefile for ice-9/debugging subdir.

commit e741cbb2ed422a856a1ef40a64afbcd9b309a22c
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 18 13:43:09 2006 +0000

    .cvsignore file

commit 8746959cd3078c54a5760dcc7ee1e3451d21e1fd
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 18 13:41:45 2006 +0000

    * configure.in: Generate Makefile for ice-9/debugging.
    
    * debugging/trc.scm: New file.
    
    * debugging/traps.scm: New file.
    
    * debugging/trace.scm: New file.
    
    * debugging/steps.scm: New file.
    
    * debugging/load-hooks.scm: New file.
    
    * debugging/ice-9-debugger-extensions.scm: New file.
    
    * debugging/example-fns.scm: New file.
    
    * debugging/breakpoints.scm: New file.
    
    * debugging/Makefile.am: New.
    
    * Makefile.am (SUBDIRS): Add debugging.

commit 9837893af2727944637b99a9b9625f034bf83d9a
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 18 13:14:46 2006 +0000

    (Using Guile in Emacs): Unignore extra GDS
    intro text.  (I will edit this down later.  For now it's
    convenient to have it all appearing, so it's visible on paper.)

commit 62ae95577a503e89114584ae8571b2b128d79ca5
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 11 16:21:14 2006 +0000

    * scheme-using.texi (Run To Frame Exit): Improved doc for finish.
    (Continue Execution): Improved doc for continue.
    (Using Guile in Emacs): Lots of new docs about the Emacs
    interface.
    
    * api-debug.texi (Low Level Trap Calls): New.
    (Using Traps): Removed, material incorporated into Low Level Trap
    Calls.
    (High Level Traps): New.
    (Breakpoints): New.
    
    * scheme-using.texi (Single Stepping): Improve doc for step and
    next.
    
    * api-debug.texi (Debug on Error): Note need to handling of errors
    in C.

commit 5af872e136b2e7c74b566b68bbab97b288464578
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 11 15:38:19 2006 +0000

    (Debugging): New intro text.  New subsection
    "Evaluation Model".  Moved existing subsections "Capturing the
    Stack or Innermost Stack Frame", "Examining the Stack", "Examining
    Stack Frames", "Source Properties", "Decoding Memoized Source
    Expressions" and "Starting a New Stack" under "Evaluation Model".
    (Capturing the Stack or Innermost Stack Frame): Some new text, and
    correction to doc for last-stack-frame.
    (Debug on Error): Renamed from "Interactive Debugging".

commit b0b0deff2decac0f6b3249a4e9a5f323426807b8
Author: Neil Jerram <address@hidden>
Date:   Fri Aug 11 15:33:41 2006 +0000

    (scm_last_stack_frame): Correct docstring (returns a
    frame, not a stack).

commit c9ef37410d864b4b5b8bcc0c2500a7700d80c358
Author: Neil Jerram <address@hidden>
Date:   Tue Aug 1 21:51:12 2006 +0000

    * api-debug.texi (Breakpoints): Removed (all wrong).
    
    * guile.texi (API Reference): Improved summary for "Debugging"
    menu item.

commit 46f7666d7f9d07484a44f438f9b51c0a29b8a0c4
Author: Neil Jerram <address@hidden>
Date:   Tue Aug 1 21:33:17 2006 +0000

    * scheme-debugging.texi (Debug Last Error, Interactive Debugger):
    Moved/merged to scheme-using.texi, as REPL features.
    (Examples): New.
    (Intro to Breakpoints): New introductory text here.  Removed all
    subnodes except for Breakpoints Overview.
    
    * scheme-using.texi: New.
    
    * guile.texi (Programming in Scheme): Include new
    scheme-using.texi file.
    
    * Makefile.am (guile_TEXINFOS): Include new scheme-using.texi
    file.

commit b49123789ffd7b61d87ed62333605b5051fe63f7
Author: Rob Browning <address@hidden>
Date:   Wed Jul 19 06:56:37 2006 +0000

    *** empty log message ***

commit 08e5f840703296b40998e894ab0be9bc2ed6ba41
Author: Rob Browning <address@hidden>
Date:   Wed Jul 19 06:56:30 2006 +0000

    Add __attribute__ ((returns_twice)) to the ia64_getcontext prototype
    so that gcc will make the right arrangements and avoid an illegal
    instruction during call-with-current-continuation.

commit eaa94eaaa91b8f1c57b2922f48677e32e55648e4
Author: Ludovic Courtès <address@hidden>
Date:   Wed Jul 12 08:07:27 2006 +0000

    Changes from arch/CVS synchronization

commit ea19f0b3cf2572b1af123c795f7651fca776d991
Author: Neil Jerram <address@hidden>
Date:   Mon Jun 19 22:37:13 2006 +0000

    * Makefile.am (ice9_sources): Add new files.
    
    * gds-client.scm, gds-server.scm: New files.

commit 731bcf738eb2746cef3bcbdca8353f1c9c862bd2
Author: Neil Jerram <address@hidden>
Date:   Mon Jun 19 22:01:23 2006 +0000

    * Makefile.am: New file.
    
    * gds.el, gds-scheme.el, gds-server.el: New files.

commit 22acb29853fb9d427fe44f5318a083e67a04bc62
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 23:41:24 2006 +0000

    merge from 1.8 branch

commit c862d0e0c125808a85c5290045a4e1f87c5ac962
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 23:29:46 2006 +0000

    merge from 1.8 branch

commit 23f2b9a3de013f093c5913aa381219f09353c676
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 23:15:59 2006 +0000

    merge from 1.8 branch

commit a4f1c77ddb2057ca630b8bed9be437bdbc5dc552
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 22:57:28 2006 +0000

    merge from 1.8 branch
    
    And: show "1.8" not "1.10" in effective version, that being what it
    was at the time of that news entry

commit 5be9f7290b0ac38335e66a9e68e01ac254b9912c
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 22:53:04 2006 +0000

    merge from 1.8 branch

commit 9a9931719ddc6d1a7ed2e6597257e336114a69a9
Author: Kevin Ryde <address@hidden>
Date:   Sat Jun 17 22:47:50 2006 +0000

    merge 1.8 branch

commit 42be21d82afbede08c86bcde8203d1c94fdbd56e
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jun 16 07:39:59 2006 +0000

    Changes from arch/CVS synchronization

commit ad97642e70962bb9ce5a21311f86a1db772189e0
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jun 13 08:14:01 2006 +0000

    Changes from arch/CVS synchronization

commit 487f6be13155caf20d86a3e5104cb7943a772297
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jun 13 07:56:41 2006 +0000

    Added `structs.test'.

commit d15ad007c9065255bc0c7b305dc8c75707e9daa8
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jun 13 07:48:42 2006 +0000

    Changes from arch/CVS synchronization

commit d79a62db53b31bf8e330cf2aaca2a284c064fde6
Author: Neil Jerram <address@hidden>
Date:   Tue Jun 6 21:39:43 2006 +0000

    (ACX_PTHREAD): Update to latest definition from
    autoconf macro archive, to fix pthread linking problem on Solaris
    10, reported by Charles Gagnon.

commit af4f861210c83b08b1ddc503fdaa2acc9949a0fd
Author: Marius Vollmer <address@hidden>
Date:   Mon May 29 21:54:13 2006 +0000

    * eq.c (scm_equal_p): Use scm_array_equal_p explicitely when one
    of the arguments is a array.  This allows vectors to be equal to
    one-dimensional arrays.
    
    * tests/unif.test ("vector equal? one-dimensional array"): New.

commit 18bffcd0f7855b2406f1199d10eb3e2a381b16c2
Author: Marius Vollmer <address@hidden>
Date:   Mon May 29 20:35:48 2006 +0000

    (scm_ithrow): When looking for the jmpbuf, first test that we have a
    pair before accessing its cdr.  Thanks to Bill Schottstaedt!

commit c56c0f7966ea1f41645f146fc212f5f0b7d77ea5
Author: Marius Vollmer <address@hidden>
Date:   Sat May 27 22:24:24 2006 +0000

    Delete test file after all tests have run in order to make "make
    distcheck" work.

commit b0c0a310db8c99c70066e1ccd97874f48422d173
Author: Marius Vollmer <address@hidden>
Date:   Sat May 27 21:32:22 2006 +0000

    Replace SCM_C_INLINE with SCM_C_INLINE_KEYWORD.  Thanks to Mark Gran!

commit 4a342b19e2b323e0bf77c454f68e6d9d70bba870
Author: Marius Vollmer <address@hidden>
Date:   Sat May 27 21:31:32 2006 +0000

    *** empty log message ***

commit d7ddf33db729cf272caf1761eb07f6b36fa936c6
Author: Marius Vollmer <address@hidden>
Date:   Sat May 27 21:05:07 2006 +0000

    *** empty log message ***

commit d3774e2c7fc799dde0602a4ba9c3114ba07c7ea7
Author: Marius Vollmer <address@hidden>
Date:   Sun May 7 22:51:06 2006 +0000

    (CELL_P): Also check that the potential pointer is
    correctly aligned for a cell.  Thanks to Miroslav Lichvar!

commit 7f9da9413513bdfa54324cfe19bcd9b92edbbe20
Author: Marius Vollmer <address@hidden>
Date:   Mon May 1 21:32:21 2006 +0000

    (SCM_BENCHMARKS_DIRS, dist-hook): Removed, they are
    no longer needed and lead to unclean tarballs.

commit 03a254501a8bfa9bad5b1b9e33d44afd000eb7bf
Author: Marius Vollmer <address@hidden>
Date:   Mon May 1 21:07:20 2006 +0000

    Changed "1.7" to "1.10" in description of the effective version.
    Thanks to Jon Wilson!

commit 73350cf5595f7724de73c7b530b478208f9f4ea5
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:48:50 2006 +0000

    *** empty log message ***

commit 9560d8bba46a041575f6f24ea77a8eadd732f597
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:48:14 2006 +0000

    (lstat): Allow for test-symlink not existing yet.

commit 34646b1062372670c383a767576c4a252e5e71a5
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:36:55 2006 +0000

    *** empty log message ***

commit 6cecdff760a6930346c8f5235870c6ad48a2ef80
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:35:37 2006 +0000

    Bump lib file version to libguilereadline-v-18,
    matching LIBGUILEREADLINE-VERSION.

commit 281ab5e22e037b8971b2f65ec726f353ef1047dd
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:26:12 2006 +0000

    *** empty log message ***

commit b4716c8d4f81a0682a3c6dec3b2c1a0d83fcaa4f
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 01:23:37 2006 +0000

    (scm_to_off_t, scm_from_off_t): No error if unknown off_t
    size, to help the guile-readline build where off_t is unused.

commit 4800a61a6c3f661462a963ecbc810ea7f7d6f4e9
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 00:38:33 2006 +0000

    Correction to "not a Guile release" warning, show 1.8 not 1.6.

commit ab0883a20bc51f7b5511140018967dec67d92e36
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 00:29:38 2006 +0000

    drop extra 2006-02-06 heading

commit 3eccf6150b8400735939343223dc386bc64bb268
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 00:20:43 2006 +0000

    unduplicate --enable-arrays removal entry

commit 4f41661657a32a8e0147f4b793864b56496af4cf
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 00:18:11 2006 +0000

    merge from 1.8 branch

commit 2b829bbb3d685ff780a0e3c0888d1d1231e2bc0e
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 17 00:05:42 2006 +0000

    merge from 1.8 branch

commit cd5fea8dbe4879f2d79aeef72f7385728db39d75
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 16 23:43:48 2006 +0000

    merge from 1.8 branch

commit 6e7d5622eebd416d95e487cc358ee19d0a22c762
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 16 23:37:40 2006 +0000

    merge from 1.8 branch

commit 1b09b607dd1096ab572afe0667e8602560622624
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 16 23:18:55 2006 +0000

    merge from 1.8 branch

commit 35369f45769da716e97e62472592a93b01799163
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 16 23:05:07 2006 +0000

    merge from 1.8 branch

commit 4a9f83ff064bab4a5e43ca4f7ddf45ffa4dba2ae
Author: Mikael Djurfeldt <address@hidden>
Date:   Sun Feb 19 16:34:51 2006 +0000

    Test for SCM_HAVE_T_UINT64 instead of
    SCM_HAVE_T_INT64.
    (scm_i_uniform32, scm_i_uniform32, scm_i_init_rstate): Use
    scm_t_uint64 and scm_t_uint32 instead of scm_t_int64 and
    scm_t_int32.

commit 4c7016dc06525c7910ce6c99d97eb9c52c6b43e4
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Feb 14 11:38:30 2006 +0000

    Ludovic's patch for scm_t_sweep_statistics.

commit b712c10755ad4304f6352a32ec607c8fad1a61a9
Author: Marius Vollmer <address@hidden>
Date:   Mon Feb 13 21:42:41 2006 +0000

    (Object Properties): Removed confusing
    paragraph about 'name' property.

commit 1aaa1c171edd094072f5b4202fd480e0f40c2aad
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 12 01:01:46 2006 +0000

    * deprecated.scm (make-uniform-array): Don't pass the prototype as
    the fill value, dimensions->uniform-array will do the right thing
    now.  See scm_dimensions_to_uniform_array why we need to be tricky
    about the fill value.
    
    * unif.c (scm_dimensions_to_uniform_array): Use the prototype for
    filling when the fill parameter is omitted, as documented, but
    turn #\nul into 0 since s8 arrays (signified by a #\nul prototype)
    can not store characters.

commit d7c6575f3f77db3bd4ea7bcac7d283f885dae6aa
Author: Neil Jerram <address@hidden>
Date:   Thu Feb 9 14:27:05 2006 +0000

    (scm_c_make_socket_address): Pass address_size pointer
    on to scm_fill_sockaddr call.

commit 349b48f9a9d6bb356bba8ce28c0ddfca8419934d
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 5 22:57:57 2006 +0000

    Bumped versions for 1.9 series.

commit 31a4ff3e3df5f4c09d39e9d9e463a4e517e73d3d
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 5 22:57:34 2006 +0000

    (Basic Generic Function Creation): Added blurb about
    merge-generics duplicates handler from NEWS-

commit 2a0d4b55593ef497542c6902d2fbf2d2d3b94053
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 5 22:56:51 2006 +0000

        * configure.in: Removed --enable-arrays option.

commit 0f24e75b73b9c0c745971de639a53748a395a1cb
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 5 22:56:34 2006 +0000

    * GUILE-VERSION: Bumped versions for 1.9 series.
    
    * srfi-1.scm, srfi-60.scm: Updated versions in library name to
    match GUILE-VERSION.

commit 2328328f85a5ea317a17b451d98c64c65fb52d6c
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 4 15:57:16 2006 +0000

    * boot-9.scm (try-module-autoload): Make sure that module code is
    loaded with the default reader (current-reader #f).  Thanks to
    Ludovic Courtès for pointing this problem out.

commit 26beee1e746303f49d0f70673fe2327a8fed6bb7
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 4 14:36:43 2006 +0000

    19 new test cases.
    (throw-test): New macro for testing catches and throw handlers.

commit 43e01b1ee350c823505d1397a306c8e1bfa31469
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 4 14:36:24 2006 +0000

    * throw.h (scm_c_catch, scm_c_with_throw_handler,
    scm_catch_with_pre_unwind_handler, scm_with_throw_handler): New.
    
    * throw.c (SCM_JBPREUNWIND, SCM_SETJBPREUNWIND): New.
    (struct pre_unwind_data): New, replaces struct lazy_catch.
    (scm_c_catch): New, replaces scm_internal_catch as the primary
    catch API for C code; adds pre-unwind handler support.
    (scm_internal_catch): Now just a wrapper for scm_c_catch, for back
    compatibility.
    (tc16_pre_unwind_data, pre_unwind_data_print,
    make_pre_unwind_data, SCM_PRE_UNWIND_DATA_P): Renamed from
    "lazy_catch" equivalents.
    (scm_c_with_throw_handler): New, replaces scm_internal_lazy_catch
    as the primary C API for a "lazy" catch.
    (scm_internal_lazy_catch): Now just a wrapper for
    scm_c_with_throw_handler, for back compatibility.
    (scm_catch_with_pre_unwind_handler): Renamed from scm_catch; adds
    pre-unwind handler support.
    (scm_catch): Now just a wrapper for
    scm_catch_with_pre_unwind_handler, for back compatibility.
    (scm_with_throw_handler): New.
    (scm_lazy_catch): Update comment to say that the handler can
    return, and what happens if it does.
    (toggle_pre_unwind_running): New.
    (scm_ithrow): When identifying the throw target, take running
    flags into account.  In general, change naming of things from
    "lazy_catch" to "pre_unwind".  When throwing to a throw handler,
    don't unwind the dynamic context first.  Add dynwind framing to
    manage the running flag of a throw handler.  If a lazy catch or
    throw handler returns, rethrow the same exception again.  Add
    pre-unwind support to the normal catch case (SCM_JMPBUFP).
    
    * root.c (scm_internal_cwdr): Add NULL args to
    scm_i_with_continuation_barrier call.
    
    * dynwind.c: Change comment mentioning lazy-catch to mention
    pre-unwind data and throw handler also.
    
    * continuations.h (scm_i_with_continuation_barrier): Add
    pre-unwind handler args.
    
    * continuations.c (scm_i_with_continuation_barrier): Add
    pre-unwind handler args, and pass on to scm_c_catch (changed from
    scm_internal_catch).
    (c_handler): Remove scm_handle_by_message_noexit call.
    (scm_c_with_continuation_barrier): Call
    scm_i_with_continuation_barrier with scm_handle_by_message_noexit
    as the pre-unwind handler.
    (scm_handler): Remove scm_handle_by_message_noexit call.
    (s_scm_with_continuation_barrier): Call
    scm_i_with_continuation_barrier with scm_handle_by_message_noexit
    as the pre-unwind handler.

commit 56658166b254d901670952bb183310063c148d3c
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 4 14:36:06 2006 +0000

    * stack-catch.scm (stack-catch): Use catch pre-unwind handler
    instead of lazy-catch.
    
    * boot-9.scm (error-catching-loop): Use catch pre-unwind handler
    instead of lazy-catch.

commit 7b4c914e49841465f42fd30e6e8979e758596eb0
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 4 14:35:53 2006 +0000

    (Throw Handlers): New node.
    (Throw): Moved to after the Lazy Catch node.
    (Catch): Enhance to cover the optional pre-unwind handler, and new
    APIs scm_c_catch, scm_catch_with_pre_unwind_handler.
    (Lazy Catch): Describe relationship to with-throw-handler.
    Document that the handler may return, and what happens if it does.
    (Throw): Mention that a throw can be handled by a throw handler as
    well as by a catch.

commit ba28d59428fe3fe5fbcc27397f597bd2d725b214
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 01:01:23 2006 +0000

    *** empty log message ***

commit 99d1677605e5448f227eb370c841fca4b193574f
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 01:00:57 2006 +0000

    (Network Address Conversion, Network Databases)
    (Network Sockets and Communication, Internet Socket Examples): Misc
    tweaks.

commit f36978c9cee3ee3f5588498dc213e8c698e5e92a
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:56:35 2006 +0000

    *** empty log message ***

commit 2d6e3bd4c07fe3bf671e25b63762ce035cb2e9fd
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:54:24 2006 +0000

    Use the equal proc argument, so we exercise the
    srfi-1 version of the code.  Without such an argument srfi-1.c passes
    the job to the core scm_delete.

commit cf9d3c47fd37dbe7589864383c650a3d6f853cbe
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:50:39 2006 +0000

    (scm_srfi1_delete, scm_srfi1_delete_duplicates): Use a
    count to protect against nasty code in the equality procedure changing
    the lists we're working on.  The results don't have to be sensible in
    that case, just not hang or access non-cells.

commit 6459d139d540cd344f45365c5d00327b3274af2e
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:27:20 2006 +0000

    wrong @subsection in my last

commit ef5f91637b8ed83d8784b6a7f38acacf053397b7
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:24:37 2006 +0000

    (Compiled Code Installation): New section.

commit 7746d6da07514bfc19d02819dc42ef216689e1b5
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 4 00:00:45 2006 +0000

    *** empty log message ***

commit 5f30c653d959d17d29a1cc71d3f85beefa412cdc
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:59:59 2006 +0000

    pxref libtool manual.

commit 73e46534004319e23b1fd8626ade2f66953d9536
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:58:40 2006 +0000

    (Build Config): pxref libtool on libguileinterface version info.

commit 71c7cfa502f92d93d6881a5b5327ab3453baf03a
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:49:37 2006 +0000

    (scm_mark_all): Fix c99-isms "loops" and "again" variables.

commit f14a93dfe4889a633444b40bc6514f8e9e555a31
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:40:21 2006 +0000

    *** empty log message ***

commit d7a88afe372df66c87097afae4cf619d9c6eeadf
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:38:51 2006 +0000

    Add test-list.c

commit 2948fc75bdd3173dc2991663a0fac1ddd81ffd3e
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:34:48 2006 +0000

    standalone/test-list.c: New file.

commit 0aa90220edd3a7749693ef9701c979cee7a4f630
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:31:58 2006 +0000

    *** empty log message ***

commit ad250b8d1f0ff8cab1be5734e4846e66d5a921a7
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 3 23:31:25 2006 +0000

    (booleans->integer): Avoid newline in macro, it breaks the snarfer.

commit e46e8468a54ceaa3d9bf37935dbb7e180e23f47d
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 21:27:44 2006 +0000

    add a copyright year for 2005 changes

commit 720989280405bc9eb3f0929eec75b28637502cf1
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 21:20:46 2006 +0000

    *** empty log message ***

commit 303bddc8798d99026ebe3fb379c2e63a7edac359
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 21:15:48 2006 +0000

    (scm_list): Restore this function for use from C.
    It's a complete no-op but in theory might used by someone.

commit 1443643fd84f8c595ad73cb6eb25906e8fdd2728
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 21:13:15 2006 +0000

    copyright year for marius' last change

commit 7a5e7cba5e5bc9dcc18fb1ef663c483e55d57f75
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 20:59:54 2006 +0000

    *** empty log message ***

commit 1d314ec23bbe4ee3d38f05758996d88a5cacbf37
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 2 20:48:44 2006 +0000

    2006-02-01  Ludovic Courtès  <address@hidden>
            * deprecated.scm (make-uniform-array): Fill the returned vector with
        PROT, per guile 1.6 behaviour.

commit aa092c5d7f83a9b5d0cd5d168f1d4e45a42de25a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 23:13:11 2006 +0000

    *** empty log message ***

commit cce0e9c8759081fc950b4dab3f7a3d3da783768f
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 23:12:01 2006 +0000

    (scm_eval_body): Lock source_mutex with a dynwind context
    so that it gets unlocked in all cases.
    (SCM_APPLY, CEVAL): Likewise.

commit e28cd808dc1875af1effc48ae9a337ecc226bfcd
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 22:44:52 2006 +0000

    *** empty log message ***

commit 680d514090037ead81f0e6ab398dc1c4b1eb7558
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 22:44:15 2006 +0000

    Export %thread-handler.
    It's join-thread, not thread-join.

commit ee51ba31158f5b53975981eced2ef9361f111eef
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 20:00:14 2006 +0000

    *** empty log message ***

commit 718866aa75d62f20d87d2911307d6c702f70d709
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:59:51 2006 +0000

    (scm_array_map_x): Don't use scm_array_p, use scm_is_typed_array
    instead.

commit 3c55760aa3f98eb667a785bb23dbe7c7637c93b7
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:46:30 2006 +0000

    Don't mention futures.

commit cc19cda7a8366d5b3de8bd2eb7445d83f93fe16e
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:45:54 2006 +0000

    Removed "Futures" node.

commit a64d0589512480bc7016e7e7fd503c5596ba3050
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:44:45 2006 +0000

    Replaced 'futures' with threads.

commit 99e370f645935f0fc1198026954d9c23bc3c7906
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:38:29 2006 +0000

    *** empty log message ***

commit 2f263a6a0b3c96f5852aaaa1dcae3ae17cc32b83
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 19:09:52 2006 +0000

    * futures.h, futures.c: Wrap whole contents in "#if 0"/"#endif".
    * eval.c, init.c: Comment out all 'future' related things.

commit 661ae7ab6be5aec4d6107902cff94dbb8952a24a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 29 00:23:28 2006 +0000

    Renamed the "frames" that are related to dynamic-wind to "dynamic
    contexts.  Renamed all functions from scm_frame_ to scm_dynwind_.
    Updated documentation.

commit 15ccf10bf2d7cb15ec46f2eb62c6eb86827c9108
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 28 22:01:58 2006 +0000

    *** empty log message ***

commit d5ad4aa6fafe72e95833c3a5f4efab25e1388f82
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 28 22:01:35 2006 +0000

    * inline.h, pairs.c (scm_is_pair): Moved scm_is_pair from pairs.c
    to inline.h to make it inline.

commit fd0a5bbcb7922fe35a13d1cc87216c6b93f2251e
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Jan 24 20:30:09 2006 +0000

    patches by Ludovic Courtès for symbol generation.

commit 2ca2ffe6b26556dc01677fe0e360f46f30ca8cfd
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Jan 18 10:17:30 2006 +0000

    ("sweep_card"): don't count scm_tc_free_cell for
    free_count.

commit 27d64e2b4a082e58338bb99f4e756469d857a70d
Author: Neil Jerram <address@hidden>
Date:   Fri Jan 13 17:36:52 2006 +0000

    (repl-reader): Use value of current-reader fluid to
    do the read, if set.  (Thanks to Ludovic Courtès for the patch.)

commit c255614e268247b1f336f0cba3150764119bcf01
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Jan 1 19:46:24 2006 +0000

    *** empty log message ***

commit e299cee2a08e4ee5949d9ffb54d1069db0a2133a
Author: Marius Vollmer <address@hidden>
Date:   Fri Dec 30 19:33:19 2005 +0000

    Explicit typos.

commit 09172f9c312f66707e467dcb4791f696f9622503
Author: Neil Jerram <address@hidden>
Date:   Fri Dec 30 14:33:43 2005 +0000

    *** empty log message ***

commit 29295b0c903522a1eaefca36043a118a05730771
Author: Neil Jerram <address@hidden>
Date:   Thu Dec 29 10:26:39 2005 +0000

    (next_fluid_num): [From Ludovic Courtès:] Don't trigger
    the GC when allocated_fluids_len is zero.

commit 23ef389210f659d7c3d816327e2acf9a397a2966
Author: Kevin Ryde <address@hidden>
Date:   Wed Dec 14 21:58:54 2005 +0000

    *** empty log message ***

commit 5179b0e20b3e15bad10a1e0a09758591cc5bd236
Author: Kevin Ryde <address@hidden>
Date:   Wed Dec 14 21:55:54 2005 +0000

    (Streams): In stream->list&length and
    stream->reversed-list&length, make the two values clearer.
    
    and a typo "teh"

commit 8d596b11fc33a34cfa68b8428a829333a075404d
Author: Kevin Ryde <address@hidden>
Date:   Wed Dec 14 21:54:50 2005 +0000

    (Fly Evaluation): Add scm_call_4, suggested by Bruce Korb.

commit 9abd541eb7926a824e0a581b8fc734ce3fe4d95d
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 14 00:55:22 2005 +0000

    Remove entry claiming that breakpoints have been added,
    because breakpoints are now implemented outside the core distro.
    Add entries on obsolescence of the 'cheap option and on tweaking
    support in evaluator trap calls.  Finally, correct outline level
    of item about make-keyword-from-dash-symbol.

commit 31e2cc5088c656d27332796e629e576c8fd92f91
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 14 00:51:58 2005 +0000

    (Evaluator trap options): Trap calls now always
    use a debug object rather than a continuation.
    (Debugger options, Examples of option use): Update help text for
    'cheap option (which is now obsolete).

commit ec3a8ace63d1d42524c5a93c59cf7fe5ff1f0548
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 14 00:21:11 2005 +0000

    * api-evaluation.texi (Loading): Document custom reader.
    
    * boot-9.scm (load-module): Support an optional custom reader arg,
    implemented by passing on to r4rs's load.
    
    * r4rs.scm (load): Support an optional custom reader arg,
    implemented by passing on to primitive-load.
    
    * load.c (the_reader, the_reader_fluid_num): New.
    (scm_primitive_load): Support custom reader.
    (scm_init_load): Init the_reader and the_reader_fluid_num; export
    the_reader as `current-reader'.

commit 2824f4dca11d8f1089ffd028bf797acbb2a4a488
Author: Neil Jerram <address@hidden>
Date:   Wed Dec 14 00:15:00 2005 +0000

    (do_read_without_guile): Use the "raw_data" passed in
    (rather than an uninitialized pointer on the stack).

commit 6a88895b7b14cd844d555f6f6b33a176574b5706
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 7 01:33:18 2005 +0000

    *** empty log message ***

commit 657e7929035cde1df233cf6b1543e86527a21cad
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 7 01:32:17 2005 +0000

    (invoke_main_func): Don't call exit here.  Throws that
    are only caught by scm_with_guile will bypass us and would cause
    scm_boot_guile to return erroneously.
    (scm_boot_guile): Expect scm_with_guile to return and call exit
    here, passing it an appropriate exit code.

commit e724644d458b2fda60a24d536100b46693bfdf1d
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 7 00:31:49 2005 +0000

    Added more words to #:replace from Ludovic.  Thanks!

commit a81d0de109a2f5d648d08d12f56ce8b1c739f617
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 22:37:39 2005 +0000

    *** empty log message ***

commit d9c36d2a6f76b3c7acd29e324bee7f4e9da00075
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 22:35:05 2005 +0000

    (scm_find_executable): Compile fix -- fgetc returns an
    unsigned char cast to an int, or -1 for EOS.

commit 08f489c98bed402dd196f85cdce231ae72abf9b7
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:42:43 2005 +0000

    *** empty log message ***

commit ab7acbb74eb5be0d6671fe870dbde5c91d515d3b
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:42:19 2005 +0000

    (take_uvec): Make BASE pointer non-const.
    (scm_take_u8vector, etc): Likewise.  Thanks to Ludovic Courtès!

commit 9d9ce2b576f6bfcf66efd69793435446ebc7c0ba
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:34:10 2005 +0000

    *** empty log message ***

commit 43ed3b697ec519a9d7342fa79b04e0ba08b5f7e2
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:32:55 2005 +0000

    * api-control.texi (if cond case): Describe SRFI 61 cond.
    
    * srfi-modules.texi (SRFI-61): New section.
    (SRFI Support): Add SRFI-61 to menu.

commit e5547d5fc877c004bce9e25194f3b59db3489e97
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:32:36 2005 +0000

    fixed some typos.

commit 08b609aa1fa21a174c4c0c6b4e4cf284e1498908
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:32:09 2005 +0000

    (%cond-expand-features): Add srfi-61.

commit 1fe1fc0a92c7ad5d364b66cf3a9cbffcb1c2506e
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 21:31:26 2005 +0000

    (scm_m_cond): Recognize SRFI 61 cond syntax.
    (CEVAL): Evaluate SRFI 61 cond clauses.

commit 24d5274ba96267f234917b9785c6229774e5b63f
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 20:36:49 2005 +0000

    *** empty log message ***

commit 54428bb84e2f212d6c24ef5264780d88fd31da60
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 20:27:59 2005 +0000

    Removed scm_leave_guile, scm_enter_guile and all references to
    them since they are no longer in the API.

commit b54df25486b29f4759b71d3c1af51010e26fc2f3
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 20:15:49 2005 +0000

    *** empty log message ***

commit 9864812182858fefcd1f012e57654f698f730c88
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 20:15:24 2005 +0000

    (scm_t_guile_ticket, scm_leave_guile, scm_enter_guile): Removed from
    public API.  See comment at scm_without_guile for the rationale.

commit 324a5aa97aa23cfc962bc6b9e4717a127f533b94
Author: Marius Vollmer <address@hidden>
Date:   Tue Dec 6 20:02:19 2005 +0000

    (read_without_guile): New.
    (signal_delivery_thread): Use it instead of
    scm_leave_guile/read/scm_enter_guile.

commit 9fb5c8f95c70a13434c127fb6a1e7538ed14b9b9
Author: Neil Jerram <address@hidden>
Date:   Tue Dec 6 19:15:16 2005 +0000

    * gc-card.c (scm_i_card_statistics): Return if BITVEC is NULL.
    This was typically hit when running `gc-live-object-stats' right
    after starting Guile.

commit aa1babce68c25e7c04f4ae443fbfcfcf5f06f569
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 30 00:42:19 2005 +0000

    *** empty log message ***

commit 8a8ca420b17f3218677a1439bf228e90c43df9fb
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 30 00:35:45 2005 +0000

    (string-append/shared): New tests.

commit efeac8aed0de1e3d2240b317411bf17ba1cf0c84
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 30 00:30:36 2005 +0000

    *** empty log message ***

commit a003f3eb60b4b193a8b6d453bb07458531b49db7
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 30 00:26:08 2005 +0000

    (scm_string_append_shared): No copying if just one
    non-empty string in args.

commit 606183ba1bc74ad453e6727ca63f6deeac6e404e
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:55:45 2005 +0000

    *** empty log message ***

commit 94b33dfe46587fe5aeccfa819917513939d211e4
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:54:06 2005 +0000

        * random.c (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
        scm_malloc returning NULL, it never does that.
        * putenv.c (putenv): Likewise.

commit c224262bd124854e2a3aaf0e73cfac2172975998
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:53:27 2005 +0000

    (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
    scm_malloc returning NULL, it never does that.

commit bc7323428446d76baf605017e3471fb5ddf542e4
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:52:52 2005 +0000

    (scm_fill_sockaddr): Remove SCM_C_INLINE_KEYWORD, this is
    much too big to want to inline.

commit 123a1b629e74d938a59e74c6ffb02241f8827e70
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:50:12 2005 +0000

    (list): Should be "primitive" in SCM_SNARF_DOCS, not "register".

commit 1f65cc174df911790572a356e4015bb0ae928472
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 26 00:49:24 2005 +0000

    (scm_mark_all): Change C++ comment to C comment.  Reported by Ludovic 
Courtès.

commit 203a6c87fd2fa7d7849ce5ec28645dde0b2365e1
Author: Kevin Ryde <address@hidden>
Date:   Thu Nov 24 00:13:16 2005 +0000

    *** empty log message ***

commit f1ca69a6bfd07852f14fe3e799b54ca63bb3f5bd
Author: Kevin Ryde <address@hidden>
Date:   Thu Nov 24 00:03:27 2005 +0000

    *** empty log message ***

commit 04f53076d9948822a5d4b6957a14f895e888a5c9
Author: Kevin Ryde <address@hidden>
Date:   Thu Nov 24 00:00:59 2005 +0000

    (lset-difference!): More tests.

commit 9dcee2b7a1ab1059ec8cd2f236238f1e83ab6c63
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 23 23:56:08 2005 +0000

    (lset-difference!): Rewrite in C.

commit 4ec555c5936c7bee33c20b12e27264af09c2e7a2
Author: Kevin Ryde <address@hidden>
Date:   Wed Nov 23 23:41:29 2005 +0000

    typo in lset-difference! name in with-test-prefix

commit f07d2b20f3e4c226112afe346dd4ac95c2e4ca6e
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 18 23:27:28 2005 +0000

    *** empty log message ***

commit 8b2081b58057a1f8d15d71412d78def561df7c45
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 18 23:04:06 2005 +0000

    *** empty log message ***

commit b167633ca0133779483961fc35f6c596897c59d8
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 18 22:01:46 2005 +0000

    (Retrieving Alist Entries): Revise for clarity and brevity.

commit dbb5de29496c2da4a285255c951364a97600c5ba
Author: Neil Jerram <address@hidden>
Date:   Thu Nov 17 18:50:01 2005 +0000

        * print.c (EXIT_NESTED_DATA): Before popping from the stack, reset
        the value at its top.  This fixes a reference leak.
        (PUSH_REF): Perform `pstate->top++' after calling
        `PSTATE_STACK_SET ()' in order to avoid undesired potential side
        effects.

commit 3f98874a963607cf8f0bc50a78dcd3f85037bf44
Author: Neil Jerram <address@hidden>
Date:   Sat Nov 12 08:58:51 2005 +0000

    * gc.c (scm_weak_vectors): Removed.

commit f1b7209b2d44b3ea134343f243dec5ded98a14fc
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 12 00:59:28 2005 +0000

    (scm_setsockopt): Missing @defvar in docstring.  Reported
    by Ludovic Courtès.

commit bedd3f5fff199f1f5270c7c632db24c6095cd16c
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 6 22:12:25 2005 +0000

    *** empty log message ***

commit 9291479faa3965f39324e3d3f5453c951c0691c9
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 6 22:12:04 2005 +0000

    (scm_mktime): Use scm_frame_critical_section instead of
    SCM_CRITICAL_SECTION_START/END since the code inside the critical
    section might exit non-locally.

commit 914da0e2fce5d0f062d43131270849f2adcb642f
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 5 21:42:14 2005 +0000

    *** empty log message ***

commit 46bb559d6c7436094f10a4ebf942ad2536af434b
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 5 21:38:49 2005 +0000

    From Ludovic Courtès, partial rework by me:
    * doc/ref/api-modules.texi (Creating Guile Modules): In define-module,
    describe #:re-export, #:export-syntax, #:re-export-syntax, #:replace
    and #:duplicates.  Add re-export.

commit 7c9c0169b4ddda985656c00c8e0cd4434a2bfd2e
Author: Neil Jerram <address@hidden>
Date:   Fri Nov 4 21:20:24 2005 +0000

    * eval.c (sym_instead): New symbol.
    (ENTER_APPLY): Remove optional use of a continuation when making
    trap call.
    (scm_debug_opts): Change doc for 'cheap option to make clear that
    it is now obsolete.
    (CEVAL, SCM_APPLY): Remove optional use of a continuation when
    making trap calls, and implement substitution of eval expressions
    and return values using the values that the trap call handlers
    return.
    
    * debug.h (SCM_CHEAPTRAPS_P): Removed.

commit 69b45df38b1f0508cf7ec6d9f1601a52a2ce1235
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 31 23:42:14 2005 +0000

    *** empty log message ***

commit 20b988f88d15ce2fc9042663968ab6bc1a2c8159
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 31 23:41:46 2005 +0000

    (Time): In strftime, note systems vary for %Z.

commit 551387fd6d8e302adcc4cd08b6feb8a1899c7e6b
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 31 23:33:58 2005 +0000

    *** empty log message ***

commit 8acfc848a514ecb391538f66d2df9f67d3241cae
Author: Kevin Ryde <address@hidden>
Date:   Mon Oct 31 23:33:07 2005 +0000

    2005-10-27  Ludovic Courtès  <address@hidden>
        * networking.scm (sockaddr:flowinfo, sockaddr:scopeid): New functions.

commit 1cc1bcaca1860ab2c2dce02c967854808669c65e
Author: Kevin Ryde <address@hidden>
Date:   Fri Oct 28 23:00:55 2005 +0000

    *** empty log message ***

commit 32ff73707c6faceda47f035f24772aa7b038ea4f
Author: Kevin Ryde <address@hidden>
Date:   Fri Oct 28 23:00:19 2005 +0000

    (Network Socket Address): Add scm_make_socket_address,
    scm_c_make_socket_address, scm_from_sockaddr, scm_to_sockaddr.  This
    change by Ludovic Courtès and revised a bit by me.

commit 13ed23db8ed742a962a8b678eee925b5123997e4
Author: Kevin Ryde <address@hidden>
Date:   Thu Oct 27 01:05:43 2005 +0000

    (Network Address Conversion): Move INADDR_ANY to here.
    (Network Socket Address): New section, move sockaddr bits to here, add
    new make-socket-address.
    (Network Sockets and Communication): In connect, bind, and sendto, now
    take socket address object.  In bind, leave INADDR constants for
    "Network Address Conversion" node.  In those plus accept, getsockname,
    getpeername, reword a bit for clarity.

commit 64cdbfc7af8fac7e4b29013192284f30ffa4d441
Author: Kevin Ryde <address@hidden>
Date:   Thu Oct 27 00:37:09 2005 +0000

    *** empty log message ***

commit e7e480805650d3d60c3853a4be3176306938d665
Author: Kevin Ryde <address@hidden>
Date:   Thu Oct 27 00:35:06 2005 +0000

    2005-10-27  Ludovic Courtès  <address@hidden>
        * tests/socket.test (make-socket-address): New tests.
        (connect, bind, sendto): Exercise sockaddr object.

commit 6fc0a1b5990f6b65bf3e6f58eee82ec2f7a93ebc
Author: Kevin Ryde <address@hidden>
Date:   Thu Oct 27 00:28:40 2005 +0000

    2005-10-27  Ludovic Courtès  <address@hidden>
        * socket.c (scm_fill_sockaddr): No need to check NULL from scm_malloc.
        (scm_connect, scm_bind, scm_sendto): Accept sockaddr object.
        (scm_addr_vector): Renamed to _scm_from_sockaddr, update usages.
        (scm_from_sockaddr, scm_to_sockaddr, scm_make_socket_address,
        scm_c_make_socket_address): New functions.
        * socket.h: Add prototypes.

commit 9c0129aca25a9d8b700fe857c80485161ee8b600
Author: Kevin Ryde <address@hidden>
Date:   Thu Oct 27 00:22:54 2005 +0000

    2005-10-27  Ludovic Courtès  <address@hidden>
        * socket.c (scm_fill_sockaddr): No need to check NULL from scm_malloc.
        (scm_connect, scm_bind, scm_sendto): Accept sockaddr object.
        (scm_addr_vector): Renamed to _scm_from_sockaddr, update usages.
        (scm_from_sockaddr, scm_to_sockaddr, scm_make_socket_address,
        scm_c_make_socket_address): New functions.

commit fc9f596c96ad0f50d6ca7f53a1212a3d140f81e7
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 22:45:52 2005 +0000

    *** empty log message ***

commit 9f4e29f66b0d3aef3590f36b6b4ae2de900a4ea3
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 22:40:12 2005 +0000

    (strftime %Z): Disable this test, its assumptions
    about %Z are not valid on NetBSD.

commit 5cd87f557de9b3de6eea1ba5d1f31285d2c5111b
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 22:29:25 2005 +0000

    (scm_strftime): Update docstring from posix.texi.

commit 4b08cab6dd92372ba5acd214b57f481615b61936
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 22:21:33 2005 +0000

    (Time): Revise strftime for clarity, cross reference man
    3 strftime (suggested by Greg Troxel), note locale character set when
    setlocale has been called.

commit 7381c1de512a5a32a70d2c996c79b70d53ed07ba
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 21:57:08 2005 +0000

    Untabify

commit 72e3dae1e3ea2f6b89e071599dc2de8c7f9aac74
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 21:56:09 2005 +0000

    (scm_getsockopt, scm_setsockopt): Update docstrings from posix.texi.

commit 8b6b6ce5ad10a686d7d3ceff2662f8a67811da78
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 21:50:41 2005 +0000

    (Network Sockets and Communication): Combine and revise
    getsockopt and setsockopt.  Add OPTNAME constants, including new
    IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.

commit 8fae2bf483d801d7fcc7bb918e27868b0d31a035
Author: Kevin Ryde <address@hidden>
Date:   Sun Oct 23 21:35:01 2005 +0000

    (scm_init_socket): Add IPPROTO_IP, IPPROTO_TCP,
    IPPROTO_UDP.  Remove SOL_IP, SOL_TCP, SOL_UDP.  The former are in
    POSIX spec examples, the latter are not available on for instance
    NetBSD.

commit 0460c6e10f503bcfaadcc315efc5a5142b3d73a7
Author: Marius Vollmer <address@hidden>
Date:   Sun Oct 23 20:48:11 2005 +0000

    *** empty log message ***

commit d1138028c9d19fdca5c8e3cebaebd999abafd675
Author: Marius Vollmer <address@hidden>
Date:   Sun Oct 23 20:47:49 2005 +0000

    * null-threads.h, pthread-threads.h
    (SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER): Removed.
    (scm_i_pthread_mutexattr_recursive): New.
    
    * threads.c (scm_i_pthread_mutexattr_recursive): Declare.
    (scm_i_critical_section_mutex): Do not initialize statically.
    (scm_threads_prehistory): Initialize
    scm_i_pthread_mutexattr_recursive and scm_i_critical_section_mutex
    here.
    
    * eval.c (source_mutex): Do not initialiaze statically.
    (scm_init_eval): Do it here, using
    scm_i_pthread_mutexattr_recursive.

commit 777f2ed60a04d67d8a966ecb95a809d696a1307b
Author: Neil Jerram <address@hidden>
Date:   Sat Oct 15 18:33:34 2005 +0000

    * api-debug.texi (Source Properties): Add text describing/advising
    limited use of source properties.
    
    * api-debug.texi (Source Properties): Documentation of source
    property procedures moved here from ...
    
    * api-procedures.texi (Procedure Properties): ... where it didn't
    belong.

commit a373f81dda547b0d89105b2cf68a0051bbf887a3
Author: Kevin Ryde <address@hidden>
Date:   Wed Oct 5 01:26:06 2005 +0000

    *** empty log message ***

commit 01549abbff5e8698815b8d92d6876e7423e5543d
Author: Kevin Ryde <address@hidden>
Date:   Wed Oct 5 01:25:02 2005 +0000

    untabify

commit 083f9d74d12c68751a1c529bb0c073f489be1c63
Author: Kevin Ryde <address@hidden>
Date:   Wed Oct 5 01:24:12 2005 +0000

    (Regexp Functions): Notes on zero bytes and locale character set.

commit 80a894c9a8f394352d75601566dc9c5f69bb2e54
Author: Kevin Ryde <address@hidden>
Date:   Wed Oct 5 01:22:22 2005 +0000

    (Formatted Output): Show modifiers like ~:d instead of in words.

commit 5c347f8c9b6a6b144834a20090821c8954cfc562
Author: Kevin Ryde <address@hidden>
Date:   Wed Oct 5 00:36:04 2005 +0000

    *** empty log message ***

commit 227eafdb3cb4510b866f5d9e43975562e8700b2d
Author: Marius Vollmer <address@hidden>
Date:   Sun Sep 4 21:31:05 2005 +0000

    Updated print-options.

commit 7b4a9e526e3b9f998ed99da69daf7d4eff21011d
Author: Marius Vollmer <address@hidden>
Date:   Sun Sep 4 21:30:24 2005 +0000

    *** empty log message ***

commit 475fa9a5d7913d300453a94fb1010d1cae711f4f
Author: Marius Vollmer <address@hidden>
Date:   Sun Sep 4 21:30:01 2005 +0000

    (SCM_PRINT_KEYWORD_STYLE_I, SCM_PRINT_KEYWORD_STYLE):
    New.
    (sym_reader): New.
    (scm_print_opts): Added "quote-keywordish-symbols" option.
    (quote_keywordish_symbol): New, for evaluating the option.
    (scm_print_symbol_name): Use it.
    (scm_init_print): Initialize new option to sym_reader.

commit 25bdfbb6cfe2ff5c5168b912c9d730ea6cb16f33
Author: Neil Jerram <address@hidden>
Date:   Wed Aug 31 23:05:29 2005 +0000

    Export write-frame-long.

commit abd063549b8aebff931bfb7ae94dc6e164999615
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 19 00:05:16 2005 +0000

    *** empty log message ***

commit c992cc9617cd8f714a03f1dfda5d0f4da17fa755
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 18 23:51:02 2005 +0000

    (date->time-tai): New tests, exercising new leap-second.

commit ae2ffa263dccefc6a49499eebb6c17b03c774305
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 18 23:44:35 2005 +0000

    *** empty log message ***

commit 73e2a8d1e0b1e1be044f8bd93b13608fc2b7592f
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 18 23:43:37 2005 +0000

    (priv:leap-second-table): Add new 2005 leap second.

commit d279764421769e18787e1419846b01c2b2569fa7
Author: Neil Jerram <address@hidden>
Date:   Mon Aug 15 20:57:38 2005 +0000

    ("letrec init evaluation"): New paranoid test.

commit 5defc05d458e5b2f97dfc34eafa9a3df617f82b5
Author: Neil Jerram <address@hidden>
Date:   Mon Aug 15 20:43:16 2005 +0000

    * eval.c (eval_letrec_inits): New.
    (CEVAL): Eval letrec initializer forms using eval_letrec_inits.
    
    * tests/r5rs_pitfall.test (1.1): Now passes.

commit e4bf1d11810641157b7d9774a410deb303de4860
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 12 01:26:52 2005 +0000

    (lset-difference, lset-difference,
    lset-diff+intersection, lset-diff+intersection, lset-intersection):
    Exercise equality procedure arg order (already correct in these procs,
    but had been wrong in other lset ones).

commit 1729055bcf3e24c97a55462409381f6a0c420a6e
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 12 01:14:02 2005 +0000

    (scm_string_for_each_index): Correction to docstring.

commit 036482e9cdcb8bd1761fc6b85a60ae9c3d908086
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 11 21:04:31 2005 +0000

    *** empty log message ***

commit 3a1b45fdf760817a9bd248e4c5efbfb01a02ad6f
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 11 21:03:58 2005 +0000

    Use scm_from_bool instead of SCM_BOOL.  Thanks to Peter Gavin!

commit 3c55f6f1e26c3c681eb21a22692f2038edb76e6a
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 11 21:03:42 2005 +0000

    Use scm_is_null instead of SCM_NULLP.  Thanks to Peter Gavin!

commit 3081aee16aa841c0189235898967ecb72b0843cb
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 01:53:25 2005 +0000

    Index entries for ptob etc.

commit bc721aa21d970eb1532dd19fc4778c8969bd4016
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 01:49:43 2005 +0000

    *** empty log message ***

commit 685788d0234d2c1e50b620772eadfaaafcbf413b
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 01:48:37 2005 +0000

    (string-every, string-tabulate, string-trim,
    string-trim-right, string-trim-both, string-index, string-index-right,
    string-skip, string-skip-right, string-count, string-filter,
    string-delete, string-map, string-map!, string-for-each,
    string-for-each-index): Further tests, mainly to exercise new
    trampolines for proc calls.

commit 3540b91548dea3e58d2597a2c7d9429f35866abc
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 01:44:30 2005 +0000

    (scm_string_any, scm_string_every, scm_string_tabulate,
    scm_string_trim, scm_string_trim_right, scm_string_trim_both,
    scm_string_index, scm_string_index_right, scm_string_skip,
    scm_string_skip_right, scm_string_count, scm_string_map,
    scm_string_map_x, scm_string_for_each, scm_string_for_each_index,
    scm_string_filter, scm_string_delete): Use scm_t_trampoline_1 for
    procedures called in loops.

commit 514e4b24a9b28b9f0769b3e6ddc7fa839f80ba15
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 00:48:46 2005 +0000

    *** empty log message ***

commit d8e49e6bd2de095ade8f3252d2d4a890944db2e4
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 00:45:40 2005 +0000

    (List Modification): In filter, return may share a
    tail with the input, as per docstring.  In filter!, fix chopped off
    note of modifying input.

commit 44ba562e29ebcf6dac3156d209fb26f537d029f2
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 6 00:40:16 2005 +0000

    (Error Reporting): In strerror, note message is in
    locale language and charset.

commit 126c81dbb4d7c5e51e4543b12db77cf2e67694e5
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 2 00:12:09 2005 +0000

    *** empty log message ***

commit bf5ad0dac5f55e1dcd59cb4a346cb596a86c5bf5
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 2 00:03:01 2005 +0000

    (st_flush): Increase buffer by 1.5x when growing, to
    avoid lots of copying where previoulsy growing by only 80 bytes at a
    time.

commit 7f278dc67a628f2f44747bb840ac17fad3dda268
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:37:03 2005 +0000

    *** empty log message ***

commit 6169fe26f31b695ae8cffaaac87b87f01e580ca9
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:36:50 2005 +0000

    (set-module-eval-closure!): Undone change from 2005-06-10; with the
    new weak hashtable semantics, cyclic references are no longer a
    problem.

commit fc95d019cc56e32c418377061048d6b6a42101a0
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:36:14 2005 +0000

    (scm_eval_closure_module): Removed, we already have
    scm_lookup_closure_module, which does the same thing.

commit 930888e8e88a39cbdd081d060111993226a8499a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:16:59 2005 +0000

    *** empty log message ***

commit eb074bfc5a30fa61ec32cec6d25a20c41e8363e5
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:16:51 2005 +0000

    Do not fail when the GC does not collect an object, report it as
    'unresolved'.

commit 2924541ba0b1ec65ef377f3828333c3268e464b9
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:16:45 2005 +0000

    Adapted to new (original) semantics.  test guardingobjects multiple
    times.

commit cb5c4b0722a9676992076673e3d51e4210dd2985
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:05:00 2005 +0000

    *** empty log message ***

commit 06c1d90009bd20b0e68243b116f660789094c14a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 23:04:36 2005 +0000

    * gc-mark.c (scm_mark_all): Do not rely on hooks to run the weak
    hashtable and guardian machinery but call the relevant functions
    directly.
    
    * guardians.h, guardians.c, deprecated.h,
    deprecated.c (scm_destroy_guardian_x, scm_guardian_greedy_p,
    scm_guardian_destroyed_p, scm_guard, scm_get_one_zombie):
    Deprecated and moved into deprecated.[ch].
    
    * guardians.h, guardians.c: Mostly rewritten.
    (scm_i_init_guardians_for_gc,
    scm_i_identify_inaccessible_guardeds,
    scm_i_mark_inaccessible_guardeds): New.
    
    * weaks.h, weaks.c (SCM_I_WVECT_TYPE, SCM_I_SET_WVECT_TYPE): New.
    (SCM_I_WVECT_N_ITEMS, SCM_I_SET_WVECT_N_ITEMS): New.
    (SCM_WVECTF_NOSCAN, SCM_WVECT_NOSCAN_P): Removed.
    (scm_weaks_prehistory): Removed.
    (scm_i_init_weak_vectors_for_gc, scm_i_mark_weak_vector,
    scm_i_mark_weak_vectors_non_weaks,
    scm_i_remove_weaks_from_weak_vectors, scm_i_remove_weaks): New.
    (scm_weak_vector_gc_init, scm_mark_weak_vector_spines,
    scm_scan_weak_vectors): Removed.
    
    * hashtab.h (scm_i_scan_weak_hashtables): New.
    * hashtab.c (make_hash_table, scm_i_rehash): Do not use
    SCM_WVECTF_NOSCAN.
    (hashtable_print): Use SCM_HASHTABLE_N_ITEMS instead of
    t->n_items.
    (scan_weak_hashtables, scm_i_scan_weak_hashtables): Renamed former
    to latter.  Do not scan the alists themselves, this is done by the
    weak vector code now.  Just update the element count.
    
    * vectors.h (SCM_I_WVECT_TYPE, SCM_I_WVECT_EXTRA): Renamed former
    to latter.  The type is now only part of the cell word.
    (SCM_I_SET_WVECT_TYPE, SCM_I_SET_WVECT_EXTRA): Likewise.
    
    * init.c (scm_i_init_guile): Do not call scm_weaks_prehistory.

commit 5070fd11b2975d34df227d7175890ddeed15e1a8
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 21:54:57 2005 +0000

    *** empty log message ***

commit 705f4f57eeb26a9759012b6ba9a597b393d12e7b
Author: Marius Vollmer <address@hidden>
Date:   Sun Jul 31 21:54:48 2005 +0000

    (check_map_args): Move check_map_error label and elt variable outside
    of loop scope so that we do not jump past the initialization of elt.

commit 3e2073bd24027e8b057e22186fa08c8d7ef34b51
Author: Mikael Djurfeldt <address@hidden>
Date:   Mon Jul 18 13:55:44 2005 +0000

    * gc.c (scm_gc_stats): Bugfix: Measure size of the type we are
    mallocating for (unsigned long *bounds).
    
    * hashtab.c (scm_i_rehash): Cast SCM_HASHTABLE_FLAGS (table) to
    scm_t_bits before storing them in the type word.
    
    * gc.c (tag_table_to_type_alist): Modified type of c_tag from
    scm_t_bits to int.

commit 2468a3c82038526179c13e9f116064ffcab0b13f
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:56:23 2005 +0000

    *** empty log message ***

commit dc297bb75be5d90e5098f0bf789238de116e9490
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:47:17 2005 +0000

    (String Selection): Merge descriptions of string-trim,
    string-trim-right and string-trim-both for brevity.

commit a88e2a962855b821584ccfb641dad7a6f338d9f8
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:42:10 2005 +0000

    (String Selection): In string-pad, don't say anything
    about sharing strings, decided against doing that.
    (Miscellaneous String Operations): Ditto in string-filter and
    string-delete.

commit c3c97a34e71c2dc762daab6b44dbeb98401dc8e7
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:28:09 2005 +0000

    (scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and
    SCM_IDISTMAX, and cast uints through scm_t_bits to make gcc happy.
    Reported by Ken Raeburn.

commit ea2c3968070f90570d8ac397920fafd1d8741105
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:26:04 2005 +0000

    Plain ascii quote char.

commit 314f7832d7e8f488d1a0c253a40ccc63497400a9
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:18:54 2005 +0000

    Plain ascii backquote.

commit e8ac8e7583a362340c7a082dd506764a7f8af37c
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 12 00:11:52 2005 +0000

    *** empty log message ***

commit 8591234398e64f7dbcc673788eecea4fbb86ec3b
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 11 23:59:57 2005 +0000

    (scm_string_filter, scm_string_delete): Strip leading and
    trailing deletions, so as to return a substring if those are the only
    changes.

commit f71e4d8c09210b68a1108418ba1473e0b985f5b1
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 11 23:57:50 2005 +0000

    (scm_dbg_gc_get_bvec): Change return from long* to
    scm_t_c_bvec_long*, gcc 4 doesn't like different pointer targets when
    returning SCM_GC_CARD_BVEC.

commit f32632e6cdd1fd1494130412ad568267f6edffaa
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 11 23:55:17 2005 +0000

    (scm_error_pair_access): Plain ascii ' in error message
    rather than latin-1 acute accent, the latter may not print on all
    terminals.

commit 9d5dc023b44f8b1cb65f28a1f88c9bfe35fe985e
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 11 23:50:45 2005 +0000

    (scm_error_pair_access): Use scm_from_locale_string rather
    than scm_makfrom0str.
    Reported by Ken Raeburn.

commit adc0677d602572755507d0b613c8abf77adc18cd
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 11 00:13:36 2005 +0000

    *** empty log message ***

commit 5ee417fc838a5e7bc1ded76990a82d650fdc8269
Author: Kevin Ryde <address@hidden>
Date:   Sun Jul 10 01:56:07 2005 +0000

    (scm_inet_pton, scm_inet_ntop): Pointer cast to scm_t_uint8
    for scm ipv6 funcs, gcc 4 is picky about char* vs uchar*.
    (scm_getsockopt, scm_accept, scm_getsockname, scm_getpeername,
    scm_recvfrom) Use socklen_t, gcc 4 is picky about int* vs socklen_t*.

commit e363047c38f85e2b5a6bfb1aa4b968d8b6739fb5
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 15:14:18 2005 +0000

    (AC_CONFIG_FILES): Removed emacs/Makefile and
    ice-9/debugger/breakpoints/Makefile.

commit dae11beb081b7f00dd9d2df5aac17fed619b2686
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 15:12:28 2005 +0000

    (SUBDIRS): Removed emacs.

commit e6def95db037d827da755396c22e5a557005c97a
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 15:11:09 2005 +0000

    Remove GDS files.

commit 4199ace57f6253397cb620b93b1836c6361d359d
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 15:05:27 2005 +0000

    * debugger.scm: Remove comments which are now incorrect.

commit d5c3f236eb9889f5341763fd199d1e263ee68630
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 14:58:47 2005 +0000

    (ice9_debugger_sources): Removed
    breakpoints.scm, behaviour.scm, trap-hooks.scm.
    (SUBDIRS): Removed.

commit 9f4f17587d8b18b470daa9b86a972efa64fa3897
Author: Neil Jerram <address@hidden>
Date:   Sat Jul 9 14:53:50 2005 +0000

    * debugger/commands.scm (assert-continuable, continue, finish,
    trace-finish, step, next): Removed.
    
    * debugger/breakpoints.scm: Removed.
    
    * debugger/command-loop.scm: Remove command definitions for
    continue, finish, trace-finish, step and next.
    
    * debugger/behaviour.scm: Removed.
    
    * debugger.scm (debug-stack): Remove GDS related code.

commit 8fecbb1900c6c64feebad69f2f1e6d4d784d9202
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Jul 1 12:34:58 2005 +0000

    * gc-card.c (scm_i_card_statistics): init tag.
    
    * gc.c (tag_table_to_type_alist): check type of tag. Should be integer.

commit fc9c5d0684420f55858ce28e54d85e1eb4fdbde0
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Jun 26 23:25:18 2005 +0000

    *** empty log message ***

commit 08fce816cb8efaa0100a36e3c97d779746cddb01
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 24 21:54:15 2005 +0000

    *** empty log message ***

commit 8230ee411d3afd8c9daaf31895c2368d01d23210
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 24 21:53:10 2005 +0000

    (scm_string_filter, scm_string_delete): Partial revert
    last change, use plain copy-on-write substrings, the individual
    descriptions in the srfi don't mention shared storage (only the
    introduction does).

commit 48ddf0d9a9728607e0bab7a431a1b3c51c3f46ec
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 24 21:43:36 2005 +0000

    (scm_take_locale_stringn): Use realloc to make room for
    null-terminator, rather than mallocing a whole new block.
    (scm_take_locale_string): Use scm_take_locale_stringn len==-1.

commit 9247329fe1b9491daa994e212b786a4c6825ac1d
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 23:51:34 2005 +0000

    *** empty log message ***

commit 506def0e389133d0ae99b54237cb97ea3cc29bb8
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 23:47:32 2005 +0000

    Tweak tail calls wording.

commit bfc083ec6cdbecca0ef815534559877e37b1a43e
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 23:40:23 2005 +0000

    (Debugger options): Cross reference new Tail Calls
    node rather than R5RS on tail recursion.

commit c929c39d5d7ada6f7ab0f5a0ef9efb5dc11b746f
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 00:11:37 2005 +0000

    *** empty log message ***

commit 9ef07f6f6cc319729d84c6bd1aac7e764e2911fa
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 00:10:53 2005 +0000

    (Lazy Catch): Cross ref for with-fluids.

commit e0e75ddfa2b4bcd415d3ba6cfdd0f206f3cf2846
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 00:09:09 2005 +0000

    (Dia Primitives): Cross ref for scm_c_define_gsubr.

commit 4906d8bd2053cc763a6bb30a87c059cd58613014
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 00:07:00 2005 +0000

    (Extending Dia): URL for Dia home page.

commit 51ee57a435076b827d2de87458f53de45902c44f
Author: Kevin Ryde <address@hidden>
Date:   Thu Jun 23 00:01:06 2005 +0000

    (Pairs, List Syntax): Cross reference Expression Syntax for quoting.

commit 39067a9f002804573b57016658c694e7e1cb0f58
Author: Kevin Ryde <address@hidden>
Date:   Wed Jun 22 23:55:10 2005 +0000

    (A Sample Guile Main Program): Cross reference automake manual for acloal.

commit 8c3fa3e53a9a3cb175238ad86048c0abb085c22b
Author: Kevin Ryde <address@hidden>
Date:   Wed Jun 22 23:49:40 2005 +0000

    Spelling errors reported by hyperdivision.

commit 1cf1bb9513823aa7b9a669b42016a1767b4a8290
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 19:15:09 2005 +0000

    *** empty log message ***

commit ca041501bbed6cb569dd506689796f1dac0cbf11
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 19:10:51 2005 +0000

    More stuff about transitioning away from GH.

commit 12097c77c051f6958a40c9a180d4da0d75638cc0
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 16:16:37 2005 +0000

    *** empty log message ***

commit fab07c304890daf5312f2bab3880d4480b320be0
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 14:13:37 2005 +0000

    (scm_array_index_map_x): First test for real arrays,
    then check for generalized vectors.  This ensures that the
    generalized vector case need only work with zero-origin ranges.
    (scm_ra_eqp, scm_ra_compare): Use the new array handle functions
    to access the target array, making these functions work with all
    kinds of arrays, not just bit arrays.

commit e3da8a300781a1971f1bfc9c53cb5c105d4ce69d
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:53:40 2005 +0000

    *** empty log message ***

commit 5ead53fc4e0093e225603ed48774dec8c853b0d1
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:52:59 2005 +0000

    (scm_array_index_map_x): First test for real arrays,
    then check for generalized vectors.  This ensures that the
    generalized vector case need only work with zero-origin ranges.

commit fc4abd0e6aef9a761752a21385594b8a5af703c7
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:35:35 2005 +0000

    *** empty log message ***

commit 5c56ebe15b9b87d8f99b970a4719cb19e8b9b10b
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:34:52 2005 +0000

    Deprecated everything.

commit 9b26d381c1abe96e206deeab0ea866562f6cb59d
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:33:01 2005 +0000

    (environment_default_folder,
    environment_default_observer): Do not use gh_call3, gh_call1.

commit c70c62a63693b29ad41975670bf9e50834895fff
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:31:33 2005 +0000

    Do nothing when deprecated things are
    disabled.

commit b730fbf131cd8c051e29fd58f4f7f6d9d92ad85d
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 12 12:30:47 2005 +0000

    Do not use INUM macros, they are deprecated.

commit e4da074025136047c85103d665f601cb61707a48
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Jun 11 01:48:19 2005 +0000

    *** empty log message ***

commit 27667158553ff644e5f465f7d7f264c4f8ee33a4
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 22:39:33 2005 +0000

    *** empty log message ***

commit 08de3e2424e9e139ceaae7e2b5d6b56aed28c341
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 22:38:57 2005 +0000

    (Miscellaneous String Operations): In string-filter
    and string-delete, note result may share with input string (as allowed
    by srfi spec).

commit f29749529b81b1626e95a1655fa01b99e769143a
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 22:37:01 2005 +0000

    (string-filter): A few more tests.

commit 8753a993c162315602db20a0012063be30969ba4
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 22:34:59 2005 +0000

    (scm_string_filter, scm_string_delete): For char and
    charset cases, count chars kept and build a string in a second pass,
    rather than using a cons cell for every char kept.  Use a shared
    substring when nothing removed (such sharing is allowed by the srfi).

commit 5e5ea911f170254fc398982f2f244087f9c68267
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 01:41:14 2005 +0000

    *** empty log message ***

commit ab2a10e051e0bf23cf5e3ac5e3341598dad8ddac
Author: Kevin Ryde <address@hidden>
Date:   Fri Jun 10 00:27:20 2005 +0000

    (array-index-map!): Add a test failing in the current code.

commit 8a00ba7178db78807f9612abb52e1f3ecb2a2e88
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jun 9 19:33:38 2005 +0000

    (tag_table_to_type_alist): convert tag number to "tag %d"
    string, so live object stats can be sorted with string<?.

commit 2ff668b005fa599b6635f1e152ee45cf10562ea3
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 19:55:08 2005 +0000

    *** empty log message ***

commit 6d92f14f142e308ab8818c042a3d56e22d0b45fc
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 19:54:20 2005 +0000

    (iprin1): When writing a string, collect all characters that can be
    printed directly into one call to scm_lfwrite.  Previously, every
    character was output with its own call to write(2) on unbuffered
    ports.

commit 589f22f66550b5aa77a30c5d6a1e417196b05a6d
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 18:50:17 2005 +0000

    *** empty log message ***

commit 876099d4efe8e213ca3c157928fc6f7f1ce68dff
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 18:49:55 2005 +0000

    (scm_eval_options_interface): Use scm_frame_critical_section instead
    of SCM_CRITICAL_SECTION_START and SCM_CRITICAL_SECTION_END.

commit a677679f494ab83b12b4ce00d5c3e333b3ae6aae
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 17:21:50 2005 +0000

    *** empty log message ***

commit cb5773fe72e8c510523fab91eed0d40d3b1beabd
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 6 17:21:26 2005 +0000

    (scm_array_in_bounds_p): First test for real arrays, then
    check for generalized vectors.  This ensures that the generalized
    vector case need only work with zero-origin ranges.

commit 10bb8679736173cec7346fd5691fadb22f7bfa2c
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:38:22 2005 +0000

    *** empty log message ***

commit fcae94c51ea822346f1c785ec20d4142a747f4e5
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:37:59 2005 +0000

    (array-in-bounds?): Add a test failing in the current code.

commit 4d54ee3597ee73d142c5b79e3dfa381f5181bdd3
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:36:31 2005 +0000

    *** empty log message ***

commit 50e20a60618bcf7744bc6e59d977b1d94902199d
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:33:33 2005 +0000

    (string-split): Try splitting on an 8-bit char.

commit f8cda9ee2d8bab4f59beb4e0dcab60d130033408
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:19:09 2005 +0000

    *** empty log message ***

commit 994f151dc3098401dd4402a8b3bac090b17993dc
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 21:10:13 2005 +0000

    (scm_string_split): Compare char/char in scan.  Mixing an
    unsigned int SCM_CHAR and a char string meant an 8-bit char was never
    matched.

commit b8ad7a213af29a699954595d2503ed02309484b2
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 20:54:19 2005 +0000

    Added comment that there is a comment in eval.c about how to make case
    1.1 succeed.

commit 6642f7ace4f798bbd80339b25a1487a6a6c9c740
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 20:52:56 2005 +0000

    *** empty log message ***

commit e9ed042cbc592bc6460ba408d42296179f6dd73d
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 20:52:23 2005 +0000

    Added comment on how to make case 1.1 of r5rs_pitfall.test succeed.

commit 80a09c471855bc9a86127a31a0fa59ff2560d033
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 20:45:30 2005 +0000

    *** empty log message ***

commit c2110081713df0d726b3145ee8fe5535b89d7f87
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 20:44:53 2005 +0000

    {} groups around "void*" C return types.

commit da6773f3f5b12c458a672e376edb3c2c3e57d75f
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 20:43:09 2005 +0000

    *** empty log message ***

commit b83ecb8fb555ba8664c9af6b970278bef8f4d5fd
Author: Kevin Ryde <address@hidden>
Date:   Sun Jun 5 20:42:46 2005 +0000

    (Array Procedures): In array-in-bounds?, correction to example result.

commit cdac1be446dd75c86aedcf94c3be9cf923c5f19f
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 18:28:20 2005 +0000

    *** empty log message ***

commit ecc9f40fe57d5c484564d90e930f519521731b0a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 18:27:53 2005 +0000

    * hashtab.h: Bugfix: use SCM_API (WAS: extern).
    
    * socket.c: Remove obsolete comment about socklen_t.
    (s_scm_setsockopt)[!HAVE_IP_MREQ]: Do not use ip_mreq code.
    
    * numbers.h (isnan)[__MINGW32__]: Remove.
    
    * Makefile.am (gen_scmconfig_SOURCES): Bugfix: Add
    DEFAULT_INCLUDES when cross compiling.
    
    * threads.c (ETIMEDOUT, pipe)[__MINGW32__]: Add defines.
    
    * stime.c (s_scm_strftime)[!HAVE_TM_ZONE]: Use
    SCM_SIMPLE_VECTOR_REF instead of SCM_VELTS.  (Changed slightly
    from Jan's patch.)

commit 875a58aa81cd6f204140bd1579cfa400dfce6b55
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 18:15:30 2005 +0000

    *** empty log message ***

commit 46e04854a8ece43bf52b2bdc9c68786dd77a6dff
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 18:15:21 2005 +0000

    Add tests for socklen_t and ip_mreq.

commit fccc3e9290c0d4d33545a4f38ce8c6d31311e546
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 17:26:07 2005 +0000

    *** empty log message ***

commit 1b05b324367c3657d30b5334d868bd234ff949a5
Author: Marius Vollmer <address@hidden>
Date:   Sun Jun 5 17:24:52 2005 +0000

    (substring-fill!): New, for compatability.

commit 92205699d01f918a0f8808d8cbbe55ba2568f058
Author: Marius Vollmer <address@hidden>
Date:   Mon May 23 19:57:22 2005 +0000

    The FSF has a new address.

commit 5ae1bd9109070f0233b7839b6a2b7c09becd49b0
Author: Marius Vollmer <address@hidden>
Date:   Mon May 23 19:00:08 2005 +0000

    New versions of the GPLand LGPL with the new address of the FSF.

commit a470c1bdfb8d6816064ba094bd7a70b7775ac5bf
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 18:03:30 2005 +0000

    *** empty log message ***

commit d34bd7d48314cf750882f69152e4727609757ada
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 18:03:03 2005 +0000

    Clarifications from Ludovic Courtès.  Thanks!

commit 188d0c5ef7f986a8da6fc537b5b257956ee9a844
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 17:19:38 2005 +0000

    *** empty log message ***

commit 14bed4cc2663d19647c0fa8c2b73c84ad8f06262
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 17:19:17 2005 +0000

    (scm_make_shared_array): Add old base to new base since
    scm_array_handle_pos does not include the base.
    (scm_aind): Likewise.

commit 9e664475b989a1d409f1b99d285c49796b49d2fa
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 16:19:19 2005 +0000

    *** empty log message ***

commit 417b0dc1fbc46811e6f0a239376d763d431ed857
Author: Marius Vollmer <address@hidden>
Date:   Sun May 22 16:18:55 2005 +0000

    (scm_putc, scm_puts): Assert that the port argument is a output port.

commit 5a6d139b3522cb821b41ff856ccd185febd8cae1
Author: Neil Jerram <address@hidden>
Date:   Thu May 12 06:39:50 2005 +0000

    * unif.c (scm_i_read_array): Declare rank as ssize_t, to guarantee
    that it is signed.
    
    * strports.c (st_resize_port): Add unsigned char cast.
    (scm_mkstrport): Make read/write_buf cast unsigned.
    
    * srfi-13.c (string_titlecase_x): Add unsigned char cast.
    
    * rdelim.c (scm_read_line): Initialize slen.
    
    * load.c (scm_search_path): Remove weird >=1, and add
    parentheses to clarify conditions.
    
    * hash.c (scm_hasher): Add const unsigned char cast.
    
    * gh_data.c (gh_chars2byvect): Add scm_t_int8 cast.

commit b01532af77392c508b6850304bfefde4f7d23b7e
Author: Neil Jerram <address@hidden>
Date:   Wed May 11 07:41:36 2005 +0000

    * threads.c (s_scm_lock_mutex): Don't declare msg in middle of
    code.
    
    * gc.c (s_scm_gc_live_object_stats): Don't declare alist in middle
    of code.
    
    * gc-card.c (scm_i_card_statistics): Don't declare tag in middle
    of code.
    (scm_i_card_statistics): Add block for declarations of tag_as_scm
    and current.

commit 229a07109cd417426931ab4b3c91930577db4809
Author: Neil Jerram <address@hidden>
Date:   Tue May 10 20:04:14 2005 +0000

    (signal_delivery_thread): Return a value, to avoid
    compile warning reported by Werner Scheinast.

commit b52f5697ad41256bb351d19d43d9663f980c539a
Author: Kevin Ryde <address@hidden>
Date:   Sat May 7 00:03:13 2005 +0000

    *** empty log message ***

commit a17a869e3f9c72413b62f7f3b0db2c5eae9661bb
Author: Kevin Ryde <address@hidden>
Date:   Sat May 7 00:02:02 2005 +0000

    (car+cdr, fold, last, list-index, list-tabulate,
    not-pair?, xcons): New tests.

commit e556f8c3c6b74ee6596e8dcbe829109d7745da2c
Author: Kevin Ryde <address@hidden>
Date:   Fri May 6 23:59:35 2005 +0000

    (car+cdr, fold, last, list-index,
    list-tabulate, not-pair, xcons): Rewrite in C.

commit 6017642112daa7a14145e0c36ff3862e5d9f8d06
Author: Kevin Ryde <address@hidden>
Date:   Wed May 4 00:30:04 2005 +0000

    (make-shared-array): Add failing case shared of shared.

commit 8ad5d74a81e0167a00c6b99e25ad6e277019f9a9
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 23:27:48 2005 +0000

    *** empty log message ***

commit f1f478bf1d99f8f715b2f64bf7773b3d305d50cd
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 23:25:48 2005 +0000

    (fifth, sixth, seventh, eighth, ninth, tenth): New tests.

commit 03731332d5dc8d650b947f5126427402c2b1d8bb
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 23:24:31 2005 +0000

    (fifth, sixth, seventh, eighth, ninth, tenth): Rewrite in C.

commit b2c82c27f085159e702330e6d277fc0ad8eccfdb
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 23:13:16 2005 +0000

    (break!, drop-right!, drop-while, take-while,
    take-while!, span!, take!): New tests.

commit 6e9f3c2676c0101590d4229653e9c628cb293064
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 23:03:27 2005 +0000

    (break, break!): Rewrite in C.

commit e9508fbb7df0b1ead007637f16d80cf831776307
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 22:57:26 2005 +0000

    (drop-right!, drop-while,
    lset-adjoin, reduce, reduce-right, span, span!, take!, take-while,
    take-while!): Rewrite in C.

commit 597dbd4eea8b6b4dddd72593a22590d4c322baa5
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 22:56:01 2005 +0000

    (drop-right!, drop-while,
    lset-adjoin, reduce, reduce-right, span, take!, take-while,
    take-while!): Rewrite in C.

commit da02b978d015300e719830fbcf4cb3bcfa35597f
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 22:50:44 2005 +0000

    *** empty log message ***

commit 64bf8517e94f634edbcb34b714d602a62863d5db
Author: Kevin Ryde <address@hidden>
Date:   Tue May 3 22:50:21 2005 +0000

    (SRFI-1 Selectors): In drop-right, note always a
    new list.  In take-right, note result shares common tail.  Per spec.

commit 2ac46e5a51adc4fde78c4cb2b900dc81a9246f18
Author: Kevin Ryde <address@hidden>
Date:   Mon May 2 23:34:56 2005 +0000

    *** empty log message ***

commit bba26c3211e7b6e0a9b65635ba0e396253bf274d
Author: Kevin Ryde <address@hidden>
Date:   Mon May 2 23:26:47 2005 +0000

    (String Constructors): Clarify string, list->string
    and reverse-list->string a bit.

commit 9782da8aa992803accb3398ab8b11b8bac3a9889
Author: Kevin Ryde <address@hidden>
Date:   Mon May 2 23:15:11 2005 +0000

    Tweaks.

commit 8003802199ed4d207f207cccf7269ad87a491d82
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Apr 30 20:54:35 2005 +0000

    remove scm_list()

commit 645dd3fc362a6b97d380c9836a6a1874fdb9a738
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Apr 30 20:07:50 2005 +0000

    (DYNAMIC_STATE_NEXT_LOC): new macro for use with
    SCM_DEBUG_CELL_ACCESSES
    (FLUID_NEXT_LOC): idem.

commit 6c8fbb949934849c808c55d1d32c447dde5a1a20
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 23:49:25 2005 +0000

    *** empty log message ***

commit 3fa0a042ba05be65affaa1a52109d54ace7a07b9
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 23:45:11 2005 +0000

    (Default Ports): Describe buffering on standard ports.

commit 97d790b3848e5f2c7d201b245b9c8abc8b2a4e04
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 23:24:08 2005 +0000

    *** empty log message ***

commit 2f359170fb1add6d6c42c4112762615cbf549078
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 23:20:04 2005 +0000

    (/): Further tests.

commit 9a68a4a8afe1df6536f3e750f064c076602f0c30
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 23:03:41 2005 +0000

    *** empty log message ***

commit 4c6e36a6e37ff5bc4da7655e125bc4e1c091dc2f
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 29 22:59:22 2005 +0000

    (scm_divide): Correction to 1/complex and <any>/complex,
    need to test abs(re)<abs(im) for choice of cases, otherwise divide by
    zero when re==0 and im<0.  Reported by Jean Crepeau.

commit 597052a27bc05c4af62ad7a0da7a0eafe9b46372
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 25 00:16:03 2005 +0000

    *** empty log message ***

commit 917abf7026a0568f1f934b51e27500c28acb5fb8
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 25 00:15:24 2005 +0000

    (array-map!): Further tests.

commit 0640cdaa8bc4d376dbecb7bf121189a0df8d7911
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 25 00:04:02 2005 +0000

    *** empty log message ***

commit f530e94f5d80ec4c5b277f8ae1ad0afd08b46ee2
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 25 00:02:47 2005 +0000

    (scm_array_map_x): Allow no source args, add num args checks
    to subr_1, subr_2, subr_2o and dsubr cases.

commit 8378b269a6cfd77385396234cba65f2af67b5eaf
Author: Neil Jerram <address@hidden>
Date:   Sun Apr 24 12:29:14 2005 +0000

    Fix typo in comment

commit 7346de618a66e2462832ec0269aa58c43de0d050
Author: Neil Jerram <address@hidden>
Date:   Sun Apr 24 12:23:57 2005 +0000

    Fix comment typos

commit a61b2054b47d20bcc3197feee7756e4033423c21
Author: Neil Jerram <address@hidden>
Date:   Sun Apr 24 12:23:24 2005 +0000

    Critical section review

commit 13155c50c4cf3746aedf2cb200788e3cecb320d9
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:40:19 2005 +0000

    *** empty log message ***

commit ba46895cd35698eec56d6b400e6de222eeb6a08c
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:39:45 2005 +0000

    (numerator, denominator): New tests.

commit c51682b41681daa9d8cb475834f8e6d87764d898
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:17:33 2005 +0000

    *** empty log message ***

commit 15f7341ed4e731d02d2c6e5fdba4027f88217834
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:15:16 2005 +0000

    (scm_make_list): New code, moving make-list from boot-9.scm.

commit 7cfb4dd2e885c81c51ce1931b296a1b2d495dd1e
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:14:42 2005 +0000

    (concatenate, concatenate!, count, filter-map, lset-adjoin): More tests.

commit eccd308a5be36fbff7cb8602a604ea16acbc0fd0
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:10:50 2005 +0000

    (scm_srfi1_count, scm_srfi1_filter_map): Don't modify the
    rest argument, that belongs to the caller when reached from apply.
    Use a temp vector like scm_srfi1_for_each.

commit 8cb2eff840e244f64720a2a224db676c09531fdf
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:07:17 2005 +0000

    *** empty log message ***

commit 2ac6b60e8662974c89ecdca8cb4fd0cc9482b187
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:06:14 2005 +0000

    (scm_make_list): New code, moving make-list from boot-9.scm.

commit 1d936c056b1927383aac100601940e7353e142f1
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:04:57 2005 +0000

    (make-list): New tests.

commit ab661b70735a91a56b0de050b5136e5a7e0b2b06
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 23 00:03:33 2005 +0000

    (make-list): Moved to C code in list.c

commit dc1e26b0b2d0c2e38e2529e84dc6cb86bb891b2f
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:51:45 2005 +0000

    *** empty log message ***

commit a7e252d5ef7ed98ca612e48c3b6d20f1c6b1a7c4
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:50:17 2005 +0000

    (list, cons*): New tests.

commit c0b85e9c82cfb28dcfb558b2994871ee7db77c0e
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:44:24 2005 +0000

    *** empty log message ***

commit fad3aaf11a4083299fca5f4d19bbd81bdff8d77a
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:43:06 2005 +0000

    (list): Use scm_list_copy, so as to produce a fresh list when
    list is called using apply, under the debugging evaluator.
    (scm_list): Remove.

commit 87c08ac0f7e23c36b35d227f7e994d12ef1bbea0
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:33:54 2005 +0000

    (hashx-remove!): New tests.

commit 4cff503fc8225c7f5784fb9d67f9eecdc95ad7cf
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:33:15 2005 +0000

    (scm_hashx_remove_x): Need to pass "closure" to scm_hash_fn_remove_x.

commit b906b056e46e622d52c99c341aba252797970e87
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:18:59 2005 +0000

    (scm_cons_star): Don't modify the rest list, it belongs to
    the caller when cons* is reached through apply.

commit 01adf598d9da709d5e54b46da4c2d62c314b0df7
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:16:43 2005 +0000

    (Subrs): Note that subr must not modify its rest list.

commit a285fb865326bfed5b926fca3f980c193bb2ef48
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 22 23:12:55 2005 +0000

    (Regexp Functions): Add list-matches and fold-matches.

commit 348464148f956f7aae4f4feaf00ba6270dfd9959
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 21 21:30:45 2005 +0000

    Index entries for standard input/output/error.

commit 052130df8e0eb41ffe598fbf97fcc3350daa4a1c
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 18 22:47:46 2005 +0000

    *** empty log message ***

commit 36c7474e5435ef18c0190612a2247508ddca2fe3
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 18 22:46:54 2005 +0000

    (Regexp Functions): Clarity flags parameter.

commit e9cb474f24cd8be5c1da56be00bf66d433a06722
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 18 22:32:28 2005 +0000

    *** empty log message ***

commit 9465ea99b97884d1098da07c909dbc71dbdde43c
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 18 22:29:42 2005 +0000

    (Rx Regexps): Remove this section, Rx
    is not in the core and we don't want to confuse anyone with it and the
    builtin posix regexps.

commit c0575bde342f95bf34ccf4145a46f5ec13fb5722
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 14 00:38:41 2005 +0000

    *** empty log message ***

commit 9fe73e7bbcf2a777a8c01be215981abbc915aedd
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 14 00:38:09 2005 +0000

    (1+, 1-): Moved to numbers.c.

commit 40882e3d0bfdc9b635aa601f22b3a0b3a57ee0d9
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 14 00:35:50 2005 +0000

    (scm_oneplus, scm_oneminus): New functions, converted from
    scheme code in boot-9.scm.

commit 78fae16113949e57af25bf92ff95e4dc01fde62c
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 13 23:59:29 2005 +0000

    *** empty log message ***

commit a580ebba22360f739a310bfc8f0c8ed42309f58a
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 13 23:54:45 2005 +0000

    (1+, 1-): New tests.

commit bd6795e95fe0862a11b521d49800f4e0df6a3143
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 10 22:47:41 2005 +0000

    *** empty log message ***

commit 0381cf345da7a93c044c32cc93b3468542086c0c
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 10 22:19:26 2005 +0000

    (string-concatenate, string-concatenate/shared): New tests.

commit 47a298d9597327b76d6788156e26ad165910d71c
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 10 22:15:44 2005 +0000

    *** empty log message ***

commit 57d9803440d35b66fb3b3a14588873903f906199
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 10 22:14:15 2005 +0000

    (scm_string_concatenate, scm_string_concatenate_shared):
    Validate list argument, scm_string_append and scm_string_append_shared
    don't do that to their rest argument (in a normal build).

commit 879cdfa3dc6d31fe1e5eb0f575bc1de78dc82123
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 9 01:05:27 2005 +0000

    No @macro around tex cross defintion, not needed and in fact doesn't work.

commit 8ea3dc2e0c5c2f53f6714cd4ec30ccb7c0f9b298
Author: Marius Vollmer <address@hidden>
Date:   Mon Apr 4 14:54:45 2005 +0000

    *** empty log message ***

commit d3a80924bc68db8ad41dad014edac5d61f520537
Author: Marius Vollmer <address@hidden>
Date:   Mon Apr 4 14:53:27 2005 +0000

    (scm_t_hashtable): Removed 'closure' field.  The
    closure can not be stored since it is no longer valid at GC time.
    (make_hash_table): Initialize 'hash_fn' field.
    (scm_i_rehash): Only store hash_fn in hash table when closre is
    NULL.
    (rehash_after_gc): Only call scm_i_rehash when 'hash_fn' is
    non-NULL.  Always use a NULL closure.
    (scm_hash_fn_create_handle_x): Also rehash when table contains too
    few entries.

commit 9aa0c3dd94f26417ef138c9b6f3133134a3dc6d2
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Apr 4 09:38:13 2005 +0000

    * srfi-modules.texi (SRFI-1 Set Operations): use @cross iso. @times.
    
    * guile.texi: add @cross for @tex

commit 044bc597e9287a6c80c591e60abd529d5e98c479
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 3 22:41:51 2005 +0000

    *** empty log message ***

commit c66c6d535d3e07ff2118614c7e9d6ce7d651b622
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 3 22:41:15 2005 +0000

    (scm_srfi1_concatenate, scm_srfi1_concatenate_x): Add code
    to check argument is a list, scm_append and scm_append_x don't do that
    on their "rest" list (in a normal build).

commit dc7b50ed09164705329eb02cb0fa5e14d9612985
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 01:43:26 2005 +0000

    *** empty log message ***

commit 88fb3e46b78fa206d24ec978c6c5f2116beaa5eb
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 00:39:12 2005 +0000

    *** empty log message ***

commit 6203b5f510f085fe42d5651acbcd05d6df995ca8
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 00:32:03 2005 +0000

    (round): Add some fraction cases.

commit 161ec47f6151191cd9027825755a84299e084095
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 00:24:49 2005 +0000

    *** empty log message ***

commit b1fff4e793619b20342cba0015b9367680d3a0bd
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 00:19:35 2005 +0000

    (alist-copy): Rewrite in C.

commit 0b5adedd31897f75e69d6b122305a767be370321
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 2 00:02:45 2005 +0000

    (alist-cons): Define just as acons, not a call to acons.

commit 9b60e16f70d525b067b790077ecad35973a74eed
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:59:01 2005 +0000

    *** empty log message ***

commit f01b08bf8af0ba49b3bbded4ae6bd0fa832d987c
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:49:35 2005 +0000

    (lset-union): More tests.

commit 62a875000157f7dd1ff5309838a6d9f7a4092968
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:47:42 2005 +0000

    (lset-union): Rewrite to accumulate result by consing in
    the order specified by the SRFI.

commit 6507b8318928b553921cb93a284f0ecb90161ed4
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:45:41 2005 +0000

    (scm_srfi1_filter_map): Have 2-arg case share finalization
    code of 1-arg case.

commit 5fc743b48d3fa30e7fd179c9f68f80db2238965e
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:43:49 2005 +0000

    (scm_srfi1_count): Use scm_list_copy to make arg list,
    instead of an inline loop.  Share final list check between all cases
    to save some code.

commit 5e5999f9c305a3a2669f688fc281cd4fe5692c66
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:35:09 2005 +0000

    (SRFI-1 Association Lists): In alist-cons, clarify
    a bit and cross reference core acons.

commit ba3e98ccf8e9786e69a77e8024bd947e3532d158
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:32:26 2005 +0000

    Typo in alist-cons.

commit 7d281fa50fb2a7091be514166b5e4b17a5503e71
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:29:22 2005 +0000

    (SRFI-19): Note Gregorian leap year rules
    incorrectly extended back prior to 1582.

commit 4eb21177ee34f0bfbe967ab013d56cce886d437b
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:17:21 2005 +0000

    (SRFI-1 Set Operations): Revise and expand.
    (SRFI-1 Deleting): In delete, cross reference lset-difference.

commit 2f60df3b78f2f997578b8a777dfd7c26ffb3c681
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 1 23:09:30 2005 +0000

    (Readline Support): Cross ref readline manual.
    (Loading Readline Support): Add GUILE_HISTORY and .inputrc Guile
    configurables.

commit ad0c2091bdebce5d6715a13ade9de814f7a81d5d
Author: Marius Vollmer <address@hidden>
Date:   Fri Apr 1 15:06:41 2005 +0000

    Fixed some typos.

commit 33b320ae2a4f654fdced606ddff09037fd5eaaae
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 30 22:11:07 2005 +0000

    Critical section review.

commit 2b0fb0a50ef538eca51627502616b449e61bee1d
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 30 18:43:49 2005 +0000

    Critical section review.

commit e45947bf0624e8db508bd635a88a8e2b3c31a556
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 30 18:32:19 2005 +0000

    Critical section review

commit 4ef9101c42da3f1e065b9a61362973da1f71e612
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 22:29:47 2005 +0000

    Inserted proper MD5SUM.

commit 87bdbdbc8b15b08deb79bf9f2b893b1fdce2ab03
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 18:05:38 2005 +0000

    *** empty log message ***

commit ba48957bd53cb06e57d177e5ac9c3746a0a84ba4
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 18:04:38 2005 +0000

    Replaced SCM_INUMP with SCM_I_INUMP and SCM_INUM with SCM_I_INUM
    throughout.

commit 835c5e96191aef716e0ca1de33bccb9161f1f9a1
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 18:03:52 2005 +0000

    Synched from libguile/

commit 9d965d0625928125b42b8f400a5706c65e0fc44a
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 17:59:11 2005 +0000

    *** empty log message ***

commit 35f957b20f4fb5f98b38ad7075ce9393b657f13a
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 17:59:03 2005 +0000

    Fixed some typos and added some docs.  Talk about concrete and
    abstract hash tables.

commit c93557e7aacfb083ddb5fd35b46a52b0f69e6adb
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 17:54:03 2005 +0000

    Correct strange placement of @end deffn...

commit 08d2020d3ab6d310ecd2403c37d77993c5f368ad
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 17:51:22 2005 +0000

    *** empty log message ***

commit a9cf5c7168fb8ee959d867f7cc2a4efd1acea1e0
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 29 17:47:39 2005 +0000

    (scm_hash_fx_remove_x): Removed delete_fn
    argument; always use scm_delq_x.  The delete_fn function works on
    the handle, not the key, and it therefore makes no sense to make
    it configurable.  Changed all callers.
    (scm_hashx_remove_x): Likewise.  Also, exported to Scheme.
    (scm_hash_clear): Accept plain vectors as hashtables.
    (scm_delx_x): Removed.

commit cb975c210539a7b7e3dd0c6257fbcd567318d435
Author: Han-Wen Nienhuys <address@hidden>
Date:   Mon Mar 28 11:40:58 2005 +0000

    (scm_double_cell): use __asm__ iso. asm, to maintain
    compatibility with gcc -std=c99.

commit 22ed4dd806febbc2e64080345e91bded2c7eb507
Author: Marius Vollmer <address@hidden>
Date:   Sat Mar 26 01:40:46 2005 +0000

    *** empty log message ***

commit 225c21dd7e42770c9c357b633e8918cbeae65169
Author: Marius Vollmer <address@hidden>
Date:   Sat Mar 26 01:40:33 2005 +0000

    (srfiinclude_HEADERS): Added srfi-60.h.

commit 3c4eabbee09e745cf70767a94cb73013fb668fed
Author: Kevin Ryde <address@hidden>
Date:   Fri Mar 25 21:03:55 2005 +0000

    *** empty log message ***

commit 59216e48da9d49d7488ae56fc06ba7cacf86e009
Author: Kevin Ryde <address@hidden>
Date:   Fri Mar 25 20:58:22 2005 +0000

    (string-index): Exercise 8-bit char in string.

commit f12de0a178b82e9b06b6a29a725cf6a182e53392
Author: Mikael Djurfeldt <address@hidden>
Date:   Thu Mar 24 10:23:17 2005 +0000

    * accessors.scm, simple.scm: New files.
    
    * goops.scm (standard-define-class): Removed; Export
    define-class as standard-define-class.

commit 4c908f2c135718f678be297d306dc06e54dbb429
Author: Mikael Djurfeldt <address@hidden>
Date:   Thu Mar 24 10:21:22 2005 +0000

    * async.h (scm_mask_ints): Removed left over reference to
    scm_root.
    
    * threads.c: Removed fprintf debug statements.

commit d193b04b7b90178b928878fae390c43d20c2b1c4
Author: Neil Jerram <address@hidden>
Date:   Thu Mar 24 07:30:19 2005 +0000

    (scm_make_memoized): Restore use of SCM_UNPACK.

commit c29748cdfe63534b0f763a26fb563f063ae1b78f
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 23 20:22:26 2005 +0000

    (scm_make_memoized): Remove unnecessary critical
    section, and simplify by using SCM_RETURN_NEWSMOB.

commit e654b062615c77f2fc8bacb1e21c4b7e0f0f285c
Author: Mikael Djurfeldt <address@hidden>
Date:   Sun Mar 20 13:56:53 2005 +0000

    (SCM_STRING_UCHARS): Added missing argument.

commit aa9200e51aecc62743a07da8029a8bd0144dd93e
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 18 09:26:05 2005 +0000

    Talk about non-blockable GC.

commit 4bc6f1c693d27ff717908cab702ba7206ba066e8
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 23:16:53 2005 +0000

    *** empty log message ***

commit cfa1ef52a2939e3303069de65f6f54bc32bc2e52
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 23:16:31 2005 +0000

    (filter-map): More tests.

commit c16359466bcc3f2ebf6d750c069f787f629fc625
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 23:15:19 2005 +0000

    (filter-map): Rewrite in C.

commit 8ff3ca467c45642f73b998c97f13a340d018d9bd
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 23:11:54 2005 +0000

    (FETCH_STORE) [generic C]: Should be
    scm_i_scm_pthread_mutex_lock/unlock now.  Reported by Ludovic Courtès.

commit e96f5ee768e9ecdbd9566482ba5d7bb92cd36b92
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 21:28:49 2005 +0000

    *** empty log message ***

commit 3c1f825ca0891b6f2771e188a20f1eee7f4d6745
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 17 21:28:19 2005 +0000

    A few more tests from the 1.6 branch.

commit 56b9251450355249e622c0f90a5720ea79cbbd32
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 22:03:33 2005 +0000

    *** empty log message ***

commit c3c83061324626fc0764cbf0848b707d9836a011
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 22:00:56 2005 +0000

    (split-at, split-at!): New tests.

commit bb560b9c16893f762699ba5a3109c8367fff8dfc
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:58:46 2005 +0000

    (split-at, split-at!): Rewrite in C.

commit d2f57ee0142d21b5bff3d5006bb57bcdfd1709c1
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:49:25 2005 +0000

    (split-at, split-at!): Rewrite in C.

commit 74b2357378324ad081618761079111d7bff88665
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:48:03 2005 +0000

    *** empty log message ***

commit 44981fcb77cd76f697c213906f10e772391ba64a
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:18:02 2005 +0000

    *** empty log message ***

commit ba9fb62d10ea2f5cedddcf74d996d7b378e27a56
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:16:32 2005 +0000

    (drop-right, partition!, take-right): New tests.

commit 2b077051db7a6eb29f71cab272a31c13cd830678
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 15 21:15:24 2005 +0000

    (drop-right, partition!, remove!, take-right): Rewrite in C.
    remove! derived from core filter!.

commit cc93eace994f7bee9140db0992988b1e37ed2abb
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:36:48 2005 +0000

    *** empty log message ***

commit 4ea9becb936298a451c040117cd37bcb58142670
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:36:20 2005 +0000

    (SRFI-55): New section.

commit 8503beb82ff39b26c6e1e6bd72c28c2e3a59006f
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:30:47 2005 +0000

    (SRFI-60): New section.

commit b1d5e7006882ac2670f6e076fc88285b6ac8f340
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:16:48 2005 +0000

    *** empty log message ***

commit e748b272ebf80f6806c40d30c50b0b30629ecc3d
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:12:40 2005 +0000

    (find, find-tail, lset-union): New tests.
    (lset-adjoin): Corrections to some tests.

commit d68c4ebb3a45d4f28a114bb3f9352f0b3b06f7bd
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 23:06:15 2005 +0000

    *** empty log message ***

commit 5df2ac97e96d1ab8422d39034f8076a3e8741a3a
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 22:49:28 2005 +0000

    (find, find-tail): Rewrite in C.

commit 68513144456f575409acb9c640347f7c954d6579
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 22:43:07 2005 +0000

    New file.

commit 938d99096da2d50ea397a918c09143d5b2453ef5
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:52:29 2005 +0000

    *** empty log message ***

commit bf04b1a384533fd88c384fb68b4dd442c6aa4bbd
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:52:01 2005 +0000

        * tests/srfi-60.test: New file.
        * Makefile.am (SCM_TESTS): Add it.

commit 17e69f21cee2e957ac5464410fe67d9a96610ff7
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:51:30 2005 +0000

    New file.

commit 85542c385d5902d9393265fb222fcddd215801ce
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:41:20 2005 +0000

    *** empty log message ***

commit 6e09703fa059111371094db562b66f040982f22b
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:40:55 2005 +0000

    (lset-union): Call `=' procedure with args in the order specified by the 
SRFI.

commit ba78f311d5f111eef7e2e571bf45d0077cc43dab
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:39:42 2005 +0000

    *** empty log message ***

commit 6bba4fad61d6bcda52e074b3fd39d4eba0414073
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:36:50 2005 +0000

    (LIBGUILE_SRFI_SRFI_60): New defines.

commit 9d3ea5718f6603b3ecd77e5fe5f5e51ba65b3270
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:31:32 2005 +0000

        * srfi-60.scm, srfi-60.c, srfi-60.h: New files.
        * Makefile.am: Add them.

commit 8884a0844fe90d90b33406bab484f4d63f08fab6
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:29:04 2005 +0000

    New file.

commit afd09cfba06bfa0ef174852ace6dd7f8de23bd60
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:21:45 2005 +0000

    (logior): New tests, exercising negative bignums reducing to inum.

commit f1531813b8bfbad5302aa9053e97b4c3cbb918dc
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:20:40 2005 +0000

    *** empty log message ***

commit 23c3b605b52d40394622b9be9837b75ee0e73790
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:18:34 2005 +0000

    (scm_i_clonebig): Remove static, so can use in srfi-60.

commit 9806de0dca72873ad90e716608442653e4e4abdd
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:16:22 2005 +0000

    (scm_logior): Must scm_i_normbig results as per scm_logand,
    because OR-ing bits into a negative can reduce the value to an inum.

commit 6f6847fa21a141b447dba59248d3c2bbcb8dbef4
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:14:23 2005 +0000

    (=): Exercise inum/flonum cases that used to
    round on 64-bit systems.

commit e8c5b1f29199e3eb3642508261434475c3d360ef
Author: Kevin Ryde <address@hidden>
Date:   Sun Mar 13 00:13:10 2005 +0000

    (scm_num_eq_p): On 64-bit systems, be careful about
    casting inum to double since that can lose precision.

commit a9fae247a3b78b93fd1411a7c47cd104be8597b9
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:43:04 2005 +0000

    *** empty log message ***

commit 98345eebf9e7b612cfcf4a2177d767286d915ae0
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:42:52 2005 +0000

    (scm_i_init_guile): Do not set scm_block_gc.

commit fd20058d7467c89ab4767795775ce846d5ae7bb5
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:42:11 2005 +0000

    (SCM_BEGIN_FOREIGN_BLOCK, SCM_END_FOREIGN_BLOCK): Do not set
    scm_block_gc.

commit b17e0ac397fbab715704464f35a91745c55e0a1c
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:39:53 2005 +0000

    * gc.h, gc.c (SCM_FREECELL_P): Removed for good.
    (scm_block_gc, scm_gc_heap_lock): Removed.  Removed all uses.
    (scm_gc_running_p): Now a macro that refers to the scm_i_thread
    field.
    (scm_i_sweep_mutex): Now a non-recursive mutex.  GC can not happen
    recursively.
    (scm_igc, scm_i_gc): Renamed former to latter.  Changed all uses.
    Do not lock scm_i_sweep_mutex, which is now non-recursive, or set
    scm_gc_running_p.  Do not run the scm_after_gc_c_hook.
    (scm_gc): Lock scm_i_sweep_mutex, set scm_gc_running_p and run the
    scm_after_gc_c_hook here.
    (scm_gc_for_new_cell): Set scm_gc_running_p here and run the
    scm_after_gc_c_hook when a full GC has in fact been performed.
    (scm_i_expensive_validation_check): Call scm_gc, not scm_i_gc.
    
    * gc-segment.c (scm_i_get_new_heap_segment): Do not check
    scm_gc_heap_lock.
    
    * gc-malloc.c (scm_realloc, increase_mtrigger): Set
    scm_gc_running_p while the scm_i_sweep_mutex is locked.

commit 94d375b5a77578f636494655afafde29eb7f8972
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:08:12 2005 +0000

    (scm_cell, scm_double_cell): Do not check scm_gc_running_p, allocation
    during sweeping is OK.

commit 1a8fdd7e12a7248ea51b1292bd350b708538d95a
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:06:54 2005 +0000

    (scm_i_thread): Added gc_running_p field.
    (guilify_self_1): Initialize it.

commit fc240b46e94e9ea8619adf39b39759f996f4e91c
Author: Marius Vollmer <address@hidden>
Date:   Thu Mar 10 18:05:25 2005 +0000

    (scm_c_issue_deprecation_warning): Use malloc instead of scm_malloc.
    The latter can not be used during GC.

commit 68ec32312fcd34441435ce3d890c24d7ecf281e1
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 22:15:57 2005 +0000

    For 1.7.2.

commit d1c38e114ec821e49244b80d65f3278fd97abbdb
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 22:15:32 2005 +0000

    *** empty log message ***

commit 2c478763474564c9a520ff2b0bc1fa9f7e309794
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 22:14:46 2005 +0000

    (GUILE_MICRO_VERSION): Incremented to "2".

commit d152d44ba81278995baaebbc2288e4d715f75899
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 22:11:56 2005 +0000

    (scm_compile_shell_switches): Added 2005 to Copyright years.

commit a6d75e533e9e13ab21247908e84d414c8c06acf4
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 22:09:11 2005 +0000

    Couple cleanups.

commit 99ec43c198f31aad13c511e33567e2e987d07aa6
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 19:23:55 2005 +0000

    *** empty log message ***

commit b5fa979ca6d33533189d617a85e17f2a99345068
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 19:20:49 2005 +0000

    (ensure_state_size, ensure_all_state_sizes, resize_all_states):
    Collapsed ensure_state_size and ensure_all_state_sizes into one
    function named resize_all_states.  Allocate new vectors outside of
    single threaded region.  Do only simple things inside that region.
    (scm_make_fluid, scm_make_dynamic_state): Lock fluid_admin_mutex while
    adding to the global lists.

commit 443840184b38dbf1223e2bc09e565aaa901a1564
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 19:17:19 2005 +0000

    (scm_i_sweep_card): Do not increase/decrease scm_gc_running_p.
    Sweeping can happen in parallel with allocation.

commit b2a339f6e527fdf21dd665fe30b6bf9381680f51
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 19:14:36 2005 +0000

    Updated comments for current threading implementation.

commit 0c97d7dd662540d41ecfc507ad5ae6d38d3d7ca1
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 9 19:13:59 2005 +0000

    (scm_i_frame_single_threaded): Removed.
    (scm_i_thread): Removed unused signal_asyncs field.
    (threads_mark): Do not mark it.
    (guilify_self_1): Do not initialize it.  Do initialize
    continuation_root field.
    (do_thread_exit): Do not remove thread from all_threads list.
    (on_thread_exit): Do it here, after leaving guile mode.
    (sleep_level): Removed.
    (scm_i_thread_put_to_sleep): Leave thread_admin_mutex locked when
    returning.  Do not support recursive sleeps.
    (scm_i_thread_wake_up): Expect thread_admin_mutex to be locked on
    entry.  Do not support recursive sleeps.

commit 461f34aa1b07e02a794da5617dc728266ba64e24
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 8 00:58:55 2005 +0000

    *** empty log message ***

commit a98dbc879e1c593f02685a80356f9b7a46fc2a36
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 8 00:54:46 2005 +0000

    * configure.in: Do not call AC_LIBLTDL_INSTALLABLE.  Use
    AC_CHECK_LIB instead. Do not subst LTDLINCL and LIBLTDL.  Do not
    add "-DLIBLTDL_DLL_IMPORT" on MINGW32.
    
    * Makefile.am (SUBDIRS): Removed libltdl.
    
    * README: Talk about required external packages.
    
    * autogen.sh: Do not call libtoolize.

commit 5a3ce59e21ac72a70dd910fdc3a48abbb2ca8b78
Author: Marius Vollmer <address@hidden>
Date:   Tue Mar 8 00:53:21 2005 +0000

    (INCLUDES): Removed @address@hidden
    (libguile_la_LIBADD): Removed @address@hidden

commit d1ad188c3807e5a30285785fffbc543fdcdb819d
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 7 22:52:58 2005 +0000

    *** empty log message ***

commit 84269297c3740e024109af829c86d44dcb796fb4
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 7 22:52:01 2005 +0000

    (*features*): Remove 'random, need to use the slib code for
    that module since guile doesn't provide `random:chunk'.

commit b9d9ad3a2aa2fa23c287e40eaf8903f4d778cec7
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 22:33:46 2005 +0000

    *** empty log message ***

commit 627c72a944b8c13fbc0b38549e96990875a0295d
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 22:32:22 2005 +0000

    Include "libguile/async.h" for SCM_CRITICAL_SECTION_START/END.

commit 2567692aebc6861c058b999a93dde547c9bf4c7c
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:49:43 2005 +0000

    Moved up section on mutexes and condition variables.  Added critical
    "Critical Sections" section.

commit 32106a5ded8c3a7f01da3943b700936c803f5acd
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:48:18 2005 +0000

    Talk about critical sections.

commit 4e047c3e4686a7fa47e2fb6d5eba63fd93cad288
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:42:02 2005 +0000

    Include "libguile/async.h" for SCM_CRITICAL_SECTION_START/END.

commit 54f2445baa4a85aa696fe41f967d297c02d05641
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:40:19 2005 +0000

    * throw.c (scm_ithrow): Abort when scm_i_critical_section_level is
    not zero.

commit 8b7f0bb35b67d5ca623d45749acda0f38a007e42
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:39:56 2005 +0000

    * continuations.c (scm_make_continuation): No longer a critical
    section.
    (scm_dynthrow):  Abort when scm_i_critical_section_level is
    not zero.

commit 5e3545d00e95e733732705c169ee80c49b3b0c0c
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:33:18 2005 +0000

    (scm_debug_options): Replace SCM_CRITICAL_SECTION_START/END with a
    frame and scm_frame_critical_section.

commit aeba601d56fa611cbdef6131b8127bd35b9cacdd
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:32:00 2005 +0000

    (scm_make_continuation): No longer a critical section.

commit a4d106c70e87ee8e5d8aa3a0e3d44218703f1d04
Author: Marius Vollmer <address@hidden>
Date:   Mon Mar 7 21:30:24 2005 +0000

    * threads.h, async.h, threads.c (SCM_CRITICAL_SECTION_START,
    SCM_CRITICAL_SECTION_END): Moved here from threads.h since now
    they also block/unblock execution of asyncs and call
    scm_async_click which is declared in async.h but threads.h can not
    include async.h since async.h already includes threads.h.
    (scm_i_critical_section_level): New, for checking mistakes in the
    use of the SCM_CRITICAL_SECTION_* macros.
    (scm_i_critical_section_mutex): Make it a recursive mutex so that
    critical sections can be nested.
    
    * threads.h, threads.c (scm_frame_lock_mutex): New.
    (scm_frame_critical_section): Take mutex as argument.
    (framed_critical_section_mutex): New, used as default for above.
    (scm_init_threads): Initialize it.
    (scm_threads_prehistory): Do not initialize thread_admin_mutex and
    scm_i_critical_section_mutex; both are initialized statically.

commit 673ba2da04c2495f905b9e47c2ee820a605aef64
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:56:31 2005 +0000

    Synchronized docstrings.

commit db6673e5a364def086cb5e550969ec734cca6a8a
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:56:04 2005 +0000

    *** empty log message ***

commit 69d2000d930e6bd9431f4e585ffae154a15d3533
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:55:49 2005 +0000

    Docstring updates.

commit ba1b72235af4fca7b5e5e0b2d4fd8cf7c7b4bf67
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:54:50 2005 +0000

    (scm_try_mutex): Renamed argument for consistency.

commit d0a45bfffdcf94a5e59833ba8d9d9b41a9f790d4
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:06:34 2005 +0000

    *** empty log message ***

commit 9eaf7f85dda12dca3040c80749e0152e2a6fe941
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 17:06:19 2005 +0000

    (scm_call_with_dynamic_root): New docstring.

commit a558cc63a8285f51f9c7e5cc2610130245e86a67
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 16:57:17 2005 +0000

    Updates.

commit beac60391264765f0edcb5d2c5cebe017b8969bb
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 16:05:01 2005 +0000

    Talk about new init functions.

commit 384138c49661971d5be97849df03fa2a611ed27c
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 16:04:22 2005 +0000

    Use smobs as an example for 'remembering'.  Mention continuation barriers.

commit a0f78c5085b7b47f1f8f5bf7d6fe2d4ffdfc0ff2
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 15:48:18 2005 +0000

    Reference "Blocking" for scm_leave_guile/scm_enter_guile.

commit 9ba2fab389ffd3a464b857c583268d64570c7c0b
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 15:47:48 2005 +0000

    Better docs for leaving guile mode.

commit e03bb21b830ff5851dc7234a09a99ca935396db6
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 14:22:41 2005 +0000

    Use ``...'' instead of "...".  The latter doesn't seem to work for
    some reason.

commit ca6a8a38a4edf32008d0fdd880ee236aa87f5185
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 14:21:01 2005 +0000

    Specify return type for scm_c_array_rank.

commit de527efba52383e6fd27fadc33d74c1f3f6ea5a8
Author: Marius Vollmer <address@hidden>
Date:   Fri Mar 4 12:11:10 2005 +0000

    Define _GNU_SOURCE.

commit a81b8618709b8811cc866af7f3882f51a3fd4a8d
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:56:45 2005 +0000

    *** empty log message ***

commit 0ddf47fcaadf45cb3b8953f7d99af93e4e7b2181
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:56:34 2005 +0000

    Use scm_current_input_port instead of scm_cur_inp.  Use scm_std_select
    instead of scm_internal_select.

commit d8d925f310e19678d139202185079c13f1f0051a
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:55:17 2005 +0000

    Only test when 'threads are provided.

commit 1f834c95daf6a4ecaed0e374b0a00bbfb474975a
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:54:40 2005 +0000

    Additions.

commit 49aaa6d2a3fae10374349fca9585976dffb2faf7
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:53:19 2005 +0000

    Do not check for fast or recursive mutexes.  Check
    for pthread_attr_getstack.
    (SCM_I_GSC_USE_COOP_THREADS): Dot not subst.
    (pthread_mutexattr_settype): Do not check for it.

commit 896df2d58b4a6023fad1f970f498260938140f49
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:50:48 2005 +0000

    Use scm_is_pair instead of SCM_CONSP; use scm_is_null instead of
    SCM_NULLP.

commit b4fddbbeda8368b705daabb6a32202d1b9ba8b8e
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:46:41 2005 +0000

    Updates for the new thread stuff.

commit 9de87eea47536e25ef99bc25f07afdd759ee3575
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:42:01 2005 +0000

    See ChangeLog from 2005-03-02.

commit cb1cfc42a4f5ac4d60a64b425795432a0388ad7e
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:14:59 2005 +0000

    (scm_frame_current_module): New.

commit b5623573b43a0c6023b61b56887b608701ef053c
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:13:53 2005 +0000

    (scm_primitive_load): Use scm_i_frame_current_load_port instead of
    scm_internal_dynamic_wind.

commit bf6de59d5b491c9a11fd394fd3d09d7e9af40872
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:11:55 2005 +0000

    Removed obsolete comment.

commit a41666e546edb462c892fdcaf0f7efebec53de65
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 20:05:38 2005 +0000

    (scm_hash_fn_create_handle_x, scm_hash_fn_remove_x): Use "!scm_is_eq"
    instead of "!=".

commit 657bdfeae3ca69c5537662ac1eb68594729fa527
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 19:58:26 2005 +0000

    (SCM_I_GSC_USE_COOP_THREADS, SCM_USE_COOP_THREADS): Removed.

commit 731294434a12e2bb898d4fd5c14a08c09a3a7d93
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 19:40:20 2005 +0000

    (progargs_fluid): New.
    (scm_program_arguments, scm_set_program_arguments): Use it instead
    of scm_progargs.
    (scm_init_feature): Allocate it.  Also, only add "threads" feature
    when SCM_USE_PTHREAD_THREADS is true.

commit 5c6148424b664af682fd79e2d06dc8395ec15f70
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 18:50:45 2005 +0000

    Comment on #endif

commit 9b7952c06e71d0dacd566bab2418b207c46f2b9d
Author: Marius Vollmer <address@hidden>
Date:   Wed Mar 2 16:41:01 2005 +0000

    * Makefile.am (modinclude_HEADER): Removed threads-plugin.h.
    (libguile_la_SOURCES): Added null-threads.c
    (EXTRA_libguile_la_SOURCES): Removed pthread-threads.c and
    threads-plugin.c.
    * pthread-threads.c, threads-plugin.c, threads-plugin.h: Removed.

commit dfd49d754a2a0705bbee046debd8cc885b41534d
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 23:01:48 2005 +0000

    *** empty log message ***

commit d8c3fde9332d579be8deee3e120280927e845c9c
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 22:58:03 2005 +0000

    More of:
    (Shared Arrays): New section.

commit b4b78f5d7d02a27fb8cd93ee9cedec6bbcf2e3ba
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 22:57:10 2005 +0000

    (Shared Arrays): Rewrite make-shared-array for clarity, adding examples.

commit e2535ee4a557edf8ea83416f7b0d28cec677f60c
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 22:46:08 2005 +0000

    (Shared Arrays): New section.

commit a323275d0e56b9705ff7c5fc008adc84bc4a113b
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 22:36:26 2005 +0000

    *** empty log message ***

commit 51545a904e5a14ba1d91c468d1006274e83f2b41
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 22:35:51 2005 +0000

    (Control Flow): Cross reference Tail Calls.

commit 35f2529d69dfea2953a146bd2f37ee8299c9ef5c
Author: Marius Vollmer <address@hidden>
Date:   Mon Feb 28 02:46:46 2005 +0000

    *** empty log message ***

commit 95aacf7fe649e1e28bdfaf34af8c68ff677fcfb9
Author: Marius Vollmer <address@hidden>
Date:   Mon Feb 28 02:46:30 2005 +0000

    Add '--verbose' option to autoreconf invocation.  Thanks to Bruno
    Haible.

commit 39b6cb86789a976ca506358afd82bee81803c792
Author: Marius Vollmer <address@hidden>
Date:   Mon Feb 28 02:45:10 2005 +0000

    docs for scm_c_array_rank.

commit ca157405cd9e3222c8b5b2112f4181cc8ff01196
Author: Marius Vollmer <address@hidden>
Date:   Mon Feb 28 01:21:54 2005 +0000

    Removed references to text "below" that does not exist in this file.

commit 5f708db61025bf286dec3374cf28b32fc4447f8f
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 28 00:33:40 2005 +0000

    More of:
    (SRFI-1 Fold and Map): Rewrite fold, pair-fold and reduce for clarity.

commit ad3d5a65c800b71840190a6d8d3173d5638f5b98
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 27 23:52:04 2005 +0000

    *** empty log message ***

commit 1c80707c550039151f10eec61638089f675ba3de
Author: Marius Vollmer <address@hidden>
Date:   Sun Feb 27 23:50:30 2005 +0000

    (scm_setsockopt): Handle IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
    options.  Also, reorganized the code a bit for cleanliness.  Thanks to
    Greg Troxel!

commit 73a90115e6322b25d19de0282628faefcd01fe4e
Author: Mikael Djurfeldt <address@hidden>
Date:   Sun Feb 27 00:04:56 2005 +0000

    Bugfix: Include <libguile.h> outside of the extern "C"
    block.

commit f0a9ab4d9071c14780d155a260bfae9b1039c555
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 25 23:09:33 2005 +0000

    In format, note no parameters to ~( case conversion.

commit 5d2cb3abcf4fa236eff7ea7d84ee5159753e63a7
Author: Marius Vollmer <address@hidden>
Date:   Fri Feb 25 22:36:07 2005 +0000

    *** empty log message ***

commit 5b582466991450d856a61bcaebf346bbc7cee1ef
Author: Marius Vollmer <address@hidden>
Date:   Fri Feb 25 22:35:26 2005 +0000

    (scm_i_rehash): Remove elements from old bucket vector
    so that no two weak alist vectors share a spine.
    (scm_hash_fn_create_handle_x): Deal with a possible rehashing
    during GC before inserting the new alist cell.

commit c2f21af5f8a0fd09cd9889e1abeeb69f0a72e1a2
Author: Marius Vollmer <address@hidden>
Date:   Fri Feb 25 21:22:44 2005 +0000

    (scm_i_rehash): Remove elements from old bucket vector so that no two
    weak alist vectors share a spine.

commit 838c4126f51b9c4be8a02ccef6fd6ab182598483
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 23 17:24:38 2005 +0000

    *** empty log message ***

commit bc6580eb22a4bc42e2860c1fe10bdb6a52771ea8
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 23 17:24:19 2005 +0000

    * hashtab.c (scm_i_rehash): Cope with the case that a GC modifies
    the hashtable.
    (scm_hash_fn_create_handle_x): Likewise.
    * vectors.h (SCM_I_SET_WVECT_TYPE): New, for use in scm_i_rehash.

commit 57491e856d2415af91b2db02b8822e0a0c18f649
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 20 22:56:16 2005 +0000

    *** empty log message ***

commit 48e78ba65c51871b4e8d3572cb422dd5c097d940
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 20 22:55:53 2005 +0000

    (string->number): Exercise polar form with invalid angle.

commit 18bd7605a72baee8ae38cf3af36e9a6badf4a0cd
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 21:25:25 2005 +0000

    *** empty log message ***

commit 34942993e6adcea49b059c434fb2f72cf06efb0d
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 21:18:31 2005 +0000

    (Reals and Rationals): Use tex for sqrt2 and pi.
    (Complex Numbers): Add polar form read syntax.

commit a115b0feaaaca15586b4a4cf82bb6f4c5a99e68e
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 21:15:46 2005 +0000

    (lset-adjoin): Amend tests to expect duplicates among args cast out.

commit 85c981f61a339c46727ea6afebb88724d548314d
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 21:07:22 2005 +0000

    *** empty log message ***

commit b5199d5dd943096de23fba2d48200d6095ad0296
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 20:51:00 2005 +0000

    *** empty log message ***

commit 6282d93dba372c30f512e18d7e1b887277d2df61
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 17 20:35:11 2005 +0000

    (lset-adjoin): Revert change using `list' not `acc', the
    spec is not quite clear, but reference code uses acc, so do that.

commit 94c442be6669b1fd56d38e8d6cf4d4de2ec25926
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 14 23:45:40 2005 +0000

    *** empty log message ***

commit 62b7a179b67ff24773c20321b9286efa9492ff91
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 14 23:44:43 2005 +0000

    (Tail Calls): New section.

commit 0b0715f1b2ab2771ba90676f5b2774b8d5cc7b66
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 14 23:37:28 2005 +0000

    (File System): In tmpnam, clarify security and use of
    O_EXCL.  In mkstemp!, in fact posix doesn't specify permissions.

commit 7d92d3d0da756f0f08eefd14d1101b2437f30293
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 14 23:15:08 2005 +0000

    Add a copyright year.

commit a9ad4847208b4c2e090cc47b151fbf7b8cb732a2
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 14 23:14:35 2005 +0000

    In scm_difference, amend comment about normbig.

commit f7fb2f39a4520b066defa2f7cee17cd83c593137
Author: Rob Browning <address@hidden>
Date:   Sat Feb 12 06:15:51 2005 +0000

    *** empty log message ***

commit 8768170784962454f75451ed917c0bc85208095a
Author: Rob Browning <address@hidden>
Date:   Sat Feb 12 06:15:25 2005 +0000

    (check_SCRIPTS): add test-require-extension.
    (TESTS): add test-require-extension.

commit b0f2a9b40081d0e84bbe898b5c9b70c42dfd73d8
Author: Rob Browning <address@hidden>
Date:   Sat Feb 12 06:15:07 2005 +0000

    * standalone/test-require-extension: new test script.

commit 344d68d521d2d512743c34d2c0cfa825a52b136f
Author: Rob Browning <address@hidden>
Date:   Sat Feb 12 06:12:21 2005 +0000

    (%cond-expand-features): add srfi-55.
    (require-extension): add require-extension macro for srfi-55.

commit e2c80f891b537ab434c144b6dcd44c628fbe6b3f
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 22:04:13 2005 +0000

    *** empty log message ***

commit 1e181a080f080ed949731eb340e9102ee45860c3
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 22:03:48 2005 +0000

    (SRFI-1 Fold and Map): Rewrite fold, pair-fold and
    reduce for clarity.

commit fd8a1df5b6399a19dae94285f61ed12310cba5b9
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 21:47:59 2005 +0000

    (Integer Operations): In gcd and lcm, show args.
    (Arithmetic): In truncate, add missing arg.

commit 6337e7fb98c4d68ff47553ab18fa0b5b567ffd0c
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 21:44:44 2005 +0000

    (String Selection): In string-pad and
    string-pad-right, clarify which end the padding goes on, and merge
    descriptions.

commit 3087a9816f2ea5d8bb5d9c11d8d626b1a6fdd35a
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 21:42:29 2005 +0000

    *** empty log message ***

commit 80eba4e572e5b5936bfca97b9f4b9dfb47bb0e70
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 21:40:32 2005 +0000

    (reduce, reduce-right): New tests.

commit b064377679c8e9cc702ab21db61b5f9024289900
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 11 21:37:08 2005 +0000

    (reduce, reduce-right): Don't call f with ridentity, use
    it only if lst is empty, per srfi and intended optimization reduce
    represents over fold.

commit 8ff017428db8fdd7e2e1a1df3bf19d45ea683a80
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 10 20:37:57 2005 +0000

    *** empty log message ***

commit ffb468f7f9cd4f84dad77465be12825421615323
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 10 20:37:19 2005 +0000

    (ash): Remove tests of ash on fractions, not
    supported after scm_ash rewrite.

commit cfa762173e089f49969f8a8925f127ac0ff5f368
Author: Mikael Djurfeldt <address@hidden>
Date:   Thu Feb 10 14:40:10 2005 +0000

    (build-link): Replaced -lguile-ltdl with -lltdl.

commit 29fed193d3af3bf34ee801bdec819e1ccdec0cf2
Author: Mikael Djurfeldt <address@hidden>
Date:   Thu Feb 10 11:15:50 2005 +0000

    (prototype_to_type): Bugfix: Don't compare prototype to
    the prototypical examples mentioned in the old reference manual.
    Instead keep the old semantics of dispatching on type.  (Yes, this
    is extremely ugly, but the whole point of keeping the deprecated
    interface is not to break old code.)

commit e94d0be22bfb2c47539cd6938167b9237aa8fa8f
Author: Mikael Djurfeldt <address@hidden>
Date:   Tue Feb 8 19:19:03 2005 +0000

    Typo.

commit 9cc490600c9471624cf8fc4c2feef531e46e0278
Author: Mikael Djurfeldt <address@hidden>
Date:   Tue Feb 8 18:58:37 2005 +0000

    (SCM_ARRAY_DIMS): Rename scm_i_attay_dims -->
    scm_i_array_dims.

commit 178f1f90e128412088370a1a6f2bcee84c44341f
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 4 22:42:27 2005 +0000

    *** empty log message ***

commit 61fdb5579740bcd97866085634c3f458c29defb1
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 4 22:40:21 2005 +0000

    (File System): In mkstemp!, in fact posix doesn't specify
    the permissions mode.  Add an example setting 666 less umask.

commit cbec54af5d4448eaf76c7315d43f61d2117a7e0d
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:24:16 2005 +0000

    *** empty log message ***

commit eccc026e0660ad0ba28e7e443f689a53a9cad395
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:20:08 2005 +0000

    (list=): New tests.

commit 1bc8745f9baa3ab4094920bef482bf7648ecd0c3
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:18:59 2005 +0000

    (list=): Correction to arguments passed to given elt=,
    spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
    arg was always from list 0 not list i.

commit 9b60a7c948fb05135c363b5ea7effcaa917facff
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:17:50 2005 +0000

    *** empty log message ***

commit e55abf41404dfbb7941337ba4f22b05f03dd5eb6
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:17:27 2005 +0000

    (File Ports): In port-filename, cannot use after close.

commit b0fb230659c57392b265466095fff2b18622c959
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:16:35 2005 +0000

    (Time): In mktime, clarify fields of sbd-time used, and
    the handling of tm:isdst.

commit f38d22c5387a3f6e6a141f53d64b12e61fa04809
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 23:10:20 2005 +0000

    (SRFI-0): Add srfi-4, srfi-13 and srfi-14 now in the core.

commit d1736abf827a53dbd88bb2f769b7a226c7bd3fcf
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 3 22:59:47 2005 +0000

    A bit clearer for:
    (SRFI-1 Searching): In list-index, note 0 based index and #f for not found.

commit 83743da077fa0a5b62f3f3a021cd713bb55b4fa2
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:54:15 2005 +0000

    *** empty log message ***

commit 59747b8d2d2bb1d2172a0521da8d60dca64ec3b2
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:53:47 2005 +0000

    (remove): Rewrite in C, a trivial adaption from scm_filter in the core.

commit a8109cc0ae3e7360c9abfc8aa88127daf834fd42
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:51:15 2005 +0000

    (remove): Rewrite in C, a trivial adaption from scm_filter in the core.
    (remove!): Use filter!.

commit 389a4e4715e6ffb82e224f8268b4ce4fcd507d1c
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:49:09 2005 +0000

    (remove!): New tests.

commit d64179499cf766863b38735d7f24b5ed13584c42
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:44:51 2005 +0000

    (remove): New tests.

commit 04d5b3a6a247c714cdef15cb31f4b71069aec57d
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:44:19 2005 +0000

    *** empty log message ***

commit 38c3534cc9d6016106dcd409ba67fc44184c5f93
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:34:20 2005 +0000

    *** empty log message ***

commit a33931ae8d7fd12fa8ed33ab1d83705ca2a66a96
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:30:47 2005 +0000

    (lset-adjoin): Actually use the given `=' procedure.
    Test membership only on the given `list', not `acc', as per the spec.

commit b66ccb2693ac1bade141601442d36190f7704f52
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:19:20 2005 +0000

    Add a copyright year.

commit 49579cbd3ab2b394e7ea2767911d4ab66cd7815c
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:18:55 2005 +0000

    (ash): New tests.

commit 981b5d1ff0b27d266d02017c6db85a38c2ab486f
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:18:01 2005 +0000

    (lset-adjoin): New tests.

commit bba35c8064a7d88ab4b6db18ed9983920eda4ad1
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:11:28 2005 +0000

    *** empty log message ***

commit 9b694b12e3b974d87be3bd3f60bb34279c406c97
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:10:55 2005 +0000

    (regexp-quote): Use string-for-each, now that function is
    in the core.

commit 91f5e9f7ec5297ddfc3d40f15aa8ffe29bf15365
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 21:09:30 2005 +0000

    (Signals): In sigaction, add SA_NOCLDSTOP, make it
    clearer SA_RESTART is a variable.

commit 5bbc406b83454b137a5517b910b034a9f5d0229d
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 28 00:14:16 2005 +0000

    *** empty log message ***

commit f18f87aa6d8f39a41641c19c8aa6d3934e4fe7ba
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:47:20 2005 +0000

    (SRFI-1 Predicates): Clarify proper-list?,
    circular-list? and dotted-list?, note any object passes exactly one of
    those.

commit 702e6e093f0fe702274a7353c169a5587ed5d2d5
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:44:05 2005 +0000

    (SRFI-19 Time/Date conversions): In default
    tz-offset, note restrictions on a 32-bit system.

commit 71d0dab1370f8d01bc34be3cce0567f9cfa6d1e7
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:21:06 2005 +0000

    More of:
    (lset=): New tests.

commit feb22e8f80480e4116a56a811854e279dd46f11b
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:13:43 2005 +0000

    *** empty log message ***

commit 600af2edd5094ae7f8565f447b63ff6bbd84653d
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:11:36 2005 +0000

    (lset=): Correction to pred call arg order, srfi spec is
    (= e[i] e[i+1]), but had some calls the other way around.

commit 8447f463ba72597621085e8217094a7dc3cce632
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 23:04:05 2005 +0000

    *** empty log message ***

commit 788aca275f520aac3132641e8c9d6657dfd3625f
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 22:51:22 2005 +0000

    (scm_ash): Rewrite using shifts, much faster than
    integer-expt and multiply/divide.  Inexacts and fractions no longer
    supported (they happened to work before for left shifts, but not
    right).  Don't really need inexacts and fractions, since ash is
    documented as a "bitwise operation", and all the rest of those only
    take exact integers.

commit 856fca7e70059aa87387a6cd76b2760d1f08fcae
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 27 22:50:09 2005 +0000

    * gc-card.c (scm_i_card_statistics): map structs, closures and
    subrs to one tag.
    
    * gc-card.c (scm_i_tag_name):  new function.
    (scm_i_card_statistics): new function.

commit 73a4c24e417fad800b99decea5b27b57cdb1e76d
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 27 22:44:43 2005 +0000

    * gc.c (s_scm_gc_live_object_stats): return alist, not hashtable.
    (tag_table_to_type_alist): ignore unknown types.
    
    * gc.c (s_scm_gc_live_object_stats): new GUILE callable: return
    statistics on the number of live objects of each type.
    
    * gc-card.c (scm_i_tag_name):  new function.
    (scm_i_card_statistics): new function.

commit 8b378a5f4893f3ee9e2738074370fd85bf3eef8e
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 27 22:20:13 2005 +0000

    *** empty log message ***

commit 1367aa5e91ec53a0a251d8a5852294c3f6d581ef
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 27 22:19:49 2005 +0000

    * gc.c (s_scm_gc_live_object_stats): return alist, not hashtable.
    
    * gc-segment.c (scm_i_all_segments_statistics): new function.
    (scm_i_heap_segment_statistics): new function
    
    * gc.c (s_scm_gc_live_object_stats): new GUILE callable: return
    statistics on the number of live objects of each type.
    
    * gc-card.c (scm_i_tag_name):  new function.
    (scm_i_card_statistics): new function.

commit 4d38e6f0e312f82f2dab72e43ca52ff1ff7a5b91
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 21:23:36 2005 +0000

    *** empty log message ***

commit 2ebe323a1524ab84be203fd49214eeaa514da3db
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 21:23:09 2005 +0000

    (while): Tests running in empty environment are
    now "unresolved" do to workaround in while implementation.

commit c8fc38b13ba15c708479f5c6bfceb0e0f67e02ef
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 27 21:20:47 2005 +0000

    (while): Remove the unquote from do, it breaks with ice-9
    syncase.  Reported by Pach Roman.

commit 76da80e7881947ebcdb647e5ce4be029fece29f2
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 24 23:41:14 2005 +0000

    Reverted changed from 2005/01/24 19:14:54, which was a commit to the
    wrong branch.  Sorry.

commit a54a94b39707f47a1f30533bcf7664094d65d073
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 24 19:14:54 2005 +0000

    Threading changes.

commit be1b896c82273d97b79cd839d7281b46e54920f8
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 24 00:11:03 2005 +0000

    *** empty log message ***

commit 4858610b006860768562de6d08862f4dc973b103
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 24 00:07:01 2005 +0000

    (check_cont): Cast rewindable to long, to
    avoid warning from gcc 3.4 on 64-bit systems about casting int
    (32-bits) to pointer (64-bits).

commit 3843f734d198339837a604ac03e8c3df579bf4db
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 24 00:03:00 2005 +0000

    (scm_sigaction_for_thread): Use scm_to_long for
    sa_handler, needs to be a long on 64-bit systems where int is only 32
    bits.

commit 8b3747f9c6c7714f6796e216095d840f9627f3cb
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 23:58:43 2005 +0000

    (scm_i_init_rstate): Compare w to -1 not 0xffffffffUL, now
    that it's an scm_t_int32.  Otherwise gcc 3.4 says it's always false on
    a 64-bit system.

commit a1b8491411857ab4cd782a9ff6d409c32ac9b249
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 23:36:55 2005 +0000

    *** empty log message ***

commit 09ecf78c60c47fb5771c740d4fd2bf70b0fad9fd
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 23:22:36 2005 +0000

    (Internationalization): Expand and revise a bit for clarity.

commit 333db3b87f244f3c18a9bc86370690d91cf7bbeb
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 22:10:12 2005 +0000

    *** empty log message ***

commit 0b91f1db7a2829c42e6ff54dad0f24e25796f378
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 22:09:14 2005 +0000

    (scm_flock): Update docstring from manual.

commit 41b74b7dbbd01e8de81c149b762bab5ea011851a
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:59:09 2005 +0000

    (scm_setlocale): Force errno=EINVAL for an error, since
    POSIX and C99 don't document errno being set.  Reported by Bruno
    Haible.

commit edfc07b3e119b7d876c2527ea0be6130176c084a
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:36:22 2005 +0000

    *** empty log message ***

commit 768225738853f3a33674629ebd4386d1784a6e80
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:36:00 2005 +0000

    (lset=, member): New tests.

commit d27d4bf7a71ed7a7151f4094ac9bb490e6c1c813
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:28:45 2005 +0000

    *** empty log message ***

commit 4e3cc389f0c5ab472cfe4df5e616c73b8700352c
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:27:51 2005 +0000

    (scm_srfi1_member): Update docstring from manual.

commit ac70289c71f583ebb52d2ed9b69e3e10dbb4a2d9
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:21:15 2005 +0000

    (SRFI-1 Set Operations): Remove lset-adjoin!, doesn't exist in the
    code or the srfi spec.

commit ca04a5aef6c87bfabd82cfde182bf113813e175d
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:16:46 2005 +0000

    (SRFI-1 Searching): In member, note `=' called arg order.

commit 2f0a4e30726e47261a759dd68cf39715269393b9
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:02:42 2005 +0000

    *** empty log message ***

commit 2796304a401c9949d4d1201f13ff8d990abbe1d8
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 21:02:13 2005 +0000

    (scm_srfi1_member): Correction to pred call arg order, srfi
    spec is (PRED X elem).

commit 8e15d7f577a2af391324ede530d2efacab37403f
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 20:47:36 2005 +0000

    Add a copyright year.

commit 9d494a7371a945ece8ad985fcb3bb7c85c40330b
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 23 20:47:12 2005 +0000

    (lset=): Allow no list arguments, per srfi spec example.

commit 611a429a8e7efe16ce5ed7a9f474d4fc94b55253
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 21 13:23:01 2005 +0000

    *** empty log message ***

commit 0eeb26113863996df0a2f7178e79c0645e12b553
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 20 15:58:06 2005 +0000

    *** empty log message ***

commit 6fccb8805cbf0b176e2a71c3c25f7ff3f83b843e
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 20 15:57:50 2005 +0000

    (obarray_enter, obarray_replace): Call SCM_HASHTABLE_INCREMENT when
    adding a new entry.

commit 88f59e537d6351896277c6309b01991fc832a972
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 20 14:41:14 2005 +0000

    *** empty log message ***

commit 38c9cccb9685fee5fc8a6eb0d4a76dfbcf0f38a2
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 20 14:40:46 2005 +0000

    Include goops.h for the scm_class_of prototype.

commit 937770822e80b98c5403335405e6b2dfbd374120
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 20 14:39:49 2005 +0000

    (hashtable_size, HASHTABLE_SIZE_N): Restrict hashtable sizes to be
    smaller than the maximum lengths of vectors.

commit 45e1938d8bd3dd5da61c8a58e05c84e7f14d15e4
Author: Kevin Ryde <address@hidden>
Date:   Wed Jan 19 23:36:06 2005 +0000

    *** empty log message ***

commit 0166e7f200dcf908b5224cb00b2aaccf7d429680
Author: Kevin Ryde <address@hidden>
Date:   Wed Jan 19 23:35:38 2005 +0000

    (SRFI-1 Searching): In list-index, note 0 based
    index and #f for not found.

commit 67bcd1103b9fc43012e902543d3f773368b8abe0
Author: Kevin Ryde <address@hidden>
Date:   Wed Jan 19 23:32:44 2005 +0000

    (Ports and File Descriptors): In flock, for LOCK_NB note
    logior for LOCK_NB and EWOULDBLOCK error, and note flock doesn't work
    over NFS.

commit 219b28686441460b83d0eccf411cada7366a7676
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 18 15:00:52 2005 +0000

    *** empty log message ***

commit f7aaa3b3000f02be969c498c0b429414e7d245b4
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 18 15:00:44 2005 +0000

    (class-of): Changed from being re-exported to just
    being exported.

commit 539d541073d68e9b7732a933d6a66ce44077a330
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 18 14:58:39 2005 +0000

    * objects.h, objects.c, goops.c, goops.h (scm_class_boolean,
    scm_class_char, scm_class_pair, scm_class_procedure,
    scm_class_string, scm_class_symbol,
    scm_class_procedure_with_setter, scm_class_primitive_generic,
    scm_class_vector, scm_class_null, scm_class_real,
    scm_class_complex, scm_class_integer, scm_class_fraction,
    scm_class_unknown, scm_port_class, scm_smob_class,
    scm_no_applicable_method, scm_class_of): Moved from objects to
    goops since they are only useable once goops has been loaded.
    (scm_classes_initialized): Removed.
    (scm_class_of): Do not check it.
    (create_standard_classes): Do not set it.

commit 9511876f49845fd6ec73502fcfc36cdb4c6fb71e
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 18 13:59:04 2005 +0000

    Include "libguile/goops.h".

commit 0f0bf3b2dd7acc2387c26e4b409d3041d563d02e
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 17 22:32:52 2005 +0000

    *** empty log message ***

commit 191be0a6390061bfc6aed16f88d56c8bb8947f27
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 17 22:26:07 2005 +0000

    Remove (ice-9 session) and (ice-9 receive), not used.

commit 50472546d5fb1824cdadb2c7da6e171d8a10ba6b
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 17 18:54:58 2005 +0000

    *** empty log message ***

commit 526982f570ac2f84164124eec0383e865a6cb396
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 17 18:11:43 2005 +0000

    * objects.h, objects.c (scm_classes_initialized): New.
    (scm_class_of): Signal error when scm_classes_initialized is zero.
    * goops.c (create_standard_classes): Set scm_classes_initialized
    to one.

commit 009c6b9c891690893d433770c63f7290993b06a4
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 17 17:22:33 2005 +0000

    *** empty log message ***

commit f160e709073df53cbb360166e07f815c15694429
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 17 17:22:22 2005 +0000

    (scm_random_solid_sphere_x): Use scm_c_generalized_vector_length
    instead of scm_uniform_vector_length.

commit 7719cbe9896d7e554dcd60b5400023f81bcbabdd
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 16 17:21:28 2005 +0000

    *** empty log message ***

commit 436be13ae80485fd871d62f259b96379bd6e748e
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 16 17:20:36 2005 +0000

    (scm_compile_shell_switches): Removed debugging output.

commit 1ec44fed86870caf2245d0f06ed0c41313d2c4e3
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 15 00:04:54 2005 +0000

    *** empty log message ***

commit 6efaeb3567346bc97a3ddfbf9112670b15b4361d
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 15 00:03:53 2005 +0000

    (scm_random_solid_sphere_x): Update docstring from manual.

commit ba6e7231e49b21db034797929321dfe25bcc6167
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 15 00:01:40 2005 +0000

    (scm_logtest, scm_logbit_p, scm_integer_expt): Update
    docstrings from manual.

commit 09246596b0ce12caa50a44aab4282ae902b1a08a
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 14 23:56:16 2005 +0000

    *** empty log message ***

commit 42ad91f74248ced981abfedbc2787518c90b79e9
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 14 23:55:07 2005 +0000

    (Loading): In %load-hook, need to use set!, and describe #f.

commit 4497bd2f81fce2e5c7240c9babbbc8ecc8ac73a9
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 14 23:52:02 2005 +0000

    (Random): In random:solid-sphere!, there is no return value.

commit 5c132e68d0bf724f559b132f5767522274351c9e
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 14 23:23:08 2005 +0000

    @code for %load-path

commit a46648acb38f68f796880538fedf10e1b4765a34
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 14 23:20:25 2005 +0000

    (Bitwise Operations): In logtest and logbit?, describe
    operations in words, not just equivalent expressions.  In
    integer-expt, clarify a bit and note negative k allowed and 0^0==1.

commit 0b5a0521d121f525d340fc72e385a7c0f8cea65f
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 18:27:12 2005 +0000

    *** empty log message ***

commit 00c17d45262defe568a3c628c403cdcdf57fd69a
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 18:19:13 2005 +0000

    (scm_take_u64vector,
    scm_array_handle_u64_elements,
    scm_array_handle_u64_writable_elements, scm_u64vector_elements,
    scm_u64vector_writable_elements): Do not define when scm_t_uint64
    is not available.
    (scm_take_s64vector, scm_array_handle_s64_elements,
    scm_array_handle_s64_writable_elements, scm_s64vector_elements,
    scm_s64vector_writable_elements): Likewise for scm_t_int64.
    (uvec_sizes, uvec_print, uvec_equalp): Use SCM bignums when
    scm_t_int64/scm_t_uint64 are not available.
    (uvec_mark): New, to mark the bignums.
    (alloc_uvec): Initialize bignums.
    (uvec_fast_ref): Return bignums directly.
    (scm_uint64_min, scm_uint64_max, scm_int64_min, scm_int64_max,
    assert_exact_integer): New.
    (uvec_fast_set): Use them to validate the bignums.
    (scm_init_srfi_4): Set mark function of smob when needed.
    Initialize scm_uint64_min, scm_uint64_max, scm_int64_min,
    scm_int64_max.

commit 55fcbb966b95006ce54a5d648f00087c41e802e6
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 18:01:31 2005 +0000

    Don't check for definedness of SCM_HAVE_T_INT64, check
    its value.

commit 6e4cd850f666e01038b2c08ee243f79b78254109
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 16:24:17 2005 +0000

    *** empty log message ***

commit e70c841fe6411e4406b724f1d4ed978eb44afe5f
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 16:24:09 2005 +0000

    Describe new 1.4 compatability behavior of
    -e option.

commit 39e707a1308e64014dd66dab8baf141f3f0beb49
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 14 16:20:36 2005 +0000

    (sym_at, sym_atat, sym_main, all_symbols): New.
    (scm_compile_shell_switches): Use them to recognize and convert
    1.4 "-e" syntax.

commit 488afc52190d144430823abdfafde2214120633c
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:49:34 2005 +0000

    *** empty log message ***

commit 2a7820f22c4f3a78dff24d9118af391a37e81813
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:49:10 2005 +0000

    (Mapping Folding and Unfolding): In
    string-for-each-index, make it clear iteration is over indices.

commit d78cb2e24b904451460aa2f849a3f61c126f3a02
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:45:21 2005 +0000

    *** empty log message ***

commit eeadfda1888a3da5920d57fcb0e7182405c73054
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:42:43 2005 +0000

    (SRFI-39): New section.

commit 73222e9fa3cf83afa53a0c26f50555aee13f2f9d
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:22:15 2005 +0000

    *** empty log message ***

commit 2afd305b11bdacd4c5ee172cb179ca4d706db786
Author: Kevin Ryde <address@hidden>
Date:   Thu Jan 13 23:18:09 2005 +0000

    (User Information): Note cuserid gone from POSIX.
    Prompted by Roland Besserer.

commit 3b698afe02ec4b67712b4396ddba13b3e3e05f80
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 12 11:11:45 2005 +0000

    *** empty log message ***

commit fe78c51aa2f794b952ee4e1d344f558bd68f5d16
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 12 11:10:02 2005 +0000

    Turn all deprecated features that once were macros but are now
    functions back into macros.

commit 8f3054016a6b6b44dd07086639852e00835e476f
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 12 11:08:58 2005 +0000

    Talk about (debug-enable 'warn-deprecated) etc.

commit f74bdbd3e52482ff4ff27de92e0de9bdf1967055
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 12 11:08:51 2005 +0000

    Moved info about deprecation to "Changes to distribution" section.
    Talk about (debug-enable 'warn-deprecated).

commit 89efd60ca1081f38f0956835eb0d7f8e000fccf4
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 23:55:37 2005 +0000

    *** empty log message ***

commit 2a1ee5cd055c90628049bb4e511296cb2a0313b9
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 23:49:04 2005 +0000

    *** empty log message ***

commit b85bb56c1c1458bbacf5d6c3238197033499d55e
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 23:48:42 2005 +0000

    (current-input-port, current-output-port, current-error-port): New tests.

commit b9f69396c7c35812fe67844582e9ece8fde908db
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 23:47:44 2005 +0000

    (current-input-port, current-output-port): Parameter
    replacements for core functions, per SRFI spec.
    (current-error-port): The same, for consistency.

commit 2c1c0b1ffe92c285548f58086d38f13628927fde
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 21:54:41 2005 +0000

    Some index entry capitalization.

commit d1f9e10734bf377c3b66366720f872210857fbdf
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 21:53:48 2005 +0000

    Lots of @deftypefn return type {} grouping for correct name in func index.

commit 1176df85f8ba774b5644f972f4c7679e6af1224d
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 21:46:23 2005 +0000

    *** empty log message ***

commit d10196fc422179cae334c59944c6fd884369451e
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 11 21:46:01 2005 +0000

    Some index entry capitalization.

commit 49086691f64d6e88f83254f2e800b629bc875f0d
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 17:45:14 2005 +0000

    *** empty log message ***

commit 65bc1f7a0b03d06e9e82f1be694108fe9af0c5de
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 17:43:37 2005 +0000

    * eval.c, debug.h (SCM_WARN_DEPRECATED): New debug option.
    * deprecation.c (scm_issue_deprecation_warning,
    scm_c_issue_deprecation_warning_fmt): Use it.
    (mode): Removed.
    (print_summary): New.
    (scm_init_deprecation): Initialize SCM_WARN_DEPRECATED instead of
    mode.

commit d6dc83a9bcd21f06911a809c66f6847008b7bbf7
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 16:59:08 2005 +0000

    *** empty log message ***

commit 0c7a5cab1742e3d46eb72c6749ab7e4a15847149
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 16:56:54 2005 +0000

    More deprecated array stuff.

commit 04b87de561cb0fdc41098713e4141916316c1d50
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 16:55:38 2005 +0000

    (SCM_ARRAYP, SCM_I_ARRAYP): Renamed former to latter internal
    version.  Changed all uses.
    (scm_tc16_array, scm_i_tc16_array,
    scm_tc16_enclosed_array, scm_i_tc16_enclosed_array,
    SCM_ARRAY_FLAG_CONTIGUOUS, SCM_I_ARRAY_FLAG_CONTIGUOUS,
    SCM_ENCLOSE_ARRAYP, SCM_I_ENCLOSE_ARRAYP,
    SCM_ARRAY_NDIM, SCM_I_ARRAY_NDIM,
    SCM_ARRAY_CONTP, SCM_I_ARRAY_CONTP,
    SCM_ARRAY_MEM, SCM_I_ARRAY_MEM,
    SCM_ARRAY_V, SCM_I_ARRAY_V,
    SCM_ARRAY_BASE, SCM_I_ARRAY_BASE,
    SCM_ARRAY_DIMS, SCM_I_ARRAY_DIMS,
    scm_t_array, scm_i_t_array): Likewise.
    (SCM_SET_ARRAY_CONTIGUOUS_FLAG, SCM_CLR_ARRAY_CONTIGUOUS_FLAG):
    Moved from unif.h to unif.c.
    (scm_c_array_rank): New.
    (scm_array_rank): Reimplement using it.

commit 1f366ef7f04cccb99ef26489153a6e3db37cd7fa
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 16:55:29 2005 +0000

    (SCM_ARRAYP, SCM_ARRAY_NDIM, SCM_ARRAY_CONTP, SCM_ARRAY_MEM,
    SCM_ARRAY_V, SCM_ARRAY_BASE, SCM_ARRAY_DIMS, scm_t_array): New
    deprecated versions.

commit 8789459042bae679e332515b6b15e30405935ac2
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 00:35:20 2005 +0000

    Docs for scm_array_handle_pos.

commit dc91d8de1a93e7e151e7213b3a17d95019a1e55b
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 00:32:18 2005 +0000

    *** empty log message ***

commit 85516012180e4c2638a3f1d5ddec7aa15b4b1478
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 00:31:06 2005 +0000

    Replace uses of scm_make_ra with scm_i_make_ra.
    (GVREF, GVSET): New abbreviations.  Use them everywhere instead of
    scm_c_generalized_vector_ref and scm_cvref, and
    scm_c_generalized_vector_set_x, respectively.
    (RVREF, IVDEP, BINARY_ELTS_CODE, BINARY_PAIR_ELTS_CODE,
    UNARY_ELTS_CODE, UNARY_PAIR_ELTS_CODE): Removed since unused.

commit 0cd6cb2fb2e4f3809ff11cfc0baa3014c666fcc0
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 11 00:26:23 2005 +0000

    (indices_to_pos, scm_array_handle_pos): Renamed
    former to latter and made public.  Changed all uses.
    (scm_i_make_ra): Made public, changed tag param to enclosed flag.
    (scm_make_ra): Deprecated, changed all uses to scm_i_make_ra.
    (scm_i_shap2ra): New internal version of scm_shap2ra.
    (scm_shap2ra): Deprecated, changed all uses to scm_i_shap2ra.
    (scm_i_ra_set_contp): New internal version of scm_ra_set_contp.
    (scm_ra_set_contp): Deprecated, changed all uses to
    scm_i_ra_set_contp.
    (scm_cvref, scm_aind, scm_raprin1): Deprecated.

commit 32ef775128452c386f2045374ff2a153a45cc7af
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:21:28 2005 +0000

    Added Issac Trotts.

commit b06f099d1d0dede02c465a03ba61be65d796b3e5
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:21:19 2005 +0000

    *** empty log message ***

commit 1f69b36405b186a7ff3fe0440b9232805c1160d2
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:21:08 2005 +0000

    Fixed a typo...

commit 6be1fab900665899dd3296d4158793224cc7f560
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:20:58 2005 +0000

    (scm_eval): Added example to docstring.  Thanks to Issac Trotts!

commit e581845ab1f6fd5d2a79be647b5f3f4d6d7ad6f5
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:06:35 2005 +0000

    Fixed typo.

commit 1a523873c721793a3a3591cf8af6e4f321513461
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:06:25 2005 +0000

    *** empty log message ***

commit 2042e178fcc75d748981aeaf7b8a7281df6cef2f
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 20:06:03 2005 +0000

    * arrays.scm, deprecated.scm (uniform-vector-fill!,
    make-uniform-vector, make-uniform-array, list->uniform-vector):
    Moved from arrays.scm to deprecated.scm.
    * arrays.scm, boot-9.scm (array-dimensions): Moved from arrays.scm
    to boo-9.scm.
    * Makefile.am (ice9_sources): Removed arrays.scm.

commit 1d20a49534128cf8a03dd7b29175ae2bcf175d50
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 19:07:24 2005 +0000

    Document new read/print syntax for empty arrays.

commit 5d35ad8187201512ec3668d96e06706a2f6ac71d
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 19:07:02 2005 +0000

    *** empty log message ***

commit 2caaadd1c21810df342c55ccaeec4d0b1b353535
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 19:06:48 2005 +0000

    (scm_list_to_typed_array): Allow the specification of the
    upper bound as well.  This is needed for empty arrays.
    (l2ra): Give needed number of elements in error message.
    (scm_i_print_array): Print length information for arrays that need
    it.
    (scm_i_read_array): Parse it.

commit 66d33784324dae3a95763dfc89a7d702e88ab764
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 17:42:33 2005 +0000

    *** empty log message ***

commit a725fa951c53345ced56946750e1ca1a4a657247
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 17:42:23 2005 +0000

    (SCM_CHARS, SCM_UCHARS, SCM_LENGTH, scm_i_object_chars,
    scm_i_object_length): Brought back from the dead.

commit 3d8bccbd817f1d3ac4f00e4f7552c54707f3a5bb
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:50:49 2005 +0000

    *** empty log message ***

commit 3a0cf656110bf02a345dfc4fea463549e11ae6e6
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:50:29 2005 +0000

    (check_args): Bugfix to change from 2005-01-02: ARGV is the vector to
    check, not ARGS.

commit 74c58fce0f8936a67001a89f22daf8c4bd094f31
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:45:07 2005 +0000

    *** empty log message ***

commit 34ea1617765a9c35978fff800e6567ae4aa81083
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:44:34 2005 +0000

    (exception:wrong-num-indices): New, use it for array-set! tests with
    wrong number of indices.

commit afaf9d0b013163c35f0bce12269412283b42eed1
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:42:29 2005 +0000

    Replaced single-index uses of scm_array_set_x with
    scm_c_generalized_vector_set_x.

commit 112ba0ac283ea67e99bb0d4137b5c8bb4f71f528
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 01:41:35 2005 +0000

    (scm_make_shared_array): Use it instead of scm_aind; use handle
    for oldra.

commit d3ddc95ef136978d01ec69e8af47a8c88fbb4007
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 10 00:32:48 2005 +0000

    *** empty log message ***

commit d7d7d401660d9a15dae0c2221cdf7dcf8c6958b3
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 00:20:56 2005 +0000

    *** empty log message ***

commit 523727193a53b8328bee470c840c9af02e66aafb
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 10 00:15:48 2005 +0000

    (scm_array_rank, scm_array_dimensions,
    scm_shared_array_offset, scm_shared_array_increments,
    scm_array_ref, scm_array_set_x): Use scm_t_array_handle operations
    to simplify code and make it more general.
    (scm_shared_array_root): Work with all kinds of arrays, including
    naked vectors.
    (indices_to_pos): New.

commit fa0198bfadc2aa6148c6b6317000a3c5812ebc01
Author: Kevin Ryde <address@hidden>
Date:   Mon Jan 10 00:11:25 2005 +0000

    (scm_mktime): Missing default errno=EINVAL from prev change.

commit a236df75ae7aed7b1278b02c6f98400c1507e872
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 9 23:15:04 2005 +0000

    Grammatical typo.

commit 8cb01d9fbf64a1e2a5bc7168010d28e043f9b097
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 22:38:39 2005 +0000

    *** empty log message ***

commit 4e8ad32394eac90c92346e4510c6d66a35eba94e
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 22:37:50 2005 +0000

    (coerce_to_uvec, scm_c_uniform_vector_ref,
    scm_c_uniform_vector_set_x): Use generic scm_array_handle_ref/set
    instead of uvec_fast_ref/set since scm_array_handle_ref should be
    faster now.

commit 4475d3febd229c581ffe1ed0f8613bc1ecf6b74f
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 9 22:31:53 2005 +0000

    *** empty log message ***

commit 2c4cdcb06c903bbd15fbdbd8fd93c83689941c9e
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 9 22:23:14 2005 +0000

    (scm_mkstemp): Update docstring from manual.

commit 7e241291043720d64445da0a7f764e4214363681
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 9 22:21:08 2005 +0000

    *** empty log message ***

commit 7c2e18cd7ad7641cf73bcbc95ea1b2965d4965ef
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 9 22:14:39 2005 +0000

    Various index entries.
    (SRFI-19 Introduction): Note MJD basis is 2400000.5.
    (SRFI-19 Date): In date-second, clarify leap second usage.  In
    date-year, note negatives for B.C. and no zero.  In current-date,
    don't let it read like it's just UTC which is returned.

commit b89ecc6fb35a14cd3e7dec8e16de3b05471f1902
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 22:12:26 2005 +0000

    *** empty log message ***

commit 4ea4bc4c403d7113dd93034d13230fb80cd2b3a9
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 22:06:56 2005 +0000

    * srfi-4.h, srfi-4.c, srfi-4.i.c (scm_i_uniform_vector_ref_proc,
    scm_i_uniform_vector_set_proc): New.
    (u8ref, u8set, s8ref, s8set, etc): New.
    (uvec_reffers, uvec_setters): New.
    (uvec_to_list): Use generic scm_array_handle_ref instead of
    uvec_fast_ref since scm_array_handle_ref should be faster now.
    More changes like this are upcoming.

commit 9598a4060a558e70675ac3321597b68d914c6148
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 22:02:40 2005 +0000

    * unif.h, unif.c, inline.h (scm_i_t_array_ref, scm_i_t_array_set):
    New.
    (scm_t_array_handle): Added ref, set, elements and
    writable_elements for fast inline operation of
    scm_array_handle_ref and scm_array_handle_set.
    (scm_array_handle_ref, scm_array_handle_set): Moved to inline.h
    and replaced with inline code that simply calls the ref/set
    members of the handle.
    (enclosed_ref, vector_ref, string_ref, bitvector_ref, memoize_ref,
    enclosed_set, vector_set, string_set, bitvector_set, memoize_set):
    New.
    (scm_array_handle_get): Initialize ref/set fields to memoize_ref
    and memoize_set.
    (scm_bitvector_fill_x, scm_bitvector_to_list, scm_bit_count,
    scm_bit_position, scm_bit_set_star_x, scm_bit_count_star,
    scm_bit_invert_x): Correctly multiply index with increment in the
    general case.
    
    * unif.c (scm_array_handle_set): Correctly execute only one
    alternative.  D'Oh!
    (scm_list_to_typed_array, l2ra): Use scm_t_array_handle to fill
    the array; this covers all cases with much simpler code.

commit 8c8491f56c25d3d385099b0b0f692b402783e2e8
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 17:47:36 2005 +0000

    *** empty log message ***

commit 5e7b8a3d71aed8a7e44a2a47b308c98142282ec6
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 17:46:53 2005 +0000

    Talk a bit out zero-rank and zero-size arrays.

commit bcbbea0e2f81731f1296cd990a6f9875c6390421
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 17:45:59 2005 +0000

    (scm_array_handle_set): Correctly execute only one
    alternative.  D'Oh!
    (scm_list_to_typed_array, l2ra): Use scm_t_array_handle to fill
    the array; this covers all cases with much simpler code.

commit 7c2ef9a87be97c259f729b86fb8d5cef1882f3f3
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 17:43:14 2005 +0000

    (scm_uniform_element_size): Deprecated implementation
    as well.

commit cd5d55c76c7960a206612bb92da4b16c02b84372
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 15:45:33 2005 +0000

    *** empty log message ***

commit 5e320e5926805e3a38803804e187c8171bfbb0ec
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 15:45:21 2005 +0000

    (uvec_type): New.
    (uvec_to_list, uvec_ref, uvec_set_x, scm_c_uniform_vector_ref,
    scm_c_uniform_vector_x): Use it to get concrete type.

commit 5f37cb6331c095aaf66d888988f78bc2436abab0
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 15:41:22 2005 +0000

    (ra2l): Handle zero rank arrays.
    (scm_i_print_array): Print zero rank arrays specially.
    (tag_to_type): Return #t for an empty tag, not the empty symbol.
    (scm_i_read_array): Allow zero rank arrays.

commit 4cf8074fd1108921a9dad984b807763c85835ccf
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 9 15:41:14 2005 +0000

    (scm_t_array_dim): Changed type of members to ssize_t, to
    fit the docs.

commit 6419ad789a9dec3bff7da612fb22048a877cfe06
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 8 00:20:56 2005 +0000

    *** empty log message ***

commit aca55ba9b07dce793e6cc72c4c2ef6ce6c5cd96b
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 8 00:15:57 2005 +0000

    Move ice-9 threads to alphabetical order.

commit 54a3c9929c3d2b34030eee4b88d3f6003d089a80
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 8 00:15:10 2005 +0000

    (Included Guile Modules): Add expect, format, ftw,
    getopt-long, history, popen, pretty-print, q, readline, receive, regex,
    streams, syncase.

commit 6cb787b801bded903d61a7b876d5015fc989520c
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:59:30 2005 +0000

    (Included Guile Modules): Remove ice-9 jacal, no such module.

commit e376f9e515841bbb1bc77fdbf7e0a9331c28ca25
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:58:41 2005 +0000

    (Included Guile Modules): Add srfi-16, srfi-19 and srfi-31.

commit 950f97acf2e2fe58b0894cd6ab7e0291df5adcb1
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:53:29 2005 +0000

    (Creating Guile Modules): Expand define-modules
    #:autoload, clarify that it's a list of symbols.

commit 83c3d7552fa07d860f248fd22df2f2582b437fcd
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:48:54 2005 +0000

    Add a copyright year.

commit f3dfb8acf832029ebd1e0881051816bc4be824f6
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:48:25 2005 +0000

    Various further index entries.

commit 24ec486cf7f605b61a822e3c538f5882cda44ff9
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 7 23:29:33 2005 +0000

    (File System): In mkstemp!, note 0600 creation mode.

commit 3a40d5e117fc7139599a1c8b6f521b0608ac623b
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 16:11:07 2005 +0000

    *** empty log message ***

commit ec313f0e7dd2aeb758806667f82ba2b12b1d586d
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 16:10:53 2005 +0000

    (scm_uniform_element_size): Deprecated for real.

commit a4aad74e348c81e804289394f1cd0503077c74b6
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:58:01 2005 +0000

    *** empty log message ***

commit 0b63c1eeb7353305c545d494193abc5e7edc63c7
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:50:41 2005 +0000

    More removed bitvector stuff.

commit 12783367ecc83e9887eb5f90f98f9201561cb7d4
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:50:01 2005 +0000

    (SCM_HASHTAB_BUCKET_LOC): Removed.
    (scan_weak_hashtables): Rewrote its use with SCM_HASHTAB_BUCKET
    and SCM_SET_HASHTAB_BUCKET.

commit 509759dd31cfb085c725276679e51b6344556bbe
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:47:47 2005 +0000

    (scm_print_state, SCM_PRINT_STATE_LAYOUT):
    Removed ref_stack field.
    (PSTATE_STACK_REF, PSTATE_STACK_SET): New, for accessing the stack
    of a print state.  Use them everywhere instead of ref_stack.

commit 6e433d8b8fdb1fe790c086791387f75cae3cdd3d
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:44:45 2005 +0000

    Include deprecation.h.

commit 354116f7c2f8446bc93072c21482d9701fa762fa
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 15:44:09 2005 +0000

    (SCM_BITVEC_REF, SCM_BITVEC_SET, SCM_BITVEC_CLR): Removed.
    (scm_vector_elements, scm_vector_writable_elements,
    scm_generalized_vector_get_handle): Moved to vectors.[hc] from
    unif.[hc].
    (SCM_SIMPLE_VECTOR_LOC): Removed.
    (SCM_VECTOR_MAX_LENGTH, SCM_VECTOR_LENGTH, SCM_VELTS,
    SCM_WRITABLE_VELTS, SCM_VECTOR_REF, SCM_VECTOR_SET,
    scm_vector_equal_p): Moved from vectors.[hc] to deprecated.[hc].
    (scm_vector_equal_p, scm_i_vector_equal_p): Renamed former to
    latter.  Changed use in eq.c.

commit f01fe441aaf6a3789aa261900fc6123ce8333fe5
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 00:32:03 2005 +0000

    *** empty log message ***

commit f16f4d3cae5c2df50bd84eb56e19e9c69840dff7
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 00:31:36 2005 +0000

    Use (test-suite lib) module.

commit 4330ee25029e3c1c550e7ed6412decb73da06c1d
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 7 00:28:33 2005 +0000

    (SCM_IS_UVEC): New, use it instead of
    SCM_SMOB_PREDICATE in this file.
    (is_uvec): Also recognize one-dimensional uniform numeric arrays
    of the right type.
    (scm_is_uniform_vector): Likewise.
    (uvec_fast_ref): Made BASE param const.
    (uvec_writable_elements, uvec_elements): New.
    (uvec_to_list, uvec_ref, uvec_set_x, uvec_length,
    scm_c_uniform_vector_length, scm_c_uniform_vector_ref,
    scm_c_uniform_set_x): Use them to also deal with one-dimensional
    arrays.
    (scm_uniform_vector_ref, scm_uniform_vector_set_x): Deprecate old
    argument convention.
    (scm_uniform_vector_to_list): Let uvec_to_list do all the
    checking.
    (scm_uniform_vector_length): Use uvec_length.

commit 2aaf5726a3946ce9770d5b048b3ee7eb5273ded8
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 19:01:14 2005 +0000

    *** empty log message ***

commit a483777244b2645a8477f733c19f43034a6ac4d3
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:58:30 2005 +0000

    (have-llvect?): Removed, Scheme code will always
    have u64 and s64 uniform vectors.

commit 86ccc3545b725cd4e0a75357f882db4f0e99f653
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:57:11 2005 +0000

    Finished(?) the new array API docs.

commit c8857a4db44ba4242ae05f57fe89ffd4e3971776
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:56:34 2005 +0000

    (scm_array_handle_release): New, changed all uses of
    scm_t_array_handle to properly call it.
    (scm_vector_get_handle, scm_generalized_vector_get_handle):
    Renamed former to latter, changed all uses.

commit fea99690f2e31b08d4261d91509c6fed7d945125
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:44:08 2005 +0000

    (scm_c_uniform_vector_element_size,
    scm_c_uniform_vector_size): Removed.
    (scm_array_handle_uniform_element_size): New.

commit 996baf27e98447412d3751dd8343c9b8252ccfd4
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:15:33 2005 +0000

    (scm_vector_get_handle, scm_generalized_vector_get_handle): Renamed
    former to latter, changed all uses.

commit cdd6e0a8d5e9cbdd826e863a589606deb8cc6a95
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 6 18:14:18 2005 +0000

    (scm_array_handle_ref, scm_array_handle_set): Changed
    type of POS parameter to be signed, positions can be negative.
    (scm_array_handle_release): New, changed all uses of
    scm_t_array_handle to properly call it.
    (scm_vector_get_handle, scm_generalized_vector_get_handle):
    Renamed former to latter.

commit 34ae52fcaf220c290c54a1eec72124bc7bbce473
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 4 23:42:03 2005 +0000

    *** empty log message ***

commit 28c1c15c7593c57d9386fb414f92fadaeda5611c
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 4 23:41:48 2005 +0000

    Use *unspecified* instead of #f to get an uninitialized array.

commit 1281f0fc221bee2a8d6906145089ef4ba7386cf5
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 4 23:34:40 2005 +0000

    Updated for newfill rule of make-typed-array.

commit f0b9103901120720261ed8a8560021312b2cbf3f
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 4 23:31:19 2005 +0000

    (scm_bitvector_elements,
    scm_bitvector_writable_elements): Use a scm_t_array_handle and
    deliver offset, length and increment to caller.  Changed all uses.
    (scm_bitvector_release_elements,
    scm_frame_bitvector_release_elements,
    scm_bitvector_release_writable_elements,
    scm_frame_bitvector_release_writable_elements): Removed.
    (scm_array_handle_bit_elements,
    scm_array_handle_bit_writable_elements,
    scm_array_handle_bit_elements_offset): New.
    (scm_make_typed_array): The special value for non-initialized
    arrays is now SCM_UNSPECIFIED.  The old special value SCM_BOOL_F
    was a valid value to fill bitvectors with, so it can't really be
    specialed out.

commit f1fd6418f99e6ed078fd414fead9d55fbda621a7
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 4 00:45:36 2005 +0000

    *** empty log message ***

commit 2c0ddf445af63885c8dad3d8f8850206340639ac
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 4 00:45:13 2005 +0000

        * tests/ramap.test: New file, test array-map!.
        * Makefile.am (SCM_TESTS): Add it.

commit 66e9b24dcbf0596359170524b9212b32d87f5d43
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 4 00:44:37 2005 +0000

    New file, test array-map!.

commit c4cb76284e28de5eda8439cd1bd191af9b0ace97
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 4 00:37:34 2005 +0000

    *** empty log message ***

commit 168e958cb8e14d3b6bd82c0a7c3b7081edb66b2f
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 4 00:35:48 2005 +0000

    (scm_strftime): Free t.tm_zone produced by bdtime2c.
    Reported by Bill Schottstaedt.

commit 52d28fc2b46c335b42432a6854f7513376beebb4
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 3 20:10:15 2005 +0000

    One more incremental step towards the new array API.

commit 0fb1d2642cab79931cfc11852b0d313ebcdb7fa8
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:04:50 2005 +0000

    Hard code SCM_HAVE_ARRAYS to "1", for real now.

commit 5be5e69974da83b8c8c388a9f65d159044428566
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:04:11 2005 +0000

    *** empty log message ***

commit 3963764d1d288e0e3fd3e7633e87841d2b2e55c5
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:03:52 2005 +0000

    Rewritten for new 'typed' approach to uniform arrays.

commit 42fc3f2c761d93ef8349118cc1e78b0301c6e463
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:03:12 2005 +0000

    New tests, especially for sorting non-contigous and
    negative-incrementing vectors.

commit 3c4ce91b65527af1a961be2340f3417f8c9b0d93
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:01:55 2005 +0000

    Use new vector elements API or simple vector API, as
    appropriate.

commit d030cad861a94a34fa38065bcab9d32bbe576321
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 21:00:43 2005 +0000

    (uniform-vector-fill!, make-uniform-vector,
    make-uniform-array,list->uniform-array): Deprecated for real.

commit c34e5780b0ca67f6f136a13eec1a8d2ca39c1d1b
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:58:53 2005 +0000

    Vector API has been mostly deprecated.

commit 0356881d328360166a392e5dd4fbcb3acb1f216a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:50:28 2005 +0000

    *** empty log message ***

commit 4057a3e05afde62a4a5039668d129411958f330a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:49:04 2005 +0000

    Use new vector elements API or simple vector API, as appropriate.
    Removed SCM_HAVE_ARRAYS ifdefery.  Replaced all uses of
    SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.

commit f60539dba44057dbcf6179f30d4f03f44c46f0b6
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:46:03 2005 +0000

    (SCM_VALIDATE_VECTOR, SCM_VALIDATE_VECTOR_OR_DVECTOR): use
    scm_is_simple_vector instead of SCM_VECTORP.

commit cb26f5696c359b8b14ab12d39d0e9549890bd95c
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:45:07 2005 +0000

    * sort.c (quicksort): Added INC parameter for non-contigous
    vectors.
    (quicksort1): New, for contigous vectors.  Both functions are
    generated from the same code by including "quicksort.i.c".
    (scm_restricted_vector_sort_x): Call one of quicksort and
    quicksort1, depending on increment of vector.
    (scm_sort): Simply call scm_sort_x on a copy of the list or
    vector.
    (scm_merge_vector_x, scm_merge_vector_step): Changed indices to
    size_t, added inc parameter.
    (scm_stable_sort_x): Allocate temporary storage as Scheme vector
    so that it doesn't leak.
    (scm_stable_sort): Simply call scm_stable_sort_x on a copy of the
    list or vector.
    
    * tags.h, weaks.c, vports.c, hashtab.c, convert.c, sort.c: Use new
    vector elements API or simple vector API, as appropriate.  Removed
    SCM_HAVE_ARRAYS ifdefery.  Replaced all uses of
    SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.

commit 5d916ba3f0dc29b1bccc35d304f5a7849cfe41e7
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:25:26 2005 +0000

    * ramap.c (scm_array_map_x): Do not try to convert fill value
    before filling, any necessary conversion is done while storing.

commit b8b154fdf99d5df86c8bac87341067e86d0cd8a3
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:17:26 2005 +0000

    (scm_i_sweep_card): Call scm_i_vector_free instead of doing it inline.

commit 3ebc1832c70b829376ace7e69901be0fd0be4661
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:11:15 2005 +0000

    (SCM_HASHTABLE_BUCKETS): Removed.
    (SCM_HASHTABLE_BUCKET, SCM_HASHTABLE_BUCKET_LOC): New.  Replaced
    all uses of SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.

commit 6e708ef2b1897c3ea4d5ac47720974078d50e9e4
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 20:06:08 2005 +0000

    * weaks.c: Use new vector elements API or simple vector
    API, as appropriate.
    
    * srfi-4.h, srfi-4.c, srfi-4.i.c (scm_array_handle_uniform_elements,
    scm_array_handle_uniform_writable_elements,
    scm_uniform_vector_elements, scm_uniform_vector_writable_elements):
    (scm_<foo>vector_elements, scm_<foo>vector_writable_elements): Use
    scm_t_array_handle, deliver length and increment.
    (scm_array_handle_<foo>_elements,
    scm_array_handle_<foo>_writable_elements): New.
    
    * unif.h, unif.c (scm_t_array_handle, scm_array_get_handle,
    scm_array_handle_rank, scm_array_handle_dims, scm_array_handle_ref
    scm_array_handle_set, scm_array_handle_elements
    scm_array_handle_writable_elements, scm_vector_get_handle): New.
    (scm_make_uve, scm_array_prototype, scm_list_to_uniform_array,
    scm_dimensions_to_uniform_array): Deprecated for real.  (scm_array_p,
    scm_i_array_p): Use latter for SCM_DEFINE since snarfing wont allow a
    mismatch between C and Scheme arglists.  (scm_make_shared_array,
    scm_enclose_array): Correctly use scm_c_generalized_vector_length
    instead of scm_uniform_vector_length.
    
    * weaks.h, weaks.c: Use new internal weak vector API from
    vectors.h.
    
    * Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
    EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
    'extra' to being regular sources.
    (noinst_HEADERS): Added quicksort.i.c.
    * quicksort.i.c: New file.
    
    * vectors.h, vector.c (SCM_VECTORP, SCM_VECTOR_LENGTH, SCM_VELTS,
    SCM_WRITABLE_VELTS, SCM_VECTOR_REF, SCM_VECTOR_SET): Deprecated and
    reimplemented.  Replaced all uses with scm_vector_elements,
    scm_vector_writable_elements, or SCM_SIMPLE_VECTOR_*, as appropriate.
    (scm_is_simple_vector, SCM_SIMPLE_VECTOR_LENGTH,
    SCM_SIMPLE_VECTOR_REF, SCM_SIMPLE_VECTOR_SET, SCM_SIMPLE_VECTOR_LOC):
    New.  (SCM_VECTOR_BASE, SCM_SET_VECTOR_BASE, SCM_VECTOR_MAX_LENGTH,
    SCM_MAKE_VECTOR_TAG, SCM_SET_VECTOR_LENGTH, SCM_VELTS_AS_STACKITEMS,
    SCM_SETVELTS, SCM_GC_WRITABLE_VELTS): Removed.  (scm_vector_copy):
    New.  (scm_vector_elements, scm_vector_writable_elements): Use
    scm_t_array_handle, deliver length and increment.  Moved to
    unif.h. Changed all uses.  (scm_vector_release_elements,
    scm_vector_release_writable_elements,
    (scm_frame_vector_release_elements,
    scm_frame_vector_release_writable_elements): Removed.
    (SCM_I_IS_VECTOR, SCM_I_VECTOR_ELTS, SCM_I_VECTOR_WELTS,
    SCM_I_VECTOR_LENGTH, scm_i_vector_free): New internal API.
    (SCM_I_WVECTP SCM_I_WVECT_LENGTH SCM_I_WVECT_VELTS
    SCM_I_WVECT_GC_WVELTS SCM_I_WVECT_TYPE SCM_I_WVECT_GC_CHAIN
    SCM_I_SET_WVECT_GC_CHAIN, scm_i_allocate_weak_vector): New, for weak
    vectors.

commit 9c6e33c62acc203792053b6d5a579bdc22827eec
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 19:43:36 2005 +0000

    * gen-scmconfig.h.in (SCM_I_GSC_HAVE_ARRAYS): Removed.
    * gen-scmconfig.c: Hard code SCM_HAVE_ARRAYS to "1".

commit 9de6f5f1768624170ba6b1a48366f5ab14ef7d2c
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 19:16:39 2005 +0000

    * Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
    EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
    'extra' to being regular sources.
    (noinst_HEADERS): Added quicksort.i.c.
    * quicksort.i.c: New file.

commit 06f9c81488c03b00b1729353e53a98f96858cd9f
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 18:55:03 2005 +0000

    * Makefile.am (libguile_la_SOURCES, DOT_X_FILES, DOT_DOC_FILES,
    EXTRA_libguile_la_SOURCES): Changed ramap.c and unif.c from being
    'extra' to being regular sources.
    (noinst_HEADERS): Added quicksort.i.c.
    * quicksort.i.c: New file.

commit 286da8bca7c01c5bb28ae64e0b4d5403722b5a09
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 2 18:51:42 2005 +0000

    (SCM_I_GSC_HAVE_ARRAYS): Removed '--disable-arrays' option.

commit b262ee721cc583a7549e281aba07ccbd7343cae3
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 23:59:56 2005 +0000

    *** empty log message ***

commit cb62d8e55681e37c5f64d31626561361720fdcda
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 23:54:46 2005 +0000

    * posix.texi (Pipes): Expand and clarify a bit.  Describe port
    inheritance.  Caution against waitpid WAIT_ANY.

commit 65f1345f1685b5854c92142e7adf2303c0406091
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 23:11:08 2005 +0000

    Add some index entries.

commit 44fd0a72a6fb1aa881c33adb5a604503086b1959
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 23:05:00 2005 +0000

    Add "invocation" index entry.

commit 45bb786f75ded0cce4398c8da74cd4030b586464
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 22:57:38 2005 +0000

    *** empty log message ***

commit cfe0a008149601a10b1ba50142c63084f7d2185c
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 22:49:03 2005 +0000

    (srfi_DATA): Add srfi-39.scm.

commit af1133310d9395b929382375bd6c0a20fe5fab58
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 22:48:18 2005 +0000

    *** empty log message ***

commit 1352a75547bd80e5627e74850ee33e3c73cb59b4
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 22:46:43 2005 +0000

    Use define-module to keep bindings from
    subsequent tests, use test-suite lib for stand-alone checking.

commit 2b78075b31dd4cef48da6f02bf2217c0c59b27b5
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 1 22:45:32 2005 +0000

    (SCM_TESTS): Add srfi-39.test.

commit 7cf2d3d520700685260ee9107cc3bfe8c8cfb093
Author: Marius Vollmer <address@hidden>
Date:   Thu Dec 30 02:46:58 2004 +0000

    Properly close @deftypefn.

commit 1ebcfa3416452267f90acc7c2791df8327126c2d
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 29 18:33:54 2004 +0000

    *** empty log message ***

commit a50a53f89acc595d045c5a35c5e94e8694cc3d3c
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 29 18:33:33 2004 +0000

    (make-array, list->array): Removed.
    (uniform-vector-fill!): Prepared to be deprecated.

commit d7f6cbd95507b4abc014edc7aa891ca2e304e292
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 29 18:30:48 2004 +0000

    (Arrays): Updated for the new 'typed' approach at creating arrays.

commit 0336d18b67975115b7d38ff8cbb73cd1e8ba228d
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 29 18:25:00 2004 +0000

    *** empty log message ***

commit f301dbf34a32e982f671b7b86ac39f3a880cac7b
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 29 18:21:55 2004 +0000

    * srfi-4.h (scm_i_proc_make_u8vector, scm_i_proc_make_s8vector,
    scm_i_proc_make_u16vector, scm_i_proc_make_s16vector,
    scm_i_proc_make_u32vector, scm_i_proc_make_s32vector,
    scm_i_proc_make_u64vector, scm_i_proc_make_s64vector,
    scm_i_proc_make_f32vector, scm_i_proc_make_f64vector,
    scm_i_proc_make_c32vector, scm_i_proc_make_c64vector,
    uvec_proc_vars): Removed.
    (scm_i_generalized_vector_creator): Removed.
    (scm_i_generalized_vector_type): New.
    
    * unif.h, unif.c (scm_typed_array_p, scm_make_array,
    scm_make_typed_array, scm_array_type, scm_list_to_array,
    scm_list_to_typed_array, scm_is_array, scm_is_typed_array): New.
    (scm_array_creator): Removed.
    (scm_array_p): Deprecated second PROT argument.
    (scm_dimensions_to_uniform_array, scm_list_to_uniform_array):
    Deprecated, reimplemented in terms of scm_make_typed_array and
    scm_list_to_typed_array.
    (scm_i_proc_make_vector, scm_i_proc_make_string,
    scm_i_proc_make_bitvector): Removed.
    (type_creator_table, init_type_creator_table, type_to_creator,
    make_typed_vector): New.
    (scm_i_convert_old_prototype): Removed.
    (prototype_to_type): New.
    (scm_make_uve): Deprecated, reimplemented using make_typed_vector.
    (scm_array_dimensions): Use scm_list_1 instead of scm_cons for
    minor added clarity.
    (scm_make_shared_array, scm_ra2contig): Use make_typed_vector
    instead of scm_make_uve.
    (tag_creator_table, scm_i_tag_to_creator): Removed.
    (tag_to_type): New.
    (scm_i_read_array): Use scm_list_to_typed_array instead of
    scm_list_to_uniform_array.

commit 55088b6a628bfe9ab8180641cd359f72d4ab814f
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:37:22 2004 +0000

    *** empty log message ***

commit 62705beb9c2aad2059bca70cd17d37dabd1d93b1
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:36:59 2004 +0000

    (SRFI-1 Searching): In any and every, revise for
    clarity, note last call in each is a tail call.

commit 22446cc14c5447a9b1f93bbc924f4f760c9b2505
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:25:51 2004 +0000

    *** empty log message ***

commit 909fcc9721f2aa1d6efc684a02943429841c973a
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:24:03 2004 +0000

    Typo in integer?

commit c100a12ce76e68452f2376a45177fab677b85d4f
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:16:58 2004 +0000

    (String Predicates): For string-any and string-every,
    last chars are now tail calls per srfi, and reinstate char_pred can be
    character or character set (somehow lost in cut and paste).

commit ed435f869b25b4a844fe4cf3bd2e8f22224f2435
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 28 00:13:16 2004 +0000

    Add some index entries.

commit d241f86a8e74c69d9b6d0155ef5cef5ce098d711
Author: Neil Jerram <address@hidden>
Date:   Mon Dec 27 20:17:03 2004 +0000

    Move continuation / stack tests to continuations.test, and add save and
    restore of debug options.

commit 32b262025413ed50a9b5f8156645a1adb42014a5
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:32:37 2004 +0000

    *** empty log message ***

commit 01e6d0ecfe6495c5716653737c0ebc9bf15f0a93
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:32:25 2004 +0000

    (Vectors, Bit Vectors, Uniform Numeric
    Vectors): Updated for the distinction between read-only and write
    access to storage locations.

commit 21c487f1248d6310e1a070d98d8623ead6ff4895
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:28:38 2004 +0000

    (scm_bitvector_elements): Made return value "const".
    (scm_bitvector_writable_elements): New.
    (scm_bitvector_release, scm_bitvector_release_elements):
    Renamed former to latter.  Added explicit call to
    scm_remember_upto_here_1.
    (scm_frame_bitvector_release,
    scm_frame_bitvector_release_elements): Renamed former to latter.
    (scm_bitvector_release_writable_elements,
    scm_bitvector_release_writable_elements): New.
    Changed all uses as required by the changes above.

commit d817a70c3db4810dfe58e10a0154a1aa26b09e88
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:11:16 2004 +0000

    * unif.c (scm_bitvector_release): Added explicit call to
    scm_remember_upto_here_1.
    
    (scm_uniform_vector_elements,
    scm_u8vector_elements, etc): Made return value "const".
    (scm_uniform_vector_writable_elements,
    scm_u8vector_writable_elements, etc): New.
    (scm_uniform_vector_release, scm_uniform_vector_release_elements):
    Renamed former to latter.  Added explicit call to
    scm_remember_upto_here_1.
    (scm_frame_uniform_vector_release,
    scm_frame_uniform_vector_release_elements): Renamed former to latter.
    (scm_uniform_vector_release_writable_elements,
    scm_frame_uniform_vector_release_writable_elements): New. Takes
    crown of longest identifier yet.
    Changed all uses as required by the changes above.

commit b590aceb96a8a483b0938e5b2fbe7c94fe9e7a1e
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:10:14 2004 +0000

    (scm_uniform_vector_elements,
    scm_u8vector_elements, etc): Made return value "const".
    (scm_uniform_vector_writable_elements,
    scm_u8vector_writable_elements, etc): New.
    (scm_uniform_vector_release, scm_uniform_vector_release_elements):
    Renamed former to latter.  Added explicit call to
    scm_remember_upto_here_1.
    (scm_frame_uniform_vector_release,
    scm_frame_uniform_vector_release_elements): Renamed former to latter.
    (scm_uniform_vector_release_writable_elements,
    scm_frame_uniform_vector_release_writable_elements): New. Takes
    crown of longest identifier yet.
    Changed all uses as required by the changes above.

commit 1d0df896c97b3f876700206a4b5e2d8d452cece4
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 02:01:21 2004 +0000

    (scm_c_vector_set_x): Make return type
    void.
    (scm_is_vector, scm_vector_p, scm_vector_length,
    scm_c_vector_length, scm_vector_ref, scm_c_vector_ref,
    scm_vector_set_x, scm_c_vector_set_x, scm_vector_to_list,
    scm_vector_move_left_x, scm_vector_move_right_x,
    scm_vector_fill_x): handle one-dimensional arrays.
    (scm_vector_elements, scm_vector_release_elements,
    scm_vector_frame_release_elements, scm_vector_writable_elements,
    scm_vector_release_writable_elements,
    scm_vector_frame_release_writable_elements): New.
    (scm_list_to_vector, scm_vector_to_list, scm_vector_fill,
    scm_vector_move_left_x, scm_vector_move_right_x): Use them.

commit 277e8472124ecafaa794d22c9e546a605e2b18a3
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 00:11:43 2004 +0000

    *** empty log message ***

commit ee67e2fa2c68aa03a030f0551f1689e57cb8d141
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 00:09:57 2004 +0000

    (scm_ramapc, scm_raeql): Use
    scm_c_generalized_vector_length instead of
    scm_uniform_vector_length.
    (scm_ramap, rafe): Use scm_c_vector_ref instead of SCM_VELTS.  use
    scm_c_generalized_vector_ref instead of scm_uniform_vector_ref.

commit de5c0f58016002cc0263716a11162a957bf31aeb
Author: Marius Vollmer <address@hidden>
Date:   Mon Dec 27 00:00:07 2004 +0000

    (scm_c_vector_set_x): Make return type
    void.
    (scm_is_vector, scm_vector_p, scm_vector_length,
    scm_c_vector_length, scm_vector_ref, scm_c_vector_ref,
    scm_vector_set_x, scm_c_vector_set_x, scm_vector_to_list,
    scm_vector_move_left_x, scm_vector_move_right_x,
    scm_vector_fill_x): handle one-dimensional arrays.

commit de26705f9475179c7536bebeba8ddcc780c20097
Author: Marius Vollmer <address@hidden>
Date:   Sun Dec 26 23:56:43 2004 +0000

    Los typo fixos.

commit 49c5161012cada17febf9142e66fc0c769ea0b63
Author: Marius Vollmer <address@hidden>
Date:   Thu Dec 23 15:32:17 2004 +0000

    *** empty log message ***

commit 4f2ec3becc46eb2aeca943f942d8851abb607410
Author: Marius Vollmer <address@hidden>
Date:   Thu Dec 23 15:32:02 2004 +0000

    News tests for making stacks from continuations.  From Neil Jerram.

commit 7f12a94355dbe2dc78b682f35d40fa7d9c9961e8
Author: Marius Vollmer <address@hidden>
Date:   Thu Dec 23 15:30:29 2004 +0000

    (read_frame, read_frames, scm_make_stack, scm_last_stack_frame,
    scm_stack_id): Use the new 'offset' member of continuations instead of
    calculating the offset ourselves.  Relocate 'vect' member of
    scm_t_debug_frame.

commit 5c5c27dc0d3ff3d74ddb64b3054900ebbbab6d61
Author: Marius Vollmer <address@hidden>
Date:   Thu Dec 23 15:30:16 2004 +0000

    (scm_t_contregs): New 'offset' member for relocating debug frames.
    (scm_make_continuation): Set it.

commit e6e63c5632cc83ba922e559cf515282e02d954b9
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 15:33:28 2004 +0000

    *** empty log message ***

commit 2c5d049cc64edd0eecd99b51e67d44d9daf5797e
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 15:33:18 2004 +0000

    (Arrays): Reorganized and 'modernized'.

commit 3167d5e47530c642093af39e31951199abd3ac86
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 15:02:13 2004 +0000

    *** empty log message ***

commit 7064e449bd95ae6f32fe2395b7297f0603fceb6e
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 15:01:53 2004 +0000

    Added open-pipe* and open-input-output-pipe.

commit 0f3eb62779c8d5a3be47487e9483c3da63a664d7
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 15:01:24 2004 +0000

    Support bidirectional communication by making open-pipe support
    OPEN_BOTH as second argument and in that case return a soft
    input-output port which uses two pipes internally.  Provide open-pipe*
    to execute programs without using the shell (and actually base
    open-pipe on it) and the obvious open-input-output-pipe.

commit 0c5f718b641af2b5f0d6658ff4fd366e5db77410
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 22 14:50:56 2004 +0000

    (module-make-local-var!): When creating a new variable, initialize it
    to the value of any imported variable with the given name.  This
    allows code like (define round round) to work as expected.

commit 6dccc950332d58ede83cca0e85a8a18f30ec5648
Author: Mikael Djurfeldt <address@hidden>
Date:   Mon Dec 20 21:38:23 2004 +0000

    expect.texi (Expect): Removed backslash escapes of regexp
    operators ( and ) in code example for expect-strings.

commit e1ea3bf90800961ad7cdd2abdf2ae5f4adee2929
Author: Mikael Djurfeldt <address@hidden>
Date:   Mon Dec 20 21:20:52 2004 +0000

    Update, document available SRFIs.

commit 3b2ee265fbbaa3659d2034ce89308238ddeef831
Author: Kevin Ryde <address@hidden>
Date:   Thu Dec 16 00:41:39 2004 +0000

    *** empty log message ***

commit e96a9fada56a1075f201910dfda71f2c7c031ce0
Author: Kevin Ryde <address@hidden>
Date:   Wed Dec 15 23:01:32 2004 +0000

    (scm_array_map_x): Check for at least one source argument.

commit e120686ac00025627e82fc68e9dc7998753a5387
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 14 00:23:52 2004 +0000

    *** empty log message ***

commit fdc6aebfaf444a84e8b6291c2a5589f4ba477c7a
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 14 00:21:25 2004 +0000

    (string-any, string-every): Use a scheme
    wrapper around the C code so for the final call to the predicate
    procedure is a tail call, per SRFI-13 spec.

commit 680b5237147519bff4459a8dd6c0a1224b7e5a1c
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 13 22:40:08 2004 +0000

    *** empty log message ***

commit a13befdcd3ffb9160ee3377e031393c521cf12f7
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 13 22:37:31 2004 +0000

    (Regexp Functions): Revise regex-substitute and
    regex-substitute/global for clarity, add some examples.

commit edcd3e83d31308f6c2b0c982532d6b3b4093a0a0
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 13 22:29:45 2004 +0000

    (lambda* Reference): Revise for clarity, note
    how #:rest works with #:key, note previous bindings available to
    default expressions.

commit 4450a22762c8ea0c4e53895ab26f7e44400fa596
Author: Kevin Ryde <address@hidden>
Date:   Fri Dec 10 00:49:51 2004 +0000

    More of:
    (scm_eq_p, scm_eqv_p, scm_equal_p): Update docstrings from
    recent revision to the reference manual.

commit 86347b2bf395361827d13b9866e0919279a501b5
Author: Kevin Ryde <address@hidden>
Date:   Fri Dec 10 00:42:42 2004 +0000

    *** empty log message ***

commit 3810edd92c29b1969915bbf3ed7266b90bed40e7
Author: Kevin Ryde <address@hidden>
Date:   Fri Dec 10 00:42:20 2004 +0000

    (inet-pton): New tests.

commit 2b4d15471c296cf426f6a54850a0535250f05831
Author: Kevin Ryde <address@hidden>
Date:   Fri Dec 10 00:41:33 2004 +0000

    (scm_from_ipv6): Just use mpz_import.  Don't bother trying
    to fit scm_from_ulong_long, since that uses mpz_import anyway.  Don't
    bother trying to fit scm_from_ulong, not really worth the trouble if
    addresses are more than 4 bytes usually.

commit 66b1c775d20a6c2f317a444dbf1cceb9348c621f
Author: Kevin Ryde <address@hidden>
Date:   Fri Dec 10 00:00:27 2004 +0000

    (scm_modulo): Amend fixme comment about negative divisor
    with "%", C99 says it's well-defined.

commit 602d32dd488d790d688684d3c822201d5f47b5a8
Author: Kevin Ryde <address@hidden>
Date:   Thu Dec 9 23:49:46 2004 +0000

    (scm_eq_p, scm_eqv_p, scm_equal_p): Update docstrings from
    recent revision to the reference manual.

commit ff758237f76317a4f9a1e08d88d6b7338b728d9a
Author: Kevin Ryde <address@hidden>
Date:   Wed Dec 8 23:09:15 2004 +0000

    Let the string->number documented? test say "documented?".

commit b9e1ef086be904ed8372411a3193b753531217ae
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:51:00 2004 +0000

    *** empty log message ***

commit 371e3f7778a5a3dbd03535d6c1e600759df74ec1
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:44:44 2004 +0000

    *** empty log message ***

commit f0d1bc09cfd5d87870794ab933911d6a65a4534e
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:41:41 2004 +0000

    (break): New tests.

commit ba94ef0c7f3494274ddb76c6f2cdf6c8435506d6
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:39:27 2004 +0000

    (break): Change to a tail-recursive form.

commit 379b03074e53b47928c8ae9b41099f09b69762ef
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:34:53 2004 +0000

    (span): Change to a tail-recursive form.

commit ee0301df8cdfeb915535084efcf49a198d8a7663
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:33:40 2004 +0000

    (span): New tests.

commit 872223a89867e042d1d9087cf30270233b9f4d5a
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:12:00 2004 +0000

    (alist-delete): New tests.

commit 49ae1e250f4e8dd50dbe5ae29ea59ace413e1013
Author: Kevin Ryde <address@hidden>
Date:   Mon Dec 6 00:09:14 2004 +0000

    (alist-delete): Change to a tail-recursive form.

commit 41ab236c7628e8c0948cc7dddd9496e9155e3496
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 23:53:20 2004 +0000

    (alist-delete): Correction to equality proc call argument
    order, spec is for given KEY param first.

commit 6d7db38196c5dcfca37ec21c5ed51ff3865dd4a5
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 21:57:44 2004 +0000

    *** empty log message ***

commit f9a95cfe2aebcdb888ae1e3ddf4cbac9c4982c1e
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 21:49:48 2004 +0000

    (alist-copy): New tests.

commit 64f7942092d42c0b1be2f46883a6643ce2248b3d
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 21:44:53 2004 +0000

    *** empty log message ***

commit aa0745cc05f4a0e89571295a2566d06279d0a99d
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 21:44:18 2004 +0000

    (alist-copy): Change to a tail-recursive form.

commit b8024707475ea3ae5b4017363dfc2a137318ecd7
Author: Kevin Ryde <address@hidden>
Date:   Sun Dec 5 00:56:26 2004 +0000

    *** empty log message ***

commit eadc07b56827b46fb589203506d66b0317ea9864
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 23:18:17 2004 +0000

    *** empty log message ***

commit 8b981efda4801c32a9ba64f9fc1799f4335761a3
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 23:16:52 2004 +0000

    (append-map, append-map!): Rewrite as simple "concatenate map" forms,
    for tail recursiveness.

commit bbd1b480f40c96a0b84fb29c050d028d4b5f1e6f
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 23:10:39 2004 +0000

    (append-map): New tests.

commit 558d5c03464e08cc748fd447762ba17f1bd10f5f
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 23:05:04 2004 +0000

    (append-map, append-map!): Rewrite as simple "apply append" forms, for
    tail recursiveness.

commit a52ef9e4a019acba75f10725d9702fb77aa245f1
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 22:47:12 2004 +0000

    (filter-map): New tests.

commit a3e856f2753ae3d877ec5e4ddf3b17cdb194e7ce
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 22:43:51 2004 +0000

    (SRFI-1 Length Append etc): In concatenate, note equivalence to "apply 
append".

commit da9c77cf05dc8c232832c4dc33f5cbee24d95621
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 22:37:03 2004 +0000

    *** empty log message ***

commit 0d09b3ff649b6a93501cd7ede03d441192728f2e
Author: Kevin Ryde <address@hidden>
Date:   Sat Dec 4 22:35:30 2004 +0000

    (filter-map): Change to a tail-recursive form.

commit f41c11421c27bfcf04b513e6fe9143f38b4caa60
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 1 00:02:47 2004 +0000

    *** empty log message ***

commit ac5d303b6ce7db61a8bd5af3ec0299118e6a7843
Author: Marius Vollmer <address@hidden>
Date:   Wed Dec 1 00:02:24 2004 +0000

    * boot-9.scm (app, %app): Renamed former to the latter.
    Previously, 'app' was reserved in every module.  Now '%app' is
    reserved, which is slightly better.  The real fix is to not use
    'local-ref' etc to find modules.  Changed all uses.
    * syncase.scm: Changed 'app' to '%app'.

commit 446d320c8ecc842d839222dbb5fe3f06640cd46f
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 29 21:16:54 2004 +0000

    *** empty log message ***

commit 083ff9955ef11a2e60345ac54f655127ea228a41
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 29 21:13:57 2004 +0000

    (NetBSD): Test __m68k__ and __arm__ as well as m68k and
    arm32.  Reported by Greg Troxel.

commit 7674622e45d59cab6d5d546ee97b648cc1559c48
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 27 20:06:23 2004 +0000

    *** empty log message ***

commit 8c962eb306d72b426339f6a9504fc27ff1a12c8a
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 27 20:05:52 2004 +0000

    (AC_SUBST): Correction, LTDLINC should be LTDLINCL, the
    latter is what libtool defines.

commit f26547600b7bc7324c61319208a2e06c01da1af9
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 14 00:25:10 2004 +0000

    *** empty log message ***

commit 2d4d7f27ae65062523590cd3a3d20a3feb87c4cf
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 14 00:23:08 2004 +0000

    (scm_i_cvref): Made non-static for ramap.c.

commit dd893484ec7bcf858bdf97d5021a3d8dde2b1509
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 14 00:18:26 2004 +0000

    (INCLUDES): It is "@LTDLINCL@", not "@LTDLINC@".

commit d550e35f379fccfacedf8676117338adeeb7fc3c
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 12 19:00:36 2004 +0000

    *** empty log message ***

commit bd6713d5ea17134c555955c3e24f33ffdcd34bfa
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 12 19:00:22 2004 +0000

    Replaced uniform-array-set1! with just array-set!.  Do not check
    improper index lists, which can't arise with uarray-set!.  Use
    "#s16()" instead of "#h()".

commit 5c4b4321a2fc501055db568157fd575859e87fd6
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 12 18:57:12 2004 +0000

    Do not use prototypes, use creator functions.

commit 02339e5b9b0b93c4181991b259cf38d71066a5dd
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 12 18:55:25 2004 +0000

    (scm_tc16_enclosed_array, SCM_ENCLOSED_ARRAYP):
    New.
    (exactly_one_third, singp): Removed.
    (scm_array_p, scm_array_dimensions, scm_shared_array_root,
    scm_shared_array_offset, scm_shared_array_increments): Handle
    enclosed arrays explicitely.
    (scm_array_rank): Likewise. Also, do not return zero for
    non-arrays, signal an error instead since arrays with rank zero do
    exist.
    (scm_i_make_ra): New, for specifying the tag of the new array.
    (scm_make_enclosed_array): Use it.
    (scm_make_ra): Reimplemented in terms of scm_i_make_ra.
    (scm_make_shared_array): Use scm_c_generalized_vector_length
    instead of scm_uniform_vector_length.
    (scm_array_in_bounds_p): Rewritten to be much cleaner.
    (scm_i_cvref): New, doing the job of scm_cvref.
    (scm_cvref): Use scm_i_cvref.
    (scm_array_ref): Do not accept non-arrays when no indices are
    given. Use scm_i_cvref to do the actual access.
    ("uniform-array-set1"): Do not register.
    (scm_array_set_x, scm_uniform_array_read_x,
    scm_uniform_array_write): Handle enclosed arrays explicitly.
    (ra2l): Use scm_i_cvref instead of scm_uniform_vector_ref to also
    handle enclosed arrays.
    (scm_array_to_list): Handle enclosed arrays explicitly.
    (rapr1): Removed.
    (scm_i_print_array_dimension): Use scm_i_cvref to also handle
    enclosed arrays.
    (scm_i_print_enclosed_array): New.
    (tag_proto_table, tag_creator_table): Renamed former to latter.
    Added "a" and "b" for strings and bitvectors, resp.
    (scm_i_tag_to_prototype, scm_i_tag_to_creator): Renamed former to
    latter.  Tag "a" is in the table now, no need to handle it as a
    legacy tag.
    (scm_raprin1): Just call scm_iprin1.
    (scm_array_creator, scm_array_prototype): Handle enclosed arrays
    explicitly.
    (scm_init_unif): Initialize scm_tc16_enclosed_array smob.
    Use scm_i_print_array as printer for scm_tc16_array.

commit 4049959855462b48da4a4e1fdd9aafd3cc20fd1a
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 16:00:17 2004 +0000

    Updated cross reference to Arrays.

commit f27a256499298f157ddf0c952bca010cffecb518
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:57:37 2004 +0000

    More harsh words about non-compatibilities...

commit 823086c18b482da2266841f9f228c6e738381ef1
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:57:04 2004 +0000

    *** empty log message ***

commit 03a5397a5300e496c235353d48a910a5ecf7a833
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:55:26 2004 +0000

    Changed all uses of scm_array_prototype to
    scm_array_creator. (scm_i_get_old_prototype): Signal error when no
    prototype is known.
    (scm_uniform_array_read_x, scm_uniform_array_write): Reimplemented
    in terms of scm_uniform_vector_read_x and
    scm_uniform_vector_write, respectively.  Strings and
    bitvector support has been dropped.

commit b4b33636209c5bf4567dcaf1b05b7a27fca87cc3
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:47:44 2004 +0000

    (cind): Changed second arg to be pointer to long instead
    of uniform vector.
    (scm_ramapc): Allocate index vector with scm_malloc and not as
    uniform vector.  Wrap it in a frameso that it gets properly freed.
    (scm_array_index_map_x): Likewise.

commit 2ed348854da68a41741e1eab0e41730df825d2b2
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:03:43 2004 +0000

    *** empty log message ***

commit b7698d68e9cd16ce4cf69a1a48311d469743925f
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:03:23 2004 +0000

    (uniform-vector-read!, uniform-vector-write):
    Removed.

commit 69730f92cac43d50e890ea1e41a0be4117533372
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 10 01:02:32 2004 +0000

    Do not include <libguile.h>, include the
    needed files directly.  Include config.h, <unistd.h> and <io.h>
    when available.
    (scm_uniform_vector_read_x, scm_uniform_vector_write): New.

commit 2c72f253011e3c7321b57716ba7e923858e33728
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 22:12:33 2004 +0000

    *** empty log message ***

commit 65b39e8ab74e204f7c26fd010e1e6435b832765c
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 22:10:59 2004 +0000

    (gh_uniform_vector_length): Properly use scm_c_uniform_vector_length
    instead of scm_uniform_vector_length.

commit 3cc0a2961f941db000d5b19742e6c38d10288a22
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:17:20 2004 +0000

    *** empty log message ***

commit 20930f28b325efd80bddc93888e5ca7c14ba4e20
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:16:19 2004 +0000

    (scm_bitvector_p, scm_bitvector,
    scm_make_bitvector, scm_bitvector_length, scm_bitvector_ref,
    scm_bitvector_set_x, scm_list_to_bitvector, scm_bitvector_to_list,
    scm_bitvector_fill_x, scm_is_bitvector, scm_c_make_bitvector,
    scm_c_bitvector_length, scm_c_bitvector_ref,
    scm_c_bitvector_set_x, scm_bitvector_elements,
    scm_bitvector_release, scm_frame_bitvector_release,
    scm_tc16_bitvector, bitvector_free, bitvector_print,
    bitvector_equalp, count_ones, find_first_one): New.
    (scm_bit_count, scm_bit_position, scm_bit_set_star_x,
    scm_bit_count_star, scm_bit_invert_x, scm_istr2bve): Rewritten
    using the new C API for bitvectors and maybe count_ones or
    find_first_one, as appropriate.
    (SCM_I_MAX_LENGTH, SCM_BITVECTOR_P, SCM_BITVECTOR_BASE,
    SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH,
    SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG,
    SCM_SET_BITVECTOR_LENGTH): Removed.  Replaced all uses with the
    new functions from above.
    (scm_i_proc_make_vector, scm_i_proc_make_string,
    scm_i_proc_make_bitvector): Made non-static for use in
    scm_i_generalized_vector_creator.
    (scm_make_u1vector): Removed, replaced by scm_make_bitvector.
    (scm_make_uve): Validate that the created object is a generalized
    vector.
    (scm_i_legacy_tag): Removed.
    (scm_i_print_array): Do it here.
    (scm_raprin1): Only print enclosed arrays.

commit 887975809ff88f2e8d61f311eaf638b1fbfca965
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:14:46 2004 +0000

    (scm_is_vector, scm_c_vector_length, scm_c_vector_ref,
    scm_c_vector_set_x, scm_generalized_vector_p,
    scm_generalized_vector_length, scm_generalized_vector_ref,
    scm_generalized_vector_set_x, scm_generalized_vector_to_list,
    scm_is_generalized_vector, scm_c_generalized_vector_length,
    scm_c_generalized_vector_ref, scm_c_generalized_vector_set_x): New.

commit 399aba0a2bc59e18c85aa8374e8f81dae8253448
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:14:33 2004 +0000

    Use the new generalized vector functions to handle all
    vector like things.

commit 241b64d63f69caaf940cc4c3f51384d9e437634e
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:14:22 2004 +0000

    Do no longer handle scm_tc7_bvect bitvectors.

commit 6cf0f51de86168509f730578421864d76cb3d7e0
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:14:09 2004 +0000

    (scm_tc7_bvect): Renamed to scm_tc7_unused7, renaming the
    remaining scm_tc7_unused tags to get a neatly ordered list.

commit 811eb6d0eeac0b437cdc161fbe8e14ca525e39c4
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 16:13:58 2004 +0000

    (scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x): New.
    (scm_i_uniform_vector_creator): Removed.
    (scm_i_generalized_vector_creator): New.
    (scm_uniform_vector_length, scm_uniform_element_size): Do not
    handle generalized vectors, only uniform numeric vectors.
    (alloc_uvec): Do length check here...
    (make_uvec): ...but not here.
    (coerce_to_uvec): Use new generalized vector functions to handle
    all kinds of vectors in one go.

commit 1d227e527a06234a8f1255ccb7ebcff83137934c
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:55:20 2004 +0000

    (DOT_DOC_FILES): Added srfi-4.doc.

commit 51c45eb66613cf0c40080f96b086f6d2866050a4
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:54:32 2004 +0000

    *** empty log message ***

commit a04906d98de1f67656fff7b932594c1855f3fda7
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:54:22 2004 +0000

    (process-multiline-directive): Allow the fname attribute to a sequence
    of strings and append them all to form the fname.  This is needed for
    string literals like "u8""vector?".

commit d233b123d08adf0826a82fb23558e6c534c7c6ef
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:48:14 2004 +0000

    More stuff about arrays and vectors.

commit 714682a35390ddd085ec87de8f58eaf72987d5a3
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:44:54 2004 +0000

    Synchronized from libguile/guile.texi

commit 50d520d99d2a3fec694f730d61ea801ec18eb329
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:44:14 2004 +0000

    *** empty log message ***

commit 3dd6e0cf199c2be32df760da56f55d4a21aeab6d
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:43:47 2004 +0000

    Minor updates.

commit 61eed96070488bcbbb7416572bccc52a17c1ac73
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 9 13:43:14 2004 +0000

    (Generalized Vectors): New.
    (Bit Vectors): More docs.
    (Uniform Vectors): Call them Uniform numeric vectors.

commit 38d572f57b7a7fd19b58fc094dc5fd5bd52caa87
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 5 15:31:31 2004 +0000

    *** empty log message ***

commit 6e4de0cc0458a297502d1ce7f7b37c8188acba33
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 5 15:31:23 2004 +0000

    Use @ifnottex instead of @ifinfo around the "Top" node declaration so
    that html can be generated.  Use only lower case inside @sc.  Move
    editors outside of author table, which looks better in html.

commit a2b6a0e7f2317c10a9cd858b9872edac075bc150
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 5 14:50:16 2004 +0000

    *** empty log message ***

commit 0ec78e154653da5e365ab3df3f96d2afbc98014f
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 5 14:49:56 2004 +0000

    Do not add "." to %load-path. 'load' will still be able to load files
    in the current directory, but 'use-modules' etc will not.

commit 1f2328fec20d8d36a7c28078000179ee340ba5c3
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 17:08:37 2004 +0000

    *** empty log message ***

commit 66842ba3d5fda6378b808394a8a9f1a2fca077be
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 17:08:26 2004 +0000

    (scm_charnames, scm_charnums): Added "sp" as an alias for "space".
    Thanks to Bruce Korb!

commit b0780bc595cde0ba9e98e56d929811b0dfb7cc76
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 17:07:42 2004 +0000

    (make_uvec): Use SCM_I_SIZE_MAX instead of SIZE_MAX for added
    portability.

commit c24d026b3baf9817d11de7401e404adc4f4912dc
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 14:04:35 2004 +0000

    *** empty log message ***

commit a9d13d445b1a6a2793d58357a78b4d6623e76dc8
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 14:01:18 2004 +0000

    (scm_read_string_x_partial): Bugfix, apply offset to dest
    only after dest has been set.  Thanks to Hyper Division!

commit 6697f945b90b8b199171a3ed5bcf3750bb48984e
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 4 13:53:31 2004 +0000

    (gh_uniform_vector_length): Use scm_uniform_vector_length instead of
    SCM_UVECTOR_LENGTH.

commit d4ea47c8da297c183af3155a1d8a593246ca4b5f
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 3 22:02:13 2004 +0000

    *** empty log message ***

commit 219592225f33fa2ea7fb820309910ab705622e89
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 3 21:55:43 2004 +0000

    (SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
    SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG,
    SCM_SET_UVECTOR_LENGTH): Removed.

commit 236288e2053e2c0d19457cfd1f15a92f9a1f8982
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:50:19 2004 +0000

    *** empty log message ***

commit 09c6d80a27add778e0b6245a65640cbd6702a895
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:49:14 2004 +0000

    (scm_display_backtrace_with_highlights): Join the
    first and the second line of the SCM_DEFINE macro call, since old
    preprocessors cannot handle definitions that are split into two
    lines.

commit 5e1e20c89c43d83e850732796508e628ee2e2995
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:47:36 2004 +0000

    (scm_cell, scm_double_cell): Don't use C99 variable
    declarations.

commit 7dab4b370ca85e35e2c938d45e30c97e564d541b
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:47:14 2004 +0000

    (scm_i_chase_pairs): Replace scm_t_bits with scm_t_uint32 to fix the
    mismatch between the function declaration and definition.

commit 1938c6dab7aee860c45ab6aa8bfa4c6a0875eac7
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:46:42 2004 +0000

    (quicksort): Don't use C99 variable declarations.

commit 28d4aef1f0f3eff96d690077007c9bfc448de69a
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:46:26 2004 +0000

    (uvec_fast_ref): Avoid a compiler warning by returning
    SCM_BOOL_F if no type matches.

commit a95ba079dc682f352349efc947e8daf0b220dd7f
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:45:36 2004 +0000

    (thread_print): Cast a pointer to size_t when printing
    with scm_uintprint.

commit 72d05aa477c7852bd5cbe13cb7bfdea3d5fecc36
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 22:45:22 2004 +0000

    (scm_i_tag_to_prototype): Make sure that "instead" gets defined.
    (scm_array_prototype): Deprecated.

commit 34dedee007ebce9b664abd75b39471334704148b
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 20:16:06 2004 +0000

    More docs.

commit 5d1015ec8cfcdf3a67592dfc296e180d37bc4d10
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 20:15:42 2004 +0000

    *** empty log message ***

commit d44ff083ea4dd094aba9d12aa74618e076680b16
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 20:15:32 2004 +0000

    * srfi-4.h, srfi-4.c (scm_frame_uniform_vector_release): New.
    * unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use it to get
    more efficient access to the u32vector.

commit 034486df89c86965773eb76954c9a2fa33bb3163
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:52:26 2004 +0000

    *** empty log message ***

commit 067f092233b4d83ea83d9e8cda4ff2e6e9d5a4ce
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:52:16 2004 +0000

    (scm_tc7_llvect, scm_tc7_uvect, scm_tc7_fvect, scm_tc7_dvect,
    scm_tc7_cvect, scm_tc7_svect, scm_tc7_byvect, scm_tc7_ivect): Renamed
    to scm_tc7_unused_1 to scm_tc7_unused_8.

commit 85368844371fd1ca90617e1847d76e7c0a02a14f
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:50:11 2004 +0000

    * eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c,
    ramap.c, unif.c: Do no longer handle old-style uniform vectors.
    
    * unif.c (scm_bit_set_star_x, scm_bit_count_star_x): Use u32vectors
    instead of old-sytle uvectors.

commit b7a7750adf5f96c46005e1a97503aa3a105d532d
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:47:20 2004 +0000

    Do no longer handle old-style uniform vectors.

commit df47dca3143cff2040424d1d837290999e00dceb
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:46:29 2004 +0000

    (SCM_VALIDATE_VECTOR_OR_DVECTOR): Accept f64vectors instead of the
    old-style dvectors.

commit bbe6ba23668795df0734567b8eeb6b691dcbb609
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:44:49 2004 +0000

    Use new-style uniform arrays in place of old-style ones.

commit 948972893c47c30dd7dcf914ac49bbc320eac35b
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:38:55 2004 +0000

    Rewritten completely, using scm_any_to_u8vector, etc and other
    new-style uniform vector functions.

commit e911caec2b7317501aff46c47d51ec022eba7993
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:36:50 2004 +0000

    (scm_random_solid_sphere_x, scm_random_hollow_sphere_x): Do not
    validate vector argument, this is already done elsewhere.

commit 90d4368c88e5dc8dcfd0a54c35872b65a691333e
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 19:34:30 2004 +0000

    (coerce_to_uvec, scm_any_to_u8vector, etc): New.
    (scm_uniform_element_size, scm_uniform_vector_length): Do no longer
    handle old-style uniform vectors.

commit f738b51d253498b01a9638f857ebb83e68b1d133
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 15:59:47 2004 +0000

    *** empty log message ***

commit c35092e67026ebd4b1d52115ce257f22ac8945b0
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 2 15:53:53 2004 +0000

    (scm_lreadr): Bugfix: include the last bit in the bit vector.

commit dd43e6665d8170e6fb4ee852f0113101f46b56de
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 16:14:37 2004 +0000

    *** empty log message ***

commit cad31131e500b68c8addeec967c772dc11e34f1b
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 16:14:00 2004 +0000

    (Uniform Vectors): Added c32 and c64 docs.

commit db61edbc1011c21e1f7d30786489f9b2be82a2c8
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 15:42:02 2004 +0000

    Removed commented out code.

commit 327114a26a57e4d73816cf3fc166133feb98e9f8
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 15:41:54 2004 +0000

    *** empty log message ***

commit ab1be174c2c2e30b108718bd2e6d936b3f923517
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 15:41:26 2004 +0000

    * unif.h, unif.c (scm_array_creator): New.
    (scm_i_get_old_prototype): New.
    (scm_array_prototype): use it to return old-style prototype, never
    return creators.
    (scm_make_uve): Use scm_call_1 instead of scm_call_2 with a second
    arg of SCM_UNDEFINED.  The latter is wrong.

commit c0fc64c80697891d65ecf65b01d9ba4c21f1df8c
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:50:13 2004 +0000

    (scm_i_print_array): It's "ndim", not "rank".  D'Oh!

commit 5e9c05a1741b82fcff62685f881237378ce24a9b
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:47:29 2004 +0000

    *** empty log message ***

commit 81975bee33ea9e394861f3cce49b86923a4d659c
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:47:15 2004 +0000

    Do not install read-hash procedure for reading arrays, this is done in
    libguile now.

commit eb42ff2564fdfde5e4dea46acf6f8620e21736cb
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:45:19 2004 +0000

    (scm_lreadr): Call scm_i_read_array for all characters followinf '#'
    that can start an array.  Explicitely disambiguate 'i' and 'e' between
    introducing numbers and uniform vectors.  Do not call
    scm_i_read_homogenous_vector, since that is also handled by
    scm_i_read_array now.

commit bfad4005d2d85f34d659d919f00b55dd28b3f39d
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:41:14 2004 +0000

    (scm_make_u1vector): New, but only temporary.
    (make_uve): Removed.
    (scm_i_proc_make_vector, scm_i_proc_make_string,
    scm_i_proc_make_u1vector): New.
    (scm_init_unif): Initialize them.
    (scm_i_convert_old_prototype): New.
    (scm_make_uve): Use it to get the creator procedure.  Removed all
    old code that created old-style uniform vectors.
    (scm_array_p): Handle generic vectors.
    (scm_dimensions_to_uniform_array): Do not fill new array with
    prototype when that is a procedure.
    (scm_list_to_uniform_array): Also accept a list of lower bounds as
    the NDIM argument.
    (scm_i_print_array): Print rank for shared or non-zero-origin
    vectors.
    (tag_proto_table, scm_i_tag_to_prototype, scm_i_read_array): New.
    (scm_raprin1): Do not call scm_i_array_print for enclosed arrays,
    which I do not understand yet.
    (scm_array_prototype): Explicitely handle generic vectors.

commit 7a1aba42cf5fec31a8488330b0d959828e3e4c00
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:17:20 2004 +0000

    (scm_i_print_complex, icmplx2str): New.
    (iflo2str): Use icmplx2str for complex numbers.

commit cbdc8379762a7a565fa9e58b6d1780edd6939a73
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:10:49 2004 +0000

    (scm_i_read_homogenous_vector,
    scm_i_uniform_vector_prototype): Removed.
    (scm_i_uniform_vector_creator): New.
    (SCM_UVEC_C32, scm_c32vector, scm_make_c32vector, etc,
    SCM_UVEC_C64, scm_c64vector, scm_make_c64vector, etc): New.
    Updated all tables and generic functions to support them.
    (scm_i_proc_make_u8vector, scm_i_proc_make_s8vector, etc): New.
    (scm_init_srfi_4): Initialize them.

commit d2759570acd40f7181b4f890986d658e2c537dcc
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 29 14:06:02 2004 +0000

    (scm_take_u8vector, etc): use uvec_sizes instead of
    sizeof(CTYPE) as explained in the comment.

commit bb9f50ae10815abb5cb2cbd596baa9fdc1bcd540
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:38:04 2004 +0000

    *** empty log message ***

commit af4701b0de19f8c7daea2ee107ecd981f3439fe6
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:34:17 2004 +0000

    Removed tests that tried to store a character into a byte vector,
    which no longer works.  Characters are not bytes.

commit f984af077b86429cb249de45767f36292f5a889e
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:32:41 2004 +0000

    *** empty log message ***

commit 8d152a329bd9eb455a6d782a5795d0c6dcfc4b54
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:32:29 2004 +0000

    Added scm_take_u8vector, etc.

commit d1d2f0941c5e7d662b433e6cd7c8d8377d32ba0c
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:32:11 2004 +0000

    * convert.i.c: Convert srfi-4 style uniform vectors when
    requested.
    * convert.c (scm_c_scm2chars, scm_c_chars2scm,
    scm_c_chars2byvect): Use a s8vector instead of a scm_tc7_byvect.

commit 46d25cffa8c77140ce0e7214501824d7133bb117
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:28:05 2004 +0000

    (vector_scale, vector_scale_x): Renamed former to the
    latter, since it modifies its argument.
    (vector_scale_x, vector_sum_squares, scm_random_normal_vector_x):
    Do not use scm_universal_vector_length for non-uniform vectors.
    Use scm_f64vector_elements to access innards of uniform vectors.

commit faa00365939c4f311bac3d7f634bcc39ff0e6a61
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 19:25:14 2004 +0000

    * srfi-4.c (take_uvec): New.
    (alloc_uvec): Use it.
    * srfi-4.h, srfi-4.i.c (scm_take_u8vector, etc): New.

commit 2a7bd7383309b3beb7f31a24e94844589a48380d
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 18:29:20 2004 +0000

    (gh_chars2byvect): Reimplemented with scm_make_s8vector.
    (gh_scm2chars): Handle s8vectors, removed code for scm_tc7_byvect.

commit d315ee57b4343f10b058679778b9c7a595b1cc00
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 18:21:43 2004 +0000

    * print.c (iprin1): Removed code for scm_tc7_byvect.
    * objects.c (scm_class_of): Likewise.
    * gc-mark.c (scm_gc_mark_dependencies): Likewise.
    * gc-card.c (scm_i_sweep_card): Likewise.
    * evalext.c (scm_self_evaluating_p): Likewise.
    * eq.c (scm_equal_p): Likewise.

commit b4bdaddeed62fc0bea904170cc5fac2fea329fcd
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 18:16:26 2004 +0000

    (scm_ra_matchp, scm_array_fill_int, racp, scm_array_index_map_x,
    raeql_1, scm_array_equal_p): Handle srfi-4 uniform vectors.  Removed
    code for scm_tc7_byvect

commit 54c83b6249d2f0761fadd133f7c4a5f7c7a6c337
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 18:12:20 2004 +0000

    (scm_tc7_byvect): Commented out.

commit e0e496707beaea694fa79b4ca291dbc67abdc328
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 18:11:14 2004 +0000

    * srfi-4.h, srfi-4.i.c (scm_u8vector_elements, etc): New.
    
    * srfi-4.h, srfi-4.c (scm_uniform_vector_p,
    scm_uniform_vector_ref, scm_uniform_vector_set_x,
    scm_uniform_vector_to_list, scm_is_uniform_vector,
    scm_c_uniform_vector_lengths, scm_c_uniform_vector_size,
    scm_uniform_vector_elements, scm_uniform_vector_element_size,
    scm_uniform_vector_release): New.
    (scm_i_uniform_vector_prototype, scm_i_uniform_vector_tag): New.
    (scm_uniform_element_size, scm_uniform_vector_length): Moved here
    from unif.h, unif.c and extended to handle both the old and new
    uniform vectors.
    
    * unif.h, unif.c (scm_uniform_vector_ref, scm_array_ref): Renamed
    the former to the latter.
    (scm_uniform_vector_length, scm_uniform_element_size): Moved to
    srfi-4.h, srfi-4.c.
    (scm_make_uve): Call scm_make_s8vector for #\nul prototype.
    (scm_array_p, scm_array_rank, scm_array_dimensions,
    scm_transpose_array, scm_enclose_array, scm_array_ref, scm_cvref,
    scm_array_set_x, scm_array_contents, scm_uniform_array_read_x,
    scm_array_to_list, scm_array_prototype): Handle srfi-4 uniform
    vectors.  Removed code for scm_tc7_byvect.
    (scm_dimensions_to_uniform_array): Fill array with 0 when
    prototype is #\nul.
    (scm_i_print_array_dimension, scm_i_legacy_tag,
    scm_i_print_array): New.
    (scm_raprin1): Call scm_i_print_array for arrays.  Removed code
    for scm_tc7_byvect.

commit 7b1574ed4fe3a2b2ffa0e13a82e8cdaf6f66ef6a
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 17:39:04 2004 +0000

    *** empty log message ***

commit e6b226b9d1bb2f0b48a740a04eab2d8fde56d15b
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 17:38:51 2004 +0000

    Moved SRFI-4 docs into main part.  Moved bit vectors out of array
    section to make them more visible.

commit f51518b2dad60824a145ae86e6c317ea6fb09061
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 17:36:16 2004 +0000

    (uniform-vector?, uniform-vector-set!): Removed, now provided by
    libguile.

commit 1b11b14bfa95cb7b65f92930132b6bcee981f472
Author: Marius Vollmer <address@hidden>
Date:   Wed Oct 27 17:32:18 2004 +0000

    Include "libguile/srfi-4.h".

commit 79d521826366c8660c222758c539bcb701b384f7
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 17:05:46 2004 +0000

    *** empty log message ***

commit 85acb35ff93fc6646c875485cc7290836137d25d
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 17:05:32 2004 +0000

    Added srfi-4 to cond-expand features.

commit 0d0f372f5b67914d11ec986338f15ea1e8b658b4
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 17:01:35 2004 +0000

    Moved content into core; only the skeletons remains.

commit a4022e691e12857b9c836c4bdc5b31462b73c1b2
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 17:00:13 2004 +0000

    * read.c (scm_lreadr): Call scm_i_read_homogenous_vector for '#f',
    '#u', and '#s'.
    
    * read.h, read.c (scm_i_input_error): Renamed from scm_input_error
    and made non-static.  Changed all uses.

commit 358ebb0b7414468db557b662b2322aff772e2175
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 16:57:56 2004 +0000

    (scm_init_guile_1): Call scm_init_srfi_4.

commit 02e227755afbf8d5188e7fe6a7f792194a493e45
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 16:57:00 2004 +0000

    * srfi-4.c, srfi-4.h, srfi-4.i.c: New files, initially from
    ../srfi/ but heavily modified.
    * Makefile.am: Add them in all the right places.

commit f8579182910556822b3cd0cf0dd99bb272efd488
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 16:56:02 2004 +0000

    New files, initially from ../srfi/ but heavily modified.

commit b479fe9ae4d9a4133e91e48c02150b33c628bf74
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 26 16:53:23 2004 +0000

    (scm_i_print_double): New.

commit 22417f2f4e4cacf2052dbb5765ac60ad7e7c4478
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 25 13:41:06 2004 +0000

    *** empty log message ***

commit 6ecd21466832d7663026bd1a2d66298ff7847f96
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 25 12:52:19 2004 +0000

    Added explicit invocation of libtoolize before autoreconf so that
    libltdl/ is updated as well.

commit e64e80b09a03fd0aa94b7e7efbe1262e1422f501
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 15:14:21 2004 +0000

    *** empty log message ***

commit 0345e278f43844aba474016cbabe3383ff74a37e
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 15:13:12 2004 +0000

    * variable.c, threads.c, struct.c, stackchk.c, smob.c, root.c,
    print.c, ports.c, mallocs.c, hooks.c, hashtab.c, fports.c,
    guardians.c, filesys.c, coop-pthreads.c, continuations.c: Use
    scm_uintprint to print unsigned integers, raw heap words, and
    adresses, using a cast to scm_t_bits to turn pointers into
    integers.

commit f27d2057275751d6f028e122aac490c24dd2e2bd
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 15:11:39 2004 +0000

    Include "libguile/print.h".

commit 3350b67639ddb179f2a8251095d7e5cf73dc23e9
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:58:43 2004 +0000

    *** empty log message ***

commit 376c18e1d2307b123db4f852624994994b625e4d
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:58:34 2004 +0000

    (print_int64, print_uint64): Removed.  (uvec_print): Use scm_intprint
    for signed elemets and scm_uintprint for unsigned ones.  Do not use
    print_int64 and print_uint64 since scm_intprint and scm_Uintprint can
    handle 64 bits now.

commit c90ac3a8bcac5697c032307059a5ab967d41a16b
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:52:22 2004 +0000

    *** empty log message ***

commit a406c9e946be0179bc63106d6ea97bec91c8aaeb
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:52:09 2004 +0000

    (scm_uintprint): New, for printing scm_t_uintmax values.
    (scm_intprint): Argument type changed to scm_t_intmax.

commit 2881e77b5a00d8fa397b5c302dd60afd2de49d2d
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:50:39 2004 +0000

    (SCM_T_INTBUFLEN): Increased to cover
    scm_t_intmax values.
    (scm_uint2str): New, for scm_t_uintmax.
    (scm_iint2str): Argument type changed to scm_t_intmax,
    reimplemented in terms of scm_uint2str.

commit 77c2594f2f88fc8c2ec79126c9f04c9eb8b2d057
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:17:44 2004 +0000

    *** empty log message ***

commit ee1ac75beba4ab938759e6cac23d1ede9aa134c7
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:17:04 2004 +0000

    (quicksort, scm_merge, scm_merge_list_x,
    scm_merge_list_step, scm_merge_vector_step): Inserted SCM_TICKs at
    strategic places so that the loops can be interrupted.

commit 6191ccecf1a1bfff270b1625c5043a43236c5fbd
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:04:09 2004 +0000

    *** empty log message ***

commit a8255dca087b3ea05dbd95e0b0ddd85c1d94641d
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:01:59 2004 +0000

    * Makefile.am (INCLUDES): Use @LTDLINC@ instead of
    "-I$(top_srcdir)/libguile-ltdl".
    (libguile_la_LIBADD): Use @LIBLTDL@ instead of
    "../libguile-ltdl/libguile-ltdl.a".
    
    * guile.c, dynl.c: Switched to using libltdl directly.  Replaced
    all references to scm_lt_* with just lt_*.  Include <ltdl.h>
    instead of <libguile-ltdl.h>.

commit c62a2bb99f84fa019fc5b0c5d8ee84ad029b1d42
Author: Marius Vollmer <address@hidden>
Date:   Fri Oct 22 13:01:32 2004 +0000

    * configure.in: Call AC_LIBLTDL_INSTALLABLE instead of
    AC_LIB_LTDL.
    (AC_CONFIG_SUBDIRS): Added libltdl.
    (DLPREOPEN, LTDLINC, LIBLTDL): Moved AC_SUBST near other libtool
    stuff.  Also subst LTDLINC instead of INCLTDL.
    (AC_CONFIG_FILES): Removed libguile-ltdl/Makefile and
    libguile-ltdl/upstream/Makefile.
    
    * Makefile.am (SUBDIRS): Replaced libguile-ltdl with libltdl.

commit 77600f3e119c1f88826c339ee3f9fb3e1cfee937
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 22:51:02 2004 +0000

    *** empty log message ***

commit 14e9281bb3dc6940b69f668c99118bed853301cc
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 22:49:51 2004 +0000

    (quicksort): Copy pivot out of the array while constructing the
    partitions; it could get overwritten otherwise.  Because of the
    ultimate insertion sort, this bug did not cause quicksort to fail, it
    just put all the burdon on the insertion sort and was thus very slow.
    Thanks to Rolan Orre for reporting the slowness!

commit 192cd79259ab319a565256692a57ef4d4d72e30b
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 16:02:11 2004 +0000

    *** empty log message ***

commit 1713d319b714502df37078ed2a0bf5a3496b9ac4
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 15:59:56 2004 +0000

    * numbers.c (scm_i_range_error): New.
    * conv-integer.i.c, conv-uinteger.i.c: Use it instead of
    scm_out_of_range.

commit 3bdf7962a7cf5a73e2235d7af811ed310806e545
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 15:58:49 2004 +0000

    (scm_restricted_vector_sort_x): Validate startpos <= endpos.  State
    inclusiveness/exclusiveness if bounds in docstring.

commit 9b0018a11321247054f43156e30c89aa02d385bb
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 15:57:18 2004 +0000

    (scm_array_p): When no prototype is given, explicitely test for
    allowable types, do not simply return true.  Thanks to Roland Orre for
    reporting this!

commit 5000379b9257f8d76e11c5da4ad0bfd9047c183c
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 13:55:18 2004 +0000

    *** empty log message ***

commit e8a7ec792cdad82188373c13d8297206188820fd
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 13:55:06 2004 +0000

    (smob mark function): List admissible functions
    to call.

commit 322a2bf7a0dab6ae674b6c5880564cede4d19f47
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 13:53:17 2004 +0000

    (SCM_DEFAULT_MAX_SEGMENT_SIZE): Increase to 20 Mib.

commit c17b358f481388cf1fdb257999c2f054b7fe1af3
Author: Marius Vollmer <address@hidden>
Date:   Tue Oct 19 13:51:22 2004 +0000

    (scm_i_get_new_heap_segment): Limit size of new
    segment to scm_max_segment_size.

commit 98c712c4c372120ad4871c0433ec4885aa9b0aac
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 18 15:26:50 2004 +0000

    *** empty log message ***

commit a6b3219e8586d0859f8314e88a30dd52d5e1a2d3
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 18 15:26:41 2004 +0000

    (format:obj->str): Simplified considerably by using
    object->string or display instead of implementing our own printer.
    Handle format:read-proof here.  Unreadable objects are recognized
    by their "#<" prefix instead of by being unknown to the custom
    printer (which would treat keywords as unprintable, for example).
    (format:iobj->str): Removed.

commit fbccd84e22a3374f6eb5ebd739b6cf5382158e2d
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Oct 8 10:22:26 2004 +0000

    remove display-separated.
    (build-link): cleanup.
    (build-compile): remove space between -I and path.

commit 23ac14c0c967ba6571b959a36e4ca10fc5b79eab
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Oct 8 10:03:14 2004 +0000

    remove display-separated.
    (build-link): cleanup.
    (build-compile): remove space between -I and path.

commit 17b854014332292b88c59fa9169b42cc9f01a819
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Oct 8 09:46:23 2004 +0000

    remove display-separated.
    (build-link): cleanup.
    (build-compile): remove space between -I and path.

commit 07b99edbe88b70baec22103a70b1818cf61a932e
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Oct 7 23:42:41 2004 +0000

    (scm_igc): put scm_gc_running-- before running hooks.

commit 497eb0b7252526e3694fd50f4141c34b4ba08f7d
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Oct 7 22:52:22 2004 +0000

    (scm_double_cell): abort if GC running.
    (scm_cell): idem.

commit 1097a62cd92f57609e21dd1f2c0efa890f7a54ca
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:54:43 2004 +0000

    *** empty log message ***

commit f04cb175949d5813ed064cc4dc9e6bd69124246b
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:54:32 2004 +0000

    Synced from libguile/

commit 7719ef223450da79b8b8bbe2b50afa469faab93e
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:54:18 2004 +0000

    * api-data.texi: Removed primitive keyword section, updated
    keyword docs.
    
    * api-undocumented.texi: Moved keyword dash-symbol docs here.

commit 83e1ab6ddf36d2384880f9cb4cf9f78f9c357be6
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:52:35 2004 +0000

    (scm_wrong_type_arg): Do not talk about "argument" for
    pos == 0.

commit aef0bdb42074d471d98708ebb773d7cf9d0b9aaf
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:07:12 2004 +0000

    *** empty log message ***

commit f13b4400d3179f3dade448d7974f0ff96429b798
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:03:18 2004 +0000

    (scm_lreadr): Simply do (symbol->keyword (read)) after
    reading '#:' or ':'.  See NEWS for consequences.

commit db74ed0306511d9f44419d9d9acaeba83388d74f
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 18:00:53 2004 +0000

    Include discouraged.h and keywords.h.  Fixed silly typo.

commit d7212289db1d897825153332ea6392e62f2d6182
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 17:59:20 2004 +0000

    * keywords.c (scm_symbol_to_keyword): Use SCM_ASSERT_TYPE for a
    better error message.

commit ee4140fb99df3729337b7269e6399add44b8134d
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 17:58:40 2004 +0000

    (SCM_KEYWORD, SCM_GLOBAL_KEYWORD): Use scm_from_locale_keyword instead
    of scm_c_make_keyword.

commit 92b51af6c16ec2f71a9705678b8cc6e3d9b97008
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 17:57:39 2004 +0000

    (symbol->keyword, keyword->symbol): Removed, they are
    now implemented in C.

commit c598539a67ee576ee3c87bc3cab458c473d91762
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 17:02:53 2004 +0000

    Replaced SCM_KEYWORDP with scm_is_keyword.

commit 265a7997fb8ee78fd6fc22a184f6e2ef4f5f4946
Author: Marius Vollmer <address@hidden>
Date:   Mon Oct 4 17:02:01 2004 +0000

    * keywords.h, keywords.c, deprecated.h, deprecated.c
    (SCM_KEYWORDP, SCM_KEYWORDSYM): Deprecated and implemented in
    terms of scm_is_keyword and scm_keyword_dash_symbol.
    
    * keywords.h, keywords.c, discouraged.h, discouraged.c
    (scm_make_keyword_from_dash_symbol, scm_keyword_dash_symbol,
    scm_c_make_keyword): Discouraged.
    
    * keywords.h, keywords.c (scm_symbol_to_keyword,
    scm_keyword_to_symbol): Implemented in C.
    (scm_is_keyword, scm_from_locale_keyword,
    scm_from_locale_keywordn): New.

commit c454c4e6245d565d6be5f5d4468e00f428082214
Author: Dirk Herrmann <address@hidden>
Date:   Sun Oct 3 06:15:22 2004 +0000

        * tests/syntax.test: Added tests for unmemoization.

commit 6a0813c35db75ebd0abdd892ac3da7e19f92ec05
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 30 11:59:36 2004 +0000

    *** empty log message ***

commit b144a33c42a0accc36fcc37732df4193b07919fa
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 30 11:58:26 2004 +0000

    (string-set!): Explicitely construct read-only string.  String
    literals are not yet read-only.

commit 6a1d27ea08a09a3ce776c73e2b47d051383db086
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 18:13:40 2004 +0000

    Added section about highlighting in backtraces.

commit 43c256263564bf40732cf85617b8c107a2485b7d
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 18:07:38 2004 +0000

    *** empty log message ***

commit 86316378943a5df39988cb2a9aa5a39febda15f0
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 18:01:36 2004 +0000

    (scm_lreadr): Revert change from 2004-09-22: string literals are now
    read-write again (until SCM_STRING_CHARS is removed).

commit 767882a09d0999a478740a7988cb683fa5e54c5b
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 17:59:32 2004 +0000

    Removed section about string literals being read-only.

commit 556d75dbb84a1f6cd7c98f75fb794904581ed968
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 17:58:39 2004 +0000

    (SCM_STRING_CHARS): Explicitely reject read-only strings with an error
    message that blames SCM_STRING_CHARS.

commit 81ae25da8ce98b358d7312a64b2341369976076d
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 17:53:40 2004 +0000

    (SCM_PRINT_HIGHLIGHT_PREFIX,
    SCM_PRINT_HIGHLIGHT_SUFFIX): New printer options.
    (scm_iprin1): Use them instead of the previoulsy hardcoded
    strings.
    (scm_init_print): Initialize them.

commit a2902ecb90d8e15e8e8ac5f4cc376f92f250a8b8
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 17:52:10 2004 +0000

    (change_option_setting): Use scm_car instead of explicit type check
    plus SCM_CAR.

commit 22e47f69ae4da020c3dcefcc346b63076b2d23a3
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 17:40:11 2004 +0000

    (display_frame_expr): Do not remove control characters from the final
    string.  Print it directly using scm_display.

commit 818deb11583f4173a709c1de31b9f89332f12474
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 15:50:24 2004 +0000

    *** empty log message ***

commit 400f0fb716df6c2c8bdd89dec0f8db763e47db74
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 15:49:38 2004 +0000

    (array-equal?): New test.

commit 4f943a29c2da33d5e3e595e2cf78870c04b89523
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 29 15:48:21 2004 +0000

    (scm_array_equal_p): Include scm_tc7_svect in switch.  Thanks to
    Roland Orre!

commit d748089e17307514b610a2c6f9d7d9adfe8a91f7
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 28 23:55:54 2004 +0000

    *** empty log message ***

commit 38923713f1c1d43ce09d46a1c3d0ed6b996dd4b9
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 28 23:53:02 2004 +0000

    (match:string): New tests.

commit 21682b207e95c313cc92b4bf179b9c3c28bcb801
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 28 23:50:21 2004 +0000

    (scm_regexp_exec): Correction to last change, should
    be whole original string in match struct, not offsetted substring.

commit 5cc183a12f7f6ff917c700867dd4a05ff88bc248
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:57:59 2004 +0000

    *** empty log message ***

commit 31af633ae26f3e5507e906b0d0ce35f396e399ff
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:57:16 2004 +0000

    New file.

commit cfbd0f35452540438614fb9436e3714686c145c8
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:40:32 2004 +0000

    *** empty log message ***

commit b6540274ad0944da73c7535878c49cc18313e864
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:39:00 2004 +0000

    Do use AM_GNU_GETTEXT, since gettextize is not run
    with autoconf 2.59.

commit 05d7cf89911037b9b0190c663c4891d16d276d76
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:35:09 2004 +0000

    Fixed some typos.

commit 63fab732a26e188041e749884135405075d1f832
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 28 19:33:40 2004 +0000

    New version, from automake 1.9.

commit e8bbb32ba7b06b0a7c84ebb7774a0f097e82f26d
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:36:34 2004 +0000

    *** empty log message ***

commit 71abb27125c129f9b58c01cb8f7aae08144ff941
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:35:59 2004 +0000

    (Streams): New section.

commit 456f797bace7deb27df7d9418ec3ecfe9527e40d
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:33:29 2004 +0000

    (Block Comments): More cindex entries.

commit 4846ae2c96fd6be234d49a4cb0e0174f6c1c22d2
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:32:24 2004 +0000

    (Conversion to/from C): Braces {} around char* return.

commit 458dd501aa401c86ee26651214f9a462667546dd
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:29:20 2004 +0000

    (Streams): New section.

commit e5c2d5c87f2f55184cdb97de5e14767466bd2492
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:09:03 2004 +0000

    *** empty log message ***

commit 927a122ddebf1eecce2ebaa82d4e11e27c1dbe5e
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:08:32 2004 +0000

    (let-keywords, let-keywords*, let-optional,
    let-optional*): Add tests of internal defines when no bindings.

commit cdd69fd85821ab8cbcb412dd732ac4e529df5bbf
Author: Kevin Ryde <address@hidden>
Date:   Sat Sep 25 22:06:01 2004 +0000

    (let-optional-template, let-keywords-template): Change
    "(begin body)" to "(let () body)" for empty bindings, since the former
    allows "internal defines" in body leak out to the surrounding
    environment.

commit 32540d858c681b3aef917b7a76c9dbc6ad5aabdb
Author: Marius Vollmer <address@hidden>
Date:   Sat Sep 25 01:02:09 2004 +0000

    *** empty log message ***

commit ac3260868a2e0ec0d62aaec55fd52ee76436003a
Author: Marius Vollmer <address@hidden>
Date:   Sat Sep 25 01:01:42 2004 +0000

    Do not use AM_GNU_GETTEXT for now, it causes gettextize to run during
    autogen.sh, which we do not want.  Explicitely check for libintl,
    gettext, bindtextdomain, and textdomain instead.

commit effad63994cf3bd8ebab8e22863bb78e293cea9a
Author: Marius Vollmer <address@hidden>
Date:   Sat Sep 25 00:09:58 2004 +0000

    *** empty log message ***

commit 7108b7b8b20109a746709700d9d86f727ac71755
Author: Marius Vollmer <address@hidden>
Date:   Sat Sep 25 00:09:45 2004 +0000

    (AM_LDFLAGS, LD_FLAGS): Use AM_LDFLAGS
    instead of LDFLAGS; the latter is a user variable.

commit 4daacceed2c6490e96497ee1d430998e5bd5405d
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 23:11:20 2004 +0000

    *** empty log message ***

commit 1a82e3704624f3a45ac33d11d47665ba01d203bd
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 23:11:09 2004 +0000

    More words abot what a free function is allowed to do.

commit 0ff7e3ff22cc415cc8305e4a6869141d05ee35b1
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Sep 24 09:23:44 2004 +0000

    (scm_gc_unprotect_object): abort if called during GC.

commit 2edf319f0acdc80df0f75e4b6a1c3dce3c56c2f8
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:12:50 2004 +0000

    *** empty log message ***

commit b6e738d17795b2a4a9b131021a30fd3f16770924
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:12:09 2004 +0000

    * Makefile.am (EXTRA_DIST): Added gettext.h.

commit 43631debba90475dcde3a55275840daddb35831d
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:11:03 2004 +0000

    Updated from manual.

commit 48d8f65992f77afcccb0036dd856015deaa84acb
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:10:38 2004 +0000

    Updated output of example.

commit 818d24b5522222c2f262bede3f81df08ab581128
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:07:41 2004 +0000

    Bugfix in example code, use SCM_NEWSMOB
    correctly.  Use scm_assert_smob_type instead of SCM_ASSERT
    baroqueness.

commit 52191b37dde9e9606e96ad177f6bedcd93539f0f
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:06:01 2004 +0000

    Added scm_assert_smob_type docs.

commit f7e666545025dababb029a1dfcfd858a27d67805
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 02:05:18 2004 +0000

    Include <gmp.h> outside of extern "C" block.  (Note that numbers.h
    still includes gmp.h to make it self-contained.)

commit a8d7ba11650fa53da2cdffe615d64c1f3005c2b1
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:50:55 2004 +0000

    (GUILE_LIBS): fixed typo.

commit d180337bc3e5766acd2a276d1099aaf57d7f4946
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:46:59 2004 +0000

    *** empty log message ***

commit 197b057336554d456bd6c5197e9431f979328dc1
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:46:09 2004 +0000

    (scm_assert_smob_type): New.

commit ad7de4b857725d5324ba53f2a9628ab31f103548
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:30:38 2004 +0000

    *** empty log message ***

commit ae90bbb5b94b783e49c2b236f5da3ef040b5aca6
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:30:23 2004 +0000

    (test_cflags, LDFLAGS): Include
    GUILE_CFLAGS.

commit 5bbc535901a607cb7181a122f6b76b24e4ec90f9
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:27:48 2004 +0000

    (guile_CFLAGS, guile_LDFLAGS, libguile_la_CFLAGS, ):
    Include GUILE_CFLAGS.
    (libguile_la_LIBADD): Removed THREAD_LIBS_LOCAL, which is unused
    now.
    (libpath.h): Put GUILE_CFLAGS in the build-info.

commit 84adbbc8905995b65f48ba26b63d3b69c637508d
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:24:33 2004 +0000

    *** empty log message ***

commit d8b1bb9387c8d6a4d601557d627ee4b387f44375
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:24:00 2004 +0000

    Do not include PTHREAD_CFLAGS in CFLAGS, CFLAGS is
    for the user and is often overwritten temporarily.
    (GUILE_CFLAGS): New, include PTHREAD_CFLAGS here.
    (GUILE_LIBS): Remove THREAD_LIBS_INSTALLED, which is unused now.

commit c5c5a1acca3a0b83de57d4e0c8d1436adb3eeabb
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:19:16 2004 +0000

    *** empty log message ***

commit 89acd190b80df645c154a7d62aa8b81ec38070a1
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:19:05 2004 +0000

    (build-link, build-compile): Include CFLAGS in output.  This is needed
    to get "-pthread" into the builds, for example.

commit d9ffc9f7b1d2185a758926eec777839936f72f7b
Author: Marius Vollmer <address@hidden>
Date:   Fri Sep 24 01:17:06 2004 +0000

    (EXTRA_DIST): Removed qthreads.m4.

commit 4f2f31a39015e161447640f37ea5e3fc3c82f46b
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 23:09:03 2004 +0000

    Synched docstrings from libguile/

commit 8dbafacdfdab63de0224b28b4b44c993526f260b
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:51:10 2004 +0000

    Mention gettext.

commit 78cfee70d7150c67cf9fa18482a56893003b84a4
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:47:04 2004 +0000

    *** empty log message ***

commit 7cd44c6dce7ec0d6dcc1fcdff7ebfc07ee50ec72
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:46:49 2004 +0000

    Updated docstrings from libguile/

commit 089a0a349eddcbcd6b6dfe706207c9aa4bf6ccf2
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:45:54 2004 +0000

    * api-i18n.texi: New file.
    * Makefile.am (guile_TEXINFOS): Added it.
    * guile.texi: Include it.

commit fd936c9173aca3d5ab7c05a46c541c2179f6a688
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:45:35 2004 +0000

    * api-i18n.texi: New file.
    * Makefile.am (guile_TEXINFOS): Added it.

commit e5e5007d34771c85c992b4eb125f182cbe9e145d
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:43:37 2004 +0000

    Synched from libguile/

commit c648c6815006eeac3f24224ffa9d0f622887f3d6
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 18:42:59 2004 +0000

    Docstring fixes.

commit c9fedf8adae808e74e865cce0ed2ab52713e1f1f
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:58:07 2004 +0000

    *** empty log message ***

commit a47d845fd4a5579b922f0e62099cbbf415170754
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:57:55 2004 +0000

    (exception:out-of-range, exception:wrong-type-arg):
    Accept new wording.

commit 5d8d08494bcb56338c9f05e2dbbef6dda67aaab5
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:56:10 2004 +0000

    (handle-system-error): Pass rest argument to
    display-backtrace for wrong-type-arg and out-of-range errors so
    that the bad value gets highlighted.

commit aa79839aac0b652cabb2d486609cb06bcd34f7a7
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:53:54 2004 +0000

    (handler_message): The rest argument is the fourth
    argument, not everything after the third.  Call
    scm_display_backtrace_with_highlights, passing the rest argument
    when appropriate.

commit 2b55be7547e4afb5fc4a6b61f763c489bb3632e3
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:51:53 2004 +0000

    (scm_display_backtrace_with_highlights,
    scm_backtrace_with_highlights): New.  Set highlight_objects of
    printstate.

commit cdd8c0912872cd94867bbfaf681661681343cb10
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:48:25 2004 +0000

    (scm_error_scm): Document new meaning of data/rest
    argument for out-of-range and wrong-type-arg errors.
    (scm_out_of_range, scm_out_of_range_pos, scm_wrong_type_arg,
    scm_wrong_type_arg_msg): Pass bad_value in rest argument of
    exception so that it gets highlighted in the backtrace.
    Don't talk about "argument" when not giving a position.

commit d232520a23677ac22435e6c3144e8634376cb295
Author: Marius Vollmer <address@hidden>
Date:   Thu Sep 23 17:44:40 2004 +0000

    * print.h (scm_print_state): Added highlight_objects.
    * print.c (make_print_state, scm_free_print_state): Initialize it
    to SCM_EOL.
    (scm_iprin1): Wrap output in '{...}' when object is contained in
    highlight_objects.

commit d5ac9b2a8c46dbe1bbe074cd93cb9e6693073bd6
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 21:57:30 2004 +0000

    *** empty log message ***

commit 9361f7621b76bd4e8a6bdf18f4fdc00d531d9d70
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 21:54:50 2004 +0000

    * i18n.c: Handle --disable-nls (thanks Bruno).
    
    * posix.c (scm_init_posix): Add LC_PAPER, LC_NAME, LC_ADDRESS,
    LC_TELEPHONE, LC_MEASUREMENT, LC_IDENTIFICATION.
    
    * i18n.c (scm_i_to_lc_category): New name and export.  Support all
    LC categories.
    
    * posix.c (s_scm_setlocale): Use it.
    
    * i18n.h, i18n.c (scm_textdomain, scm_bindtextdomain,
    scm_bind_textdomain_codeset): Make wrappers similar to C function
    they wrap.
    
    * i18n.h: New file.
    * i18n.c: New file.
    * gettext.h: New file, taken from GNU gettext.
    * init.c: Include libguile/i18n.h.
    (scm_init_guile_1): Add call to scm_init_i18n().
    * Makefile.am (libguile_la_SOURCES): Add i18n.c.
    (DOT_X_FILES): Add i18n.x.
    (DOT_DOC_FILES): Add i18n.doc.
    (libguile_la_LDFLAGS): Add @address@hidden
    (modinclude_HEADERS): Add i18n.h.

commit 886865552429b644207417f0f220d07280d8da87
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 21:54:30 2004 +0000

    * i18n.h: New file.
    * i18n.c: New file.
    * gettext.h: New file, taken from GNU gettext.
    * init.c: Include libguile/i18n.h.
    (scm_init_guile_1): Add call to scm_init_i18n().
    * Makefile.am (libguile_la_SOURCES): Add i18n.c.
    (DOT_X_FILES): Add i18n.x.
    (DOT_DOC_FILES): Add i18n.doc.
    (libguile_la_LDFLAGS): Add @address@hidden
    (modinclude_HEADERS): Add i18n.h.

commit 6e4ea094be309cb486852e69c02e260d8a8b5ada
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 21:53:46 2004 +0000

    Refer to scm_string_copy_x as a subst for gh_set_substring.

commit 83cd507cc75812ef5f6140947196e2b46c3783aa
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 21:53:07 2004 +0000

    Add AM_GNU_GETTEXT invocation.  From Bruno Haible.

commit 2cdfe0169518a309587337f0a33685b731fb85e9
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:49:30 2004 +0000

    *** empty log message ***

commit 5e9e56edda48769a9a134d6ff1067538a0e9ac86
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:48:13 2004 +0000

    Replaced SCM_CAR, etc with scm_car, etc.

commit a7633ed60e34146568f622c351cb8d81e8deb41f
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:46:55 2004 +0000

    Mention scm_car, etc as the replacement for gh_car, etc.

commit 7f4c83e3b476a79818e6ee54b248933270a4489f
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:46:37 2004 +0000

    Document scm_car, scm_cdr, scm_caar, scm_cadr, etc.

commit d2e53ed6f84df8c79f4bf5cf41d4f6d381bc065b
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:41:37 2004 +0000

    *** empty log message ***

commit a61f4e0c61695e17984b25b16fbf720b851b739c
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:38:44 2004 +0000

    (scm_eval, scm_apply, call_cxr_1): Use scm_i_chase_pairs
    instead of explicit code.

commit 6fcc7d48e4940941e70ad820d74ea3880e6840d7
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 17:37:01 2004 +0000

    * discouraged.h, tags.h (SCM_CONSP, SCM_NCONSP): Moved to
    discouraged.h.  Replaced all uses with scm_is_pair.
    (SCM_I_CONSP): New name for SCM_CONSP.
    
    * pairs.h, pairs.c (scm_is_pair, scm_is_null, scm_car, scm_cdr,
    scm_i_chase_pairs, SCM_I_A_PAT, SCM_I_D_PAT, etc, scm_caar,
    scm_cadr, etc): New.
    (SCM_NULLP, SCM_NNULLP): Moved to discouraged.h.  Replaced all
    uses with scm_is_null.

commit 5dd82006b0ff97ce05c87cf615c544a25b2c4f6d
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 15:23:20 2004 +0000

    *** empty log message ***

commit ddda5e8fa775c354f9e1854dfecbb23359febcc3
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 15:21:00 2004 +0000

    (scm_car, scm_cdr, scm_i_chase_pairs, SCM_I_A_PAT, SCM_I_D_PAT, etc,
    scm_caar, scm_cadr, etc): New.

commit b50c53e55f2c6010de964ec35fa8cdbd9a17372f
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 15:06:47 2004 +0000

    *** empty log message ***

commit 4a310f1c92cc8460ee477571f35c5401b482f918
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 15:03:17 2004 +0000

    (scm_string_contains, scm_string_contains_ci): Reworded logic a bit so
    that #f is returned immediately when s1 is too short to contain s2.

commit ce7c0293cb4097d21026a024eb08aa4907cdb956
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:59:23 2004 +0000

    *** empty log message ***

commit 052567604f2b90eaaa93bafea4898d3af030551b
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:46:18 2004 +0000

    Docs for substring/read-only.

commit 5dfdf243d2521287e4579905c01f88ee1015d987
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:43:50 2004 +0000

    *** empty log message ***

commit 77d0383ae35d53c79934564e83c89e282b4b9fd3
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:33:00 2004 +0000

    *** empty log message ***

commit d7e4c2da23feae8c135384af3d4ace1130d7c517
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:32:47 2004 +0000

    * tests/ports.test ("string ports"): Copy string literal so that
    it can be modified.
    * tests/srfi-13.test ("string-copy!"): Likewise.
    * tests/strings.test ("substring/shared"): Likewise.

commit e4cbd1d8aacd37a427705d8b3e60192076efe962
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:25:47 2004 +0000

    ("string ports"): Copy string literal so that it can be modified.

commit 1eff9c2f70d6995b7010d1e6239dfed073f30bf1
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 14:21:52 2004 +0000

    (scm_regexp_exec): Convert string to zero-temrinated locale string
    before matching against it.

commit ec82b7c251e0d6e3dfa199d74ffa814906b3c4b5
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 13:55:15 2004 +0000

    (scm_lreadr): use scm_c_substring_read_only for string
    literals, thus making them read-only as specified by R5RS.

commit ed35de727aeaa9f376b51439041151fb8cd899a5
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 22 13:54:15 2004 +0000

    (scm_substring_read_only,
    scm_c_substring_read_only, scm_i_substring_read_only): New.
    (RO_STRING_TAG, IS_RO_STRING): New.
    (scm_i_string_writable_chars): Bail on read-only strings.

commit 22ab5ba3d2247a6c62c1216f1486a46a3e4f62d7
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 22:05:51 2004 +0000

    *** empty log message ***

commit 789d2fc8dd1c9fe0bd42358bc3dc8aed419dfd50
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 22:05:11 2004 +0000

    (scm_equal_p): Allow smobs with different flags to be equal by testing
    for smobs before insisting on equal SCM_CELL_TYPES.

commit 0d83cb901c103ab58ed970eb8f3b12bd828d824e
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 00:44:29 2004 +0000

    *** empty log message ***

commit 0896292232a4b837e15e3ee6acdc68e4b2ae8fd6
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 00:43:34 2004 +0000

    docs for scm_to_mpz and scm_from_mpz.

commit cd0362604b117133b49bb18596c59143dbf7d14f
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 00:42:30 2004 +0000

    Include <gmp.h> in numbers.h, not in
    numbers.c.
    (scm_to_mpz, scm_from_mpz): New.
    Thanks to Andreas Vögele!

commit 9c0485fce24cb96796265f0602cb092fa8410de1
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 00:10:02 2004 +0000

    *** empty log message ***

commit 75bfae860ab010c571193af96b6c41f403c6d9f1
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 21 00:09:47 2004 +0000

    * acinclude.m4 (ACX_PTHREAD): New.
    * configure.in: Use it instead of simply looking for -lpthread.
    Thanks to Andreas Vögele!

commit 2663421ccfc72794f97721068350ab114c7149a1
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 23:56:37 2004 +0000

    *** empty log message ***

commit ef80ed5ebc20f1c40868f0d015553905dfa5cf18
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 23:55:38 2004 +0000

    (skip_scsh_block_comment): Recognize "!#" everywhere, not just on a
    line of its own.

commit 1a82a4606c91ed199185c859d049b7907ed20462
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 22:50:31 2004 +0000

    (scm_string_any, scm_string_every,
    scm_string_tabulate, string_upcase_x, string_down_case_x,
    string_titlecase_x, string_reverse_x, scm_string_tokenize): Use
    size_t instead of int for indices into strings.  Make sure that no
    over- or underflow occurs.  Thanks to Andreas Vögele!
    (scm_xsubstring, scm_string_xcopy_x): Use ints for 'extended'
    indices, which can also be negative.

commit b00b73f98faf54a2e817fe514353999e4f03f190
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 21:48:18 2004 +0000

    *** empty log message ***

commit 274acbda3f07da658b2e86ae88d0ff6f804fe3e2
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 21:47:41 2004 +0000

    Fixed comment.

commit b17810e6f0c59baea2a88bc497c80852ed757ca1
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 21:47:09 2004 +0000

    (SCM_MARK_BACKING_STORE): Removed, it was unused.

commit 591527227078eb08eae923f952d319a35038b970
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 21:46:07 2004 +0000

    (scm_threads_mark_stacks): Call SCM_MARK_BACKING_STORE.  Also, do not
    use stack_len local, it was only used once.

commit 55cfebdfa336853a1762b17731b6e723a31b1420
Author: Marius Vollmer <address@hidden>
Date:   Mon Sep 20 21:41:49 2004 +0000

    *** empty log message ***

commit c5fa4dff01ce8206804ed7205669bbf1744fc7e5
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 15 22:33:13 2004 +0000

    *** empty log message ***

commit 0b8b0a3f7b634dc2ca78bd46f32af5d9a8d8b61b
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 15 22:30:59 2004 +0000

    (Equality): Revise for clarity.

commit adba74f3a6350434a3369121f7372ce593082832
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Sep 14 21:10:56 2004 +0000

    2004-09-13  Jan Nieuwenhuizen  <address@hidden>
    
        * srfi-13.c (scm_string_contains, s_scm_string_contains_ci):
        Bugfix: when subtracting unsigned values, make sure that result
        does not wrap.

commit 2bd2014d986312825378275d2c87180b5d33f479
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 23:19:23 2004 +0000

    *** empty log message ***

commit ce08a4012bca6c88627b293b06f378e45d8dfe1f
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 23:16:53 2004 +0000

    (time-proc): Make result inexact, since format ~f doesn't
    support fractions currently.

commit 1c923ba760273082c859d3407262ecb00c7c455c
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 23:14:34 2004 +0000

    *** empty log message ***

commit f6de32c81776e0e0dccf8823ca862b00a069f8cd
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 23:04:08 2004 +0000

    *** empty log message ***

commit 148c3306f6c3268244d53ac95b83dd9e053e1a3c
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 22:51:08 2004 +0000

    New file.

commit f749e803fdb303288239f13e6caf80ea0b0f2cae
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 22:43:10 2004 +0000

    (stream-for-each-many): Correction, should recurse into
    itself, not stream-for-each-one.

commit 464ee095ff7320be43e67edcc99829237eeff901
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 22:14:59 2004 +0000

    (_POSIX_C_SOURCE): Use this only on hpux, it
    causes too many problems elsewhere (glibc, freebsd, mingw).  Reported
    by Andreas Vögele.

commit eb8d0af1f5edeb977fcfbf9df7be5c3432b55528
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 17:15:43 2004 +0000

    *** empty log message ***

commit f731051e389f6f0b5a13e67e14238c2fe3ce818b
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 17:15:21 2004 +0000

    (EXTRA_libguile_la_SOURCES): Removed "alloca.c".

commit 31e4c69e95bc77b7f701348a32ffc8374ad8a0e5
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 17:15:13 2004 +0000

    Fail when alloca can not be found natively.

commit 062f47121f92a343ee6b122c18a7143880c6aabb
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 17:01:34 2004 +0000

    *** empty log message ***

commit 23250770073ff6167c1bb8499244b7bfcbbae8c8
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 17:00:04 2004 +0000

    Synced from libguile/

commit 719305cfe6400454cd73815669c5784ca3ec7f45
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 16:59:49 2004 +0000

    (integer-expt): Updated from docstring.

commit 0b49c6452b754a3c18850b00b31b8705422ec094
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 16:20:21 2004 +0000

    *** empty log message ***

commit 6005b7a23522ee8857d34d0c024bca74b6af1d2b
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 16:19:51 2004 +0000

    Don't expect (expt 1/2 2.0) to yield an exact result, use (expt 1/2 2)
    instead.

commit be2540fa56d1bcfc756c8ae18851a894fc7f9365
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 16:18:29 2004 +0000

    (scripts_sources): Added snarf-guile-m4-docs.

commit 6ef7423a416d931aa94006d91ab36d4a6f5a622c
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 16:17:55 2004 +0000

    (CLEANFILES, MAINTAINERCLEANFILES): Moved autoconf-macros.texi to
    MAINTAINERCLEANFILES.  It is in the tarball and we shouldn't clean it,
    then.

commit e548be5fe6e9c85046bd3c46134f05897646f497
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 14:36:16 2004 +0000

    *** empty log message ***

commit bdb112ea6bfde57fbc40f5da0593160b511da9cd
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 14:34:51 2004 +0000

    (expt): Only call integer-expt for an exact integer exponent, not for
    an inexact integer one.  Also, let integer-expt handle negative
    exponents instead of doing it here.

commit 0e12d408bd26355481fae0a66c38d2ef1367cea0
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 14:32:47 2004 +0000

    (real_eqv): Pretend that all NaNs are equal.

commit 0bafe73b5d8db61f5650a0e4bda2be04e2c3b85f
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 14:09:01 2004 +0000

    (scm_integer_expt): Do not accept inexact integers.

commit 874fbad1169141925c12e41768dd8d4a67d6de97
Author: Marius Vollmer <address@hidden>
Date:   Wed Sep 8 10:37:38 2004 +0000

    *** empty log message ***

commit 05414844e1885e26030bd5c7f3b89857ab4f6ea9
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 01:23:35 2004 +0000

    *** empty log message ***

commit e456f08e2492e8d1c518a068109246228ea590c9
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 01:22:37 2004 +0000

    Correction to:
        (integer?): Exercise nan and +/-inf.
    
    +/-inf should be #t.

commit 7424deab5dba9d334f57d71ba8c0753dab546ecd
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 01:20:52 2004 +0000

    (port-column): Further tests, of new \a \b \r.

commit 1e35a229f0ecb98ac04eb4a9ee839af5e6f722e5
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 8 01:03:06 2004 +0000

    Revert this:
        (scm_integer_p): +/-inf is not an integer.

commit 616775edb77c455b20f1c9500fa1ac6486fe1d4b
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 7 13:48:49 2004 +0000

    (scm_string_trim_right, scm_string_xcopy_x): Correctly use size_t for
    some locals instead of int.

commit e7acba81f1353f1c86cba11e34b97aeb2a9e3b41
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 7 09:19:24 2004 +0000

    *** empty log message ***

commit 0520c3208871adbf487a2132379622a5bccddbff
Author: Marius Vollmer <address@hidden>
Date:   Tue Sep 7 09:18:59 2004 +0000

    (scm_flush_ws): Detect "#!"-style comments here.
    (scm_lreadr): Abort on seeing "#!", which should no longer happen.
    (skip_scsh_block_comment): Use scm_input_error instead of
    scm_misc_error in case of EOF.

commit 242a43b5b3d87e7b2babb1b0accb19fade42543b
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 01:06:20 2004 +0000

    *** empty log message ***

commit 01357a75f06545a88fae1a09a9fd396bbdb4b31a
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 01:02:12 2004 +0000

    (System Identification): Remove software-type, it doesn't
    exist in the guile core.

commit 633acbe208d7110ed9a68619d071b0cc8b8dd087
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 01:00:25 2004 +0000

    (SRFI-10): Revise and expand.

commit 5de126589a9a39513f9131516dcc5a6ee3a4ba48
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:36:48 2004 +0000

    *** empty log message ***

commit af1323c50c19169ec0a023b48205d6bb05f1437c
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:33:33 2004 +0000

    (Parallel Forms): In parallel, letpar, par-map,
    n-par-map and n-for-each-par-map, describe each form as being in its
    own thread, not a new thread, since for instance the calling thread is
    used when only one form.  Plus typo in n-for-each-par-map example
    equivalent for-each + n-par-map.

commit bdd46043c02b6fa8cf5f62df15d4e3bf810151ba
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:30:44 2004 +0000

    (Locales): Use @var for category arg.

commit f0d9412e6a5d1337b6431a2c48f3b312d2283971
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:28:54 2004 +0000

    *** empty log message ***

commit 0ef5ee469dab9b37b1246c83f8f3d44f989da50e
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:28:14 2004 +0000

    (let-keywords Reference): Typo, should be let-keywords* @deffnx.

commit 20e0b1661a995fa6354d022116b9cc12f4516a50
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:26:48 2004 +0000

    (scm_access): Update docstring per manual.

commit 9268038891510bfd2f9d7136c948ba477a1ae446
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:23:39 2004 +0000

    (SCM_ZEROCOL, SCM_DECCOL): New macros.

commit a727f4f62936ecd2942a7001bcc83c1ba9a59c17
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:22:19 2004 +0000

    (scm_getc, scm_lfwrite): Recognise \a \b and \r for port column.

commit c1122753ac5adcbdaa571a10f11d2f29c6defa0b
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:20:37 2004 +0000

    (integer-expt): New tests, of infinite exponents.
    (integer?): Exercise nan and +/-inf.

commit c59e0b9fb102b2320c62edca81f397fc348b9668
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:17:49 2004 +0000

    (gmtime, strptime): New tests, but unresolved.
    (internal-time-units-per-second): New test.

commit 763313a2194830fcaadd2ae90b15af1a383e8ca6
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:15:48 2004 +0000

    (scm_current_time, scm_gettimeofday, scm_strptime): Don't
    throw error before unlocking mutex with SCM_ALLOW_INTS.

commit 8bddb01ebba8bd1b0c60fd7fc820705259f16b44
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:12:45 2004 +0000

    (scm_integer_expt): Reject exponent +/-inf.
    (scm_integer_p): +/-inf is not an integer.
    Bug report by Bill Schottstaedt.

commit f1c82f55b9ac75e6bb965c7e9c26668db2b02a2e
Author: Kevin Ryde <address@hidden>
Date:   Tue Sep 7 00:06:18 2004 +0000

    (scm_nice): Correction to error detection.  Reported by
    Matthias Koeppe.

commit e227addf97f55ba78c1d248d94b7bee3002452e6
Author: Kevin Ryde <address@hidden>
Date:   Mon Sep 6 01:47:50 2004 +0000

    *** empty log message ***

commit 8a74f7f502ee24df5bbaa73f7e1c52a28ef4ce6a
Author: Kevin Ryde <address@hidden>
Date:   Mon Sep 6 01:29:04 2004 +0000

    (SCM_TIME_UNITS_PER_SECOND): Use sysconf(_SC_CLK_TCK) when
    available.  This also gets around CLK_TCK being absent when
    _GNU_SOURCE and _POSIX_C_SOURCE are defined in stime.c.

commit edea856ce5ace366441ca91484f69c307e629f96
Author: Stefan Jahn <address@hidden>
Date:   Fri Sep 3 19:45:37 2004 +0000

    2004-09-03  Stefan Jahn  <address@hidden>
    
            * configure.in (isinf): Let configure find the isinf() function
            on MinGW32 systems.
    
    2004-09-03  Stefan Jahn  <address@hidden>
    
            * threads.c (scm_threads_mark_stacks):  Fixed local variable
            definitions.
    
            * strings.c (scm_i_substring_copy, s_scm_string_append): Fixed
            local variable definitions.
    
            * stime.c (_POSIX_C_SOURCE):  Do not define this item on
            MinGW32 because it conflicts with its pthread headers.
            (s_scm_mktime): Consider the HAVE_STRUCT_TM_TM_ZONE define.
            (s_scm_strftime): Using scm_from_locale_string() instead of
            scm_makfrom0str().
    
            * posix.c (s_scm_putenv): Fixed typo in the !HAVE_UNSETENV
            part.
    
            * numbers.c (scm_init_numbers): Removed check_sanity() call
            inside GUILE_DEBUG.  The function has been removed somewhen...
    
            * filesys.c (_POSIX_C_SOURCE): Do not define this item on
            MinGW32 because it conflicts with its pthread headers.
    
    2004-09-03  Stefan Jahn  <address@hidden>
    
            * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because
            lst1 is a #define on Win32 systems.

commit 23311fb045a0dae78571c270a927e73c7c193060
Author: Kevin Ryde <address@hidden>
Date:   Thu Sep 2 00:13:20 2004 +0000

    *** empty log message ***

commit 471d2c6d226415997e7de4f72402f9197d451d8f
Author: Kevin Ryde <address@hidden>
Date:   Thu Sep 2 00:12:44 2004 +0000

    (Formatted Output): Excess arguments are ignored.
    In ~*, correction N parameter cannot be negative.  In ~t, note
    port-column used.

commit b8d9526775e436d0d75843c6e2197adb95c1ca6e
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:49:01 2004 +0000

    *** empty log message ***

commit d8b189d2c3c6e16a1c3896159821ffc4e178887a
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:36:47 2004 +0000

    New tests of excess arguments now ignored.

commit 301cf4e61c76b4a593f7852c4b16e6dcd55d726c
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:33:16 2004 +0000

    (format:out): Ignore excess arguments, per common lisp.

commit 260ffd61184773c047eadc76d8dbc35d5e5ea5c8
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:17:11 2004 +0000

    (format:out-num-padded): Print "+" on 0 under @ modifier.

commit a8cb8832af32fcbc5d5687e4b40af7ac05d6c48f
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:10:23 2004 +0000

    Oops, didn't mean to put ~t yet.

commit df47ddf0e292d40fbbbf74e79373bfd85dff16e1
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 23:05:19 2004 +0000

    *** empty log message ***

commit 992b375d61a25c3ea96a77b1552a45736ca15c9f
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 22:54:28 2004 +0000

    (address@hidden): New tests.

commit 7dd381c5e158e9bf666dabee78d9067cc71f7067
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 01:50:26 2004 +0000

    *** empty log message ***

commit 155c14a0807505dd22605fe2a0a46d8bb979d57b
Author: Kevin Ryde <address@hidden>
Date:   Wed Sep 1 01:46:19 2004 +0000

    2004-09-01  Han-Wen Nienhuys <address@hidden>, Kevin Ryde <address@hidden>
        * tests/gc.test: Exercise record in weak-values hash table, exposing a
        problem in 1.6.4 gc, but believed fixed by other changes in the head.

commit 56828faf321c042b58727fccd00846dfed2ffe87
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 28 22:18:19 2004 +0000

    *** empty log message ***

commit 6b1a6e4cefcd5bc359d0d5ada15dacaba360ca6b
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 28 22:17:45 2004 +0000

    (SRFI-2): Note empty body is #t.

commit d9eb2d67dd63f6aca194edea41c6d94983c3a95d
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 27 12:46:11 2004 +0000

    *** empty log message ***

commit d910bc032c9e50cc470b55c9456acbfcc8b23308
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 27 12:46:02 2004 +0000

    (scm_compile_shell_switches): Added 2003 and 2004 to
    the Copyright years.

commit 2616f0e0ce8348bb308522655f14f0318e7ee308
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 27 12:45:37 2004 +0000

    (SCM_STRINGP): Accept all strings.
    (SCM_STRING_CHARS): Reject shared substrings here.

commit 685777ca1813c7899de6110a29d29070f1c2684b
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 27 12:44:14 2004 +0000

    (module-peek): Removed, this kluge is no longer necessary.

commit 3fa36d582ea396416aa8bc08ff7583638dac7068
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:21:24 2004 +0000

    *** empty log message ***

commit 8af9c4d433298db17d92497b2ae28126a60d91b0
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:20:33 2004 +0000

    Use define-module to keep bindings out of
    further tests.  Use-module (test-suite lib) for stand-alone operation.
    (rec): Exercise bad args.

commit c581203a05d12a9fc4c609d0f66c7dd607dcda98
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:19:23 2004 +0000

    *** empty log message ***

commit cd184501da4a3a6a072a82f2fa5c5331ea1fa699
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:18:56 2004 +0000

    (rec): Add missing `error' to else clause.

commit 1df6de9637bd6f70ab4f894cf352fc7b3a894274
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:14:49 2004 +0000

    (regexp-quote): New tests.

commit c495c342c1ef77d592cdc1fe83b2c307258191b8
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:10:20 2004 +0000

    *** empty log message ***

commit feef329eb45e31f997e78fce7c07c3d65a23f353
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:09:48 2004 +0000

    (AC_CHECK_MEMBERS): Add struct sockaddr.sin_len and
    struct sockaddr_in6.sin6_len.  Reported by Michael Tuexen.

commit 93b047f413279a6fff2d03187f6f192024e3ba31
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:06:50 2004 +0000

    (scm_fill_sockaddr): Use HAVE_STRUCT_SOCKADDR_SIN_LEN and
    HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN for sockaddr fields, SIN_LEN and
    SIN_LEN6 are not defined on all systems.  Reported by Michael Tuexen.

commit e58fdf43e65dede5f8284ad462de356cc8536aaf
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:03:03 2004 +0000

    Add a copyright year.

commit 24cc9192a07e35f4dc65c1319a8d02c472ef2ea3
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:01:27 2004 +0000

    *** empty log message ***

commit 2b28ce5b0c18c4f2d8a901c34e3226ea35e2e9cc
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 27 01:00:38 2004 +0000

    (regexp-quote): [ and | must be quoted.  Quote ( ) { + ?
    using char class [(] etc since \( in fact makes them become special in
    regexp/basic.

commit 95bcfff75ff35bf5c19dfe3360584a11ed2f57a5
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 23:10:32 2004 +0000

    *** empty log message ***

commit 7023d642a752f1f8548a5ff19841a3eef72607b9
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 17:30:31 2004 +0000

    *** empty log message ***

commit 57aa5515c2a741d4a71928222540494b75dd86a9
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:40:25 2004 +0000

    *** empty log message ***

commit 6869328b3b6b6cdd12df86ca517ecf2aa7544940
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:40:13 2004 +0000

    * strings.h, strings.c (scm_i_make_symbol): Added FLAGS parameter.
    * symbols.h, symbols.c (SCM_I_F_SYMBOL_UNINTERNED,
    scm_i_symbol_is_interned, scm_i_mem2symbol,
    scm_i_mem2uninternedsymbol): Use it to store uninternedness flag.

commit 1d1a9211783badd8eaf1136122b14ccbbc91ceaa
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:17:07 2004 +0000

    *** empty log message ***

commit 0e33f862345b2fc072b9bc10e59c0677f61da3ee
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:16:56 2004 +0000

    * LIBGUILEREADLINE-VERSION: Bumped versions for the 1.7.1 release.
    Added LIBGUILEREADLINE_MAJOR variable for inclusion in the name of
    the shared library.
    * configure.in: AC_SUBST it.
    * Makefile.am: Substitute it into name of library.
    * ice-9/readline.scm: Use new name with load-extension.

commit 51fab002a8fd542da204703af521319711565390
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:16:21 2004 +0000

    *** empty log message ***

commit e5ab7101aaf9934ab03e5e95b7b08402c2a92ebf
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:16:10 2004 +0000

    * LIBGUILEREADLINE-VERSION: Bumped versions for the 1.7.1 release.
    Added LIBGUILEREADLINE_MAJOR variable for inclusion in the name of
    the shared library.
    * configure.in: AC_SUBST it.
    * Makefile.am: Substitute it into name of library.

commit bd453596caa87c1786b188adb37dfb4585a2909d
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:13:05 2004 +0000

    * Makefile.am: Added appropriate @LIBGUILE_*_MAJOR@ substitutions
    to the library names.
    * srfi-1.scm, srfi-4.scm: Use the new library names with
    load-extension.

commit 6fcf60d3d535339e940d1c82e8c23c50a923abfa
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:10:24 2004 +0000

    Bumped version number of libguile-ltdl to 2.

commit b8b9ec6845c7e3c0680083f77aa81114ea8b50db
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:09:36 2004 +0000

    * GUILE-VERSION: Bumped all versions for the 1.7.1 release.  Added
    LIBGUILE_*_MAJOR variables for inclusion in the names of shared
    libraries such as "libguile-srfi-srfi-1-v-MAJOR.la".  Removed
    LIBQTHREADS_*.
    * configure.in: Updated for the new set of variables defined in
    GUILE-VERSION.

commit 16eefe8daadd00206ecade32c85cc7e5864795b8
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 15:08:44 2004 +0000

    Bumped all versions for the 1.7.1 release.  Added LIBGUILE_*_MAJOR
    variables for inclusion in the names of shared libraries such as
    "libguile-srfi-srfi-1-v-MAJOR.la".  Removed LIBQTHREADS_*.

commit cad4775f01ee223e0ae3e61b7d732b2d217d81e6
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 26 14:59:44 2004 +0000

    *** empty log message ***

commit c9dc8c6cec0da016b791409186bcd8095b83adb4
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 19:03:14 2004 +0000

    Additions.

commit c310ad4f20c9828a194bf3a7437f21f9a20c5cfb
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 19:02:34 2004 +0000

    Typos fixed.  Use existing functions in explaining symbol and keyword
    snarfer.

commit 41e4b9926dac3152975aaddc44eee379ca5b08f5
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 17:22:52 2004 +0000

    *** empty log message ***

commit 70bb81136d3a09bc401c1d85ad8e688d3c7e84a3
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 17:22:38 2004 +0000

    Removed things that are no longer true.  Updated in general.

commit b0d10ba69f3309ffa15649df387cf863d53f1218
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 17:22:14 2004 +0000

    Tidied up somewhat.

commit c08d10f5f3fe46acda4d837f97e7a2e77b7f4116
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 17:21:04 2004 +0000

    Include srfi-13.h and srfi-14.h, do not include strop.h.

commit 19ff6ffc064fb24e3e4b860d51b5bdf1499c5ee2
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 16:04:30 2004 +0000

    *** empty log message ***

commit 3731fc6718a91a19cd5a89b27d0bf7b00cc7aef1
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 16:04:09 2004 +0000

    * srfi-13.c: First cut at thread-safeness and proper use of
    scm_i_string_chars et al.  Copious scm_remember_upto_heres have
    been inserted.  Made sure that no internal string pointer is used
    across a SCM_TICK or a possible GC.

commit ce25760f071de2addd80cfc0b8bc28c9352ec1a0
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:49:48 2004 +0000

    *** empty log message ***

commit 7311b3e8381f756c09516cedf4151933d8e105ba
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:47:52 2004 +0000

    (scm_compile_shell_switches): Use scm_from_locale_string instead of
    scm_makfrom0str.

commit 2562032b617ee7a0a5fc148549180061a4274cbc
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:42:04 2004 +0000

    (scm_string_rindex): Export to Scheme, as it has always been.

commit ecedc0ca1bcbd877addce727083d75405c39fb96
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:41:14 2004 +0000

    *** empty log message ***

commit 4a3057fc1e51d740d04a0cc8a9e4f3d8293f88e2
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:40:53 2004 +0000

    Correct xref to SRFI-13, now points to node Strings.

commit 5676b4fab788cf5cd02e51d3a368ae40448b1acf
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:40:21 2004 +0000

    Moved docs for SRFI-14 into main API chapter.  Updated docstrings from
    libguile/.

commit f2b9c48b648c8ab9817af446b27d9411758e0328
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:39:26 2004 +0000

    Left inf? in its place, since wants to be here so much.

commit 3d1f24d1f8a80f6b20a43a7beccba95620b62152
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 25 13:38:37 2004 +0000

    Synced from libguile/

commit c4c3360b284f3349ccd76cb40b94c2f428e3397b
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 25 01:08:14 2004 +0000

    *** empty log message ***

commit 4b0ad1f43f38b2e3d03f4040d71e425193222260
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 25 01:07:35 2004 +0000

    *** empty log message ***

commit 93827cbd870445ac988b32f26fd5e4af585c2ee9
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 25 01:04:40 2004 +0000

    More tests, in particular exercise #t result on empty body.

commit 3fe213f8f13159c99a26c1aff6316ec8400ea0d5
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 25 00:46:59 2004 +0000

    (and-let*): Give #t for an empty body, per srfi-2
    spec, previously came out as an empty (begin).

commit 479357a63dddab6bdb71342406df15860c182a84
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:37:07 2004 +0000

    *** empty log message ***

commit f3f16cf64b1e75870d4db41890fb77a81b795bc1
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:36:56 2004 +0000

    (docstring-process-alist): Consider entries in reverse order.  That
    puts them in new-docstrings.texi in the same order as in the C source.

commit 5354f4abfd791c64350d0f0c6868eddec3a66762
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:34:24 2004 +0000

    Corrected reference to srfi-14, which is now elsewhere.

commit 050ab45f5664bcbb8d2cfc013f2ae30781d9f051
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:33:39 2004 +0000

    Moved docs for SRFI-14 into main API chapter.  Updated docstrings from
    libguile/.

commit 8fc71812fc121bd4a577ee58c897b45fef03489f
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:32:28 2004 +0000

    More deprecated entries.

commit 5499bd7f55e491d6cec1ac369f2f4a4f245f2a83
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 23:32:10 2004 +0000

    Removed scm_inf_p.

commit c5080b51894afc75c06242780ded2e134760a5ac
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:25:02 2004 +0000

    *** empty log message ***

commit 4a276c08e33bcd88e0910e2bdd02abd0da757d53
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:20:47 2004 +0000

    (%cond-expand-features): Addef srfi-13 and srfi-14.

commit 0081b349c8de1f5c577e7135266b61b9d1f3584c
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:19:21 2004 +0000

    * srfi-13.scm, srfi-14.scm: Simply re-export the relevant
    bindings.
    
    * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real
    content except for the init functions.

commit 7aa29a87f98cfbbb59bd4ba4329f24fcc54353f7
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:14:57 2004 +0000

    Two more tests for double indirect substring modification.

commit 1206efbe073b709bd61fa1cea90f058c45119efd
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:13:27 2004 +0000

    * symbols.h, symbols.c (scm_string_ci_to_symbol): Moved here, next
    to scm_string_to_symbol.
    
    * deprecated.c, load.c, posix.c, unif.c, symbols.c: Include
    "srfi-13.h" instead of "strop.h".

commit 2c0b7c1fa0dc4760418133b9eeebc0561a2dd4e0
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:13:14 2004 +0000

    (scm_string_equal_p, scm_string_ci_equal_p, scm_string_less_p,
    scm_string_leq_p, scm_string_gr_p, scm_string_geq_p,
    scm_string_ci_less_p, scm_string_ci_leq_p, scm_string_ci_gr_p,
    scm_string_ci_geq_p): Use scm_string_eq, etc instead of explicit code.

commit ad45f6b325b7c1e9edb1c4fbe111575409b303e4
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:13:07 2004 +0000

    (scm_init_guile_1): Call scm_init_srfi_13 and scm_init_srfi_14.  Do
    not call scm_init_strop.

commit 1fdbbd4cd614257b5aa4f329556938db57014756
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:12:59 2004 +0000

    (scm_char_alphabetic_p, scm_char_numeric_p, scm_char_whitespace_p,
    scm_upper_case_p, scm_lower_case_p, scm_char_is_both_p): Use
    scm_char_set_contains_p with the proper charset instead of libc
    functions.

commit c44ca4fe75905a4e2c3ff7f2662192ef4c8d05bc
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:12:37 2004 +0000

    Include "srfi-13.h" instead of "strop.h".

commit 63181a97f5d1104e43219548ff71fbf13096c598
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 22:12:08 2004 +0000

    * srfi-13.c, srfi-13.h, srfi-14.c, srfi-14.h: New files.
    * strop.h, strop.c: Removed, they are now empty.
    * Makefile.am: Updated for new and removed files.

commit 4b0d27f2660eadbddd64871def00edcf8502f567
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 16:44:00 2004 +0000

    *** empty log message ***

commit b1092b3aaf82e7648f7d9d5e87cf325979b2e6a5
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 16:43:50 2004 +0000

    (scm_inf_p): Synced docstring back from manual.

commit 0d2bfbad6ecf113eae1db284fedcdd50280f3ae8
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 16:43:07 2004 +0000

    Copied from libguile/guile.texi.

commit cdf1ad3bc9ccc9f6bad737be285e2010a01b43e5
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 16:40:54 2004 +0000

    Ran a (docstring-process-module "(guile)") and moved entries from
    new-docstrings.texi to their appropriate place.

commit 12eec8a828cb213c222be1a980b7bad746c910aa
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 24 16:37:25 2004 +0000

    New file.

commit 5e46627311f237e44637b60a31c10ec42e4eff8a
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 23 10:51:43 2004 +0000

    *** empty log message ***

commit 87cc0e0cacab088fdb7fa5e205c029069507dd4e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 23 10:51:23 2004 +0000

    Replaced all "@c module" markers with "@c module-for-docstring",
    making it less likely to collide with a real commentary.

commit 0ac467456bf2c48264c16b92c3c211c5483aaef3
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 23 10:48:51 2004 +0000

    * lib.scm (exception:used-before-define): New.
    * tests/syntax.test ("letrec"): Use it.

commit 3ece39d651baea34d38aca4f4d51529d1f74225c
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 22 19:31:32 2004 +0000

    *** empty log message ***

commit fcb8ba8ce7f9ecababc659c87237bf49d3184cf8
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 22 19:30:04 2004 +0000

    (Invoking Guile): documented new '-L' switch.

commit e1b29f6a58b7c59441db35082284f3ed74515f6d
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 22 19:29:19 2004 +0000

    (get_str_buf_start): New helper function.
    (scm_i_substring, scm_i_substring_copy, scm_i_substring_shared,
    scm_i_string_char, scm_i_string_writable_chars): Use it.
    (scm_i_substring_copy): Make START argument optional for C
    callers, for upcoming SRFI-13 integration.

commit caa29067e73fa48ae2eb74db418c9770eed004af
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 22 19:25:51 2004 +0000

    (scm_compile_shell_switches): added '-L' switch to add to the
    %load-path.

commit ae0b6bf5dff2f606885e5e29456b791367790175
Author: Kevin Ryde <address@hidden>
Date:   Sun Aug 22 01:49:10 2004 +0000

    Move variables to avoid c99-isms in recent:
        (scm_try_arbiter, scm_release_arbiter): Use FETCH_STORE ...
    Noticed by Andreas Vögele.

commit 5fa0939ce5dc4eefcaa0f6ebec230352a4a96627
Author: Dirk Herrmann <address@hidden>
Date:   Sat Aug 21 07:28:16 2004 +0000

        * eval.c (unmemoize_exprs): When dropping internal body markers
        from the output during unmemoization, also drop those that are not
        immediately at the beginning of a body.

commit fac3b6bca1fd4474122281690aa0dbe6d534ecfd
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 15:14:08 2004 +0000

    *** empty log message ***

commit 2f843c4b7a06c8a897f6b30651e7aa602c63aef5
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 15:13:56 2004 +0000

    (display-source): Use unmemoize-expr instead
    of unmemoize.
    (write-frame-short/expression): Likewise.

commit c1f54b3ddaca5620fe041137d163267da8f0f0ac
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 13:33:39 2004 +0000

    *** empty log message ***

commit a03bad878bebd2b047a0bf16809dde50b7faad05
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 13:33:28 2004 +0000

    (scm_lookupcar1): Report "Variable used before given a value" insetad
    of an "Unbound" one for variables that are found but still contain
    SCM_UNDEFINED.

commit 2146fdebd81608790d623b5a5d839e921cbb77ab
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 12:27:11 2004 +0000

    *** empty log message ***

commit 2d0c133f923c4cb829b4b8ed7013ed77a25a4235
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 12:26:46 2004 +0000

    (scm_lookupcar1): Report an "Undefined variable" insetad of an
    "Unbound" one for variables that are found but still contain
    SCM_UNDEFINED.

commit 892065da6cd4ea56a6c946e6f0c064cd7e4fbd86
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 12:25:20 2004 +0000

    (scm_mkstemp): Correction to the correction, mkstemp expects a
    null-terminated string in the locale encoding, but
    scm_i_string_writable_chars doesn't give that.  Fixed by letting
    mkstemp modify a locale version of the tmpl argument and copying the
    result back into tmpl.

commit a54264f04e60ea4b8b0037c6537ee59572b012ad
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 20 12:25:09 2004 +0000

    (scm_substring_move_x): Store into str2, not str1.

commit 95c098ddd9402c43b56c2f7ccdc93265a4411341
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 20 01:36:28 2004 +0000

    (mkstemp!): New tests.

commit d4f76919e62cfbf9235abf61df4a5c4c6fa699b1
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 20 01:35:44 2004 +0000

    *** empty log message ***

commit 71978ac9f69736ad7123244b293838c1d47a6fcd
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 20 01:32:36 2004 +0000

    (scm_mkstemp): Correction to new locale_string stuff, need
    to modify the input string.

commit 61d6ed68a1bc327f917831c765c7ceaaaa2324e7
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 23:04:45 2004 +0000

    *** empty log message ***

commit ea4a72fe20d8c794f03872c657fdf3ad7615f8ad
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 23:03:55 2004 +0000

    Updated transition section with new recommended things.

commit cf3dd9498c46a149c34ec6c81c4059cd5f22efe6
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 22:23:34 2004 +0000

    *** empty log message ***

commit 1c17f6b0c8786054dfc2b1ee8a3ee1f3d7fe42f2
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 22:23:23 2004 +0000

    Two tests for substring/shared.  Also, use (test-suite lib).

commit b5247a6ba821d5a2d203bb30e8f7888623873fd7
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 20:40:16 2004 +0000

    *** empty log message ***

commit ba16a103a404ef6f1100cacbadb36167d2cdfb4f
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 20:36:29 2004 +0000

    (SCM_SYMBOL_CHARS): Cast away const in return.
    (SCM_SYMBOL_LENGTH): It's scm_i_symbol_length, not
    scm_c_symbol_length.

commit ece721f0311bc2ffb65e67e251f3c715765ba686
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 20:34:58 2004 +0000

    Added comment about future improvements...

commit 323a7e80d530b9d9ea6e0fdb28cbf8cf9f40bc99
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 18:54:05 2004 +0000

    *** empty log message ***

commit c48c62d0857ebe5a939a441f35102c4df03a13c2
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 18:53:40 2004 +0000

    (Strings): Document copy-on-write behavior and
    mutation-sharing substrings.
    (Symbols): Document scm_from_locale_symbol and
    scm_from_locale_symboln.

commit cd505b38ad52348aa54abc4dd195198f2d95fca9
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 18:41:17 2004 +0000

    *** empty log message ***

commit d6a1cb3cc672ac2f73fe69fd3fa33036540b1d00
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 18:41:05 2004 +0000

    (scm_string_copy): Use scm_c_substring to get a copy-on-write string.

commit 3ff9283dd63ed0cddc5a8b3dfd7725377ed2b9a2
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:54:37 2004 +0000

    *** empty log message ***

commit b2988f465bd84d7b482a974fd89443786643173d
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:30:03 2004 +0000

    *** empty log message ***

commit ad6dec055f951c8571439fdfd2a30a4c3250001a
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:28:53 2004 +0000

    Avoid the use of discouraged or deprecated things.

commit f26b9395457339328acd21b01713c7c3cf3b5fe4
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:22:35 2004 +0000

    *** empty log message ***

commit e040afa5a927b11eed763d61444104f1d0d5b991
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:22:20 2004 +0000

    * srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
    scm_substring_sharedS.
    
    * srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
    API.

commit 7d8e050bc6ef015f1e3ef64ac060cb8ca4da94cf
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:21:22 2004 +0000

    Adapted to new internal string and symbol API.

commit 1934b612112092d05ea0b3251001524d198958de
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:20:44 2004 +0000

    (substring/shared): Export as replacement since we now have a version
    in the core.

commit cc95e00ac63820cbc03ca858ff6b8e1015c9d168
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:19:44 2004 +0000

    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit f76c6bb2342534158769cc55ce40edd17492f9c4
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:18:25 2004 +0000

    (gh_set_substr): Made src const.
    
    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit 272632a67c4772ee439813b55c7b2f2dbeb77af3
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:17:43 2004 +0000

    (scm_i_casei_streq): New, for counted strings.
    
    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit 3a5fb14dbcad7096d7e2f6d5daf18f6deef03c1d
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:17:22 2004 +0000

    (scm_i_mode_bits_n): New, for counted strings.
    (scm_mode_bits): Use it.
    (scm_c_port_for_each): Blocking GC does not seem to work, allocate
    a vector normally and fill that instead of consing a list with a
    blocked GC.
    
    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit 468e87a786860de58fec93d65b0a4b17d4ef18a1
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:16:49 2004 +0000

    (scm_memory_error): Do not try to throw, just abort.
    Throwing will not work anyway.
    
    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit 6087fad9c7263be996e8cb91cb300a20280048be
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 17:16:01 2004 +0000

    (gc_section_count): Removed, thread-sleeping can not
    be nested.
    (scm_i_thread_put_to_sleep): Call scm_i_leave_guile before locking
    admin mutex so that we can be put to sleep by other threads while
    blocking on that mutex.  Lock all the heap mutex of all threads,
    including ourselves.
    (scm_i_thread_wake_up): Unlock all threads, including ourselves,
    call scm_i_enter_guile.
    (scm_thread_mark_stacks): Expect all threads to be suspended.

commit 3ee86942a7cc519ef1c6f6a9868a5136f85558bc
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 16:49:42 2004 +0000

    * strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
    scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
    replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH.  Updated all
    uses.
    (scm_i_make_string, scm_c_make_string): New, to replace
    scm_allocate_string.  Updated all uses.
    (SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
    SCM_STRING_LENGTH): Deprecated.
    (scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
    scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
    Discouraged.  Replaced all uses with scm_from_locale_string or
    similar, as appropriate.
    (scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
    scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
    scm_substring_shared, scm_substring_copy): New.
    
    * symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
    SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
    SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
    scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
    (SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
    Deprecated.
    (SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
    SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
    (scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
    New, to replace scm_str2symbol and scm_mem2symbol, respectively.
    Updated all uses.
    (scm_gensym): Generate only the number suffix in the buffer, just
    string-append the prefix.

commit eb01cb6494c4ccf1494ef09ccbb352b4702f7753
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 16:48:38 2004 +0000

    * gc.h, gc.c (scm_i_gc_admin_mutex): New, to protect
    scm_gc_mallocated, for now.
    (scm_init_storage): Initialize it.
    * gc-malloc.c (descrease_mtrigger, increase_mtrigger): Use it.
    
    * gc-mark.c (scm_gc_mark_dependencies): Call scm_i_string_mark,
    scm_i_stringbuf_mark and scm_i_symbol_mark, as appropriate.
    * gc-card.c (scm_i_sweep_card):  Call scm_i_string_free,
    scm_i_stringbuf_free and scm_i_symbol_free, as appropriate.

commit fddf60002a11cd962db15a905e86f5721eb04680
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 16:41:30 2004 +0000

    (scm_tc7_stringbuf): New tag.

commit 82e0871c6420accd6e7a4b04e5daed692c755056
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 19 16:06:45 2004 +0000

    Align jao's name correctly.

commit 35ce851c9e8792c322c7ac5ffa461dc458fafcc0
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:34:46 2004 +0000

    New file.

commit a158acd158263325aa416532f18059f1c8010d07
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:30:58 2004 +0000

    *** empty log message ***

commit 16e0c623d91810ee6d74934db4a8701455d5bd87
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:30:29 2004 +0000

        * tests/and-let-star.test, tests/arbiters.test, tests/receive.test:
        New files.
        * Makefile.am (SCM_TESTS): Add them.

commit 66aa0ef0c59e4c897b9154e176832d6896f240fe
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:29:19 2004 +0000

    New file.

commit 6ee5281f4e59dafae86ead3b012b716f9492f9cf
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:25:39 2004 +0000

    Add cond-expand-provide srfi-8, since this module provides that feature.

commit 00ed256c76cca201530f9103f5613895f3528f11
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:24:59 2004 +0000

    *** empty log message ***

commit b4c0da9ce773ba3f6a28b195e1d991debcf6d3e5
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:22:25 2004 +0000

    Add cond-expand-provide srfi-2, since this module provides that feature.

commit 86ff1823d57d8898e43153cec254b1725cc74b49
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:13:51 2004 +0000

    *** empty log message ***

commit a8d0313f69fe9507c8d5b3bc8eab9561248719f8
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 18 00:12:44 2004 +0000

    (Internet Socket Examples): Correction to socket calls,
    should be PF_INET not AF_INET (though generally the two are the same
    value).

commit 0bd094c2ad90ab2dceec90c942de7a0936d8469e
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:58:56 2004 +0000

    (Network Sockets and Communication): Add SOCK_RDM and SOCK_SEQPACKET.

commit 1f3cc0d312133c5194a8999f8368105aa1e06aae
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:57:01 2004 +0000

    *** empty log message ***

commit d6cd4c36017c0978168c830bd7d6e1ec4187fa0d
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:53:07 2004 +0000

    *** empty log message ***

commit 6f637a1bc0a597bf0fe87dc950617804d2092394
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:44:25 2004 +0000

    (scm_init_socket): Add SOCK_SEQPACKET and SOCK_RDM.

commit 52d1e968ac7df6df8a31ef7ebce63f3a8249c2c5
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:34:53 2004 +0000

    *** empty log message ***

commit 8a807b26c3d8ad88cc5617470d7736e6053a7914
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:28:16 2004 +0000

    *** empty log message ***

commit eb372585279c32f68e950080d852f549da0a0bb2
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:27:11 2004 +0000

    (fport_print): Use scm_ttyname instead of ttyname directly,
    to get thread safety of scm_ttyname.

commit 8e4d7cdf060a229bbfc567c7e241f05c3ac817cd
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:22:23 2004 +0000

    (ttyname): Remove prototype, unused.

commit b82cab94d643ed307cd077b7be4a9baab64ac1ea
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:20:11 2004 +0000

    (fractions): Correction, equal? 3/4 .75 should be #f, according to R5RS.

commit 728ad4b7cd022a94fd4a396f50ce599c5ccf7fbf
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:19:04 2004 +0000

    (scm_equal_p): Remove real==fraction and fraction==real, they
    must be #f according to R5RS.  (equal? follows eqv?, and for eqv? an
    exact and inexact is #f.)

commit b1fbeb53bb8666bfcbdaf8c796772cd4d31f27ff
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:17:34 2004 +0000

    *** empty log message ***

commit 4f21b9e83fbdf1a14d4f22af0065b97e5e238cb2
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:17:06 2004 +0000

        * tests/arbiters.test: New file
        * Makefile.am (SCM_TESTS): Add it.

commit 7056d7c2e3917c413c18d14541b3cbb520c06169
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:15:14 2004 +0000

    New file.

commit 95a58b3c32067c7dd1350a0630e62f4b25a1f557
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 17 23:13:06 2004 +0000

    (FETCH_STORE): New macro.
    (SCM_LOCK_VAL, SCM_UNLOCK_VAL): New constants.
    (SCM_LOCK_ARB, SCM_UNLOCK_ARB): Remove, effectively absorbed into
    scm_try_arbiter and scm_release_arbiter.
    (scm_try_arbiter, scm_release_arbiter): Use FETCH_STORE to get xchg
    for speed on i386, otherwise using mutex.

commit bc97364ab72cb3999b7482c3c23fb404bbe1d5a6
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 15 20:28:24 2004 +0000

    *** empty log message ***

commit 3514320f60c5c77716691055c8e2a6eeae7681e6
Author: Marius Vollmer <address@hidden>
Date:   Sun Aug 15 20:26:05 2004 +0000

    New, from Jose A Ortega Ruiz.  Thanks!

commit 80b707b7541e84db6533907fed31efa2dd264ca3
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 01:06:13 2004 +0000

    *** empty log message ***

commit 3cf066df9b59d7fec390168f09da1a4aaa8d72e7
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 01:02:37 2004 +0000

    (Mutexes): New datatype-centric section, adding
    fair mutexes and collecting up material from ...
    (Low level thread primitives, Higher level thread procedures, C level
    thread interface): ... these nodes.

commit 02d9c82a027e1135d22da1efbba02a2ad2cca83d
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:55:00 2004 +0000

    *** empty log message ***

commit 5b4dba24ef033bc2393f48ae50d9430178beb52c
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:51:57 2004 +0000

    Typo in:
    (SRFI-13 Predicates): Add string-any and
    string-every support for char and charset predicates.

commit 6ae50c7153b52cd7c2ddba24819de38b4d6a0f3f
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:48:32 2004 +0000

    (SRFI-13 Predicates): Add string-any and
    string-every support for char and charset predicates.

commit 3ff0e986f390e7aa4f269f5a676a11895e26d338
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:44:29 2004 +0000

    *** empty log message ***

commit 967c0904a07b02e342df669ee82f486ac2a40459
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:43:56 2004 +0000

    (string-any, string-every): Exercise char and charset predicate cases.

commit 038a7484b60116f765b6168d3afb7bae652d4030
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:39:01 2004 +0000

    *** empty log message ***

commit 788dafed64a4f08d3c3a3825f4e7c95a274d1631
Author: Kevin Ryde <address@hidden>
Date:   Sat Aug 14 00:37:53 2004 +0000

    (scm_string_any, scm_string_every): Add support for char
    and charset as predicates, per SRFI-13 spec.

commit fa0c0a4b12be5a12ed7c79946d758a0a1980d479
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 13 12:28:38 2004 +0000

    *** empty log message ***

commit 11c5e0bf6ba28b1f79c1a6add2a84120c9469106
Author: Marius Vollmer <address@hidden>
Date:   Fri Aug 13 12:28:23 2004 +0000

    (scm_init_load_path): Do not pass NULL to scm_to_locale_string, which
    would happen when GUILE_LOAD_PATH is not set.  Thanks to Bill
    Schottstaedt.

commit c41acab35c998e3597f4f2ebf537b66d70a7a644
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:52:49 2004 +0000

    *** empty log message ***

commit 57d4d32fa36d733a99f92d6515d6abf6d960f641
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:49:59 2004 +0000

    (MY_VALIDATE_SUBSTRING_SPEC_COPY, MY_VALIDATE_STRING_COPY): Modernized
    clones of the deprecated validation macros.  Replaced every use.

commit 8824ac88f08cffc954a907b85858ccd5b3c9843f
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:45:03 2004 +0000

    * socket.c, rw.c, deprecated.h, validate.h
    (SCM_VALIDATE_STRING_COPY): Deprecated.  Replaced all uses with
    SCM_VALIDATE_STRING plus SCM_I_STRING_CHARS or
    scm_to_locale_string, etc.
    (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Deprecated.  Replaced as
    above, plus scm_i_get_substring_spec.
    
    * regex-posix.c, read.c, random.c, ramap.c, print.c, numbers.c,
    hash.c, gc.c, gc-card.c, convert.i.c, backtrace.c, strop.c,
    strorder.c, strports.c, struct.c, symbols.c, unif.c, ports.c: Use
    SCM_I_STRING_CHARS, SCM_I_STRING_UCHARS, and SCM_I_STRING_LENGTH
    instead of SCM_STRING_CHARS, SCM_STRING_UCHARS, and
    SCM_STRING_LENGTH, respectively.  Also, replaced scm_return_first
    with more explicit scm_remember_upto_here_1, etc, or introduced
    them in the first place.

commit 70f7ee4188c0a752154d8cc63daf5a99ba89951f
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:44:43 2004 +0000

    *** empty log message ***

commit 6f14f578d2e24f58594e682061755dab41ed1f9e
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:43:41 2004 +0000

    * strings.h, strings.c (scm_i_get_substring_spec): New.
    
    * socket.c, rw.c, deprecated.h, validate.h
    (SCM_VALIDATE_STRING_COPY): Deprecated.  Replaced all uses with
    SCM_VALIDATE_STRING plus SCM_I_STRING_CHARS or
    scm_to_locale_string, etc.
    (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Deprecated.  Replaced as
    above, plus scm_i_get_substring_spec.

commit 396e5506d6c7ba9e669856cae97445e5c307ba34
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:43:17 2004 +0000

    * socket.c (scm_inet_aton, scm_inet_pton): Convert SCM strings to
    locale strings instead of accessing their internals.
    (scm_recv, scm_send, scm_recvfrom, scm_sendto): Use
    SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH instead of
    SCM_STRING_CHARS and SCM_STRING_LENGTH.
    
    * socket.c, rw.c, deprecated.h, validate.h
    (SCM_VALIDATE_STRING_COPY): Deprecated.  Replaced all uses with
    SCM_VALIDATE_STRING plus SCM_I_STRING_CHARS or
    scm_to_locale_string, etc.
    (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Deprecated.  Replaced as
    above, plus scm_i_get_substring_spec.

commit ddae95259d1875ea0ea5e3afc2187e325946b80a
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:38:52 2004 +0000

    (scm_system): Convert SCM strings to locale strings instead of
    accessing their internals.

commit 0d189573e59f2e5e15bf1287d08dc2af2a47e07d
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:35:53 2004 +0000

    Convert version to locale string before printing it.

commit 3eb1e2aa881a7da9de2336c6b421707d3627eacb
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:32:15 2004 +0000

    (scm_read_delimited_x): Avoid
    SCM_VALIDATE_SUBSTRING_SPEC_COPY and use scm_from_size_t instead
    of scm_from_long for the returned number of read characters.

commit 1299a0f17b334b2b901f383aeae49fd772b8a477
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:32:07 2004 +0000

    (STRING_SYSCALL, STRING2_SYSCALL): New helper macros.
    Use them instead of SCM_SYSCALL when one or two strings need to be
    converted into locale strings.
    (my_rename): New, gathers platform dependent code for renaming.
    (scm_rename): Use it.
    (scm_readlink, scm_copy_file): Convert SCM strings to locale
    strings instead of accessing their internals.
    (scm_basename, scm_dirname): Use SCM_I_STRING_CHARS and
    SCM_I_STRING_LENGTH instead of SCM_STRING_CHARS and
    SCM_STRING_LENGTH.

commit f015614ae0102da219e2de3892d6bf51a4a499d7
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:28:06 2004 +0000

    (WITH_STRING): New helper macro.  Use it where one
    locale string is needed for a short piece of code.
    (STRING_SYSCALL): New helper macro.  Use it instead of SCM_SYSCALL
    when one locale string is needed.
    (scm_mkstemp): Convert tmpl to a locale string.
    (scm_putenv): Rewritten to use only C strings.
    (scm_setlocale, scm_crpt): Convert argument strings to locale
    strings.

commit 86e14f5c3b3c4b0240381f2805e008334f172c33
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:16:49 2004 +0000

    (scm_fdopen): Use scm_i_fdes_to_port together with scm_i_mode_bits to
    avoid accessing internals of SCM string from C.

commit 4695c759477615b3e103a0c0ed4539e158838142
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:06:37 2004 +0000

    (load_extension): Convert lib and init to locale
    strings instead of accessing the internals directly.
    (scm_c_load_extension): Use scm_from_locale_string instead of
    scm_makfrom0str.

commit d617ee1895503e4b85da9fa72fcafb7a3b79951d
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 17:03:36 2004 +0000

    * fports.h, fports.c (scm_i_fdes_to_port): New, like
    scm_fdes_to_port, but take mode bits directly instead of as a C
    string.
    (scm_i_fdes_to_port): Implement using above.
    (scm_open_file): Use scm_i_fdes_to_port together with
    scm_i_mode_bits to avoid accessing internals of SCM string from C.
    * vports.c (scm_make_soft_port): Use scm_i_fdes_to_port together
    with scm_i_mode_bits to avoid accessing internals of SCM string
    from C.
    
    * ports.h (scm_i_mode_bits): New, same as scm_mode_bits but with a
    SCM string as argument.
    
    * ports.c (scm_i_void_port): New, like scm_void_port but take mode
    bits directly instead of C string.
    (scm_void_port): Implement using above.
    (scm_sys_make_void_port): Use scm_i_void_port together with
    scm_i_mode_bits to avoid accessing internals of SCM string.
    
    * convert.i.c, backtrace.c, strop.c, strorder.c, strports.c,
    struct.c, unif.c, ports.c: Use SCM_I_STRING_CHARS,
    SCM_I_STRING_UCHARS, and SCM_I_STRING_LENGTH instead of
    SCM_STRING_CHARS, SCM_STRING_UCHARS, and SCM_STRING_LENGTH,
    respectively.  Also, replaced scm_return_first with more explicit
    scm_remember_upto_here_1, etc, or introduced them in the first
    place.

commit ffa747a6ead5e8ba3c6af1fc26c4bbaa72e2d72b
Author: Marius Vollmer <address@hidden>
Date:   Thu Aug 12 11:57:42 2004 +0000

    (scm_primitive_load_path): Do not check for absolute filenames when
    scm_sys_search_load_path returns false, which will return absolute
    filenames unchanged.

commit bb26cc2d28d8398385ac2e5c8390666526f64d22
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 11 19:39:44 2004 +0000

    *** empty log message ***

commit 82c76fd357e059f7bc662b29c8d6abcd557f94b4
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 11 19:38:58 2004 +0000

    (scm_init_storage, scm_stand_in_procs, scm_stand_in_proc): Use a
    hastable for scm_stand_in_procs instead of an alist.  Thanks to
    Matthias Koeppe!

commit 35da08ee37b4d68075c3461d5658b6c9a43c3dff
Author: Marius Vollmer <address@hidden>
Date:   Wed Aug 11 19:36:55 2004 +0000

    (scm_c_round, scm_c_truncate): Docs for'em.

commit 214195e127847a83fe44d2d8d698c820b868ec07
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 15:59:31 2004 +0000

    Removed commented out debugging fprintfs.

commit c88453e881a4d67fb93675f7fc8327dfc120371e
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 15:58:57 2004 +0000

    Typos.

commit 44825fffb027bb0057ff88e3ca23324d37708eca
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 15:45:58 2004 +0000

    *** empty log message ***

commit 9bd10f4617927c04ec135183ed28c9d4969a5a41
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 15:45:49 2004 +0000

    (test_locale_strings): New.

commit f9751e8660b05a730218378dd99393adabf21139
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:16:46 2004 +0000

    *** empty log message ***

commit 273167608a1a3c37bc9f8e68b4d52e01af1bcf8d
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:16:34 2004 +0000

    Updated example to use scm_to_locale_string
    instead of roll-your-own scm_to_string.  Also showcase
    scm_frame_free.

commit 91210d629f70da49a2912da0e77f79a3a3e8123c
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:15:33 2004 +0000

    Docs for scm_is_string, scm_to_locale_string*, and
    scm_from_locale_string*.

commit a90968fabb5a9f7131c9f3604b9bac99c24df713
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:14:46 2004 +0000

    Docs for scm_frame_free.

commit 7f9994d90437cfdaf6d733b9c3b050d66326f3bb
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:08:02 2004 +0000

    * stime.c, socket.c, simpos.c, procs.c, posix.c, ports.c,
    net_db.c, fports.c, filesys.c, eval.c, deprecation.c, dynl.c:
    Replaced uses of SCM_STRING_CHARS with proper uses of
    scm_to_locale_string.  Replaced SCM_STRINGP with scm_is_string.
    Replaced scm_mem2string with scm_from_locale_string.
    
    * simpos.c, posix.c (allocate_string_pointers, environ_list_to_c):
    Removed, replaced all uses with scm_i_allocate_string_pointers.

commit 02573e4c7a10dee980618c93f4902887b225433c
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:07:35 2004 +0000

    *** empty log message ***

commit ebea155a3cc519e81919accaba980b1ad8954842
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:06:59 2004 +0000

    (scm_mkstrport): Use SCM_I_STRING_UCHARS instead of SCM_STRING_UCHARS.
    Use SCM_I_STRINGP instead of SCM_STRINGP.

commit 7fd0a36919c3441352a78fd8f687fdb877fcbbb5
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 14:05:14 2004 +0000

    (scm_i_index): Replaced SCM_STRINGP, SCM_STRING_CHARS, and
    SCM_STRING_LENGTH with SCM_I_STRINGP, SCM_I_STRING_CHARS, and
    SCM_I_STRING_LENGTH, respectively.  Pass string object directly, not
    as a pointer.  Use scm_remember_upto_here_1 to protect it.

commit 7f03f970369e46e54867938950dd1a2f652b7647
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:54:16 2004 +0000

    * procs.c, posix.c, ports.c, net_db.c, fports.c, filesys.c,
    eval.c, deprecation.c, dynl.c: Replaced uses of SCM_STRING_CHARS
    with proper uses of scm_to_locale_string.  Replaced SCM_STRINGP
    with scm_is_string.
    
    * posix.c (allocate_string_pointers, environ_list_to_c): Removed,
    replaced all uses with scm_i_allocate_string_pointers.

commit 29a837fd27e8062caa6eba124d8c84b51b202fc6
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:54:01 2004 +0000

    (scm_input_error): Use a SCM value for 'fn', not a C string.  This
    avoids a conversion round-trip.

commit 79c98b33fea416592cdac95e94a69e08cf3b3f8f
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:43:55 2004 +0000

    Replaced SCM_STRINGP, SCM_STRING_CHARS, and
    SCM_STRING_LENGTH with SCM_I_STRINGP, SCM_I_STRING_CHARS, and
    SCM_I_STRING_LENGTH, respectively.
    (gh_scm2newstr): Implement in terms of scm_to_locale_string.

commit 24d1f17168dde1fa6a10ff5e8a7b2fbf5d62187e
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:37:11 2004 +0000

    (scm_error_scm): Throw directly instead of calling
    scm_error, this avoids the back and forth conversion of SUBR and
    MESSAGE and also plugs a memory leak.
    (scm_error): Call scm_error_scm.

commit 18f9d34373e4ebf33b49b8144d48b40ce6f6c769
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:36:45 2004 +0000

    Instead calling scm_puts on the SCM_STRING_CHARS of a string, call
    scm_display on the string itself.

commit 6d5649b7b8a365455f881fdf2b44fcbc02708e1f
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:35:28 2004 +0000

    (scm_frame_free): New.

commit 3b9ee0a4f8515e9a5f0781d0f8c46ea82cb1d6dd
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:31:22 2004 +0000

    * backtrace.c: Replaced SCM_STRINGP with scm_is_string.
    (display_header): Print FNAME when it is true, not
    merely when it is a string.

commit 7d04d68bf70aa1f1873df5cbf7ad9731b6836255
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:30:12 2004 +0000

    (scm_internal_parse_path): Removed.
    (scm_parse_path): Use scm_string_split to do the work.
    (scm_init_load_path): Use scm_parse_path instead of
    scm_internal_parse_path.
    (scm_search_path): Rewritten string handling part of the code in
    terms of scm_to_locale_stringbuf and so that it is thread safe.

commit c829a4274f35bae62cae06312335a0596504a333
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 13:20:59 2004 +0000

    * strings.h, deprecated.h (SCM_STRING_COERCE_0TERMINATION_X):
    Moved from string.h to deprecated.h.
    
    * deprecated.c, deprecated.h (SCM_CHARS, SCM_LENGTH): Removed.
    
    * strings.h, strings.c (SCM_MAKE_STRING_TAG): Rename dto
    SCM_I_MAKE_STRING_TAG, changed all uses.
    (SCM_STRING_CHARS, SCM_STRING_UCHARS, SCM_STRING_LENGTH): Renamed
    to SCM_I_STRING_CHARS, SCM_I_STRING_UCHARS, and SCM_I_LENGTH
    respectively.  For a short time, the old names are still there as
    aliases.  Not all uses have been changed yet, but the ones in
    strings.c have.
    (SCM_STRING_MAX_LEN): Do not hardcode to 24 bits, compute from
    SCM_T_BITS_MAX.
    (scm_is_string, scm_from_locale_string, scm_from_locale_stringn,
    scm_take_locale_string, scm_take_locale_stringn,
    scm_to_locale_string, scm_to_locale_stringn,
    scm_to_locale_stringbuf): New.
    (scm_c_string2str, scm_c_substring2str): Deprecated by moving to
    deprecated.[hc]. Implemented in terms of the new functions above.
    (scm_take_str, scm_take0str, scm_mem2string, scm_str2string,
    scm_makfrom0str): Reimplemented in terms of the new functions from
    above.  They will be discouraged shortly.
    (scm_substring): Do not use scm_mem2string.
    (scm_i_allocate_string_pointers, scm_i_free_string_pointers): New,
    to replace similar code from posix.c, simpos.c, and dynl.c.
    (scm_string_append): Use memcpy instead of explicit loop.  Do not
    use register keyword.  Use plain 'char' instead of 'unsigned
    char'.

commit 8d3fd10b91080f629c822c843bc87eca72b31dbc
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 12:20:02 2004 +0000

    *** empty log message ***

commit ee3e40b78ef9ce28faa04b5eaf6e5ded622104d6
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 10 12:19:49 2004 +0000

    Replaced all uses of scm_round with scm_c_round.

commit c065f326149f5269fd88043aa479ba492c7cf5ea
Author: Kevin Ryde <address@hidden>
Date:   Tue Aug 10 00:52:50 2004 +0000

    More of: New file.

commit 409eb4e54f4b4f03f626f281276ad4db3b57eb1e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 9 23:33:27 2004 +0000

    *** empty log message ***

commit 3101f40f7634b0262f1e936dc3df06ab89aacd15
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 9 23:32:14 2004 +0000

    (scm_round, scm_truncate): Renamed to scm_c_round and scm_c_truncate;
    deprecated versions installed in deprecated.h and deprecated.c.
    Changed all uses.

commit 565b4a6f318f05d03bcd13828fe37b7178ed9a7c
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 9 21:58:14 2004 +0000

    Removed caveat that pretty-print uses its own 'write' implementation.

commit d2afa1fc9f903ec601ae6470865e9ef3de605ae1
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 9 21:56:19 2004 +0000

    *** empty log message ***

commit 2d51a8a1654c6c7686ef5d56c48b0525a69aa330
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 9 21:56:00 2004 +0000

    (generic-write): In the local procedure `wr', use object->string to
    print all data (except for the reader macros), rather than
    implementing an own printer.  The user-visible difference is that
    procedures and control characters like #\tab are now printed in the
    same way as by `write'.

commit 636d4be53542ae29129febdbedcf02e3014f3779
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:33:36 2004 +0000

    *** empty log message ***

commit 092bdcc46b30775aba7117cda0602fc6e39f0b0f
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:33:03 2004 +0000

    In open-file, split a paragraph for clarity.

commit c755b8615ea36d7618cd2e16a1cd5795ba94d6fb
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:32:22 2004 +0000

    (File Ports): In open-file, describe the "b" binary flag.

commit abc358f9c5224b69098bcce110640c2b8d6f62cc
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:29:52 2004 +0000

    (SLIB): Add notes on delete-file, provided? and open-file
    overridden by ice-9 slib module.

commit a015df9b8da16f2369c574d5a4e9006eff4b022e
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:28:23 2004 +0000

        * tests/slib.test: New file.
        * Makefile.am (SCM_TESTS): Add it.

commit d6f7a8edfcd1b92fb2a08daf3dad012d67821388
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:23:03 2004 +0000

    New file.

commit 2975040bec3fb7f218015370fcdc5b7677493a94
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:21:32 2004 +0000

    *** empty log message ***

commit e35275e2c01fa551d4dd57ba901532c265ae5712
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 9 01:20:47 2004 +0000

    (*features*): Remove array and array-for-each, core
    definitions are insufficient for latest slib.
    (t, nil): New constants slib says are supposed to exist.
    (call-with-open-ports, browse-url): New functions for latest slib.
    Implementations taken from Template.scm (public domain).
    (open-file): Extend core definition to accept symbols for the mode,
    required by latest slib.
    (delete-file): Replace core definition with version returning #t/#f as
    per slib spec.
    (system): Mark as #:replace to suppress override warning, use new
    style "(@ (guile) system)" to call core function.

commit 63ce14e7764dd77da306aef2980b0a7dfcfe7d69
Author: Rob Browning <address@hidden>
Date:   Sat Aug 7 03:48:17 2004 +0000

    (scm_resolv_error): don't cause an exception while
    trying to throw an exception -- call scm_misc_error with correct
    arguments.  The previous arguments needed a format escape that
    wasn't in any of the format strings.

commit a00eaf19f8564aea89055f014153b6c56059d712
Author: Rob Browning <address@hidden>
Date:   Sat Aug 7 03:48:03 2004 +0000

    *** empty log message ***

commit f8a8200bc0dd747048e5a79a685122fdc0726bf3
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 01:26:26 2004 +0000

    Amend #if and comments for cmp_d and get_d about unreleased gmp, don't
    know when or as what version number it will come out.

commit 8f094b9720c3c41eaa89f81d022209e225d974f4
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 01:08:37 2004 +0000

    *** empty log message ***

commit 2291a3a7e9d188913e9f14f1e3b4b24c3dd25fcd
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 01:08:12 2004 +0000

    (array-fill!): Exercise byte range and type checks.

commit 4d6ed8fe444d30c25f35739c87fb8def890635cd
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 01:04:05 2004 +0000

    (scm_array_fill_x): For byvect char fill, force signed char
    so as not to depend on signedness of plain char.  For byvect range
    check, throw out-of-range rather than wrong-type-arg.

commit bcb88c93fa3b88068eb307770ffb06f2710813e3
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:29:13 2004 +0000

    *** empty log message ***

commit 3fdb85588788d8d0db5fdcb4692f965e74b87f49
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:27:31 2004 +0000

    (uniform-vector-ref): Exercise byte returns.

commit bebf6a08afe9543d97e57311052bd24c656543b7
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:21:13 2004 +0000

    (scm_uniform_vector_ref, scm_array_set_x): For byvect, force
    signed byte range checks by using scm_to_schar and scm_from_schar,
    don't want to depend on signedness of C char.

commit 7f9ca7c3d71bfa1d0d908e6165cfc1d2851972d3
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:17:12 2004 +0000

    (array-set!): Exercise byte array range checks.

commit 6002ebaf0ee2d3bd596bd86f8d5eb2f39c3a17e3
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:04:14 2004 +0000

    *** empty log message ***

commit 6c60ac51edbbf36158a7773c6464ec634b103114
Author: Kevin Ryde <address@hidden>
Date:   Fri Aug 6 00:03:11 2004 +0000

    (parse-message): Correction to header
    continuation, loop with read-line not cdr lines.

commit 99de794f0de36b5838d12c671beecfd6e00214ab
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 01:19:35 2004 +0000

    *** empty log message ***

commit 37eb673bc67904e2af6513c2e3812db12157b0a7
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 01:02:58 2004 +0000

    (scm_copy_file): Use fstat on the input fd rather than
    stat on the filename, to be certain a file rename can't mean we get
    info on one filesystem object but open another.  This fstat usage is
    similar to Emacs copy-file.

commit 29e61124410f18bc17805aa2d3cedbbae71bd815
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:46:34 2004 +0000

    *** empty log message ***

commit 7305dd202d7b3f885a8c74170f7b5b7a5ef1282b
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:40:26 2004 +0000

    Update docstrings per doc/ref/api-scheduling.texi.

commit e136aab0cc2fa75367f59b173d438e2ec006e10a
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:38:13 2004 +0000

    (Arbiters): Tweak wording for clarity, note any
    thread can unlock not just the one which locked.

commit f070ba1332b24ddac8399c5853312880e1af0054
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:33:58 2004 +0000

    (scm_system_star): Use scm_from_int on SIGINT and SIGQUIT,
    since that's what those values are.

commit 9bebea882a5dab90c1e71004634ede2cf2562e8c
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:20:13 2004 +0000

    (scm_try_arbiter): Use scm_i_misc_mutex instead of
    SCM_DEFER_INTS.
    (scm_release_arbiter): Use scm_i_misc_mutex so return value can be
    guaranteed if multiple threads compete to unlock.

commit fcc3adc2f9c4a4dd64809f4d47584d9fbc2b7717
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:19:14 2004 +0000

    (scm_setgroups): Enhance docstring, per doc/ref/posix.texi.

commit ef04832454fd83898f1569d756cc0b8e4c1cf37f
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:17:39 2004 +0000

    (Processes): Add setgroups.

commit 03034594e024201713804fbe0796771c877ca715
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:13:24 2004 +0000

    *** empty log message ***

commit 46c4d065299b1a020830c7c34c14b4ace04b6f85
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:12:59 2004 +0000

    (scm_string_any, scm_string_every): Enhance docstrings as
    per doc/ref/srfi-modules.texi.

commit c1ab7397548fc4d52b3e6abba646dd7daafef7dc
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:10:22 2004 +0000

    (SRFI-13 Predicates): Tweak wording for clarity.
    For string-every, note return is #t when no characters.  For
    string-any and string-every, note last pred call is not currently a
    tail call, contrary to SRFI-13 spec.

commit 5982a8e0125579f650b7382c27f6ab5f1349dfbd
Author: Kevin Ryde <address@hidden>
Date:   Thu Aug 5 00:02:23 2004 +0000

    (Conventions): Describe system-error args, use @defun for
    system-error-errno instead of just words.

commit c5e45cba937921d6bb0d1205d8eed4df155c3b94
Author: Kevin Ryde <address@hidden>
Date:   Wed Aug 4 23:49:30 2004 +0000

    *** empty log message ***

commit 7241f21353e56c14bd987f045d7b4e791845d7da
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:24:44 2004 +0000

    *** empty log message ***

commit 5ad8c0c95b9815e47b9b412f5db3414dda619afe
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:24:28 2004 +0000

    * num2integral.i.c, num2float.i.c: Removed.
    * Makefile.am (noinst_HEADERS): Updated.

commit 96d8c217570b05325061f258def985b775eb56f4
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:16:29 2004 +0000

    *** empty log message ***

commit 5615f696b6bf751f2c225b26475c889ae95a394e
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:15:51 2004 +0000

    Added scm_is_complex, scm_is_number, scm_c_make_rectangular,
    scm_c_make_polar, scm_c_rela_part, scm_c_imag_part, scm_c_magnitude,
    and scm_c_angle.

commit 7a72bb4181435e1cdf749dad168d18e0e02c9248
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:13:16 2004 +0000

    (scm_make_complex): Discouraged by moving to discouraged.h and
    discouraged.c.  Replaced all uses with scm_c_make_rectangular.

commit 8507ec804fbd7914b23fc535712c1d1ca1093913
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 17:12:14 2004 +0000

    (scm_complex_p): New, export as "complex?" to Scheme.
    (scm_number_p): Export as "number?" to Scheme.
    (scm_is_complex, scm_is_number): New.
    (scm_c_make_rectangular, scm_c_make_polar): New.
    (scm_make_rectangular, scm_make_polar): Use above.
    (scm_c_real_part, scm_c_imag_part, scm_c_magnitude, scm_c_angle):
    New.
    (scm_make_complex): Discouraged by moving to discouraged.h and
    discouraged.c.  Replaced all uses with scm_c_make_rectangular.

commit f9656a9f828feb5aa4ee8bd175dfa68dc09d6a6a
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:56:49 2004 +0000

    *** empty log message ***

commit cba42c9344cb8559ddfe8ba91e67e932cf5a2c1f
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:55:42 2004 +0000

    * numbers.h. numbers.c (scm_make_ratio): Renamed to
    scm_i_make_ratio and made static, replaced uses with scm_divide.

commit 759aa8f9e06cf4e9f8cd8ded06a293e8b3d8a190
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:07:37 2004 +0000

    *** empty log message ***

commit b8f63daff425082d388c90f8e1013ddc39fc63f3
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:07:23 2004 +0000

    Only perform the tests when the disabled features are enabled.

commit eae5018eff06011ebf90883edbe50ecfb6a338c1
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:06:51 2004 +0000

    (test_to_double, test_from_double): New tests.

commit d9a67fc441a066dbd352324b9b1a4a082d4ba818
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:06:12 2004 +0000

    (scm_make_real, scm_num2dbl, scm_float2num, scm_double2num):
    Discouraged by moving to discouraged.h and discouraged.c.
    Replaced all uses with scm_from_double.
    (scm_num2float, scm_num2double): Discouraged by moving prototype
    to discouraged.h and rewriting in terms of scm_to_double.
    Replaced all uses with scm_to_double.

commit 8672c728f0eac55444097c333fb4675eb6dde368
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:04:48 2004 +0000

    (scm_init_guile_1): Call scm_i_init_discouraged.

commit 55f26379b337e51e734ccd5bd9ad935cdc9b33a0
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 15:03:35 2004 +0000

    (scm_is_rational): New.
    (scm_i_short2big, scm_i_int2big, scm_i_uint2big, scm_i_size2big,
    scm_i_ptrdiff2big, scm_i_long_long2big, scm_i_ulong_long2big):
    Removed prototypes.
    (scm_make_real, scm_num2dbl, scm_float2num, scm_double2num):
    Discouraged by moving to discouraged.h and discouraged.c.
    Replaced all uses with scm_from_double.
    (scm_num2float, scm_num2double): Discouraged by moving prototype
    to discouraged.h and rewriting in terms of scm_to_double.
    Replaced all uses with scm_to_double.
    (scm_to_double): Do not implement in terms of scm_num2dbl, use
    explicit code.
    (scm_from_double): Do not implement in terms of scm_make_real, use
    explicit code.

commit c165cd437c11e8d9a436d9182a7090f3757fd936
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 14:55:42 2004 +0000

    *** empty log message ***

commit d3df9759164a2f7f1e975daf804c71e93a529737
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 14:55:20 2004 +0000

    Added scm_is_real, scm_is_rational, scm_to_double, scm_from_double,
    numerator, and denominator.

commit 5aa76027f594e35613a003732d14cb12789ef059
Author: Marius Vollmer <address@hidden>
Date:   Tue Aug 3 14:54:17 2004 +0000

    Typos and a small addition.

commit 145c4821fd4d7ee7d38388adbc722d4216a7e2ab
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:29:37 2004 +0000

    * api-deprecated.texi: Removed.

commit f7f3964e89ce25607874dfa29c307068fabdfa17
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:26:50 2004 +0000

    *** empty log message ***

commit dbf3eb1f734e42f475c22b660dec8312e68d32bf
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:20:03 2004 +0000

    *** empty log message ***

commit 506c91a13b7cc2ea8cd88263871985b071f6396e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:19:53 2004 +0000

    Replaced scm_num2* and scm_*2num with scm_to_* and
    scm_from_*, respectively.
    (print_int64, print_uint64): Rewritten by just calling scm_iprin1
    on a SCM.

commit b9bd8526f055eeef0acc42c269eb5ec67546159f
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:14:04 2004 +0000

    * numbers.h, numbers.c, discouraged.h, discouraged.c (scm_short2num,
    scm_ushort2num, scm_int2num, scm_uint2num, scm_long2num,
    scm_ulong2num, scm_size2num, scm_ptrdiff2num, scm_num2short,
    scm_num2ushort, scm_num2int, scm_num2uint, scm_num2long,
    scm_num2ulong, scm_num2size, scm_num2ptrdiff, scm_long_long2num,
    scm_ulong_long2num, scm_num2long_long, scm_num2ulong_long):
    Discouraged by moving to discouraged.h and discouraged.c and
    reimplementing in terms of scm_from_* and scm_to_*.  Changed all uses
    to the new scm_from_* and scm_to_* functions.

commit 531bf3e6a84faf61107b4a8a5288a2a757d17c6e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:13:29 2004 +0000

    *** empty log message ***

commit dee91fb9d44138d34ee67b265923951f7206d3c6
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:10:17 2004 +0000

    * gen-scmconfig.h.in (SCM_I_GSC_ENABLE_DISCOURAGED): New.
    * gen-scmconfig.c (SCM_ENABLE_DISCOURAGED): Emit based on above.

commit ba05058392b57f69d7890d99bce57ca7df64e21e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:09:06 2004 +0000

    Include libguile/discouraged.h.

commit 3623a1705c5f17ad197e8400944418340c32410e
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:08:19 2004 +0000

    Document the new --disable-discouraged option.

commit f5922e278566ac998aaa38b0ea5bc731ce4a1db4
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 16:07:34 2004 +0000

    (SCM_I_GSC_ENABLE_DISCOURAGED): New, for the new --enable-discouraged
    option.

commit 4f1d009fc10265edbea9402589ede8b14c5e2813
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 15:57:31 2004 +0000

    * discouraged.h, discouraged.c: New files.

commit c71b07063eb7c0ab02ac14a680f916011867dc99
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 15:57:04 2004 +0000

    * discouraged.h, discouraged.c: New files.
    
    * deprecated.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP, SCM_EQ_P,
    SCM_NEGATE_BOOL, SCM_BOOL, SCM_BOOT_NOT): Promoted from being
    deprecated to being discouraged by moving to discouraged.h.
    
    * numbers.h, numbers.c, discouraged.h, discouraged.c
    (scm_short2num, scm_ushort2num, scm_int2num, scm_uint2num,
    scm_long2num, scm_ulong2num, scm_size2num, scm_ptrdiff2num,
    scm_num2short, scm_num2ushort, scm_num2int, scm_num2uint,
    scm_num2long, scm_num2ulong, scm_num2size, scm_num2ptrdiff,
    scm_long_long2num, scm_ulong_long2num, scm_num2long_long,
    scm_num2ulong_long): Discouraged by moving to discouraged.h and
    discouraged.c and reimplementing in terms of scm_from_* and
    scm_to_*.
    
    * numbers.h, numbers.c: Removed GUILE_DEBUG code.
    (scm_i_short2big, scm_i_ushort2big, scm_i_int2big, scm_i_uint2big,
    scm_i_size2big, scm_i_ptrdiff2big): Removed.
    (scm_i_long2big, scm_i_ulong2big): New, explicit definitions.
    * conv-integer.i.c, conv-uinteger.i.c: Use them instead of
    explicit code.

commit 385609b992d42938e668ea5bed558e9c2b2debad
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 15:48:58 2004 +0000

    (SCM_EVALIM, SCM_EVALIM2, SCM_XEVAL, SCM_XEVALCAR): Renamed to SCM_I_*
    in order to avoid collisions with the versions defined in
    deprecated.h.

commit f625d00fe3794d85d5b3225c9ee3fe5fe49a69d8
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 15:15:45 2004 +0000

    *** empty log message ***

commit 235da338fa575e803297d45aa07139534d1ba2b7
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 15:15:31 2004 +0000

    * api-deprecated.texi: Removed.
    * intro.texi (Discouraged and Deprecated): General information
    about deprecation, etc.

commit c079ba3be18e9d7eaeb4f0ca4ace3d5410f0c008
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 12:33:07 2004 +0000

    *** empty log message ***

commit 4002a7088e7ec7f50020b801dd6cec3f0d76d5b8
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 12:32:41 2004 +0000

    Replaced references to scm_num2* with scm_to_* and references to
    scm_*2num with scm_from_*.

commit 8a3befe34a518044ffd3a27b706aaa930e0276a6
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 12:29:49 2004 +0000

    *** empty log message ***

commit 07d83abe7b8b617e4bb70a08efc0c0f6999fa0cc
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 12:29:00 2004 +0000

    * scheme-binding.texi: Renamed to api-binding.texi.
    * scheme-compound.texi: Renamed to api-compound.texi.
    * scheme-control.texi: Renamed to api-control.texi.
    * scheme-data.texi: Renamed to api-data.texi.
    * scheme-debug.texi: Renamed to api-debug.texi.
    * deprecated.texi: Renamed to api-deprecated.texi.
    * scheme-evaluation.texi: Renamed to api-evaluation.texi.
    * ref-init.texi: Renamed to api-init.texi.
    * scheme-io.texi: Renamed to api-io.texi.
    * scheme-memory.texi: Renamed to api-memory.texi.
    * scheme-modules.texi: Renamed to api-modules.texi.
    * scheme-options.texi: Renamed to api-options.texi.
    * scm.texi: Renamed to api-overview.texi.
    * scheme-procedures.texi: Renamed to api-procedures.texi.
    * scheme-scheduling.texi: Renamed to api-scheduling.texi.
    * scheme-scm.texi: Renamed to api-scm.texi.
    * scheme-smobs.texi: Renamed to api-smobs.texi.
    * scheme-snarf.texi: Renamed to api-snarf.texi.
    * scheme-translation.texi: Renamed to api-translation.texi.
    * scheme-utility.texi: Renamed to api-utility.texi.
    * debugging.texi: Renamed to scheme-debugging.texi.
    * scripts.texi: Renamed to scheme-scripts.texi.
    * program.texi: Renamed to libguile-program.texi.

commit 237be238424f1b6d130799ad931ba6fa8504a97c
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 11:46:57 2004 +0000

    * program.texi: Renamed to libguile-program.texi.  Changed all
    references.

commit c393de666cdc9a30d838cff69d59faf07f080621
Author: Marius Vollmer <address@hidden>
Date:   Mon Aug 2 11:41:23 2004 +0000

    Renamed to libguile-program.texi.

commit 5ec82e960f21108f8255b1662790bbb96d8f8563
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:37:57 2004 +0000

    *** empty log message ***

commit ed7ba6d12f6134eab3a68e4c5ecad2c3f090fa0a
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:36:49 2004 +0000

    (SCM_DEFER_INTS, SCM_ALLOW_INTS): Add comments about past
    and current usage and migration.

commit 71234d0ce9c181e9974c5e8e9034d61dff9f724e
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:30:49 2004 +0000

    *** empty log message ***

commit 4c6563e1ed535e7386a81cb186470bd8d2463aea
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:30:21 2004 +0000

    (string-every): Check empty string case.

commit 8c0634b7ea420afa4f0b8cbbe8a4fd48c4766591
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:24:36 2004 +0000

    (scm_string_every): Correction to initial "res" value,
    return should be #t for an empty string.  Reported by Andreas Vögele.

commit c80bab35fbb1fe99f03bea9b35892fef4235926c
Author: Kevin Ryde <address@hidden>
Date:   Mon Aug 2 00:22:02 2004 +0000

    Bit more comments for this:
        * configure.in (isinf, isnan): Detect macro versions as well as
        functions, since C99 specifies them as macros and that's all HP-UX
        has.  Reported by Andreas Voegele.

commit 58f2898942b74cada603dd9e14c0dc687e380d54
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:28:49 2004 +0000

    *** empty log message ***

commit 5e9456e3067dbbb6a694338dcc9ee6c56cd8de38
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:25:26 2004 +0000

        * tests/filesys.test: New file, exercising copy-file.
        * Makefile.am (SCM_TESTS): Add it.

commit 5e996bd608f223ce552890401f6113d6b1f0fdb1
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:24:34 2004 +0000

    New file, exercising copy-file.

commit 01046395accac9b6de5930bc827d3b08a54a7842
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:19:26 2004 +0000

    (scm_copy_file): Avoid fd leak when destination file
    cannot be opened.

commit 3572cd6b8f6c6c9cc6549ab67a179563d89e2ae0
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:13:29 2004 +0000

        * error.c (scm_strerror): Use scm_i_misc_mutex around strerror since
        it's not thread safe.
        (scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
        advantage of this.
        * fports.c (scm_open_file): Use scm_strerror likewise.
        * filesys.c (scm_stat, scm_lstat): Ditto.

commit fd08c23657f0e660ee29ca4ff625e1536b2e24f9
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:12:24 2004 +0000

        * error.c (scm_strerror): Use scm_i_misc_mutex around strerror since
        it's not thread safe.
        (scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
        advantage of this.
        * fports.c (scm_open_file): Use scm_strerror likewise.

commit 4af3c6f17ca4c94ac6709aa105bf35a56728485e
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:11:15 2004 +0000

    (scm_strerror): Use scm_i_misc_mutex around strerror since
    it's not thread safe.
    (scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
    advantage of this.

commit 7426a638b7017d7d67b647ae8b75f8ee26c17d80
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 31 01:08:20 2004 +0000

    (scm_gensym): Use scm_i_misc_mutex around gensym_counter
    update, for thread safety.
    (gensym_counter): Move into scm_gensym which is its only user.
    (scm_init_symbols): No need to explicitly initialize gensym_counter.

commit da1e6e6710d6a803709214ccb32bff4dda652519
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 30 12:39:36 2004 +0000

    *** empty log message ***

commit f47029a180fbc1240886660028a5ce57bf830274
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 30 12:39:29 2004 +0000

    (Formatted Output): Changed @w to @w{} in itemize.  The former doesn't
    work for some reason...

commit 51fdb325b0472e9eb27bf5280f4aaa4c84c2330f
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 15:49:04 2004 +0000

    *** empty log message ***

commit 4627df5a6bd4e9ab40135f4a491192f8ba5a8c21
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 15:48:54 2004 +0000

    * gen-scmconfig.c (SCM_SIZEOF_INTMAX, SCM_SIZEOF_SIZE_T): New.

commit d1b5b4001ee658d978182eb67a43dc648f0a9e2f
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 15:48:44 2004 +0000

    * numbers.h (scm_to_schar, scm_to_uchar, scm_to_char,
    scm_to_short, scm_to_ushort, scm_to_int, scm_to_uint, scm_to_long,
    scm_to_ulong, scm_to_long_long, scm_to_ulong_long, scm_to_intmax,
    scm_to_uintmax, scm_to_size_t, scm_to_ssize_t scm_from_schar,
    scm_from_uchar, scm_from_char, scm_from_short, scm_from_ushort,
    scm_from_int, scm_from_uint, scm_from_long, scm_from_ulong,
    scm_from_long_long, scm_from_ulong_long, scm_from_intmax,
    scm_from_uintmax, scm_from_size_t, scm_from_ssize_t): No longer
    defined in terms of scm_to_signed_integer, etc, but in terms of
    scm_to_int8, etc.

commit d20008c0abb9ab978a3406442ac15474504a014b
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 15:44:01 2004 +0000

    Check for sizes of size_t and intmax_t.

commit 315158a8ac1af1c4aa565c44448b93112670eacf
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:14:18 2004 +0000

    *** empty log message ***

commit 3838c384d12e0b0871a5f659c0a96b7980de0c6f
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:13:59 2004 +0000

    Many more tests for the integer conversion functions.

commit c134fe9dab2f6e96849902f373ff022687dd6150
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:13:20 2004 +0000

    Bugfix: logic in detecting ptrdiff_t was inverted;
    assume ptrdiff_t is available when its size is non-zero, not when
    it is zero.  Do no longer define SCM_I_GSC_*_LIMITS macros.

commit 03696aab8cdb16118fffd382ac0dc738bb47ae0c
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:04:02 2004 +0000

    *** empty log message ***

commit e88d45aa731eae1c5742f100fdf0731202f7b434
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:03:40 2004 +0000

    * __scm.h (SCM_I_UTYPE_MAX, SCM_I_TYPE_MAX, SCM_I_TYPE_MIN,
    SCM_I_SIZE_MAX, SCM_I_SSIZE_MIN, SCM_I_SSIZE_MAX): New.
    
    * __scm.h, gen-scmconfig.c (SCM_I_LLONG_MAX, SCM_I_LLONG_MIN,
    SCM_I_ULLONG_MAX, SCM_T_INT8_MIN, SCM_T_INT8_MAX, SCM_T_UINT8_MAX,
    SCM_T_INT16_MIN, SCM_T_INT16_MAX, SCM_T_UINT16_MAX,
    SCM_T_INT32_MIN, SCM_T_INT32_MAX, SCM_T_UINT32_MAX,
    SCM_T_INT64_MIN, SCM_T_INT64_MAX, SCM_T_UINT64_MAX,
    SCM_T_INTMAX_MIN, SCM_T_INTMAX_MAX, SCM_T_UINTMAX_MAX): Moved
    definition into __scm.h, using new SCM_I_TYPE_MIN, etc.

commit d0fefc7de59be16cdc6b08c08e76adbb0bc34a26
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 14:03:30 2004 +0000

    Removed SCM_I_GSC_*_LIMITS macros, they are no longer used.

commit 9d3ebce49327fa2c2bc3cf2318d3619c672e2ac0
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 13:54:15 2004 +0000

    Added docs.

commit 7ff8176bdb22bfa1960d8ab2da6fa46b7071fd4b
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 13:43:49 2004 +0000

    (noinst_HEADERS): Added conv-integer.i.c and conv-uinteger.i.c.

commit bfd7932e6644c91004c6e863ecc5db580eda12f6
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 29 13:42:50 2004 +0000

    * conv-integer.i.c, conv-uinteger.i.c: New files, used to generate
    the functions below.
    
    * numbers.c, numbers.h (scm_to_int8, scm_to_uint8, scm_to_int16,
    scm_to_uint16, scm_to_int32, scm_to_uint32, scm_to_int64,
    scm_to_uint64, scm_from_int8, scm_from_uint8, scm_from_int16,
    scm_from_uint16, scm_from_int32, scm_from_uint32, scm_from_int64,
    scm_from_uint64): Turned from macros into proper functions.
    (scm_to_signed_integer, scm_to_unsigned_integer,
    scm_from_signed_integer, scm_from_unsigned_integer): Generate via
    conv-integer.i.c and conv-uinteger.i.c, as well.

commit 3bfd202a72b19758b291219d7ef20c319ada2978
Author: Kevin Ryde <address@hidden>
Date:   Thu Jul 29 00:19:17 2004 +0000

    *** empty log message ***

commit 1f15779e06a0397bc7d99da930ca543706863a27
Author: Kevin Ryde <address@hidden>
Date:   Thu Jul 29 00:13:22 2004 +0000

    *** empty log message ***

commit e8a590639c9365cd80d87707b89a9123c84b12cd
Author: Kevin Ryde <address@hidden>
Date:   Thu Jul 29 00:12:25 2004 +0000

    (scm_ttyname): Use scm_i_misc_mutex for thread safety.

commit 8d20b7af9e4789d9dacfffcf706b65fe39d06bf5
Author: Kevin Ryde <address@hidden>
Date:   Wed Jul 28 23:52:17 2004 +0000

    (What is libguile): Correction to
    reference manual "Data representation" cross reference.

commit eab8f8b2084b30eeebbb6372962cdc13149bfd7f
Author: Kevin Ryde <address@hidden>
Date:   Wed Jul 28 00:54:29 2004 +0000

    *** empty log message ***

commit 76d3f3d47f14d8c85921574ba6c3f7e5dcd2d61c
Author: Kevin Ryde <address@hidden>
Date:   Wed Jul 28 00:54:04 2004 +0000

    (Formatted Output): Rewrite, describing escapes
    and parameters in detail.

commit 17bf4bfa2139e7921227c9c653723dbb2cbf5aa6
Author: Kevin Ryde <address@hidden>
Date:   Wed Jul 28 00:53:09 2004 +0000

    (@le, @ge): New macros for ifnottex.

commit 32b435f20190db5f8130285b78cdd6aee77bbafb
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:47:16 2004 +0000

    *** empty log message ***

commit c3f3c841f072c87d0311d7f8aa943a2c2e5a47b2
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:38:20 2004 +0000

    *** empty log message ***

commit eb16734d62757c958c6652018d16511a750b7f0c
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:36:35 2004 +0000

    (scm_array_set_x): For svect, use scm_num2short for
    consistency with other vector types and to get arg and func name into
    error message.

commit a1f3180a9295ca7d48a69636dbd078abef932ab7
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:27:51 2004 +0000

    (array-set!): Exercise svect value range check.

commit 48360eb3eea56a59ee418547a544e90686ed784b
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:11:33 2004 +0000

    *** empty log message ***

commit 0a9d83b0f490a7df942a39f3d6b57e819be0d42d
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 23:10:35 2004 +0000

    (scm_ctermid): Use an L_ctermid buf on the stack, for thread safety.

commit 081c1b24fadbe74e59a739f98b4721dbe1ecebd9
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 22:55:55 2004 +0000

    *** empty log message ***

commit 710491c564b18366e775ebafa4b2d153e1800737
Author: Kevin Ryde <address@hidden>
Date:   Tue Jul 27 22:49:52 2004 +0000

    (make-regexp): Exercise flags args validation.

commit bc36d0502b9b2ac7e43ded2e1fbeed2f1499bb1d
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 27 15:41:49 2004 +0000

    * tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into
    deprecated.h.  Replaced all uses with scm_is_eq.

commit c82f8ed66ca55da796cb6289f380aaed2e5e34bb
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 27 15:40:07 2004 +0000

    *** empty log message ***

commit 68fb32d29c5500bdebde6e26ef40928967af77f0
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 27 15:39:46 2004 +0000

    (SCM_EQ_P): Deprecated by moving it into
    deprecated.h.  Replaced all uses with scm_is_eq.

commit 2ad58b2a89598490f27813caa5a6da66cc1593a0
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 27 15:39:25 2004 +0000

    * deprecated.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP, SCM_BOOL):
    Reimplement using scm_is_false, scm_is_true, scm_is_bool, and
    scm_from_bool, respectively.
    (SCM_NINUMP): Added.
    
    * tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into
    deprecated.h.  Replaced all uses with scm_is_eq.

commit e759bc7c331a19d0389aa9471febb39746680011
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:45:53 2004 +0000

    *** empty log message ***

commit 7ac44f03c6238e319836197d5fb524fc8176a25a
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:45:02 2004 +0000

    (@nicode): Use @alias instead of @macro, for correct
    handling of backslashes.

commit 317b4c4ac177276f693304be45ae154e73f3e305
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:26:09 2004 +0000

    *** empty log message ***

commit 6df2ef3bafe45598e3100cd86a88b3251034b5c3
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:21:43 2004 +0000

    (Smobs): In SCM_SMOB_OBJECT_LOC,
    SCM_SMOB_OBJECT_2_LOC, SCM_SMOB_OBJECT_3_LOC, use {} to avoid "*"
    getting into the index as part of the macro name.

commit 46b66e1a06dbb080072c645c9d5c6942a6376100
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:19:27 2004 +0000

    Make it vindex instead:
    (Frames): Add @vindex for SCM_F_WIND_EXPLICITLY.

commit 30a80af9f554338a2a95e90b613cfcc7174c6a63
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:17:50 2004 +0000

    (Frames): Add @findex for SCM_F_WIND_EXPLICITLY.

commit 34111015842eea10db6faeebea9eb100d06f188e
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:15:15 2004 +0000

    *** empty log message ***

commit 9e5b43bf5759937b3b09a5a1a50c3ac60f40d41d
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:14:48 2004 +0000

    (String Syntax): Add all backslash forms accepted.
    (Regexp Functions): Use @defvar for regexp/icase etc, to emphasise
    that they're variables not symbols etc.

commit 5eef0f619ad131dc7054abf5685649df0ec91811
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 24 00:08:47 2004 +0000

    (SRFI-0): Revise for clarity, drop BNF in favour
    of plain description, emphasise this is just for portable programs.

commit 33bea692e5193750d76882d065ba1f77c56ffa94
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:52:55 2004 +0000

        * threads.c, threads.h (scm_i_misc_mutex): New SCM_GLOBAL_MUTEX.
        * posix.c (scm_crypt): Use it to protect static data in crypt().

commit 50dc1840005092b8b311ab2f3b4745df214ae519
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:51:58 2004 +0000

    (scm_i_misc_mutex): New SCM_GLOBAL_MUTEX.

commit 6364df3429f7f191abcfddb85ba69361fd74651f
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:43:57 2004 +0000

    *** empty log message ***

commit 16ea0eb96a56ed5c35f7df46557440820cd1be3f
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:41:56 2004 +0000

    Add a copyright year.

commit cd6f7d0bd22c0d511251d5eb019dde2c48a1b477
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:41:35 2004 +0000

    Use #:duplicates (last) to
    suppress warnings about current-time and raise replacing core bindings.

commit 26a4995c587e57fdd657d2adbe0e4b4db4565e50
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 23 23:38:50 2004 +0000

    Use define-module, to as not to import
    common-list into subsequent tests (eg. srfi-1 where `every' provokes a
    warning).

commit d5b203a684426645d22eac20f30fbdebb1bdb5d2
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 23 15:51:33 2004 +0000

    *** empty log message ***

commit e11e83f3d99305ada6354cae7123fb8c0e998703
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 23 15:43:02 2004 +0000

    * deprecated.h, deprecated.c, numbers.h (SCM_INUMP, SCM_NINUMP,
    SCM_INUM): Deprecated by reenaming them to SCM_I_INUMP, SCM_I_NINUMP
    and SCM_I_INUM, respectively and adding deprecated versions to
    deprecated.h and deprecated.c.  Changed all uses to either use the
    SCM_I_ variants or scm_is_*, scm_to_*, or scm_from_*, as appropriate.

commit 928e0f421070bb610f3375d5808a6378d5edfa1b
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 23 15:34:07 2004 +0000

    (scm_i_dowinds): Removed unused code that would call the unexisting
    scm_cross_dynwind_binding_scope for inums on the windlist.

commit 3aa13a0579ec82845fa5374ac3fdf673d874d3e0
Author: Marius Vollmer <address@hidden>
Date:   Fri Jul 23 15:29:27 2004 +0000

    (SCM_INUMP, SCM_NINUMP, SCM_INUM): Deprecated by reenaming them to
    SCM_I_INUMP, SCM_I_NINUMP and SCM_I_INUM, respectively and adding
    deprecated versions to deprecated.h and deprecated.c.  Changed all
    uses to either use the SCM_I_ variants or scm_is_*, scm_to_*, or
    scm_from_*, as appropriate.

commit ae13e8e1ca81494bd45bc5e86750b67979036470
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 19 00:59:27 2004 +0000

    *** empty log message ***

commit 4fb318013bee1dab79acda62e64f298c028256c1
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 19 00:58:04 2004 +0000

    2004-05-25  Matthias Koeppe  <address@hidden>
        * tests/format.test (~{): Test no arbitrary iteration limit.

commit dc510157bedba19d4194d4dcf6d6076f73182130
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 19 00:48:37 2004 +0000

    *** empty log message ***

commit a0dbcd9cc3de488e61e14c85da0a9e2f578eb097
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 19 00:43:37 2004 +0000

    2004-05-25  Matthias Koeppe  <address@hidden>
        * format.scm: Remove the arbitrary limit of 100 iterations for the
        ~{...~} control structure.

commit be49d1df07370f215e90bfee1aa86643a9da5545
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 15:25:01 2004 +0000

    Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true,
    scm_from_bool, and scm_is_bool, respectively.  Thanks to Andreas
    Vögele!

commit 0523f1c0d87d8a9069090bc1021ddb18dfa55de2
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:43:55 2004 +0000

    *** empty log message ***

commit 5f7fa54d98bb6da17eb94b12a2558d9fbce0a421
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:43:33 2004 +0000

    Updated for new scm_is_bool, scm_is_true, etc.

commit cd2825a8e02cfbb96de3832553b7623eeccab7a4
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:42:51 2004 +0000

    (Integers): Talk more about inexact and exact integers.

commit ac9a5a03e56f3851d93173df2bc7c2649d042de7
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:39:56 2004 +0000

    use scm_is_true instead of SCM_NFALSEP in the examples.

commit abe1308cb9084da032016f8c158df45ef29919ae
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:39:12 2004 +0000

    (test_is_signed_integer, test_is_unsigned_integer): Expect inexact
    integers to fail.

commit a55c2b680920198892329bdf78c92ecc7553eb58
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:35:36 2004 +0000

    * validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
    SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
    SCM_VALIDATE_INUM_MIN_COPY,
    SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
    SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
    SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
    fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
    or similar.

commit 7cee5b315a702049ba869150eb3d1658d38030d0
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 14:34:59 2004 +0000

    (ipv6_net_to_num, scm_from_ipv6): Renamed
    ipv6_net_to_num to scm_from_ipv6, for converting from an IPv&
    byte-wise address to a SCM integer.  Changed all uses.
    (ipv6_num_to_net, scm_to_ipv6): Renamed ipv6_num_to_net to
    scm_to_ipv6 and added type and range checking, for converting from
    an IPv& byte-wise address to a SCM integer.  Changed all uses.
    (bignum_in_ipv6_range_p, VALIDATE_INET6): Removed, their function
    is now done by scm_to_ipv6.
    
    * validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
    SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
    SCM_VALIDATE_INUM_MIN_COPY,
    SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
    SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
    SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
    fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
    or similar.

commit 5efd3c7d68a7ebf11b53bc47c799e28a5639c0e7
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 13:55:04 2004 +0000

    (scm_to_signed_integer, scm_to_unsigned_integer): dot
    not accept inexact integers.
    
    * validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
    SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
    SCM_VALIDATE_INUM_MIN_COPY,
    SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
    SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
    SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
    fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
    or similar.

commit 66998138b8b6379d7c4dcaf98839621e4918178d
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 13:50:41 2004 +0000

    *** empty log message ***

commit 1a161b8ece1d8c1c75cc89658a116fbeacf8a00a
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 13:50:33 2004 +0000

    Changed all uses of SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
    SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
    SCM_VALIDATE_INUM_MIN_COPY,
    SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
    SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
    SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.

commit 8805b77dd07a333caba3da57df13f604baca8588
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 13:47:02 2004 +0000

    (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
    SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
    SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
    SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
    SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
    fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
    or similar.

commit 0f94980db9a7395fb1284aa6c3ad451b49150f11
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 13:42:18 2004 +0000

    Use scm_from_int instead of SCM_MAKINUM.

commit 7f6c5a88cc677c63a96a409dbc4347b5d6fd5ad4
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 10 00:29:26 2004 +0000

    *** empty log message ***

commit 26a6ccfa9027bfb58902dfc69803c3c0c692525f
Author: Kevin Ryde <address@hidden>
Date:   Sat Jul 10 00:22:12 2004 +0000

    (SRFI-0): Add srfi-6 to the identifiers provided by default.

commit a3de8e7b0f90943e26e53e984b2ce8fd6dfa02e6
Author: Marius Vollmer <address@hidden>
Date:   Sat Jul 10 00:16:34 2004 +0000

    Forgot to list just what numbers are no longer hard-coded in gen-scmconfig.c

commit 2755366c4ad332ca1a97bb63f36985793311cbc5
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:45:41 2004 +0000

    *** empty log message ***

commit 018733ff9e59a67b8f6776c7f60ce6443c8f2979
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:44:48 2004 +0000

    (%cond-expand-features): Add srfi-6 which is in the core.

commit 72b4bea4d3247ab9c7d49a310e970b20eff1272b
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:42:53 2004 +0000

    (re-export): Uncomment numerator, denominator,
    rationalize, since they now exist.

commit 5bc8bc69352b04e632528e0ac4ad43edbb2c9014
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:41:20 2004 +0000

    (read-macro-prefix): Remove unused variable "tail".

commit ac0a9fa32f1b44d2ee28c0777e98bfea418d0046
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:40:07 2004 +0000

    (and-let*): Remove unused variable "val".

commit 052fbfd928c0eca24334232129aa9975cb4fef3c
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:16:48 2004 +0000

    *** empty log message ***

commit f8fc973725fa6809820be1a8ccd0b713fd99917f
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:15:28 2004 +0000

    (scm_make_regexp): Free rx on error, to avoid memory leak.

commit 48a06bd55ded5ab29e34926bb09b573985793c62
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 23:08:53 2004 +0000

    *** empty log message ***

commit 677104a65cc734f3fefdfc7b8658c8766688f709
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 22:27:47 2004 +0000

    *** empty log message ***

commit 08ee6abd86a0b2905e0e842bbf7e7874ffe4d15a
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 22:16:04 2004 +0000

        * tests/hash.test: New file.
        * Makefile.am (SCM_TESTS): Add it.

commit 40339d6b6fa37f13a147f3473db1250cd0302653
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 22:14:19 2004 +0000

    New file.

commit 803d27f9d02c5b9e59bb37b847b75b682655449a
Author: Kevin Ryde <address@hidden>
Date:   Fri Jul 9 22:08:43 2004 +0000

    (scm_hashq, scm_hashv, scm_hash): Restrict to size>=1 rather
    than size>=0, since 0<=hash<size cannot be satisfied for size==0, and
    such a size causes divide-by-zeros in scm_hasher.

commit b7341ea4543259bafa3ba415e9a69fb7d440d6a1
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 22:53:33 2004 +0000

    *** empty log message ***

commit af3d28494d23f912626364055bef814ac0068e58
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 22:50:45 2004 +0000

    Bugfix: set SCM_I_GSC_T_UINTMAX, not SCM_I_GSC_T_INTMAX in two places.

commit aacc831855fa1885e8d596526ad62bb608f99acf
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 16:03:45 2004 +0000

    *** empty log message ***

commit 79e9bca7e9a7cae22b8b4162368a0776e10f5106
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 16:03:01 2004 +0000

    Use scm_from_int instead of SCM_MAKINUM and scm_is_eq instead
    SCM_EQ_P.

commit 67b74a4c3e2a372c1a403cddc127538352d13b0e
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 16:01:02 2004 +0000

    (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Removed and used SCM_I_LLONG_MIN
    etc. instead.
    
    * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
    SCM_I_MAKINUM and changed all uses.

commit 93ccaef0c60868bb1a6e0747387ce34c0172b53e
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 15:58:11 2004 +0000

    * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
    SCM_I_MAKINUM and changed all uses.

commit 43240c9caf66f802ba50df685e3e8b44e38906a5
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 15:54:40 2004 +0000

    *** empty log message ***

commit d956fa6f91e2873fbf5db4e5ed1345f0958d05dd
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 15:54:05 2004 +0000

    (scm_is_signed_integer, scm_is_unsigned_integer):
    Rewritten using the same logic as scm_to_signed_integer and
    scm_to_unsigned_integer, respectively, which is better(tm).  Also,
    use CHAR_BIT instead of hardcoding 8.
    (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Removed and used
    SCM_I_LLONG_MIN etc. instead.
    
    * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
    SCM_I_MAKINUM and changed all uses.

commit 5a572ca13c2258defb9355122febf4f04276b97e
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 15:41:48 2004 +0000

    * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
    SCM_I_MAKINUM and changed all uses.
    * deprecated.h, deprecated.c (SCM_MAKINUM): Newly deprecated.

commit d19905925431ab12bbdcf5c26cd6478fad7755fb
Author: Marius Vollmer <address@hidden>
Date:   Thu Jul 8 15:31:39 2004 +0000

    Instead of hard-coding the numbers, compute them by assuming
    twos-complement.

commit 11c8f7296b119eee1887449c5a5b40c0e95bac01
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:40:25 2004 +0000

    *** empty log message ***

commit 4e2b1f342dadacbefb752c28b60ed089bbe8d8cc
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:39:21 2004 +0000

    * scheme-data.texi (Integers): Added docs for the new scm_is_,
    scm_to_ and scm_from_ functions for integers.

commit e63a059cce45752fcce38cbccd8d55dbd657c051
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:32:02 2004 +0000

    Remove superflous @end example.

commit c9eb03bb73fcbcf8dc5c4caef8926e523c2be58f
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:27:21 2004 +0000

    *** empty log message ***

commit afdb04ef18116d1bfdc0e71925de26b3f73d90d1
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:25:23 2004 +0000

    Don't define SCM_T_INTMAX_MIN,
    etc, they are now provided by libuile.h.
    (test_int_sizes): New.

commit 22008a78041b4b4cd2bd77f425afc5136b46438b
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:22:56 2004 +0000

    (scm_to_short, scm_to_ushort): It's SHRT_MIN, etc, not SHORT_MIN.
    (scm_to_size_t): Use SIZE_MAX instead of cooking our own.
    (scm_to_long_long, scm_to_ulong_long, scm_to_int8, scm_to_uint8,
    scm_to_int16, scm_to_uint16, scm_to_int32, scm_to_uint32,
    scm_to_int64, scm_to_uint64, scm_to_intmax, scm_to_uintmax,
    scm_from_long_long, scm_from_ulong_long, scm_from_int8,
    scm_from_uint8, scm_from_int16, scm_from_uint16, scm_from_int32,
    scm_from_uint32, scm_from_int64, scm_from_uint64, scm_from_intmax,
    scm_from_uintmax): New.

commit 76bd98fa1676c7d3e6da43cba0537b161392f643
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:18:31 2004 +0000

    * gen-scmconfig.h.in: Added all the new SCM_I_GSC_*_LIMITS that
    configure now produces.
    * gen-scmconfig.c: Use them to output SCM_T_INT8_MIN, etc
    definitions, giving the limits of the integer types defined by
    Guile. Also, output a hard coded SCM_I_LLONG_MIN, etc since
    LLONG_MIN or LONG_LONG_MIN is hard to get at.

commit e5b8d4ddba878803603f9d69e14e644a144ea177
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:16:20 2004 +0000

    Added all the new SCM_I_GSC_*_LIMITS that configure now produces.

commit 6aa84fddd0323a385bcb13becebca7df8183d70a
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 15:08:21 2004 +0000

    When checking for suitable types for scm_t_int8, etc, try int8_t
    first, so that we pick them up when they are defined.  Also,
    substitute limit macros like INT8_MIN into the configure header for
    all these types.

commit 39852ceae5fc5f0d18994a5a84329e3bdbc0d6a3
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 12:18:18 2004 +0000

    *** empty log message ***

commit 3f7e8708b4e76b6ad9c1b74b8a938c1d4ee8345c
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 12:17:41 2004 +0000

    (How Guile does it): Mark as being in limbo.  All
    the real documentation will be in the nodes "Programming in C" and
    "API Reference".
    (Boolean Data): Just refer to node "Booleans".

commit f50e11ca3effbcb9c0a2a311fe019fb6901dde85
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 12:09:57 2004 +0000

    Replace references to SCM_NFALSEP, etc with scm_is_true, etc.

commit 33e57bbd8b8010fbce08778195bf9789d111e840
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 07:43:07 2004 +0000

    *** empty log message ***

commit c67fd6ec36e91e370fdcb6c2d09b59ecd842130b
Author: Marius Vollmer <address@hidden>
Date:   Wed Jul 7 07:39:10 2004 +0000

    (Booleans): Flag all function-like definitions as "C Functions".

commit c309617ce766c410c639fa497a7dd673866de8f2
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 14:23:15 2004 +0000

    *** empty log message ***

commit 48c8d9c74ede9c065e571b154e2409b1d0d35f88
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 14:22:11 2004 +0000

    Added scm_is_eq, scm_eq_p, scm_eqv_p, and scm_equal_p.

commit ef53cad458f620ce76beb52246bab93fd9168da8
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 14:21:46 2004 +0000

    Remove non-R5RS stuff from the 'rn' index.

commit 9b5eee309e0690563cffa4035392b1768daf47ad
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 13:20:07 2004 +0000

    *** empty log message ***

commit 66dd7f149c344a8c2b1d0e3eb28eb6e2f3eddcd8
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 13:19:42 2004 +0000

    Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true,
    scm_from_bool, and scm_is_bool, respectively.

commit 170bb182fab30d84d36b729ea234a397e1882d9b
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 13:13:37 2004 +0000

    New file.

commit 2aac7a4825f65499278b023191c6144f1d57ae76
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 13:13:14 2004 +0000

    Added test-conversion to the TESTS.

commit 9cb7d02b426e01aad0ca308d3f2dfbdde84ecac7
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 12:02:59 2004 +0000

    *** empty log message ***

commit 590f893b3b188cc72a28ae9591523aaf24962a49
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 11:52:50 2004 +0000

    *** empty log message ***

commit 00874d5fb023fd68c03f0df33eccb6554da32ea2
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 11:02:47 2004 +0000

    Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true,
    scm_from_bool, and scm_is_bool, respectively.

commit 054ebf6ca539dee2bfc9965781313c0d32faa51f
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 11:02:18 2004 +0000

    *** empty log message ***

commit 7888309be8638cb5b75db163383a3d977bd9769d
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 10:59:25 2004 +0000

    * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into "deprecated.h".
    Replaced all uses with scm_is_false, scm_is_true, scm_from_bool, and
    scm_is_bool, respectively.

commit 9c293a3d2f20f783cc59d749f4d6bcd09fbb0cd5
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 10:42:33 2004 +0000

    (scm_is_eq): New.

commit 1fe56d60fda532eba3b4f689a671a2f939191e50
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 10:25:37 2004 +0000

    (scm_is_bool): Fix typo.
    
    * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into "deprecated.h".
    Replaced all uses with scm_is_false, scm_is_true, scm_from_bool, and
    scm_is_bool, respectively.

commit 73e4de09b9f21609251df9e1098105208bac1a63
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 10:23:30 2004 +0000

    (scm_is_integer, scm_is_signed_integer, scm_is_unsigned_integer,
    scm_to_signed_integer, scm_to_unsigned_integer, scm_to_schar,
    scm_to_uchar, scm_to_char, scm_to_short, scm_to_ushort, scm_to_long,
    scm_to_ulong, scm_to_size_t, scm_to_ssize_t, scm_from_schar,
    scm_from_uchar, scm_from_char, scm_from_short, scm_from_ushort,
    scm_from_int, scm_from_uint, scm_from_long, scm_from_ulong,
    scm_from_size_t, scm_from_ssize_t, scm_is_real, scm_to_double,
    scm_from_double): New.
    
    * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into "deprecated.h".
    Replaced all uses with scm_is_false, scm_is_true, scm_from_bool, and
    scm_is_bool, respectively.

commit ede310d888afd9d5ef8d36fc0f30b6263d6dc807
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 10:05:45 2004 +0000

    * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
    SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into
    "deprecated.h".  Replaced all uses with scm_is_false, scm_is_true,
    scm_from_bool, and scm_is_bool, respectively.
    
    * boolean.h (scm_is_bool): Fix bug in prototype.
    (scm_from_bool): The argument is "x" not "f", stupid.

commit 0954f871cdd1cc201b99c3295ff32eae853b3be5
Author: Marius Vollmer <address@hidden>
Date:   Tue Jul 6 09:54:35 2004 +0000

    *** empty log message ***

commit 71ab4b5057d008c0ed1f4ec77307f6439bbf67fc
Author: Marius Vollmer <address@hidden>
Date:   Mon Jul 5 17:38:19 2004 +0000

    *** empty log message ***

commit 103f4adfbf4dbd45f1ce31529b929498b3543d86
Author: Marius Vollmer <address@hidden>
Date:   Mon Jul 5 17:37:41 2004 +0000

    (Booleans): Added reference entries for scm_is_true, scm_is_false,
    scm_is_bool, scm_from_bool, and scm_to_bool.

commit 800570a6c79ec08c3f76ef23634dbd5e6558678a
Author: Marius Vollmer <address@hidden>
Date:   Mon Jul 5 17:14:23 2004 +0000

    *** empty log message ***

commit 3a684cc6c979b57512af1feb88f1517d506c2088
Author: Marius Vollmer <address@hidden>
Date:   Mon Jul 5 17:13:39 2004 +0000

    (scm_is_true, scm_is_false, scm_from_bool, scm_to_bool): New.

commit e4e249c1b8e5a2dfb619871227ff7ccc8ed000f7
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:21:24 2004 +0000

    *** empty log message ***

commit 40827c6d16648487e6183d92639191125df2e102
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:09:17 2004 +0000

    *** empty log message ***

commit fbacbccede5e0f076188b901b1209ba0ad2e9dad
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:08:24 2004 +0000

    (system): Correction to redefinition, now guile is stricter
    about when a define binding comes into existance.

commit 4d0bfea13049ee348144bb76ba37d28abfc88d63
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:04:39 2004 +0000

    (isinf, isnan): Detect macro versions as well as
    functions, since C99 specifies them as macros and that's all HP-UX
    has.  Reported by Andreas Voegele.

commit ad3e9ceb94775bfcc4a49b89de75bed3cb908760
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:01:48 2004 +0000

    *** empty log message ***

commit b2e723816a67fef5f20f16fef68351508dc350df
Author: Kevin Ryde <address@hidden>
Date:   Mon Jul 5 00:00:48 2004 +0000

    Correction to heading comment.

commit 981e8059b9674e231d0bef04305b7a56022cc836
Author: Kevin Ryde <address@hidden>
Date:   Sun Jul 4 23:58:05 2004 +0000

    *** empty log message ***

commit c0967f56b0c26745cec559d8faffbb814c87ca43
Author: Kevin Ryde <address@hidden>
Date:   Sun Jul 4 23:57:10 2004 +0000

    (uvec_sizes): Add "const".

commit ae7ded5671c02092b767a643c73d5b1a20368309
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:40:18 2004 +0000

    *** empty log message ***

commit 7aaaee73a035b18fd8d0387a031b685f19e45a6f
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:39:31 2004 +0000

    Removed code for --enable-htmldoc; support for HTML is now included in
    automake.

commit aef35c0e7d006331c107610d590460873fa48da8
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:31:36 2004 +0000

    *** empty log message ***

commit 4472f9202afbeb77580043ce130614c6baf21c7c
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:31:10 2004 +0000

    * hierarchy.png: New file.

commit 0f4fb2da857c5e52d1136bf1b722a446b4b611c5
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:27:28 2004 +0000

    Removed home-grown code for HTML generation.
    Automake does it for us now.
    (goops_TEXINFOS): Added hierarchy.png

commit e4e4449c6344ffef529bf9a76e62c0cc8f5cbde9
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:25:25 2004 +0000

    *** empty log message ***

commit 92aba979b6cea0ca8f298cc3ff21142f81548148
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:25:14 2004 +0000

    Removed home-grown code for HTML generation.  Automake does it for us
    now.

commit 98f445f4b56a6a0ccc2426b2bb89662ae13fdeb5
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:24:53 2004 +0000

    Do not use TeXinfo markup in section or node names.

commit fc16715cd3a7526a9c1e499bdec3a16764715082
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:19:54 2004 +0000

    *** empty log message ***

commit 1a4e53eecaa09d86bd5e13c6311493ff5d34ae79
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:19:42 2004 +0000

    (Top): Use @ifnottex instead of @ifinfo for the
    beneift of makeinfo --html.

commit 10ba5148c72ebd7b76fe02428d4b57394b08cfea
Author: Marius Vollmer <address@hidden>
Date:   Mon Jun 28 13:19:26 2004 +0000

    Removed home-grown code for HTML generation.  Automake does it for us
    now.

commit 9fcf3cbb818cb3568f8649b6b8f8b2635caeaa6f
Author: Dirk Herrmann <address@hidden>
Date:   Sun Jun 27 12:34:54 2004 +0000

        * backtrace.c (display_expression, display_frame): Call
        scm_i_unmemoize_expr for unmemoizing a memoized object holding a
        single memoized expression.
    
        * debug.c (memoized_print): Don't try to unmemoize the memoized
        object, since we can't know whether it holds a single expression
        or a body.
    
        (scm_mem_to_proc): Removed check for lambda expression, since it
        was moot anyway.  Whoever uses these functions for debugging
        purposes should know what they do: Creating invalid memoized code
        will cause crashes, independent of whether this check is present
        or not.
    
        (scm_proc_to_mem): Take the closure's code as it is and don't
        append a SCM_IM_LAMBDA isym.  To allow easier debugging, the
        memoized code should not be modified.
    
        * debug.[ch] (scm_unmemoize, scm_i_unmemoize_expr): Removed
        scm_unmemoize from public use, but made scm_i_unmemoize_expr
        available as a guile internal function instead.  However,
        scm_i_unmemoize_expr will only work on memoized objects that hold
        a single memoized expression.  It won't work with bodies.
    
        * debug.c (scm_procedure_source), macros.c (macro_print), print.c
        (scm_iprin1): Call scm_i_unmemocopy_body for unmemoizing a body,
        i. e. a list of expressions.
    
        * eval.c (unmemoize_exprs): Drop internal body markers from the
        output during unmemoization.
    
        * eval.[ch] (scm_unmemocopy, scm_i_unmemocopy_expr,
        scm_i_unmemocopy_body): Removed scm_unmemocopy from public use,
        but made scm_i_unmemocopy_expr and scm_i_unmemocopy_body available
        as guile internal functions instead.  scm_i_unmemoize_expr will
        only work on a single memoized expression, while
        scm_i_unmemocopy_body will only work on bodies.

commit 90df793f6794d18810de7e07b7532a2e67325145
Author: Dirk Herrmann <address@hidden>
Date:   Mon Jun 21 20:40:36 2004 +0000

        * eval.c (unmemoize_exprs): Handle semi-memoized code.
    
        (scm_cons_source, scm_primitive_eval): Prefer higher level
        predicate SCM_FALSEP over SCM_IMP.

commit 48de9bb331a864ab1c4315b22a666d75924ec305
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 20:18:25 2004 +0000

    *** empty log message ***

commit 9d9536fdd88335070bba19a11a0a0e7afa7f7013
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 20:18:18 2004 +0000

    Add separate symmetric test for SCM_HAVE_T_UINT64 in one case.

commit 82d5c4b7048fc18276cc7f25bcc5234823735f5a
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 20:14:38 2004 +0000

    *** empty log message ***

commit 9150491dc39ddf246ba21a93966b0ba3ca6796ee
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 20:14:23 2004 +0000

    fix #ifdef checks for 64-bit types; should be #if.

commit 2d697a0a0b8c475f4ceb70efc076e60a01b11ce5
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 20:05:53 2004 +0000

    *** empty log message ***

commit f5d54eb740f10e2ce4368e4fa807c7b5a863ca37
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 17:24:42 2004 +0000

    *** empty log message ***

commit 6b513f4643102410e14864641635abe010a9aefd
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 17:24:04 2004 +0000

    (uvec_print): rewrite using a union to make more
    compact, and use static print_uint64 and print_int64 to print
    64-bit elements.
    (print_int64): new static function (temporary fix).
    (print_uint64): new static function (temporary fix).

commit f8ac37336ff1b265a9d3b8f42631e92cf279c0f4
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:49:36 2004 +0000

    *** empty log message ***

commit 8ad6cdd20c7200aae80ef86246dd7c7873e38d15
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:48:44 2004 +0000

    (srfi_DATA): add srfi-31.scm.

commit b4e9301202ab0278147b0d4ca0a8dac9bdf7154c
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:22:22 2004 +0000

    new test for SRFI-31.

commit 6293838ce4fdc8abc5df6ee4497887a13bd4dba7
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:21:31 2004 +0000

    *** empty log message ***

commit dfedf226e6d7eb587c1159038aa2c7f55f31ccc6
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:21:07 2004 +0000

    (SCM_TESTS): add tests/srfi-31.scm.

commit e96f5a6efdf6634eee5aaa6a38b024fd3772ef67
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:19:59 2004 +0000

    new file.

commit 8638c417b254172c385dbe786a685c662b65c166
Author: Rob Browning <address@hidden>
Date:   Sun Jun 20 14:19:00 2004 +0000

    (SRFI-31): add documentation for srfi-31.

commit 060fd2f92cd4c9a8437566c87a5e1595f2c77c95
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:14:54 2004 +0000

    *** empty log message ***

commit 8f6a429e4726d8dfc9ced5ff767c8611adf86394
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:14:37 2004 +0000

    * readline.scm: moved to ./ice-9/

commit 6fb858d50c39f1d1d10565ba04ff1f6bfabca72c
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:14:20 2004 +0000

    move package and version args to AC_INIT as is now
    recommended.  This also requires m4_esyscmd to read GUILE-VERSION
    given the way AC_INIT handles its args.  Also move "foreign"
    indication here.

commit 0dcee837295c9af324113d0675dbccf575d5823c
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:13:55 2004 +0000

    * Makefile.am: move support for readline.scm to ice-9/ subdir.

commit a2f120791eb4a3c10f913bfa9ee243bfb8e447ec
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:13:43 2004 +0000

    * .cvsignore: add ice-9 dir.
    
    * ice-9/.cvsignore: new file.

commit 4cacadc1d3c421c668519fc118dcf08598f98a05
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:13:27 2004 +0000

    modify to handle move of readline.scm to
    ice-9 subdir of guile-readline.

commit 5ae51dad0b1f298f3018049372c2bfd2153f5b3e
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:13:09 2004 +0000

    move package and version args to AC_INIT as is now
    recommended.  This also requires m4_esyscmd to read GUILE-VERSION
    given the way AC_INIT handles its args.

commit 74c88f531a97e1df1032350f54e3b4f71b4a2bf9
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:12:40 2004 +0000

    * ice-9/readline.scm: moved here from ../

commit b6ccd4c12663bed2799be0dd08cad55f300da35b
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 17:12:14 2004 +0000

    * Makefile.am: move support for readline.scm to ice-9/ subdir.
    
    * ice-9/Makefile.am: new file.

commit 8048c00b4f339b3c65f9240c80689e08d1958803
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 04:10:37 2004 +0000

    *** empty log message ***

commit 537abaae4d929c0a4e05ff7adb8f9cfc7c3d3f7b
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 04:09:52 2004 +0000

    update ifdefery for macosx.
    (scm_get_stack_base): separate result initialization from
    declaration to slience warnings with macosx and hp-ux using gcc
    3.3.  Thanks to Andreas Vögele.

commit 17c22047f8676b695638e36191d4e144a5db99c0
Author: Rob Browning <address@hidden>
Date:   Wed Jun 16 04:08:25 2004 +0000

    (scm_shell_usage): minor phrasing change.

commit c10b894e6b4c09e92def42754e9fcdde8c4d9605
Author: Marius Vollmer <address@hidden>
Date:   Tue Jun 15 13:20:22 2004 +0000

    *** empty log message ***

commit eb73f94b6a304116fef611ddcbd2a2c1ff55be5f
Author: Marius Vollmer <address@hidden>
Date:   Tue Jun 15 13:19:10 2004 +0000

    (number->string): Some results might differ between versions of Guile
    compiled optimized and unoptimized.  Both results are accepted now.

commit d93294d451c411ccdab025c4dc16e0f24f85965f
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Jun 12 22:22:56 2004 +0000

    (unmemoize_exprs): use SCM_CONSP for the loop condition.

commit 212e58ede8e7e7cc074eb90ba3eab03afdd2641c
Author: Dirk Herrmann <address@hidden>
Date:   Sun Jun 6 07:46:18 2004 +0000

        * list.[ch] (scm_i_finite_list_copy): New internal function to
        copy lists that are known to be finite (though not necessarily
        proper).
    
        * debug.c (scm_procedure_source): Don't have scm_unmemocopy treat
        a closure's argument list like an expression of a body.
    
        * eval.c (unmemoize_expression, unmemoize_exprs, unmemoize_and,
        unmemoize_begin, unmemoize_case, unmemoize_cond, unmemoize_delay,
        unmemoize_do, unmemoize_if, unmemoize_lambda, unmemoize_let,
        unmemoize_letrec, unmemoize_letstar, unmemoize_or,
        unmemoize_set_x, unmemoize_apply, unmemoize_atcall_cc,
        unmemoize_at_call_with_values, unmemoize_future, sym_atslot_ref,
        unmemoize_atslot_ref, sym_atslot_set_x, unmemoize_atslot_set_x,
        unmemoize_builtin_macro): New static functions and symbols.
    
        (scm_unmemocopy): Rewritten in terms of the above.  scm_unmemocopy
        now has a slightly different meaning: The memoized form that is
        receives as its argument is now interpreted as a sequence of
        expressions from a body.
    
        (unmemocar, scm_unmemocar): Since the whole functionality of
        unmemocar and scm_unmemocar is not needed any more, scm_unmemocar
        has its old content back and is deprecated, while unmemocar has
        been removed.
    
        (SCM_BIT7): Removed.
    
        (CEVAL): For unmemoizing a single expression, call
        unmemoize_expression instead of scm_unmemocopy, which now expects
        a sequence of body expressions.  Eliminated unnecessary empty
        environment frame when executing let* forms.  Eliminated
        unmemoization step from evaluator.

commit 9ccea3704316ac2bdb7e0450d162a3a7c3273d95
Author: Marius Vollmer <address@hidden>
Date:   Wed Jun 2 09:44:55 2004 +0000

    *** empty log message ***

commit 2b189e65c43516343d3cf63073e07e095aaad3ec
Author: Marius Vollmer <address@hidden>
Date:   Wed Jun 2 09:37:48 2004 +0000

    (scm_macroexp, macroexp): Renamed scm_macroexp to
    macroexp and made static.  Added new version of scm_macroexp that
    emits a deprecation warning and then calls macroexp.
    (scm_m_undefine): Issue deprecation warning.

commit aa498d0c1b608b13e150fce99151908c03097469
Author: Dirk Herrmann <address@hidden>
Date:   Mon May 31 15:31:04 2004 +0000

        * tests/syntax.test: Added various tests to check that
        unmemoization works correctly.

commit 57d23e259a621fea2bdc6fcd361a7694321f678d
Author: Dirk Herrmann <address@hidden>
Date:   Sun May 30 07:01:27 2004 +0000

        * eval.c (lookup_global_symbol, literal_p, try_macro_lookup):
        Modified to make set! work on symbols that represent syntactic
        keywords.

commit 845087a40d314b8005b9fe952d7c6deb9ff5c585
Author: Kevin Ryde <address@hidden>
Date:   Sat May 29 22:53:34 2004 +0000

    *** empty log message ***

commit 18ee5de9d4b5ef5e55e21848a3d0accd33dcad79
Author: Kevin Ryde <address@hidden>
Date:   Sat May 29 22:13:27 2004 +0000

    * lib.scm (exception:numerical-overflow): New define.
    * tests/numbers.test (modulo-expt): Use it and
    exception:wrong-type-arg, avoiding empty "" regexp which is invalid on
    BSD.  Reported by Andreas Vögele.

commit 0825ae0b5b67789c93464759720291c068a3540b
Author: Kevin Ryde <address@hidden>
Date:   Sat May 29 22:09:52 2004 +0000

    (exception:numerical-overflow): New define.

commit 12255c5896510ad2d1b33a3b16e8d5bf974a4d20
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 29 08:58:22 2004 +0000

        * standalone/test-asmobs-lib.c: Fixed include statement.

commit 3d2ada2fbc429661935d91e2d3538650b914021e
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 29 08:40:38 2004 +0000

        * boot-9.scm: Reordered definitions such that macro definitions
        preceed their first usage.  Include and define deprecated stuff
        late in the file to have a better change of detecting accidental
        uses of deprecated definitions. Further, unified the layout a
        little and grouped definitions more cleanly into topics.

commit 141521ad8b1ea9d0338ca52a4c9392c40bd28874
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed May 26 21:15:30 2004 +0000

    (SCM_CELL_OBJECT_LOC): use SCM_GC_CELL_OBJECT to prevent
    compound expression as lvalue errors.

commit 7c2f56a4de9349fa59fdb2bf795627e83589772b
Author: Marius Vollmer <address@hidden>
Date:   Mon May 24 21:29:26 2004 +0000

    *** empty log message ***

commit 78addfa35ea341d2e451e5c85713ccbf9b2de07f
Author: Marius Vollmer <address@hidden>
Date:   Mon May 24 21:14:59 2004 +0000

    (winder_mark): Use SCM_PACK to correctly convert the WINDER_DATA to a
    SCM.

commit 41cfaa126a0fa89882f82c5d60ea4fd3abc3de9c
Author: Marius Vollmer <address@hidden>
Date:   Mon May 24 21:01:48 2004 +0000

    *** empty log message ***

commit b66dde3c7d0954f1b0d0c6cd1bca61523a9cd9c8
Author: Marius Vollmer <address@hidden>
Date:   Mon May 24 20:57:20 2004 +0000

    (use-value-history): Use resolve-interface instead
    of resolve-module so that only the exported bindings are searched.
    (save-value-history): Export the newly defined variable.  Reported
    by Wolfgang Jaehrling.

commit 366ecaec7a8141e09d267ca754a5f96c1a1bb8eb
Author: Dirk Herrmann <address@hidden>
Date:   Mon May 24 04:15:49 2004 +0000

        * goops.c (compute_getters_n_setters, create_standard_classes,
        scm_add_slot): Compute closures by calling scm_i_eval_x on a
        lambda expression rather than creating them with scm_closure.

commit 62ed3710b74b045578b5243d7d6ad74eb7efba91
Author: Dirk Herrmann <address@hidden>
Date:   Mon May 24 04:01:06 2004 +0000

        * tests/goops.test: Wrap tests in module (test-suite
        test-<file-name without .test>).  Remove calls to deprecated macro
        `undefine'.

commit 26ecfa393d846177d5189fa43c758b80667d951a
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 22 06:51:36 2004 +0000

        * eval.c (s_macro_keyword, scm_m_set_x): Remove checking for
        misplaced syntactic keywords.  This will not work unless guile's
        defmacro feature is deprecated.
    
        (scm_m_case): Fixed a bug that caused the list of labels to grow
        with every case form.

commit f865229a619a641aa976ccc4d9a5f62c5e9ba46f
Author: Kevin Ryde <address@hidden>
Date:   Wed May 19 00:06:42 2004 +0000

    *** empty log message ***

commit 659998043d9e97ea54eecd732b0b7054a8d8ad53
Author: Kevin Ryde <address@hidden>
Date:   Wed May 19 00:04:16 2004 +0000

    (scm_threads_mark_stacks) [SCM_STACK_GROWS_UP]: Correction
    to stack marking call, two parameters and no cast on t->base.

commit 6123c3bcac40626e5a9d24890051f668b56ec671
Author: Kevin Ryde <address@hidden>
Date:   Tue May 18 23:59:30 2004 +0000

    *** empty log message ***

commit 3df5ee1d9be1e81dc8f8901544b074740c41665b
Author: Kevin Ryde <address@hidden>
Date:   Tue May 18 23:58:39 2004 +0000

    (CLEANFILES): Remove, goops.tmp goops.cps cleaned by automake these days.

commit 5ef52526c852ab60440ed0dddc705f3c9d548679
Author: Kevin Ryde <address@hidden>
Date:   Tue May 18 23:52:21 2004 +0000

    (CLEANFILES): Remove guile.cps guile.fns guile.rns
    guile.tps guile.vrs guile.tmp, cleaned by automake these days.

commit faff1f2fda98f21ede089a4ac3ec0887bc33aee1
Author: Kevin Ryde <address@hidden>
Date:   Tue May 18 23:45:34 2004 +0000

    (trunc): Remove #define to scm_truncate when the C library
    doesn't provide trunc.  This was for when `truncate' was done as a
    scm_tc7_dsubr, no longer required.

commit bae30667b0c04a0f2aa9bc07462f6969372a9247
Author: Kevin Ryde <address@hidden>
Date:   Tue May 18 23:43:28 2004 +0000

    (scm_round_number): For inum and big, just return x.  For
    real, use scm_round for 2^54-1 etc problems covered there.

commit 63947c7ad3431e4d99eb73fae84dfd8207d0e6a2
Author: Marius Vollmer <address@hidden>
Date:   Tue May 18 21:55:11 2004 +0000

    *** empty log message ***

commit e0245b20cb78139e270999443e04c7ed0ebed103
Author: Marius Vollmer <address@hidden>
Date:   Tue May 18 21:29:38 2004 +0000

    (rehash_after_gc): Bug fix: properly link the processed hashtables
    back into the weak_hashtables list.  Thanks to Bill Schottstaedt!

commit e7313a9d7e0490c39802c773e3eec3c1ca651a25
Author: Dirk Herrmann <address@hidden>
Date:   Sun May 16 06:38:51 2004 +0000

        * eval.c (unmemoize_quote): New static function.
    
        (scm_m_quote, scm_m_atslot_ref, SCM_CEVAL): Changed the byte code
        representation of 'quote' and '@slot-ref' to an improper list.
        This reduces execution time, the number of cells used to hold the
        memoized code, and thus also reduces garbage collection time.
    
        (scm_unmemocopy): Use unmemoize_quote for quote expressions.
    
        (SCM_CEVAL): Changed macro handling to also work with macros that
        return improper lists.  Added an assertion, that the code returned
        by a macro transformer will not lead to cycles in the memoized
        code.

commit e51565673ca6715e9e5e51d8ed5f054efb3b339f
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 15 16:45:27 2004 +0000

        No functional change, just rearrangements of functions within the
        file.
    
        * eval.c (scm_ilookup, scm_unbound_variable_key,
        error_unbound_variable, scm_lookupcar1, scm_lookupcar): Moved to
        the definitions used for execution, since that's where they will
        belong to later.

commit 651f07f82e67d2aeb861d8b012e4b4c837efdb72
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 15 15:50:24 2004 +0000

        * numbers.h (SCM_SLOPPY_FRACTIONP): Removed.  It was not used
        throughout guile, has not been part of an official release yet,
        and the concept of sloppy predicates has never been a good idea.
    
        (SCM_FRACTION_NUMERATOR, SCM_FRACTION_DENOMINATOR,
        SCM_FRACTION_SET_NUMERATOR, SCM_FRACTION_SET_DENOMINATOR):
        Simplified.

commit 770e048f7d7d560e03cc7271f00466406dba7e12
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 15 15:42:47 2004 +0000

        * throw.c (SETJBJMPBUF, SCM_SETJBDFRAME): Add cast to scm_t_bits
        to make explicit what happens.

commit 2ff084057191db308547cc77a976564b185452b4
Author: Dirk Herrmann <address@hidden>
Date:   Sat May 15 15:39:27 2004 +0000

        * dynl.c (SET_DYNL_HANDLE): Add cast to scm_t_bits to make
        explicit what happens.
    
        * guardians.c (TCONC_IN): Use SCM_SET_CELL_OBJECT_x rather than
        SCM_SET_CELL_WORD_x when writing scheme objets to cell elements.

commit 89afb9cd52357fc56a0bbad8696f7351944ab72f
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 22:10:02 2004 +0000

    *** empty log message ***

commit 43067cec3bfefba421f32d9dff1bd387cc428bf2
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 22:09:04 2004 +0000

    (scm_sigaction_for_thread): Validate that the handler is indeed a
    procedure when it isn't a number.

commit 3d5ebfa95cb8c730fcbe2410d91ac4435ae8b1ef
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 20:43:00 2004 +0000

    *** empty log message ***

commit d39a7b588119878cfbc911baad22d386ddf5cbea
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 20:41:54 2004 +0000

    (number->string): Added tests for non-radix-10 floating point
    conversions.

commit ed9f718f639a95b01d01b7a2118a00add47b2cc0
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 20:36:27 2004 +0000

    Added test-round.

commit 0b799eeab66ac1a2455cc68e0dccd964fdb5dda0
Author: Marius Vollmer <address@hidden>
Date:   Mon May 10 20:35:39 2004 +0000

    (FLOBUFLEN): Increase so that radix 2 strings will fit.
    (fx): Removed.
    (scm_dblprec, fx_per_radix, init_dblprec, init_fx_radix,
    number_chars): New, to support variable radices.
    (idbl2str): Use above instead of the old base-10 only tables.
    (iflo2str): Pass on new RADIX argument to idbl2str.
    (scm_number_to_string): Pass radix to iflo2str.
    (scm_print_real, scm_print_complex): Explicitly pass radix 10 to
    iflo2str.
    (scm_init_numbers): Call init_dblprec and init_fx_radix for all
    possible radices.

commit d12a6580912f7bdb143b8103e53e5498505eff65
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 22:54:06 2004 +0000

    *** empty log message ***

commit abff733bd7c6b688d39433b9a3b7ed18c98b2013
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 22:53:24 2004 +0000

    (logbit?): New tests.

commit 20fcc8ed86b4cc4e65e1cc6c2ffbf8e24a2f5fc9
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 22:46:17 2004 +0000

    More of:
    (scm_logbit_p): Correction to test above the end of an
    inum.  Reported by Jan Konecny.

commit 3ae69bb422ad153eea2840b755245202b4da140d
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 22:34:48 2004 +0000

    *** empty log message ***

commit 0d75f6d819f70b655b065e9ad30a9086e5a14d81
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 22:33:29 2004 +0000

    (scm_logbit_p): Correction to test above the end of an
    inum.  Reported by Jan Konecny.

commit 1dccbf7f5f6179cff4b1754693d57439e85cae4e
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 00:54:57 2004 +0000

    *** empty log message ***

commit fc894caf84ac39671215b1a14c357922e155dfc8
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 00:50:30 2004 +0000

    *** empty log message ***

commit 957f3c2b6c0cf24566c5c6de1a1e8b6063344c47
Author: Kevin Ryde <address@hidden>
Date:   Sun May 9 00:49:25 2004 +0000

    (test-dst, string->date local DST): Test with
    "EST5EDT" instead of "CET", since HP-UX doesn't know CET.

commit c1e7caf72631e16deecc4fe99c57e3e6cddd80ac
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 17:04:04 2004 +0000

    *** empty log message ***

commit 05f81734e39051f92d27462619c11945fadd7fff
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:58:47 2004 +0000

    Updated for new SCM_SMOB_* macros.

commit 916542f1ce91f705d255e38db7519d4eb3e0bd4c
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:58:23 2004 +0000

    Moved around the sections so that the manual overview comes first.

commit fc038e5bdb3005cece33ff70c6a7e8fd47bf0e5a
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:58:01 2004 +0000

    Updated for the new role of scm_t_bits.

commit 1ac1ba6a4935da0d15edb66ed68ad2232e2acfb2
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:57:41 2004 +0000

    Typo.

commit 279688252e3c8421948701c523aa6636ffc745f5
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:43:46 2004 +0000

    *** empty log message ***

commit f5710d53b1a67d7b965701b4b34004b9db1a6813
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:43:14 2004 +0000

    Use SCM_SMOB_* instead of SCM_CELL_* as appropriate.  Use
    SCM_SMOB_FLAGS and SCM_SET_SMOB_FLAGS instead of accessing the
    zeroth word directly.  Use SCM_SMOB_PREDICATE as appropriate.

commit 41a2f6fc0c62afeb09bd7fbae4e9eca794c26bbe
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:42:50 2004 +0000

    (SCM_CELL_WORD_LOC): Moved to "deprecated.h".

commit fba8fdc0d35e47ebb53f8ad50091e9c7b32fa761
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:42:07 2004 +0000

    (SCM_I_BIG_MPZ): Use SCM_CELL_OBJECT_LOC instead of taking the address
    of SCM_CELL_WORD_1, the latter being no longer an lvalue.

commit f7e69e2094d14125134e5cb6368d097416dc9a37
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:41:47 2004 +0000

    (SCM_VARIABLE_LOC): Use SCM_CELL_OBJECT_LOC instead of casting
    SCM_CELL_WORD_LOC.

commit 37fc18ae734bcf7a0346e4231dfd1a41f0aec2f9
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:41:27 2004 +0000

    * smob.h (SCM_SMOB_DATA_2, SCM_SMOB_DATA_3, SCM_SMOB_FLAGS,
    SCM_SET_SMOB_DATA_2, SCM_SET_SMOB_DATA_3, SCM_SET_SMOB_FLAGS,
    SCM_SMOB_OBJECT, SCM_SMOB_OBJECT_2, SCM_SMOB_OBJECT_3,
    SCM_SET_SMOB_OBJECT, SCM_SET_SMOB_OBJECT_2, SCM_SET_SMOB_OBJECT_3,
    SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_2_LOC,
    SCM_SMOB_OBJECT_3_LOC): New.
    * smob.c (scm_i_set_smob_flags): New function.

commit 33c527ec83a8506599b8e6b7168f2f43478bc95a
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:41:08 2004 +0000

    (scm_t_cell): Fields are now of type SCM instead of
    scm_t_bits.  Updated all users.
    (SCM_GC_CARD_SIZE_MASK): Use SCM_GC_SIZEOF_CARD instead of
    duplicating the code.
    (SCM_CELL_OBJECT_LOC): New.
    (SCM_CARLOC, SCM_CDRLOC): Use it instead of SCM_CELL_WORD_LOC.
    (SCM_CELL_WORD_LOC): Moved to "deprecated.h".

commit 050fedc4fd1398dd5b094bd4ceaeab97104146d9
Author: Marius Vollmer <address@hidden>
Date:   Thu May 6 16:28:18 2004 +0000

    Fixed typo in comment.

commit 9f84d6aac7a6a730c8e743659229752f4942ae51
Author: Dirk Herrmann <address@hidden>
Date:   Mon May 3 22:42:09 2004 +0000

        * boot-9.scm (resolve-module): Always start searching from the
        root module.  This will allow the C equivalent scm_resolve_module
        to work, independent of what the current module is.

commit b551c697ddb24ec9fdd752ba5fd3614b36297126
Author: Kevin Ryde <address@hidden>
Date:   Sun May 2 23:09:37 2004 +0000

    *** empty log message ***

commit feb3640d8729d420f88d5db1ea49817399b38426
Author: Kevin Ryde <address@hidden>
Date:   Sun May 2 23:08:58 2004 +0000

    (strftime): Force tm:isdst to 0 for the test, for
    the benefit of HP-UX.  Reported by Andreas Vögele.
    Use set-tm:zone rather than a hard coded vector offset.

commit 37026925671456c07d78127a6dac19f17244034f
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:51:03 2004 +0000

    *** empty log message ***

commit 0a9ea92c90720b495bacd4c5f0ba4dcaed20a301
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:49:44 2004 +0000

    (scm_macroexp): Add prototype, since it's not in eval.h under
    --disable-deprecated.  Reported by Andreas Vögele.

commit c585459825602ab0d807e41d6a1e3642c4d32c7a
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:33:12 2004 +0000

    *** empty log message ***

commit 0dbfb25a64373a7fa77749e4df25ac1e993ec4d3
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:32:03 2004 +0000

    (varargs.h): Remove, leave just stdarg.h which is all the
    code has support for.  Fixes building with AIX cc, which is ansi but
    doesn't define __STDC__.  Reported by Keith Crane.
    (var_start): Remove macro, this variation no longer required.
    (scm_list_n): Use va_start directly.

commit 00fbf1e047d9d659fc33ed0bb2f81112733d8030
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:30:37 2004 +0000

    More of:
    (_POSIX_C_SOURCE): Define to 199506L to get readdir_r (in
    particular on HP-UX).  Reported by Andreas Vögele.

commit 3cf17ef002d3ad42575e1f16d5039578163051fe
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:01:47 2004 +0000

    *** empty log message ***

commit 6d484a0be754d89697a1f26d586036aaf35ad45f
Author: Kevin Ryde <address@hidden>
Date:   Sat May 1 21:00:41 2004 +0000

    (_POSIX_C_SOURCE): Define to 199506L to get readdir_r (in
    particular on HP-UX).  Reported by Andreas Vögele.

commit f26c1a32adbbcdf5209a63c5355bf5381b11e529
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 30 23:45:25 2004 +0000

    *** empty log message ***

commit 5afcf08bb2caa08b7f1851912fdb3a613c9a03b5
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 30 23:34:01 2004 +0000

    (scm_dynthrow): Use >= instead of SCM_PTR_GE which
    is now gone.  Reported by Andreas Vögele.

commit e68ef9c82b83bd59cf90618795cd3a09ae98310b
Author: Dirk Herrmann <address@hidden>
Date:   Thu Apr 29 20:44:52 2004 +0000

        * tests/elisp.test: Wrap tests in module (test-suite
        test-<file-name without .test>), following a practice that was
        used on a couple of files already.

commit a0d06a004f62faea652c28736d8a12ea5f2ace27
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 28 00:17:45 2004 +0000

    *** empty log message ***

commit dc30aad3701ee9a521946ac70b00b41e5c9e46d9
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 28 00:15:54 2004 +0000

    (scm_threads_mark_stacks): Correction sizet -> size_t.
    Reported by Andreas Vögele.

commit dfa6017ebe5f03dfda8fd476c1abe93f80cffd48
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 23:35:56 2004 +0000

    *** empty log message ***

commit b313d73a1916517e06abbd07c2080b809a51b415
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 23:19:35 2004 +0000

    (test_long_long): Exercise
    out-of-range errors on various cases.
    (test_ulong_long): New function, split from test_long_long and
    similarly exercising out-of-range.

commit f93df18fea2e514ef6d059edfde0aaa295dd87fc
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 23:17:47 2004 +0000

    (display_frame_expr),
    Cast char to int for
    ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
    subscript.  Reported by Andreas Vögele.
    Also cast through unsigned char to avoid passing negatives to those
    macros if input contains 8-bit values.

commit 71df73ac43cc3019da9f232d80487b6fe47f3162
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 23:16:17 2004 +0000

    numbers.c (XDIGIT2UINT,
    mem2uinteger, mem2decimal_from_point, mem2ureal): Cast char to int for
    ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
    subscript.  Reported by Andreas Vögele.
    Also cast through unsigned char to avoid passing negatives to those
    macros if input contains 8-bit values.

commit 70d31de9007928757cce9d0f2bf15e889957657d
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 22:59:04 2004 +0000

    (SCM_MUTEX_MAXSIZE): Increase to 25*sizeof(long),
    for the benefit of hpux11 where pthread_mutex_t is 88 bytes.  Reported
    by Andreas Vögele.

commit 95f31774cc10f67d2f34973ae9df7b324075ce2b
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 22:43:28 2004 +0000

    (_POSIX_C_SOURCE): Define to 199506L to get gmtime_r (in
    particular on HP-UX).  Reported by Andreas Vögele.

commit 857ae6afd302a7b0550a0a84d3239dddd8c90e63
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 22:19:41 2004 +0000

    (scm_bit_extract): Use min instead of MIN.
    (MIN): Remove, this conflicts with similar macro defined by limits.h
    on HP-UX.  Reported by Andreas Vögele.

commit 924532c8fd4d7d0ffe7663475845a5ad4c34ba9c
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 22:16:12 2004 +0000

    (NUM2INTEGRAL): Test BIGMPZ_FITSP with "!= 0" to
    avoid warning from gcc 3.4.  Reported by Hyperdivision.

commit e45fb186184ccedc7bd65f78f099e1a06875c818
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 27 21:56:01 2004 +0000

    (NUM2INTEGRAL): Under non-BIGMPZ_FITSP case,
    corrections to range check for signed numbers.  Remove
    scm_remember_upto_here_1(num) from these checks, since num is used
    subsequently anyway.

commit 36245b66c222110c84b04e14733614055dc36575
Author: Dirk Herrmann <address@hidden>
Date:   Mon Apr 26 19:59:03 2004 +0000

        * libguile/eval.c (s_macro_keyword): New static identifier.
    
        (scm_m_define): Change order to first create binding and
        evaluating the expression afterwards.
    
        (scm_m_set_x): Memoize complete set! expression.  Only leave
        symbols if no binding exists at memoization time.  Throw error if
        assigning to a syntactic keyword.
    
        (lazy_memoize_variable): New function.
    
        (CEVAL): When execution set!, perform lazy memoization if
        unmemoized symbol is detected.
    
        * libguile/modules.c (module_variable): Return variables with
        unbound value.
    
        * libguile/tags.h: Fix comment.
    
        * test-suite/tests/syntax.test: Add test case to check the correct
        handling of define expressions.

commit da8bcb2f709cecc6fea17c2396541b1ab601755d
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 22:06:13 2004 +0000

    *** empty log message ***

commit d044f345c9524b7b1c0fbec6c92829bd20e58cde
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 22:04:51 2004 +0000

    (scm_tables_prehistory): Remove.

commit 465380de001fb80202f8dd63d55f0670df0efdb2
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 22:03:28 2004 +0000

    (scm_char_upcase, scm_char_downcase, scm_c_upcase,
    scm_c_downcase): Use ctype.h toupper and tolower.  This will be useful
    in 8-bit locales, and ensures consistency with char-upper-case? and
    char-lower-case? which already use ctype.h.
    (scm_c_upcase_table, scm_c_downcase_table, scm_lowers, scm_uppers): Remove.
    (scm_tables_prehistory): Remove.

commit 4d81111ebdd8b5d7af049085c80c0e5fc1ef03f8
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:31:42 2004 +0000

    *** empty log message ***

commit 09270afdeb32008a1e5d368ca049db40d1b75c07
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:30:35 2004 +0000

    Add a copyright year, based on the changelog.

commit 20fdb4dff73b6be510f6ad57458640f53ddd5359
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:21:22 2004 +0000

    (s_scm_make_uve): Remove unused local variable.  Reported by
    Hyperdivision.

commit 384660593829ec747fb0d9683e87e5ebb598f3f3
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:19:30 2004 +0000

    (scm_yield): Correction, actually call scm_thread_yield.
    Reported by Hyperdivision.

commit cff55508f9d606da516b046841cec21699721ec0
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:18:30 2004 +0000

    *** empty log message ***

commit 32938e4dec273dd0a54a96c0b2314e74ca1bc6ae
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:17:13 2004 +0000

        * tests/socket.test: New file.
        * Makefile.am (SCM_TESTS): Add it.

commit 4064ed2ab5a470a98dc45d80780ff5a67293ee96
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:13:16 2004 +0000

    New file.

commit e8dde70d1f1353532f7c84dda740d7d50e82c3d2
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 24 21:04:58 2004 +0000

    (VALIDATE_INET6): Correction to bignum_in_ipv6_range_p
    call.  Reported by Hyperdivision.

commit 6aef9d2b81bec29baaac9a5399a2b6f04ce35d6f
Author: Dirk Herrmann <address@hidden>
Date:   Sat Apr 24 08:48:58 2004 +0000

        * srfi-17.scm (setter, car, cdr etc.): When within one define
        expression a new variable in the local module is defined in terms
        of an equally named variable from some other module, use @ to
        refer to the variable in the other module.  This is necessary due
        to section 5.2.1 of R5RS: In a define expression first the new
        binding is created and then the expression is evaluated.

commit 7301de799a423824b440ee0f22708646fad5db9d
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 23 21:20:17 2004 +0000

    *** empty log message ***

commit cd858a314c79921325f57577d6be000d69047b85
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 23 21:19:26 2004 +0000

        * tests/srfi-11.test: New file.
        * Makefile.am (SCM_TESTS): Add it.

commit 42b4fcb48d82bb1d656d46feffe39837197857fc
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 23 21:17:34 2004 +0000

    New file.

commit 7c9da364a4c5d857edc5ec63b59f7a28649087d2
Author: Kevin Ryde <address@hidden>
Date:   Fri Apr 23 21:14:20 2004 +0000

    (let-values): Use make-symbol rather than gensym, for
    guaranteed uniqueness of temp variable symbols.

commit 7e6e6b37ba2d5cd289cbe3c52041be4af7b60368
Author: Dirk Herrmann <address@hidden>
Date:   Thu Apr 22 19:19:17 2004 +0000

        Hide the implementation of ilocs and isyms in eval.c.
    
        * deprecated.h (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
        SCM_ICDRP), eval.c (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
        SCM_ICDRP), eval.h (SCM_ICDR, SCM_IFRINC, SCM_IFRAME, SCM_IDIST,
        SCM_ICDRP): Deprecated and added to deprecated.h.  Moved from
        eval.h to eval.c.
    
        * deprecated.c (scm_isymnames), deprecated.h (scm_isymnames,
        SCM_ISYMNUM, SCM_ISYMCHARS), eval.c (SCM_ISYMNUM, isymnames,
        scm_unmemocopy, CEVAL), print.c (scm_isymnames), tags.h
        (SCM_ISYMNUM, scm_isymnames, SCM_ISYMCHARS): Deprecated
        scm_isymnames, SCM_ISYMNUM and SCM_ISYMCHARS and added to
        deprecated.[hc].  Moved scm_isymnames from print.c to eval.c and
        renamed to isymnames.  Moved SCM_ISYMNUM from tags.h to eval.c and
        renamed to ISYMNUM.
    
        * eval.c (scm_i_print_iloc, scm_i_print_isym), eval.h
        (scm_i_print_iloc, scm_i_print_isym), print.c (scm_iprin1):
        Extracted printing of ilocs and isyms to guile internal functions
        scm_i_print_iloc, scm_i_print_isym of eval.c.

commit 7aaf475850c8aeabc90f9add69d027a934a577f0
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 22 01:27:33 2004 +0000

    *** empty log message ***

commit d77ad56065388624fd938e9502590c3ac3597693
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 22 01:21:39 2004 +0000

    (scm_bit_extract): Use SCM_SRS for signed right shift.

commit 10cc8b019745fb72082fdf9ba0293beea490c542
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 22 00:01:48 2004 +0000

    *** empty log message ***

commit be4381fadea35c621e004ce9d69d5b35ce169eba
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:59:04 2004 +0000

        * standalone/test-round.c: New file, exercising scm_round.
        * standalone/Makefile.am: Add it.

commit 370b8399a8597a05fdeec9ec322e2cb904de48b7
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:53:23 2004 +0000

    New file, exercising scm_round.

commit 6dfc9f1f8fa7aa24ec9abce5b20abf2960c01b32
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:48:47 2004 +0000

    *** empty log message ***

commit 63177e464ee653f6befdaffd6fc201d57f3f6fc2
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:37:22 2004 +0000

    (AC_CHECK_HEADERS): Add fenv.h.
    (AC_CHECK_FUNCS): Add fesetround.

commit caab294f82a2c0eebf90e6045e8064a9dcd07ab6
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:30:39 2004 +0000

    *** empty log message ***

commit 6187f48b1ab32cbdd2f666ceeac44ce5db2700d0
Author: Kevin Ryde <address@hidden>
Date:   Wed Apr 21 23:15:55 2004 +0000

    (scm_round): Test for x already an integer, to avoid bad
    rounding in x+0.5 when x is a big value already an integer.  In
    certain hardware rounding cases x+0.5 can give an adjacent integer,
    leading to that as the result, when we really just wanted x itself.

commit 3229f68b5ae839715d8b27ac916259f4d4113804
Author: Marius Vollmer <address@hidden>
Date:   Wed Apr 21 14:33:05 2004 +0000

    Big reorganization of the whole manual to give it a simpler structure.

commit b1cb24ff0a1f5b9f85dc59cae7638a26dc693b8d
Author: Dirk Herrmann <address@hidden>
Date:   Mon Apr 19 16:49:56 2004 +0000

        * eval.c (scm_unmemocopy): Fixed unmemoization of let*.
    
        (deval_args, CEVAL): Minor improvements: Reduced variable scopes,
        added const qualifiers, cast intentionally unused expressions to
        void for emphasis, improved comment.

commit 5065b40d6044136dfdd1b5f1abc20a81455dcb29
Author: Dirk Herrmann <address@hidden>
Date:   Sun Apr 18 08:56:27 2004 +0000

        * tags.h (scm_tags, scm_tc8_tags, scm_tc9_flag, scm_tc8_flag,
        scm_tc8_isym): Renamed scm_tags to scm_tc8_tags.  Renamed
        scm_tc9_flag to scm_tc8_flag.  Introduced new identifier
        scm_tc8_isym.  Defined tc8-tags relative to scm_tc3_imm24.
        Defined the tc8-tag for flags to be 0x04, which will mean that
        SCM_BOOL_F will also have the value 0x04 instead of 0x013c.  Due
        to the reduced number of bits and the simpler bit pattern for
        SCM_BOOL_F, certain machines may be able to use more efficient
        processor instructions to deal with SCM_BOOL_F.
    
        (SCM_ITAG9, SCM_MAKE_ITAG9, SCM_ITAG9_DATA): Removed.  These have
        never been defined in a released version, thus no need to
        deprecate them.
    
        (SCM_IFLAGP, SCM_MAKIFLAG, SCM_IFLAGNUM): Flags now use tc8
        instead of tc9 tags.
    
        (SCM_ISYMP, SCM_MAKISYM, SCM_ISYMNUM): Isyms now use tc8 instead
        of tc9 tags.
    
        (SCM_MAKSPCSYM): Removed.  It is almost impossible that user code
        could have used this definition.
    
        (SCM_IM_AND, SCM_IM_BEGIN, SCM_IM_CASE, SCM_IM_COND, SCM_IM_DO,
        SCM_IM_IF, SCM_IM_LAMBDA, SCM_IM_LET, SCM_IM_LETSTAR,
        SCM_IM_LETREC, SCM_IM_OR, SCM_IM_QUOTE, SCM_IM_SET_X): Now encoded
        as isyms, as special isyms don't exist any more.

commit e08d2eee170d2eb59d66c8c477a98e0043bb222d
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 18 00:54:29 2004 +0000

    *** empty log message ***

commit 66ec83c926d422b0e5f9e2ce2876f93edea467e4
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 18 00:53:36 2004 +0000

    (AC_CHECK_FUNCS): Add readdir_r.

commit 9be808d8c9ebc3aa5e2af220d36188fdadb34e27
Author: Kevin Ryde <address@hidden>
Date:   Sun Apr 18 00:39:16 2004 +0000

    (scm_readdir): Use readdir_r when available, for thread safety.

commit 9fa6c1190399fef55a447e6c474805a80eb5550f
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 17 22:58:34 2004 +0000

    *** empty log message ***

commit b6f8f763dbc3e94a386c96e1594e43aef71e0f32
Author: Kevin Ryde <address@hidden>
Date:   Sat Apr 17 21:58:23 2004 +0000

    (scm_max, scm_min): For big/real, use SCM_SWAP rather than
    explicit swapping code.

commit 83ac9c59df6ba158ee9cf6f09f06d1aa4e01df17
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 01:53:31 2004 +0000

    *** empty log message ***

commit 0bff4dce95dd817604e9c2757df091f315b6d346
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 01:45:12 2004 +0000

    (scm_gcd): For inum/big, use mpz_gcd_ui by sharing code with big/inum.

commit 84a4be9afb78abd1f8994c9875feb0cf1de1f850
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 01:37:31 2004 +0000

    *** empty log message ***

commit a98ce90708c0a7084da16b773a6e2fd668bec767
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 01:24:00 2004 +0000

    (xisinf): Add a comment about solaris 7 lacking isinf.

commit c9cdd3966e87ffec7d1fc4878001dc678e3e59a0
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:53:30 2004 +0000

    *** empty log message ***

commit 7f703e0d21a917e9011d1220c6c08e215053b00c
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:52:48 2004 +0000

    (min): Correction, test "documented? min" not "documented? max".

commit 2530518ea9502b669ede5757307b8dc92f1ef8ea
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:50:49 2004 +0000

    (max, min): Exercise some inum/frac, frac/inum,
    big/frac, frac/big and frac/frac cases.

commit a4ecff2d361da0dfec5bc4d5b20bb42bccbfdc0d
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:47:02 2004 +0000

    Add SIGSYS.

commit e4bc5d6ca725aaa506968e31e60038d591fbbea8
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:44:19 2004 +0000

    (scm_max, scm_min): For inum/frac, frac/inum, big/frac,
    frac/big and frac/frac, use scm_less_p for exact comparison.

commit 05fa9121e9b9fc133117e3cc581d6bcb560fe9f0
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:38:30 2004 +0000

    *** empty log message ***

commit 597e2cbd13e2a88a105a17c5072d3cad488b164d
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:29:03 2004 +0000

    (scm_string_trim, scm_string_trim_right, scm_string_trim_both):
    Cast to unsigned char for isspace.

commit d46410989e1fc7c839f16d1729ae47b011cdcd99
Author: Kevin Ryde <address@hidden>
Date:   Thu Apr 15 00:23:57 2004 +0000

    (scm_append_x): Use iterative style, to avoid non-tail recursion.

commit 6b69393dcce9a54b734317f81d2d93e669cde8f5
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Apr 6 21:49:43 2004 +0000

    (scm_cell): use SCM_GC_CELL_WORD for checking tag.

commit 84fad13058797789120cc27830d777f8295da5d6
Author: Han-Wen Nienhuys <address@hidden>
Date:   Tue Apr 6 21:48:02 2004 +0000

    * srfi-13.c (s_scm_string_map): convert character to unsigned char
    before converting to unsigned int. This prevents hi-bit ascii as
    being converted large integers.
    (string_upcase_x): change caller for scm_{up,down}case to
    scm_c_{up,down}case
    
    * chars.h (scm_init_chars): change scm_{upcase,downcase} to
    scm_c_{up,down}case.
    (SCM_MAKE_CHAR): add (unsigned char) cast. This prevents havoc
    when hi-bit ASCII is subjected to SCM_MAKE_CHAR().

commit 0b288f368a87562934879789ce02d88d6529297d
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 6 00:30:25 2004 +0000

    *** empty log message ***

commit e7644cb292e035d29b52cd478377efeee5906a93
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 6 00:17:41 2004 +0000

    (scm_ash): Remove stray "}" in docstring.

commit 57f6654745b8828ff3afbc0a3d5686a8470d4f07
Author: Kevin Ryde <address@hidden>
Date:   Tue Apr 6 00:08:18 2004 +0000

    *** empty log message ***

commit ea2508c840f1abb6ed11bbd7b75fdd9d3a8c2d35
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 23:54:28 2004 +0000

    *** empty log message ***

commit 3271a325c834643441902f04763be3cc8a1ee394
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 23:31:20 2004 +0000

    (scm_make_ratio): For inum/bignum integer detection, use
    x==SCM_MOST_NEGATIVE_FIXNUM explicitly, for clarity and to avoid
    calling mpz_cmp_ui in most cases.

commit f1c6bec63708bfc14ee799d5cd4f9f1cbe5aa67b
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 23:14:55 2004 +0000

    Tweak a few words from:
    (Continuations): Rewrite with more detail.

commit ad22fe7cf87998a79234f9ca96f8c871333ef98e
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 23:05:37 2004 +0000

    (quotient, remainder): Exercise inum/big at and
    near special case inum == fixnum-min, big == -fixnum-min.

commit c3110a30453d0f3103174737f915aa017a6a7153
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 22:58:28 2004 +0000

    *** empty log message ***

commit 4dc09ee4ffb44d13e8e4c5a55a5d9e857b9ea5d1
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 22:48:05 2004 +0000

    (scm_quotient, scm_remainder): In inum/big, use mpz_cmp_ui
    for big == abs(most-negative-fixnum) special case.
    (abs_most_negative_fixnum): Remove, no longer used.

commit 2e1fc2e8e36c4a67a3eac7cc467e9cb9c5f7fcbe
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 22:46:29 2004 +0000

    (scm_sigaction_for_thread): Correction to signum range
    test, avoids SCM_VECTOR_REF outside bounds of signal_handlers on
    calling (sigaction NSIG).

commit eac8e0ef86bd2030b103ae2f0ee7ae6e53725663
Author: Kevin Ryde <address@hidden>
Date:   Mon Apr 5 22:45:17 2004 +0000

    (scm_system_star): Fix execargv memory leak, merge parent
    and fork error cases to do this.

commit dec40cd26277b7502029aad2725213fad2ad5560
Author: Dirk Herrmann <address@hidden>
Date:   Sat Apr 3 16:38:56 2004 +0000

        * eval.c (CEVAL): Don't distinguish between short and long
        instructions when dispatching - just always dispatch on the
        instruction code, which is common for short and long instructions.
        Further, removed unnecessary goto statements and added comment.

commit 0e7bb79594d471f627566ba574ad35aca5be9010
Author: Dirk Herrmann <address@hidden>
Date:   Sat Apr 3 15:45:36 2004 +0000

        * eval.c (scm_unmemocopy): Don't distinguish between short and
        long instructions when dispatching - just always dispatch on the
        instruction code, which is common for short and long instructions.
        Further, removed unnecessary goto statements, fixed indentation
        and replaced SCM_IMP predicates by SCM_NULLP.

commit f998676709694b557f824ecec3d65642f4f7b8b7
Author: Dirk Herrmann <address@hidden>
Date:   Sat Apr 3 14:24:17 2004 +0000

        * eval.c (scm_lookupcar1, CEVAL): Use SCM_ILOCP instead of
        comparison with SCM_ILOC00.  In CEVAL, eliminate goto-label
        'checkmacro'.

commit fbc4223176b8dacf753a9076e3e1b4a160e93221
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 31 02:00:01 2004 +0000

    *** empty log message ***

commit bb94a503ca9c9fd757e1cfd64ffe891676130025
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 31 01:59:02 2004 +0000

    Include <signal.h> for SIG_IGN and friends.

commit 434f2f7a91bccd9029e380030768115b1c976d06
Author: Dirk Herrmann <address@hidden>
Date:   Mon Mar 29 19:59:43 2004 +0000

        Introduce scm_debug_mode_p as a replacement for scm_debug_mode and
        SCM_DEBUGGINGP:
    
        * debug.h (scm_debug_mode_p, scm_debug_mode, SCM_DEBUGGINGP),
        eval.c (scm_debug_mode_p): Deprecated scm_debug_mode and
        SCM_DEBUGGINGP.  Provided scm_debug_mode_p instead, to have one
        single interface that also matches the naming conventions.
        Probably scm_debug_mode_p should be part of the private interface
        anyway.
    
        * debug.h (scm_debug_mode_p), backtrace.c (display_error_body),
        eval.c (SCM_APPLY, scm_trampoline_0, scm_trampoline_1,
        scm_trampoline_2): Change uses of scm_debug_mode or SCM_DEBUGGINGP
        to scm_debug_mode_p.
    
    
        Deprecate direct access to scm_ceval, scm_deval and scm_ceval_ptr:
    
        * eval.h (scm_ceval, scm_deval, scm_ceval_ptr), debug.h
        (scm_ceval_ptr): Deprecated.  Moved declaration of scm_ceval_ptr
        from debug.h to eval.h.
    
        * debug.h (SCM_RESET_DEBUG_MODE): Don't access scm_ceval_ptr any
        more, just leave it with setting scm_debug_mode_p, which is
        equivalent for practical purposes.
    
        * deprecated.h (SCM_XEVAL, SCM_XEVALCAR): Call scm_i_eval_x
        instead of *scm_ceval_ptr.  Leave all evaluating to scm_i_eval_x.
    
        * gdbint.c (gdb_eval): Call scm_i_eval_x instead of scm_ceval.
    
        * eval.c (ceval, deval, scm_ceval, scm_deval): Made scm_ceval
        static and renamed it to ceval throughout.  Provide a new exported
        but deprecated function scm_ceval as a wrapper for backwards
        compatibility.  The same is done for the deval/scm_deval pair of
        functions.
    
        * eval.c (CEVAL, SCM_CEVAL): Renamed SCM_CEVAL to CEVAL
        throughout.  Defined CEVAL to ceval or deval, based on compilation
        phase.
    
        * eval.c (SCM_XEVAL, SCM_XEVALCAR): Dispatch on scm_debug_mode_p
        to ceval and deval instead of calling *scm_ceval_ptr.
    
        * eval.c (dispatching_eval): New deprecated static function.
    
        * eval.c (scm_ceval_ptr): Initialized to dispatching_eval in order
        to emulate its old behaviour as closely as possible.
    
    
        Change the evaluator such that only expressions for which pair? is
        true are passed to CEVAL, and such that all other expressions are
        evaluated outside of CEVAL:
    
        * eval.c (EVAL): New, provided in analogy to EVALCAR.  Evaluate an
        expression that is assumed to be memoized already.  All but
        expressions of the form '(<form> <form> ...)' are evaluated inline
        without calling an evaluator.
    
        * eval.c (SCM_XEVAL, SCM_XEVALCAR, EVALCAR): Evaluate all but
        expressions of the form '(<form> <form> ...)' inline without
        calling an evaluator.
    
        * eval.c (scm_i_eval_x, scm_i_eval, scm_ceval, scm_deval): Handle
        the special case of unmemoized symbols passed on the top level.
    
        * eval.c (CEVAL): Change calls to CEVAL to EVAL, except where it
        is known that the expression passed to CEVAL is of the form
        '(<form> <form> ...)'.  Remove handling of the tc7-objects, since
        now it is known that the input expression of CEVAL is a pair.

commit 5fb64383803fff3d25f21ed99d4f624f264bd1c9
Author: Dirk Herrmann <address@hidden>
Date:   Mon Mar 29 08:24:57 2004 +0000

        * eval.c (is_self_quoting_p): New static function.
    
        (scm_m_quote): Use is_self_quoting_p.
    
        (copy_tree): Corrected typo in comment.

commit bfefbf18db155401136f12fc781235f7d8093383
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Mar 28 13:57:19 2004 +0000

    * eval.c (s_scm_copy_tree): idem.
    
    * list.c (s_scm_filter): remove "pointer" from doc string.

commit 702551e6cc41e90745ca5f8626956ecab46c41c9
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sun Mar 28 13:55:03 2004 +0000

    * gc.h (SCM_GC_CELL_TYPE): SCM_GC_CELL_TYPE uses SCM_GC_CELL_OBJECT.
    
    * goops.h (SCM_NUMBER_OF_SLOTS): don't SCM_UNPACK the result.
    
    * backtrace.c ("display_backtrace_body"): SCM_PACK before SCM_EQ_P
    (display_frame): idem.
    (display_backtrace_file_and_line): idem.
    
    * tags.h (SCM_UNPACK): stricter typechecking on SCM_UNPACK
    arguments.

commit 88a7ae1f6818b68bc72a4bb8763b3299c69c4988
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 22:46:04 2004 +0000

    *** empty log message ***

commit 11e1db06ce1794f2ad154cab2620b08c7a6c1975
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 22:26:17 2004 +0000

    (scm_getcwd, scm_readlink): Avoid memory leak on errors.

commit 3cd232146fc443e40f35c00c14f19a400a4ba443
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:57:25 2004 +0000

    *** empty log message ***

commit 1fff961089756802a8154f4430d6fe1222a7bfed
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:56:27 2004 +0000

    (scm_modulo): For inum/big and big/big, remove test of
    big==0 since that never occurs.

commit d885e204fd3b01bea739f9836eb7790dac1e4b79
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:55:20 2004 +0000

    (scm_modulo_expt): Renamed from
    scm_modular_expt, matching scheme level name `modulo-expt'.

commit b7b8c575762cde27b25cd32744e6d70829ee0d46
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:51:39 2004 +0000

    (scm_modular_expt): Return a negative remainder for a
    negative divisor, the same as `modulo' does.

commit d6628681cdaabd87014db190ca3f86b4e5c3e995
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:49:28 2004 +0000

    *** empty log message ***

commit 24360e11b0c62654ab58fa72c53904f1140b740d
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:46:35 2004 +0000

    2004-03-26  Eric Hanchrow <address@hidden>
        * tests/numbers.test (modulo-expt): New tests.

commit 23d77957a462152a94b9d41388032759c04cb6d7
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:45:11 2004 +0000

    (min, max): Check inexactness of big/real and
    real/big combinations, collect up tests under arg types for clarity.

commit 32c9168774de6c425e05ed16c2f89dd8d8de0936
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:38:59 2004 +0000

    Add copyright years based on ChangeLog entries.

commit 518b75084596c9c4da8597a01964c9ffc1889c45
Author: Kevin Ryde <address@hidden>
Date:   Thu Mar 25 21:35:53 2004 +0000

    2004-03-26  Eric Hanchrow <address@hidden>
        * numbers.c, numbers.h (scm_modular_expt): New function.

commit 682fb084e5529af15bcbb85d85f8d1bc3cc996fe
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 24 23:29:22 2004 +0000

    *** empty log message ***

commit 253b60cc92a498971f1fcc380d0c7b2e1493ac56
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 24 23:28:54 2004 +0000

    (SLIB): Amend `require' cross reference node name, is
    called "Require" in slib 3a1.

commit 2926035a17fe6b947c9bc0b92e8d09ab02bb02d6
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 24 22:16:50 2004 +0000

    *** empty log message ***

commit 2a06f791170fdf66ddaf3df4dd0748acef397cc5
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 24 21:53:31 2004 +0000

    (scm_min, scm_max): Correction to big/real and real/big,
    return inexact as required by r5rs.

commit 62360b89758b5efb790c0f8455afa286e8fe6ff4
Author: Dirk Herrmann <address@hidden>
Date:   Wed Mar 24 01:21:50 2004 +0000

        * libguile/eval.c: Separated some definitions relevant for execution
        from the memoization part of the file.
    
        (copy_tree): New static function
    
        (scm_copy_tree): Rewritten to fix two kinds or bugs: First, cyclic
        structures are detected now and will lead to an exception instead
        of forcing guile to run in an endless loop, using up all the
        system's memory.  Second, arrays in the cdr of an improper list
        are now copied.  See the new test cases in eval.test.
    
        * test-suite/tests/eval.test: Added tests which reflect the recent
        fixes to copy-tree.

commit b28f5b3cb2549d311cf973837e6c133d632e6763
Author: Dirk Herrmann <address@hidden>
Date:   Wed Mar 24 00:49:07 2004 +0000

        * posix.c (scm_gethostname): Make sure len is initialised before
        it is used.  Restructured to (hopefully) represent possible
        configurations more clearly in the code.  Added unwind handler.

commit 3bd3bae8209c2a60553bafef4a969eb5c6a5510b
Author: Kevin Ryde <address@hidden>
Date:   Tue Mar 23 00:23:54 2004 +0000

    *** empty log message ***

commit 51ebeed145f42a06019fbd9124c1904a520ddfa2
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:48:52 2004 +0000

    *** empty log message ***

commit 6b01eac94721b0bd4066f25b154b8f87fe501d50
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:45:35 2004 +0000

    (AC_CHECK_FUNCS): Add sysconf.
    (AC_CHECK_HEADERS): Add netdb.h and sys/param.h.

commit 0eaf105588d902f8ead34af3e2c1582d7ab280da
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:41:30 2004 +0000

    (scm_gethostname): Use sysconf(_SC_HOST_NAME_MAX) and/or
    MAXHOSTNAMELEN when available.

commit 238f1919b637829e558a471e7faf40b20bcf5f5f
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:31:30 2004 +0000

    *** empty log message ***

commit c344fddd82c03a0c18e9a11a354f385bd049930a
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:30:49 2004 +0000

    *** empty log message ***

commit 1ccbc436c14ddaf797adc30cafd18e4ff7ea32ac
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:30:08 2004 +0000

    (Reals and Rationals): Typo in `rationalize'.

commit 2d411b0506b1f274094a13442a980313a004aed7
Author: Kevin Ryde <address@hidden>
Date:   Mon Mar 22 23:27:46 2004 +0000

    (circular-list): Rewrite using set-cdr!, no need to copy parameter list.

commit 77895d89cf755126c40af9a02ec756381040bb54
Author: Marius Vollmer <address@hidden>
Date:   Sun Mar 21 02:12:49 2004 +0000

    Don't ignore .cvsigore

commit 254bf78d53aba67bdf4b5c0144914065fb4bc92c
Author: Marius Vollmer <address@hidden>
Date:   Sun Mar 21 02:03:02 2004 +0000

    *** empty log message ***

commit 19881302209e8cebed166fe39c30334fbeebe609
Author: Marius Vollmer <address@hidden>
Date:   Sun Mar 21 02:02:08 2004 +0000

    (skip_scsh_block_comment): Also recognize '\r' as a line terminator.
    Rewritten the logic as a state machine, I must have been doing too
    much VHDL lately...

commit fc22b297fca7085a3379f25d5661f4dfad47037a
Author: Marius Vollmer <address@hidden>
Date:   Sun Mar 21 00:30:12 2004 +0000

    (scm_ceval, scm_deval): Explicitely evaluate ports to themselves.
    Thanks to Han-Wen Nienhuys!

commit 71a896390efc7f5d17b6c26feab64f5757befb2a
Author: Marius Vollmer <address@hidden>
Date:   Sat Mar 20 23:55:03 2004 +0000

    Changed docstrings so that they no longer talk about returning
    'pointers' to something.

commit 009c34a2da60f1f73d97e3d26a345ceffb10918a
Author: Han-Wen Nienhuys <address@hidden>
Date:   Sat Mar 20 23:37:52 2004 +0000

    * gc.c: remove set_debug_cell_accesses! when
    SCM_DEBUG_CELL_ACCESSES is not defined. Scheme source code should
    use (if (defined? 'set-debug-cell-accesses!) .. ) to switch on
    debugging conditionally.

commit 54733c952df90dfb5896f35787f136d6eb18627b
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 20 23:22:17 2004 +0000

    *** empty log message ***

commit 45198ffbfe433ea1351d7ee10993ebabd24edb29
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 20 23:18:06 2004 +0000

    (scm_gmtime): Use gmtime_r when available, for thread safety.

commit fa525c8a688f37a2a09402a71214e3369b0d8d97
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 20 23:14:35 2004 +0000

    *** empty log message ***

commit c9d1dcc03bd68a20acbd1afc84be95818f8a3da5
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 20 23:13:48 2004 +0000

    (AC_CHECK_FUNCS): Add gmtime_r.

commit bbaf87472be3d68d98e63bf4271f3810835c540b
Author: Kevin Ryde <address@hidden>
Date:   Fri Mar 19 23:17:59 2004 +0000

    *** empty log message ***

commit 228651245d81b1f72d56a023b150e245a5bc2f5a
Author: Kevin Ryde <address@hidden>
Date:   Fri Mar 19 23:17:00 2004 +0000

        * posix.c (scm_gethostname): Preserve errno across free() call.

commit 726f82e747aab5e8072dbb389588e2275f5ec534
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Mar 18 00:19:52 2004 +0000

    (sweep_card): use SCM_GC_SET_CELL_WORD for setting
    free cells.

commit e1350d6afaefc31567f0c2b614b0482a65ccc84f
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 13 23:34:13 2004 +0000

    *** empty log message ***

commit 3c61e80f1d4b844bf425da3cc57f2774a4df280b
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 13 23:32:16 2004 +0000

    Define _GNU_SOURCE for strptime prototype from glibc.  Use
    HAVE_DECL_STRPTIME for when to give own strptime prototype.

commit 0777022d62f096f512c1d093aa3290ce49b8d4e3
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 13 23:31:15 2004 +0000

    (strptime): Use #define _GNU_SOURCE to get the
    prototype from glibc, use AC_CHECK_DECLS rather than AC_EGREP_HEADER.

commit cbd3255bf8b65f2cfe7c817a3edf004b5ed2e842
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 10 10:14:13 2004 +0000

    Document removal of guileint.

commit 464620ec63d8b5e0de725f089da8b4d9f7edfc21
Author: Neil Jerram <address@hidden>
Date:   Wed Mar 10 10:09:33 2004 +0000

    Remove guileint files.

commit 62055253bd05185814e04e01c31577e90b734bb3
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 6 22:43:45 2004 +0000

    *** empty log message ***

commit d6d9e957467ab5ef0b48b66645ef2433c9a28695
Author: Kevin Ryde <address@hidden>
Date:   Sat Mar 6 22:41:26 2004 +0000

    (scm_gmtime): Return bd_time->tm_zone when available, rather than "GMT" 
always.
    (filltime): Make zname parameter "const".

commit 82ab7b189b090db5fa9889ac81400f5ef66e4a45
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 3 22:15:19 2004 +0000

    *** empty log message ***

commit 1de8c1aebc18a67c1dff6111fa87f55531123a14
Author: Kevin Ryde <address@hidden>
Date:   Wed Mar 3 21:46:43 2004 +0000

    (SRFI-26): New section.

commit 92e64b873b1507fb7052b8c15e3b002163156e43
Author: Mikael Djurfeldt <address@hidden>
Date:   Wed Mar 3 16:53:15 2004 +0000

    (scm_c_scm2thread): New function.

commit b3ffe4d4919f0549c13e14da7637950d0a15cf35
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 23:22:12 2004 +0000

    *** empty log message ***

commit c2d31141dcd8eb4aad0fa5238ed3ce23952bc332
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 23:07:56 2004 +0000

    (execl, execlp, execle): Exercise errors where
    program not found.  [But disabled, due to problems with threading.]

commit 2a61284af558555399ceb03b4044b136176bcd95
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 21:38:37 2004 +0000

    *** empty log message ***

commit 32bb5bd88c719861375528da70440f15c9edf9c7
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 21:37:41 2004 +0000

    (execl, execlp, execle): Exercise errors where program not found.

commit 004ad931309bc8098cfc198d5e1296835517e4f2
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 20:11:14 2004 +0000

    *** empty log message ***

commit 1df728345b13480fba5b8bbf8db91ec122b9a5c6
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 20:08:08 2004 +0000

    (AC_CHECK_FUNCS): Add DINFINITY and DQNAN.

commit a73256d0181d97b1b8743e0e9e27467735867994
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 20:03:18 2004 +0000

    Use AC_COPYRIGHT and AH_TOP to get copyright notice
    into generated configure and config.h.in.

commit 240a27d2c5c4c7bf612fd037e4f7b0f1afcdb5e6
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 20:01:13 2004 +0000

    (guile_ieee_init): Use C99 INFINITY and NAN when
    available.  Test HAVE_DINFINITY and HAVE_DQNAN for those globals, in
    particular don't assume "defined (__alpha__) && ! defined (linux)"
    means OSF.  Remove "SCO" code, which was not really SCO specific and
    which John W. Eaton advises should be long past being needed.

commit 807f353fedf52ad5f591b652175bf3101c121d98
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 28 19:16:26 2004 +0000

    (scm_execl, scm_execlp, scm_execle): Avoid memory leak under error throw.

commit 6841205b19c6856f5cac14015d73d8a12beb985b
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 25 19:11:33 2004 +0000

    *** empty log message ***

commit 7f05d32538e599de5130feb9eb21fe2dd1a43a2f
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 25 19:10:07 2004 +0000

        * gds-client.scm (handle-instruction-1): In `eval' protocol, catch
        and report read errors nicely.
    
        * gds.el (gds-display-buffers): Don't select the GDS window.

commit 72ea45ac4c7343fc62368dbc46d4f8f9fc0853a4
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 23 22:59:20 2004 +0000

    *** empty log message ***

commit 1b317eb1967beeb1f305485c091d8088b8fd346b
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 23 22:05:37 2004 +0000

    (scm_cuserid): Use a private result buffer, for thread safe.

commit 9de7b7abb4abafc7b3ff21c2dd32bfc60650a7fd
Author: Neil Jerram <address@hidden>
Date:   Sun Feb 22 11:11:17 2004 +0000

        * gds-tutorial.txt, gds-problems.txt: New files.

commit 9593c679b94e7af874eef2d25cf22b85aeeaaa50
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 22:04:42 2004 +0000

    *** empty log message ***

commit 593a4c2f90b6a4fde881a33667f75e60f0d282b3
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 22:03:57 2004 +0000

    (max, min): Exercise some complex num cases.

commit 2af0602e45d0d675a32db20dbe70e44249b36755
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 21:59:34 2004 +0000

    *** empty log message ***

commit dab4e67a0a71f1f1b871a0ed5908238cd28c19bf
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 21:58:30 2004 +0000

    (scm_max, scm_min): For one arg, dispatch to generic for
    complex, same as for two args.  (Handle only inum, big, real, frac).

commit db752bb5cf49cfe21b549e85212b379f74101e3e
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 21:21:29 2004 +0000

    *** empty log message ***

commit 580987cf4b237da12dced75958b362ecdb19d0ce
Author: Neil Jerram <address@hidden>
Date:   Sat Feb 21 14:53:07 2004 +0000

        * gds.el: Add requirements: cl, comint, info.
        (gds-guile-program): New.
        (gds-start): When starting or restarting, kill captive if it
        exists.  Use gds-guile-program instead of just "guile".
        (gds-mode): Use widget minor mode.
        (gds-client-ref): New optional client arg.
        (gds-update-buffers): Don't call widget-setup.
        (gds-heading-face): New.
        (gds-insert-interaction): Various prettifications.
        (gds-heading-insert): New.
        (gds-choose-client): Check that numbers in client and gds-client
        are still valid.
        (gds-eval-expression, gds-apropos): Remove text properties from
        expression to evaluate.
        (gds-mode-map): Don't set widget-mode-map as parent.
        (gds-start-captive): Use gds-guile-program instead of just
        "guile".
    
        * gds-client.scm (install-breakpoints): Bugfix: avoid null lists
        in traversal.
        (eval-thread, gds-eval): Where expression has multiple parts,
        modify output to say which part is being evaluated.

commit 2c0334eccd91e1c4f593135b9e75e0e5c7dd4277
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 21 00:10:47 2004 +0000

    (NUM2FLOAT): Expand isfinite to !xisinf, as per previous change to 
numbers.c.

commit b114eafe802de9189f627e41d9b6a5294dc84311
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:24:27 2004 +0000

    *** empty log message ***

commit d675a50f53354a7586d199144cb3ec6fb6b477b0
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:20:15 2004 +0000

    Add copyright year 2002, which appears in the ChangeLog.

commit e60923476f932cf1a124f0813335c20ea13e39aa
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:19:03 2004 +0000

    Add a copyright year.

commit b9a7b725a87d6a06eaf177e4b2abe0bcb94108e2
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:18:10 2004 +0000

    (scm_crypt): Use new HAVE_CRYPT.
    (<crypt.h>): Remove HAVE_LIBCRYPT condition.

commit 63271ac5a2761ed3d0e1ce7f3732fd48ba83312a
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:16:57 2004 +0000

    (crypt): Test with AC_SEARCH_LIBS, for the benefit of
    HP-UX.  Define HAVE_CRYPT rather than HAVE_LIBCRYPT.  Reported by
    Andreas Voegele.

commit 2c1433817c73b4ea66019d8b43b8bb1db5ab6add
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:05:51 2004 +0000

    *** empty log message ***

commit 548b104750e6c1b01e0d1421355565e5a4903af5
Author: Kevin Ryde <address@hidden>
Date:   Fri Feb 20 23:04:04 2004 +0000

    (Expression Syntax): Add findex entries for
    quote and quasiquote no longer using @deffn.

commit 1e55d28813c6dba90ea05ba3e7703eea191be691
Author: Neil Jerram <address@hidden>
Date:   Fri Feb 20 22:04:24 2004 +0000

        * list.c (scm_list_n): Add #if SCM_DEBUG_CELL_ACCESSES_P around
        validation.
    
        * read.c (scm_lreadparen): Removed.
        (scm_lreadparen1): Renamed scm_i_lreadparen.

commit eb741d98e2f898974923cb0c1b3c8b1913878cd2
Author: Han-Wen Nienhuys <address@hidden>
Date:   Fri Feb 20 21:15:56 2004 +0000

    (scm_list_n): check validate non-immediate arguments;
    this will catch forgotten a SCM_UNDEFINED.

commit 83078c1ebdfd085e93dccd86d3d0dd2b074c2275
Author: Marius Vollmer <address@hidden>
Date:   Fri Feb 20 17:15:06 2004 +0000

    *** empty log message ***

commit a8551448a35b5aced07340f9ee5ac6a1cfab0e86
Author: Marius Vollmer <address@hidden>
Date:   Fri Feb 20 17:14:41 2004 +0000

    (Expression Syntax): Turned syntax description into a table, @deffn is
    not really up to the task.

commit 9b792a7ec00f34050b6a4724686cf4f1d7beff28
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 22:32:08 2004 +0000

    *** empty log message ***

commit fa2803b92bd18717d4c8ae3b77cc11c4b68bc5a4
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 22:29:45 2004 +0000

    (top-repl): Make the (guile-user) module use the (ice-9 r5rs) module.

commit 4e28ba5efd4d6735dc04176d97590fee021ec64c
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 21:16:01 2004 +0000

    *** empty log message ***

commit 0d558fbb953efee75ab492211ed3ff405619ed04
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 21:14:35 2004 +0000

    * gc.h (scm_gc_cells_collected): Removed duplicated declaration.
    Thanks to Bill Schottstaedt!
    
    * socket.h (scm_gethost): Removed prototype it is already in
    "net_db.h".  Thanks to Bill Schottstaedt!

commit ab32bd34156e5768454405e673940ead001118b7
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 20:08:48 2004 +0000

    *** empty log message ***

commit 391b4ae044e4091c61c40995862f3d0725e486f0
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 20:07:19 2004 +0000

    * guile.texi: Replaced list of authors with "The Guile
    Developers".
    
    * preface.texi (Contributors to the Manual): New section.

commit b6f9dbaeeedf00f7440d6a9e57587bda223299f9
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 20:01:57 2004 +0000

    (Expression Syntax): Use an empty name for the function call syntax
    definition.  Otherwise, TeX complains about unbalanced parenthesis.

commit 8cad6491e6c50acab83d6ffd4d868ff251ae73d0
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 19:29:40 2004 +0000

    *** empty log message ***

commit 6140be99ba2b7c5c64327c747df987078c4542c2
Author: Marius Vollmer <address@hidden>
Date:   Wed Feb 18 19:29:16 2004 +0000

    Added copyright notice of Michael Stoll, who probably wrote the
    original CLISP code.

commit 573bc47306310eccdb8016c498920ae612ee5a34
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:43:09 2004 +0000

    *** empty log message ***

commit 6afe385d12bb0f3fb980d647aa8d8b2bbc5fa272
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:42:32 2004 +0000

    (SRFI-9): Revise for detail and clarity.  Don't
    use ":foo" for example type name, since that depends on the keyword
    reading option.

commit 676483a68a8d7bc99fe4d2251d6e9b38029d1397
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:38:39 2004 +0000

    (Expression Syntax): Fill section with
    function calling etc, and quote and quasiquote.

commit ef861eadbab134543eb794b79df9d97973d729cb
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:30:37 2004 +0000

    *** empty log message ***

commit 2a8b5e045fc7e4561f1be95794e8a760922c8d6e
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:29:16 2004 +0000

    (=): Exercise frac+real and frac+complex.

commit 26bdd45f0811e72a5d9a973f20a9216cd8513999
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:28:41 2004 +0000

    Remove 1/3 == 1.0/3.0, not true.

commit 29c560674bae3189b61b9c6836e0ea0e6615cf11
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:25:39 2004 +0000

    (INTEGRAL2BIG): WORDS_BIGENDIAN not right for word
    order parameter to mpz_import, in fact with just one word there's no
    order to worry about at all.

commit 48dc9f349d9cc78dddad08727c810bc2e9c34826
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:22:28 2004 +0000

    (scm_shell_usage): Print to stdout for --help, per GNU standard.

commit d8b95e27aba936a909fcfb4bac7accb14d383fdb
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:21:11 2004 +0000

    (scm_num_eq_p): For real==frac, complex==frac, frac==real
    and frac==complex, make an exact comparison rather than converting
    with fraction2double.

commit eb7e1603ad497d0efff686e26e23af987c567721
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:20:08 2004 +0000

    (environ): Use _NSGetEnviron in Darwin
    shared library, since environ is not directly available there.

commit 424d0540f263a9099afe103139979860877c727d
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:11:34 2004 +0000

    *** empty log message ***

commit ef73a2a0e9c78c73c2f084f50aeae7b47d56df5d
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 18 00:06:10 2004 +0000

    (AC_CHECK_HEADERS): Add crt_externs.h.
    (AC_CHECK_FUNCS): Add _NSGetEnviron.

commit 73ae3b4cb5966d51df65a2e9f1fbe34bca9ba1bd
Author: Kevin Ryde <address@hidden>
Date:   Tue Feb 17 23:37:06 2004 +0000

    (scm_localtime, scm_gmtime, scm_mktime): Provide a default
    errno EINVAL in case localtime and gmtime don't set it.
    (scm_mktime, scm_strptime): Forcibly use errno EINVAL for our
    SCM_SYSERROR, since mktime and strptime generally don't set errno.

commit afe199fe64a8a0e3c6779a333cbbed8a414f5a78
Author: Kevin Ryde <address@hidden>
Date:   Tue Feb 17 23:27:27 2004 +0000

    *** empty log message ***

commit 17f732e6fa6e72718a52a38b79153e9d6121fcd0
Author: Marius Vollmer <address@hidden>
Date:   Tue Feb 17 21:39:21 2004 +0000

    *** empty log message ***

commit 7b93c2e5b1f6ccd36b15038ccc3b6ece6b9a6a77
Author: Marius Vollmer <address@hidden>
Date:   Tue Feb 17 21:39:10 2004 +0000

    (SCM_TESTS): Added test/fractions.test.

commit 581e4579de67667eb1ace78be01b5b9ea59b8480
Author: Marius Vollmer <address@hidden>
Date:   Tue Feb 17 21:37:47 2004 +0000

    Added GPL terms.

commit 3f12a4ec05014e0d78a755c05c96af991b7acd84
Author: Marius Vollmer <address@hidden>
Date:   Tue Feb 17 21:18:53 2004 +0000

    Added LGPL terms.

commit c9ea646268d9de1f05612d8a5bd8dbc978e949ec
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 16 00:51:17 2004 +0000

    *** empty log message ***

commit 290e9e11e473869acf9933187cffa7313976f4f4
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 16 00:50:23 2004 +0000

    Add a copyright year.

commit 4cd3853f3717168dce92ec49a2d51b49abd27d9e
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 16 00:45:55 2004 +0000

    (scm_done_malloc, scm_done_free): Allow negative sizes,
    which were permitted in the past for these.

commit ae43d08ea0c556fd6aeb188287a8baa87f3f60a7
Author: Kevin Ryde <address@hidden>
Date:   Mon Feb 16 00:03:44 2004 +0000

    *** empty log message ***

commit e69681aef46f42323e6daa26cccb60e6d8c24d3a
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 23:49:20 2004 +0000

    (scm_shell_usage): Print bug-guile email address, as per
    GNU standard.  Reported by Han-Wen Nienhuys.

commit 292dfa7fbc711456ed66ca09356d56e15381f408
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 23:44:15 2004 +0000

    *** empty log message ***

commit 411a674a2d00f527b64509fbf4bbc8bb80d380b5
Author: Mikael Djurfeldt <address@hidden>
Date:   Sun Feb 15 22:07:33 2004 +0000

    (Hash Table Reference): Wrote a new entry
    for hash-for-each-handle.

commit 99fcc9405fe209523e2adc9c6b74ad674265226f
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 21:51:00 2004 +0000

    *** empty log message ***

commit fd96f380d27c6a94fd16ca8f8ac15d4a45288a02
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 21:49:55 2004 +0000

    (Sloppy Alist Functions): Amend error messages
    shown to match current guile output.

commit c78a96e0638a9b40d72dbdd1ad3677f7f8243b2a
Author: Mikael Djurfeldt <address@hidden>
Date:   Sun Feb 15 18:27:31 2004 +0000

    * configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.
    
    * scheme-compound.texi (Hash Table Reference): Renamed hash-map
    --> hash-map->list.
    
    * configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.

commit 344a212fd1e7c20c650fd7aaa54045d748e7ee86
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 00:37:52 2004 +0000

    *** empty log message ***

commit c6e94bec5a99320ed79db827787c6d2718b6fd1c
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 00:20:55 2004 +0000

    *** empty log message ***

commit f85f9591e0003d3448595d46d52fe04b3e41ec36
Author: Kevin Ryde <address@hidden>
Date:   Sun Feb 15 00:18:24 2004 +0000

    (SRFI-4): Revise for clarity, give each function
    explicitly rather than showing TAG so Emacs info-look can find them,
    merge "SRFI-4 - Read Syntax" and "SRFI-4 - Procedures" into just one
    node.

commit 0e43f514aa3d58046aa105ca73312c7c439f4c76
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 14 23:04:55 2004 +0000

    (while do): Expand and clarify `do', in
    particular note iterating binds fresh locations, rather than values
    "stored".

commit 0c7d588a7a9fd6407124fdf54f28760063c94ef2
Author: Kevin Ryde <address@hidden>
Date:   Sat Feb 14 23:02:32 2004 +0000

    (Hash Table Reference): In scm_hash_ref etc,
    remove note that dflt must be given, it can be SCM_UNSPECIFIED.

commit 711a9fd7ee82610f160c042141d6a34e041ea804
Author: Mikael Djurfeldt <address@hidden>
Date:   Fri Feb 13 23:15:37 2004 +0000

    * unif.c (scm_make_uve): Removed local variable and simplified
    code in order to avoid compiler used uninitialized warnings.
    
    * hashtab.c, hashtab.h (scm_hash_map_to_list): Renamed from
    scm_hash_map.
    (scm_hash_fold): Use scm_call_3 directly in the call to
    scm_internal_hash_fold instead of going via fold_proc (which is
    now removed).
    (scm_hash_for_each): Use a trampoline +
    scm_internal_hash_for_each_handle.
    (scm_internal_hash_for_each_handle, scm_hash_for_each_handle): New
    functions.

commit a150979dabb2d49ccad9c95dd54b71e603d0ef38
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:45:36 2004 +0000

    (scm_port_line): In docstring, note first line is 0.
    (scm_set_port_line_x): In docstring, note first line is 0.
    (scm_port_column): In docstring, there's no default to current input
    port, and remove shared port-line @defun.
    (scm_set_port_column_x): In docstring, there's no default to current
    input port, note first column is 0, remove shared set-port-line!
    @defun.

commit 71f271b2bbaa6f3add17836a40c49333679bb850
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:33:58 2004 +0000

    Refer to manual for details of new pretty-print options.

commit ad94d5ced540ca448515be426c69b65629badcaa
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:24:18 2004 +0000

    *** empty log message ***

commit d2866d6e2f6c6603d5e21f7b171874ba8c89e143
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:23:42 2004 +0000

    (array?, array-fill!, array-prototype): Add tests.

commit 27281a53e3cd576e02b662647d3f707056254b93
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:21:26 2004 +0000

    (cross): New macro.

commit b55d48bb0c981f31e609dfb35072db5b3cdd815d
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:19:40 2004 +0000

    (Uniform Arrays): Note 1/3 prototype for doubles is now an exact fraction.

commit 9ad3bc119f6c5c175da8acfb467bd5a9419a3011
Author: Kevin Ryde <address@hidden>
Date:   Thu Feb 12 00:02:30 2004 +0000

    (Conventional Arrays): Revise for clarity.
    In array-equal?, show multiple arguments allowed.
    (Uniform Arrays): Remove duplicate array?.

commit 88531a74f38cf2dceea79c50e0a4efc8fa2dbcb0
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 23:46:30 2004 +0000

    *** empty log message ***

commit fd1517d8de8e8e4948f33d0a960623d43b5408fc
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 23:36:58 2004 +0000

    Add copyright and license notice.
    (Note code was written in 2002, but only checked-in in 2004.)

commit 3da7f6b233cff15a97c1d915cd22db1ad07def33
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 23:33:46 2004 +0000

    *** empty log message ***

commit 7c183c95a4e8c4d92c57e04f9e9cf881323c568e
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 23:20:26 2004 +0000

    (scm_make_uve, scm_array_p): Allow fraction 1/3 as prototype
    for dvect.
    (scm_array_p): Add missing "break"s in switch, fix llvect test look
    for "l" not "s", fix dvect to be false for singp(prot) since such a
    value is for fvect.
    (scm_array_prototype): Return 1/3 for dvect, rather than 0.33..33.

commit ac3c6ad6cf1cd62c2afe5161a8618ac5e1fefea8
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 23:16:53 2004 +0000

    (scm_array_fill_x): For fvect and dvect, use scm_num2dbl to
    convert args the same way that array-set! does.

commit 8418f0c74088ef24c4729e3b909acca95a599e56
Author: Kevin Ryde <address@hidden>
Date:   Wed Feb 11 22:14:32 2004 +0000

    (SLIB): Index entry for replacement `system'.
    
    And use findex for `require'.

commit cd21f5eb1784ccb6ffcb520b51deaae5ebc62245
Author: Neil Jerram <address@hidden>
Date:   Tue Feb 10 19:44:10 2004 +0000

        * read.c (scm_read_opts): Change `escaped-parens' to
        `elisp-strings'.

commit 2c284c947e3a4cf3f67d3222a7071d020793f00a
Author: Neil Jerram <address@hidden>
Date:   Mon Feb 9 19:18:01 2004 +0000

        * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
        * debugger/commands.scm (debug-trap-hooks): New, exported.

commit f1dc5f45ab455339c02340d612af409ab9f51fc9
Author: Mikael Djurfeldt <address@hidden>
Date:   Mon Feb 9 01:48:34 2004 +0000

    * Makefile.am (TAGS_FILES): Use this variable instead of
    ETAGS_ARGS so that TAGS can be built using separate build
    directory.
    
    * Makefile.am (TAGS_FILES): Use this variable instead of
    ETAGS_ARGS so that TAGS can be built using separate build
    directory.
    
    * debugger/breakpoints/Makefile.am (TAGS_FILES),
    debugger/Makefile.am (TAGS_FILES), Makefile.am (TAGS_FILES): Use
    this variable instead of ETAGS_ARGS so that TAGS can be built
    using separate build directory.
    
    * primitives/Makefile.am (TAGS_FILES), internals/Makefile.am
    (TAGS_FILES), Makefile.am (TAGS_FILES): Use this variable instead
    of ETAGS_ARGS so that TAGS can be built using separate build
    directory.
    
    * Makefile.am, goops/Makefile.am (TAGS_FILES): Use this variable
    instead of ETAGS_ARGS so that TAGS can be built using separate
    build directory.
    
    * Makefile.am (TAGS_FILES): Use this variable instead of
    ETAGS_ARGS so that TAGS can be built using separate build
    directory.

commit 16353acc6f0d025d4dc101d01285611d7162a0f4
Author: Neil Jerram <address@hidden>
Date:   Sun Feb 8 19:14:18 2004 +0000

        * read.c (scm_read_opts): New opts `elisp-vectors' and
        `escaped-parens'.
        (s_vector): New.
        (scm_lreadr): Use scm_lreadparen1 instead of scm_lreadparen.  Make
        handling of elisp vector syntax dependent on SCM_ENABLE_ELISP and
        `elisp-vectors' option instead of SCM_ELISP_READ_EXTENSIONS.
        Allow "\(" and "\)" in strings when SCM_ENABLE_ELISP defined and
        `escaped-parens' option set.
        (scm_read_token): If elisp vector syntax active, disallow [ and ]
        in tokens.
        (scm_lreadparen): Rewrite as interface to scm_lreadparen1.
        (scm_lreadparen1): New.
    
        * read.h: Remove conditionally compiled last arg to
        scm_lreadparen.
        (SCM_ELISP_VECTORS_P, SCM_ESCAPED_PARENS_P): New.

commit 15e6a33592258524edfd0e39d4a48c84b6fee462
Author: Neil Jerram <address@hidden>
Date:   Wed Feb 4 12:50:37 2004 +0000

        * gds.el (gds-handle-client-input): Handle new `thread-status'
        protocol.
        (gds-display-slow-eval): New.
        (gds-client-ref): Bugfix: buf -> (cdr buf).
        (gds-display-buffers): Bugfix: minimum overlay end value is 1, not
        0.
        (gds-evals-in-progress): New.
        (gds-results): New.
        (gds-insert-interaction): Show evaluations in progress (with
        button to interrupt them) and results of last help or evaluation.
        (gds-interrupt-eval): New.
        (gds-debug-trap-hooks, gds-up, gds-down): New.
        (gds-eval-region, gds-eval-expression): Include abbreviated code
        in eval correlator.
        (gds-abbreviated-length, gds-abbreviated): New.
        (gds-mode-map): New keys for gds-debug-trap-hooks, gds-up,
        gds-down.
        (gds-debug-menu): New menu entries for gds-up, gds-down.
    
        * gds-client.scm (gds-connect): Enable trapping for gds-eval
        stacks.
        (ui-read-thread-proc): Write 'running status earlier.
        (stack->emacs-readable): Limit stack length to 'depth debug
        option.
        (handle-instruction): Update format of eval correlator.
        (handle-instruction-1): Resolve module names from root module
        instead of from current module.
        (resolve-module-from-root): New.
        (handle-instruction-1): New protocol `interrupt-eval'.
        (eval-thread-table): New.
        (eval-thread): Add thread to eval-thread-table; write new protocol
        to frontend to communicate eval thread status; update for new
        correlator format; bind correlator local before entering loop2.
        (gds-eval): Use start-stack 'gds-eval-stack to rebase stack.
    
        * gds.el (gds-start, gds-start-captive): Do
        `process-kill-without-query' as soon as processes started, ...
        (gds-shutdown, gds-kill-captive): ... instead of here.
        (gds-display-results): More clearly show unspecified results; show
        results in interaction view instead of in separate window.
        (gds-send): Add sent protocol to transcript.

commit 328df3e3bec2aa4d5ef719c7cf6bdb30850c031c
Author: Mikael Djurfeldt <address@hidden>
Date:   Wed Jan 28 21:33:58 2004 +0000

    (Uniform Arrays): Added a FIXME warning
    that the 1/3 prototype no longer works.

commit 1264d33105824667b3f446de4e9178c0331e6069
Author: Neil Jerram <address@hidden>
Date:   Mon Jan 26 21:40:42 2004 +0000

    Simplify algorithm for popping up windows.

commit d70e0619332fff5ecac141a3aa67c0b06deabc45
Author: Neil Jerram <address@hidden>
Date:   Sun Jan 25 13:02:21 2004 +0000

    Fix autoconf underquoting warnings

commit 67314101f8db24df472dcd25cd89165dc48733ab
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 24 01:23:16 2004 +0000

    *** empty log message ***

commit c541e247aed0cc86b0f1760740ed5ca43ef7fb6d
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 24 01:22:59 2004 +0000

    (srfi_DATA): Added srfi-26.scm.

commit 8834dd6fae2d25db7a16919e5f95c24a1468c734
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 23 21:14:24 2004 +0000

    *** empty log message ***

commit c3b4b2418c0b4a7689cb1d729f5075468f93ae69
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 23 21:13:01 2004 +0000

    Removed again.  I was confused.  The file added to SCM_TESTS was
    r5rs_pitfall.test, not r5rs_pitfall.scm.

commit 36ffdf0abfcda91430e6d3839ba8cff7cf6a76b1
Author: Dirk Herrmann <address@hidden>
Date:   Fri Jan 23 14:47:56 2004 +0000

        * lib.scm: Extracted '/i' to toplevel.  Print the guile version
        number before the benchmarks are run.  Print the framework-time
        per iteration as an inexact number.

commit a264c013fd0cc29b65e132f63b9f60752a6f4249
Author: Dirk Herrmann <address@hidden>
Date:   Fri Jan 23 14:24:37 2004 +0000

        * tests/syntax.test: Added test for unmemoizing internal defines.

commit 82b6774893cda810ad61c2cf078986fdfec38a72
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 23 00:40:51 2004 +0000

    *** empty log message ***

commit 2630aa9529f90e276aed64f013d6441a462c1c49
Author: Marius Vollmer <address@hidden>
Date:   Fri Jan 23 00:40:30 2004 +0000

    (guile_TEXINFOS): Added fdl.texi.

commit 77e51fd6ed535ff3f9d3c55368dd9e48cd6e94d0
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 22 23:28:27 2004 +0000

    *** empty log message ***

commit f62b9dff2192cc6286e325ba21f9c2127247b4c8
Author: Han-Wen Nienhuys <address@hidden>
Date:   Thu Jan 22 23:14:09 2004 +0000

    (m_expand_body): remove stray variable new_body.

commit ef5b6b61d02b8174614837d676524b644fd59b3f
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 22 22:43:01 2004 +0000

    *** empty log message ***

commit 9d4bf6d39a328bfda7c3f23560dc303f2a096d24
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 22 22:42:29 2004 +0000

    (m_expand_body): Rewrite the expression in place (by overwriting
    FORMS) also when a letrec is constructed, not only when no definitions
    are found.  Do not return rewritten expression to emphasize the
    in-place rewriting.  Changed all users.

commit 2153f45947ae02244ced165476be1768c39f39bf
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 22:43:48 2004 +0000

    *** empty log message ***

commit c6ae9c7794ee2ff6d71f99a6e0ed6ac1f1f40075
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 22:43:36 2004 +0000

    * fdl.texi: New.
    * guile.texi: Include it as an appendix.
    * preface.texi: State that the manual is FDL.

commit 2da09c3fdeaa2d686f30f63672191115375154f2
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 22:40:39 2004 +0000

    Added Copyright notice.

commit 9a5fc8c2034ef545e7d884b6c596b8d94dee2244
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 00:47:50 2004 +0000

    *** empty log message ***

commit 5e673c69f5e77ee9038897ef1354e4169b8fcff1
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 00:47:19 2004 +0000

    Mention SRFI-26.

commit b0b55bd6c7cab876607f544ca0e8d89d65f3f9c7
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 00:47:06 2004 +0000

    Mention (srfi srfi-26).

commit feeef4fb40adc27426a4ccf98c4131e9133c97f2
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 00:46:10 2004 +0000

    New, from Daniel Skarda.  Thanks!

commit 012a3a7537d305b5ce2f95f3337978facac8634f
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 21 00:45:48 2004 +0000

    * tests/srfi-26.test: New.
    * Makefile.am (SCM_TESTS): Added it.

commit 7eec4c37c73ef3e1a855655d9bbcaf790a919416
Author: Han-Wen Nienhuys <address@hidden>
Date:   Wed Jan 21 00:06:11 2004 +0000

    * gc.c: add protected_object_count, a number that is dumped from
    gc_stats()

commit bb5ad88f279511b092fbc0a63bde0ad8b5411906
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 20 22:38:39 2004 +0000

    Back out change to lazy-handler-dispatch lookup.

commit ea73836c1d10053452cc56c11d04ff0e550a22bf
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 20 22:13:20 2004 +0000

    Reorg gds-send args; use evaluation correlator

commit a6ab1debafe33d895bf6f859f116142eecc02961
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 20 22:09:32 2004 +0000

    Implement eval threads.

commit 5c963b6eb8aa6f4c7c68ae9caaa7480f6c9b4475
Author: Neil Jerram <address@hidden>
Date:   Tue Jan 20 22:05:44 2004 +0000

    Add GDS doc

commit 165e14cfab897fad04b2a9fde2d3a23acd522517
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 20 00:47:20 2004 +0000

    *** empty log message ***

commit e9b91f8e731bbc0c90dec059c6a4f5af84175fae
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 20 00:45:42 2004 +0000

    (Guile License): Note readline is GPL and manual has
    its own copying terms.  Describe briefly what the licenses mean in
    practice.

commit 8212ef316be479ca2d74a1ca9b3b276fc6fc5ed8
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 20 00:32:46 2004 +0000

    (Higher level thread procedures): In monitor,
    don't let "newly created" suggest a mutex created on every evaluation.
    Note what "monitor" means.

commit de5eb61998591242188b94b12325f318d69123f5
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 20 00:30:13 2004 +0000

    (SLIB): Note `system' redefined by (ice-9 slib).  Tweak
    `require' example.

commit f9825394b550ffe2ef2f1042f64a81b463c1229d
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 12 17:28:46 2004 +0000

    *** empty log message ***

commit 3a43b605b8275eaab3e563a5c10e8f62f648912a
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 12 17:28:30 2004 +0000

    (compute-get-n-set): Use '#:' in error message instead of ':'.  Thanks
    to Richard Todd!

commit 1dd2599f862a1df47682ff2162198afddbacc54a
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 12 17:20:43 2004 +0000

    *** empty log message ***

commit ffa04c1b099ccf686758760227fd3c99fe34fde3
Author: Marius Vollmer <address@hidden>
Date:   Mon Jan 12 17:19:21 2004 +0000

    Use '#:' prefix for keywords instead of ':'.  Thanks to Richard Todd!

commit 25ffbdacbd86b4d51ffc25ad5deae3b113918b56
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 11 00:59:04 2004 +0000

    *** empty log message ***

commit c18140cf6e4f28a6dfa4deebe80c8fab8e262bf6
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 11 00:58:38 2004 +0000

    * tests/r5rs_pitfall.scm: New.
    * Makefile.am (SCM_TESTS): Added it.

commit f1da8e4e0ba3a7226f515cb30349625049b4b120
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 11 00:56:05 2004 +0000

    Renamed scm_frame_unwind to scm_frame_unwind_handler, and
    scm_frame_rewind to scm_frame_rewind_handler.

commit 16c5cac25aa125128e123cae34865613e95e2938
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 11 00:51:19 2004 +0000

    (scm_frame_unwind, scm_frame_unwind_handler): Renamed and changed all
    uses.  (scm_frame_rewind, scm_frame_rewind_handler): Likewise.

commit 327967ef26cbebc2611c4d49bbbb100378d3b1ff
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 11 00:40:54 2004 +0000

    (scm_print_symbol_name): Handle #{`foo}#, #{,foo}#, #{.}#, and all
    numeric strings specially.  Thanks to Paul Jarc!

commit 7dd5eb5898a81ce79ac3b67c349481911fd6e067
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 11 00:28:08 2004 +0000

    *** empty log message ***

commit 700ffd55e6cec2dd5dc33b8e04651bd31fb0b04b
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 11 00:26:41 2004 +0000

    (system): New function, giving an exit code return in
    accordance with slib spec.

commit 8081c3fb51b70c623c728a4ebf5d23ee735d3a1f
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 11 00:18:25 2004 +0000

        * tests/exceptions.test (false-if-exception): Disable tests on
        referencing expansion environment, reverted.

commit 9afa7a12f20c413b702f3e792dc2bde149c3718d
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 11 00:03:33 2004 +0000

    *** empty log message ***

commit 2de97f05f0411ddc0b738db5748beee031762479
Author: Kevin Ryde <address@hidden>
Date:   Sun Jan 11 00:01:48 2004 +0000

        Revert this, it breaks test-suite/tests/r5rs_pitfalls.test where
        false-if-exception is used within syntax-rules.  (Suspect syntax-rules
        ought to support this sort of thing, but it doesn't right now.)
    
        * boot-9.scm (false-if-exception): Unquote catch and lambda, so as not
        to depend on expansion environment.

commit d9623da1f2687d4a25cc5229c46ca5cf226a76ff
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 10 23:30:23 2004 +0000

    Instead of the non-portable mktemp, use mkdir to create a unique
    temporary directory that we can safely use.  Thanks to Stefan
    Nordhausen!

commit 08568c953b69c82e68abc6272db9634a77ee385b
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 10 23:20:10 2004 +0000

    *** empty log message ***

commit 88ecf5cbd4ea94f6a95994fd676270f06a07bcf3
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 10 23:18:48 2004 +0000

    (scm_bit_count, scm_bit_position, s_scm_bit_set_star_x,
    s_scm_bit_count_star, s_scm_bit_invert_x): Clarify docstrings, as per
    changes made to scheme-compound.texi.

commit ff96677fc3470d428bc1342731d6fff4e24df5ea
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 10 21:43:10 2004 +0000

    *** empty log message ***

commit 5ad1686a78891ee71b088f5deb3d8ef7fac9eb4b
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 10 21:40:26 2004 +0000

        * misc-modules.texi (Queues): New chapter.
        * guile.texi (Top): Add it.

commit 2370f8090728583da0557181af75014b4533c7e2
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 10 21:37:59 2004 +0000

    (Queues): New chapter.

commit 5565749c2ee05f446a61f85090d7aa7603f08d5c
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 10 21:22:28 2004 +0000

    *** empty log message ***

commit 27fca65629299a2aa348bd1218fda1d66596f529
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 10 21:20:55 2004 +0000

    Use mktemp to create a truely unique temporary file name.  Thanks to
    Stefan Nordhausen!

commit c95243c71c35e97a6acf929ed3549310063befb2
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 9 00:52:23 2004 +0000

    *** empty log message ***

commit 84bde77f8e101c47f83a14801542582e4144afc2
Author: Kevin Ryde <address@hidden>
Date:   Fri Jan 9 00:37:44 2004 +0000

    (Bit Vectors): Revise for clarity, following
    report by Rouben Rostamian.  Remove #b() example, that syntax is not
    accepted.

commit 42155d759e66e5847f4795f6c883e25db4ac049e
Author: Marius Vollmer <address@hidden>
Date:   Thu Jan 8 17:04:02 2004 +0000

    More stuff about flow control.  Bug fixes in example.

commit 7ebccde82ef49bcc9e5228114b92fdb49ac4ac7d
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 20:21:38 2004 +0000

    *** empty log message ***

commit 14578fa4ea21173bd8360f4ba6e0660028769b42
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 20:21:30 2004 +0000

    * dynwind.h, dynwind.c (scm_i_dowinds): Removed 'explicit'
    argument since it is always zero now.  Changed all callers.
    Removed code for handling fluids.

commit 96e3b2f8088df3406564cf39dea624ceb4999d5c
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 19:51:18 2004 +0000

    *** empty log message ***

commit 062fccce799bd874bcab541a8641682f85a06135
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 19:51:07 2004 +0000

    (with-fluids): Use with-fluid* when only one fluid is being set.

commit 540cc7abdca49861911a24280429a8f5b3e06467
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 19:50:28 2004 +0000

    * dynwind.c (scm_i_dowinds): Removed code for handling fluids.

commit bebd3fbadd8541ee42b3e311c0e7f4a4751c6703
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 19:47:18 2004 +0000

    * fluids.c (scm_c_with_fluids): Use frames instead of adding to
    the wind chain explicitely.  Use scm_c_with_fluid for the common
    case of only one fluid.
    (scm_with_fluid): New.
    (scm_c_with_fluid): Use frames instead of scm_c_with_fluids.
    
    * fluids.h, fluids.c (scm_frame_fluid): New.
    (scm_with_fluid): New.
    (scm_i_swap_fluids, scm_i_swap_fluids_reverse): Removed.

commit fc6bb2831dd5bcb002c5711bd74764c3f2f54f66
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:18:09 2004 +0000

    *** empty log message ***

commit 8843e1fa41dba5019336205e9570ebef49ab6317
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:18:00 2004 +0000

    Adapted to 'frame' renamings. (check_fluid): New.

commit a31635683414b09e757498ce5e7f954f389a45a6
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:17:04 2004 +0000

    (SCM_TESTS): Added continuations.test.

commit 6394add195faae1e7ed2cdb6b8523538d6e2283d
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:13:07 2004 +0000

    Adapt to new 'frame' names.  Document scm_c_with_fluid,
    scm_c_with_fluids, and scm_frame_fluid.

commit ef20bf705f6b9d23267a08e2362bb91715dc7e4f
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:08:52 2004 +0000

    (scm_frame_fluid): New.

commit 07add3457ba962b8bce04b46101f85f7e089d8e8
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:03:46 2004 +0000

    Did the follwing renamings:
    scm_with_current_input_port -> scm_frame_current_input_port,
    scm_with_current_output_port -> scm_frame_current_output_port,
    scm_with_current_error_port -> scm_frame_current_error_port.
    Changed all uses.

commit 0888de4fd1b6ab308f7fab521534d9bce19b3e13
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:03:33 2004 +0000

    * dynwind.c (scm_frame_end): Do not use scm_i_dowinds.  Instead, do
    the unwinding directly.  It is simple enough.
    
    * dynwind.h, dynwind.c: Did the following renamings:
    scm_begin_frame -> scm_frame_begin,
    scm_end_frame -> scm_frame_end,
    scm_on_unwind -> scm_frame_unwind,
    scm_on_rewind -> scm_frame_rewind,
    scm_on_unwind_with_scm -> scm_frame_unwind_with_scm,
    scm_on_rewind_with_scm -> scm_frame_rewind_with_scm.
    Changed all uses.

commit dfe610a0856686bde529ec4d3b635ddf6d93f2cd
Author: Marius Vollmer <address@hidden>
Date:   Wed Jan 7 18:03:18 2004 +0000

    Did the follwing renamings: scm_with_blocked_asyncs ->
    scm_frame_block_asyncs, scm_with_unblocked_asyncs ->
    scm_frame_unblock_asyncs.  Changed all uses.

commit ba40113e70354f72b46001440963662e7985cf14
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 23:45:42 2004 +0000

    *** empty log message ***

commit be24d06003764a837ed7cd39038e084f6a97d1dd
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 23:40:08 2004 +0000

    (SCM_MUTEX_MAXSIZE): Increase to 12*sizeof(long),
    for the benefit of powerpc-apple-darwin5.5.  Reported by Richard Todd.

commit 2359c543be71999796c4aaeff080231080426579
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:21:01 2004 +0000

    *** empty log message ***

commit aa529137005c8445ee6a0cd35634de686dd91b72
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:20:19 2004 +0000

        * Makefile.am (SCM_TESTS): Add unif.test.

commit f410f8e7bab96b71b0f5bdb7486b7c7cdced2bd8
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:19:23 2004 +0000

    New file.
    (uniform-array-set1!): Exercise this, in particular previous segv on
    improper arg list.

commit 298ab9963373e2725b356bad1391d9a86bd3947e
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:15:55 2004 +0000

    *** empty log message ***

commit 18e2aba379acfa3a659826d1ad351778b9c3dd34
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:14:44 2004 +0000

    Add copyright years.

commit 1382414987e0edb65b9eb2093db5194bc375ca25
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:13:08 2004 +0000

    (scm_aind): Test SCM_CONSP rather than !SCM_NULLP while
    traversing the args list, fixes segv if an improper list is given.
    Reported by Rouben Rostamian.

commit 524cbf64495687964422b77061373e501d211456
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 22:05:12 2004 +0000

    *** empty log message ***

commit 238ebcef24ee77be94b9b5ff6ce3a1d575cfe0d0
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:55:29 2004 +0000

    (s_bignum): Remove, not used since gmp bignums.
    Reported by Richard Todd.

commit fe89421e30ac04ab02ba6e3a5bccc52f6d2057d0
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:48:33 2004 +0000

    (<): Add tests inum/bignum/flonum/frac with frac.

commit f14d16ed3a7a772e56451db36a3a3ff18fd4ee70
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:47:09 2004 +0000

    Add copyright and license notice.

commit e130b09ffa60b83552596d4403bf98456e53bb38
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:45:48 2004 +0000

    (SCM_TESTS): Add q.test.

commit 8f85f93d88c24647dce830ea96b9293ae1256e06
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:43:55 2004 +0000

    New file.
    (q-pop!): Exercise this, in particular the "not/null?" bug reported by
    Richard Todd.

commit b41478a13d5e51a53d834809d9b32e5acaf0b891
Author: Kevin Ryde <address@hidden>
Date:   Tue Jan 6 21:38:34 2004 +0000

    (q-pop!): Should be "null?" not "not" for end-of-list.
    Reported by Richard Todd.

commit aacff585bc02ee0a660c5d70b6c798da25e41e12
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:17:30 2004 +0000

    *** empty log message ***

commit becc4b2716b6d7a108ae8170eb20f730302f0585
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:17:17 2004 +0000

    Document scm_on_unwind_with_scm and scm_on_rewind_with_scm.

commit c05d0e8f1e2a20b021669125953209922d900c56
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:13:51 2004 +0000

    (close_port, delete_file, check_ports): New.

commit 9320d21970a832a52be72108a6ef5489265618fb
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:11:55 2004 +0000

    dynwind.h (SCM_F_WIND_EXPLICITELY, SCM_F_WIND_EXPLICITLY): It's
    "explicitly" not "explicitely", damn.  Changed all uses.

commit b42170a484f0f77bbfa481f37accde19d0a27654
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:09:42 2004 +0000

    (swap_ports, scm_with_current_foo_port): Do not allocate swap_data on
    stack, use a 'malloc obj'.

commit a52dbe0177291dc914cbfff2cb2a7652d3b9713f
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:08:31 2004 +0000

    (scm_make_initial_fluids, scm_copy_fluids, scm_swap_fluids,
    scm_swap_fluids_reverse): Renamed to scm_i_... since they are
    internal.  Changed all uses.

commit a520e4f0d0268236bea18a890b5320f358d5f487
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 18:04:47 2004 +0000

    (frame_print): Removed, use the default printer.  (WINDER_F_MARK,
    WINDER_MARK_P, winder_mark): New.  (scm_on_unwind_with_scm,
    scm_on_rewind_with_scm): New. Use above to protect SCM values.

commit 62f3c0957e3e5aac821e304ff5fcb613400d3ba0
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 17:57:41 2004 +0000

    (SCM_F_WIND_EXPLICITELY, SCM_F_WIND_EXPLICITLY): It's "explicitly" not
    "explicitely", damn.  Changed all uses.

commit 476e56aa6445c3e625da9662529a22eb327fd87d
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 16:20:03 2004 +0000

    *** empty log message ***

commit 08feeec84a26d379985b2baf640f88f73847383e
Author: Marius Vollmer <address@hidden>
Date:   Tue Jan 6 16:19:21 2004 +0000

    (print-result, print-user-result): Handle exact fractions.

commit 49c00ecc7b373b80bc8b3c604c864e7e90e6fc07
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:45:38 2004 +0000

    *** empty log message ***

commit fb89fef7fb8d28be9100c87c8c0408a7eec28993
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:45:11 2004 +0000

    Document scm_with_[un]blocked_asyncs.

commit c76ff57bff40984e0bb76fe34b3e32488c6f428a
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:44:19 2004 +0000

    Document scm_with_current_<foo>_port.

commit e911f3ff4ba85420e399258faa8274c73446dfd3
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:43:20 2004 +0000

    Minor markup fixes.

commit 185e369a7f8fa3f79b646803fd2b0e2edecc186d
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:40:14 2004 +0000

    (scm_with_current_input_port, scm_with_current_output_port,
    scm_with_current_error_port): New.

commit b57a0953fe589a52a5460526e1eda42b8a10e6a1
Author: Marius Vollmer <address@hidden>
Date:   Sun Jan 4 23:36:49 2004 +0000

    (scm_with_blocked_asyncs, scm_with_unblocked_asyncs): New.

commit e0499207154aa2ceff06e7679cd94afc25b3001e
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 22:34:05 2004 +0000

    *** empty log message ***

commit f40771d8833d5d9a1bd9dbb9aa468c9a27360c0a
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 22:25:24 2004 +0000

    (scm_current_time, scm_gettimeofday): Add a comment about
    setzone/restorezone protection for DOS.

commit ec76b8f94fb27c140a1947bcee854f76d933ddba
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 22:04:37 2004 +0000

    *** empty log message ***

commit aed92eab27a8f4fefc061119a7257153dccc9d54
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:58:04 2004 +0000

    (Threads): Note Guile uses POSIX threads, for
    concurrency and preemption.
    (C level thread interface): Note periodic libguile call required for C
    code in threads, add commented out reminders for SCM_TICK and
    guile-mode, for when those features are ready.

commit 9879d3906e5a4de245d049fc92f4847941228143
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:57:11 2004 +0000

    Added section about frames.

commit dab514a843f3d515e1ab022e5aa16a5e828b8abf
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:56:35 2004 +0000

    *** empty log message ***

commit 86272eedd08e9f25b21cb9c504c0cb48a663168e
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:56:18 2004 +0000

    Document the frames stuff and other random changes.

commit 3c8fb18ef67175192de205e6c8f28d5e50b44e93
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:54:23 2004 +0000

    * standalone/test-unwind.c: New test, for the frames stuff.
    * standalone/Makefile.am: Compile and run it.

commit 81b0a6c1ae5a9fa796f5612a0cae16204b6d36d6
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:53:21 2004 +0000

    added test-unwind

commit d3c6aef934cf34b1db1835ec172156c04f9378cb
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:52:34 2004 +0000

    (copy_stack): New, do only the stack copying
    part of copy_stack_and_call.
    (copy_stack_and_call): Copy the stack after unwinding and before
    rewinding.
    (scm_dynthrow): Do not call scm_dowinds, this is now done by
    copy_stack_and_call.

commit 4845bbae3a0b568ae00e4ba491a1304c9f052b8f
Author: Marius Vollmer <address@hidden>
Date:   Sat Jan 3 21:49:16 2004 +0000

    (scm_t_frame_flags, scm_t_wind_flags,
    scm_begin_frame, scm_end_frame, scm_on_unwind, scm_on_rewind):
    New.
    (scm_dowinds, scm_i_dowinds): scm_dowinds has been renamed to
    scm_i_dowinds and extended to handle frames and to invoke a 'turn'
    function when the outermost wind point has been reached.  The
    latter is used to copy a continuation stack at the right time.
    scm_dowinds remains available.
    (SCM_GUARDSP, SCM_BEFORE_GUARD, SCM_AFTER_GUARD, SCM_GUARD_DATA,
    tc16_guard, guards_print): Removed.
    (scm_internal_dynamic_wind): Reimplemented using frames.

commit 441a25d9e7055258cd25944d36dbcbddbe8cff65
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:41:31 2004 +0000

    *** empty log message ***

commit a5f0b599885a33fa6c22108c0a2f3caaaf0dc494
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:38:38 2004 +0000

    (scm_less_p): Don't convert frac to float for compares,
    can give wrong results due to rounding.

commit 97ac013a0696b3a9a995ccc5ead8c1c24607822c
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:27:51 2004 +0000

    *** empty log message ***

commit 9b2416ea7125f8f6c0ef32939fd751ca324d9d5e
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:15:40 2004 +0000

    (-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
    <=, =, >, >= respectively, required by slib 'rev2-procedures but no
    longer in the guile core.

commit 6d611fedcc90432ddae19ab9e468254655874d60
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:12:45 2004 +0000

    *** empty log message ***

commit 9bc915bb075c1a72a45cbd8a5dc52a36d945834a
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:12:01 2004 +0000

    (false-if-exception): Add tests.

commit b83fc1070c8d8c97c3f47510b1887a53217e1897
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:10:27 2004 +0000

    (false-if-exception): Unquote catch and lambda, so as not
    to depend on expansion environment.

commit 193239f1e958c000059909800b0c7c77c65e0017
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:08:13 2004 +0000

    (SRFI-1 Filtering and Partitioning): For partition
    and partition!, emphasise the multi-value return, note partition may
    share a tail with the given list.

commit ea6ea01bcabd78d186baa4e0e5c35061db761324
Author: Kevin Ryde <address@hidden>
Date:   Sat Jan 3 21:03:02 2004 +0000

    (SRFI-1 Searching, SRFI-1 Deleting, SRFI-1
    Association Lists): Note how member, delete, delete! and assoc extend
    the corresponding core functions.

commit 89fcf1b4aaad96028077ea7cce01998f8530bb55
Author: Marius Vollmer <address@hidden>
Date:   Fri Dec 26 19:09:03 2003 +0000

    *** empty log message ***

commit fc54d9376d2bd1542022776c18d27b2ad54439e2
Author: Marius Vollmer <address@hidden>
Date:   Fri Dec 26 19:04:55 2003 +0000

    Arrange for scm_t_intmax and scm_t_uintmax to be defined in
    scmconfig.h

commit eb1f89f652f2606dba3ae6ccb74363c412eb952a
Author: Marius Vollmer <address@hidden>
Date:   Fri Dec 26 19:00:47 2003 +0000

    Find a suitable type for the new scm_t_intmax and scm_t_uintmax.

commit caff34d4faf858b5620e7bbea9a545c6502cc14c
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:38:04 2003 +0000

    *** empty log message ***

commit 084b1d8eecc543ab6f523c100913bd32db9acf93
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:36:39 2003 +0000

    (scm_less_p): Remove spurious xisnan from frac+big case.

commit fc5f3d51c1b13e6c0e5f798c3dd7e2d4e979719b
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:32:43 2003 +0000

    (real-part): Expect fraction return, not converted to flonum.

commit 2fa2d8793748b5e3dfc04cea28b0d08ada5aa3f8
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:27:13 2003 +0000

    (scm_real_part): Return fraction unchanged rather than converting to flonum.

commit 64b4cbe4f37fd266b7b3b0610e1ca78a81523e96
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:24:58 2003 +0000

    Exercise most-negative-fixnum over -ve of most-negative-fixnum.

commit 76903a316a0a2ba6b52a4dcdb7465ec7bd4967cd
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:23:31 2003 +0000

    (abs): Add a few more tests.

commit dd5130cadf7252f0bba072109ebfa20cd34a1602
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:21:14 2003 +0000

    (scm_make_ratio): Check for numerator equal to
    SCM_MOST_NEGATIVE_FIXNUM and bignum denominator the negative of that,
    giving integer -1.

commit f39032937e95cc30060245848c3e51b52fb10685
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:17:33 2003 +0000

    (count): New tests.

commit b35072cde669a0e34a6005284f7e9175bbc76f58
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:14:03 2003 +0000

    *** empty log message ***

commit c6424115feccb175690eab6fd84e1cb1ef441e61
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:13:42 2003 +0000

    (map!): Define as an alias for map, previous definition was not 
tail-recursive.

commit 110348aee92a143f66a905f9b631d190e374e15e
Author: Kevin Ryde <address@hidden>
Date:   Tue Dec 2 21:12:20 2003 +0000

    (count): Rewrite in C, avoiding non-tail recursion.

commit f1efbdf3f119cfede7a544d1a723dd926a08936f
Author: Mikael Djurfeldt <address@hidden>
Date:   Mon Dec 1 18:49:38 2003 +0000

    (snarfcppopts): Added -I$(top_srcdir).

commit 2d0b85acf860cc48c9d66be21c564f2c21305569
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 30 12:41:34 2003 +0000

        * modules.c (module_variable): Fixed (and thus simplified) the
        definition of SCM_BOUND_THING_P to reflect the fact that since
        after the 1.4 series of guile, obarrays only hold variable
        objects.

commit 2297981ddefd43c9c7ae1fc8d47243c721c14683
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 30 01:00:16 2003 +0000

    *** empty log message ***

commit 535f2a516a31d6ca7312e328cc9d0b76f7e19c0d
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 30 00:59:40 2003 +0000

    (scm_logand): It's "#b...", not "#\b...".

commit 96dfea7d7e2663a84e04950f58484ee9ec36f640
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 30 00:58:25 2003 +0000

    It's "#\\space", not "#\space".

commit fea8e1423956c5fb9cec36e753cebf4fcfcc5ce5
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 30 00:57:14 2003 +0000

    (scm_iprin1): use \xNN hexadecimal sequences when writing control
    characters in strings.

commit b645ea8c7eb2cb4bbe48e1ba90477b403e649211
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 30 00:57:03 2003 +0000

    (scm_lreadr): Signal an error for invalid escape sequences in strings.
    Code cleanups too.

commit 7dd3f110af455b75f8a1b5df3d8b3ea8af15eb1e
Author: Neil Jerram <address@hidden>
Date:   Thu Nov 27 20:54:05 2003 +0000

    Initial support for setting source breakpoints.

commit 16f9b79576f50c8280887477ed73e70e1c6ddff6
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 24 22:25:53 2003 +0000

    *** empty log message ***

commit 8c3b23b3aa762b7031589218a8c6a3fe1dd732d7
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 24 22:17:13 2003 +0000

    (Macros guile-snarf recognizes): Correction to GOOPS cross reference.

commit 6117838eb1b1977432bb34196bd2dda3ba437b03
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 24 22:13:26 2003 +0000

    Remove empty (duplicate) "Jump Start" entry.

commit 5c26400756886a5abb4cb7e3d5179bb40b8f1469
Author: Dirk Herrmann <address@hidden>
Date:   Fri Nov 21 23:28:15 2003 +0000

            * Forgot to submit the Changelog last time.

commit 6bff13687c489ba5f15b8b8c4ee5e5acd8c43acc
Author: Dirk Herrmann <address@hidden>
Date:   Fri Nov 21 23:21:34 2003 +0000

        * eval.c (s_bad_define): New static identifier.
    
        (m_body): Fixed comment.
    
        (scm_m_define): Don't generate memoized code for definitions that
        are not on the top level.  As a consequence, no memoized code at
        all is generated for definitions any more: Top level definitions
        are executed immediately during memoization and internal
        definitions are handled separately in m_expand_body.
    
        (scm_unmemocopy, unmemocopy): Removed code for unmemoizing
        definitions.  Consequently, there is no unmemoizing code any more
        that might modify the environment.  Thus, the old scm_unmemocopy
        is removed and the old unmemocopy is renamed to scm_unmemocopy.
    
        (SCM_CEVAL): The SCM_IM_DEFINE keyword can no longer occur in
        memoized code.  Call EVALCAR for continuations.  Prefer !SCM_NULLP
        over SCM_NIMP in places, where the argument is known to be part of
        a proper list.

commit 28a6e1b0b6be9f5d9ddd15b81f55da058d20f713
Author: Marius Vollmer <address@hidden>
Date:   Fri Nov 21 17:08:31 2003 +0000

    (scm_drain_input): Bug fix: only access the port after checking that
    it indeed is one.

commit 018d4730feaca5e046dcb71d35ccfe54cd59279d
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 21 00:45:07 2003 +0000

    *** empty log message ***

commit 7f8482426916b1712432077fc8e34f8dde411085
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 21 00:33:44 2003 +0000

    (scm_bit_extract): Use mpz functions, rearrange inum case
    to share some shifting.

commit ae38324d9ccf324c9473ab0ae851cbc473b72de2
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 21 00:07:13 2003 +0000

    (scm_abs): Allocate a new real only for negatives, as done for bignums.

commit 753ac1e7e141850127f388007ad82597e6f38234
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 21 00:03:54 2003 +0000

    (scm_integer_expt): Don't mpz_init after scm_i_clonebig or
    scm_i_mkbig, since they do so already.  Don't mpz_clear a bignum SCM,
    since gc does this.

commit ca2b31fe085fa1faeebd38389e960bb203889d0e
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 20 23:55:51 2003 +0000

    #e1.2 is now exactly 12/10.  Expect exceptions when calling inexact?
    with a non-number.

commit c412e408c527fa46bb44379fd4ade8a3cec69066
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:40:42 2003 +0000

    (scm_system_star): new prototype.

commit 0db17ef9abd59da51ebc30d90fb2dc482b02a4a1
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:40:32 2003 +0000

    (scm_system_star): new function.

commit 8141bd983dc6f29445016e56c786bae26f705a4c
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:39:35 2003 +0000

    (Processes): add documentation for system*.

commit d26af5b23ea38b34a63ca56cf87e1dafed677b17
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:39:26 2003 +0000

    *** empty log message ***

commit 060ffedfe1e7c9c9bdf12b505aae7cd0021fb198
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:39:16 2003 +0000

    (check_SCRIPTS): add test-system-cmds.
    (TESTS): add test-system-cmds.

commit b10b93de99606a762c9f07d81016dce1ab77700f
Author: Rob Browning <address@hidden>
Date:   Wed Nov 19 21:39:07 2003 +0000

    * standalone/test-system-cmds: new test.

commit f24809dc2b51fce920507fb17059673ad40d6e47
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 18:24:36 2003 +0000

    *** empty log message ***

commit e23fec556181a2bebc35fca13e33c8be7f56cef1
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 18:13:21 2003 +0000

    Include exact rationals.

commit 01b30204b5a15fca116ef5540f8565c5d078f568
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 18:12:11 2003 +0000

    (What is Guile?): Add @acronym for POSIX, R5RS, GUI,
    and HTTP.  Conclude linking libguile.

commit c1f1071afcd05c132ba0bfa849632df135c483b9
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 05:15:51 2003 +0000

    Changed to reflect the fact that rationalize only returns an exact
    result for exact arguments.  Fixed bugs in tests that were not caught
    previously since all fraction were treated as equal regardless of
    value.

commit fb16d26e2330e49b5afacaaff029b53bd1c64775
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 05:13:53 2003 +0000

    *** empty log message ***

commit c60e130c97f9f03da85762fc3db971d59067cfde
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 05:12:08 2003 +0000

    * numbers.c (scm_make_ratio): Rewritten to have a simpler
    structure.  Previously, not all cases with a negative denominator
    were covered.

commit 0b0c8e3b4c5e4706ea3d4bc87670dbfb114101a5
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 04:30:40 2003 +0000

    * numbers.c (scm_make_ratio): Don't declare divisible_p after
    statements.

commit 4bca30d83a58ab3c89ce3c31857beb66c5197513
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 03:51:21 2003 +0000

    *** empty log message ***

commit 02164269a7167b111dd5cc7c3c1da6063b2fa833
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 03:50:26 2003 +0000

    * numbers.c (scm_i_fraction_equalp): Do not treat the return value
    of scm_equal_p as a C boolean, use SCM_FALSEP.  Previously, all
    fractions were equal to each other regardless of value.  Ooops.
    
    * numbers.c (scm_rationalize): Return an inexact result when given
    inexact arguments.

commit eb927cb95c332ad37b63426b49a93cf0c32995d9
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 02:38:37 2003 +0000

    * numbers.c (scm_exact_p, scm_inexact_p): Throw error for non-numbers.

commit d8592269ab976774c02b742b5da9cfcfa12a5860
Author: Marius Vollmer <address@hidden>
Date:   Wed Nov 19 02:19:03 2003 +0000

    (mem2decimal_from_point): use scm_divide instead of scm_divide2real
    when forming the fractional part.  This allows "#e1.2" to yield 6/5.

commit 0f8b558cbc7fca3234d6f25e66490fc1e9254a41
Author: Neil Jerram <address@hidden>
Date:   Wed Nov 19 01:27:31 2003 +0000

    Work in progress.

commit d9d022a7d6bba03574a3568680ff43c40a558083
Author: Neil Jerram <address@hidden>
Date:   Wed Nov 19 01:22:06 2003 +0000

    Work in progress.

commit 64758fe259b72997110f6bdf916bc90efb9ffb5a
Author: Neil Jerram <address@hidden>
Date:   Wed Nov 19 01:16:16 2003 +0000

    Defer lookup of lazy-handler-dispatch.

commit cef6deaff1095e7cc259c5b3293e2379425aa3c3
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 18 23:18:19 2003 +0000

    (Manual Conventions): Double-quote some statements formerly
    single-quoted.  Remove some redundant quotes around code.  Clarify
    meaning of `iff' further for those that didn't get it the first time
    'round (like me).  Make graphical indicators samples, not code.  Put
    results of evaluation on the same line as @result symbols.  Use @print
    example as example of total usage, and remind readers not to forget
    the difference.

commit bdf26b606bb5e5b993f2a8f7e83492cfc2ee62d8
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 18 20:01:57 2003 +0000

    *** empty log message ***

commit f92e85f7352174c9fe0ac0e67e6c38cfce923300
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 18 19:59:53 2003 +0000

    * print.c (scm_iprin1): Handle fractions.
    
    * objects.h (scm_class_fraction): New.
    * objects.c (scm_class_fraction): New.
    (scm_class_of): Handle fractions.
    
    * hash.c (scm_hasher): Handle fractions.
    
    * numbers.c: New code for handling fraction all over the place.
    (scm_odd_p, scm_even_p): Handle inexact integers.
    (scm_rational_p): New function, same as scm_real_p.
    (scm_round_number, scm_truncate_number, scm_ceiling, scm_floor):
    New exact functions that replace the inexact 'dsubr'
    implementations.
    (scm_numerator, scm_denominator): New.
    
    * numbers.h (SCM_NUMP): Recognize fractions.
    (SCM_FRACTIONP, SCM_SLOPPY_FRACTIONP, SCM_FRACTION_NUMERATOR,
    SCM_FRACTION_DENOMINATOR, SCM_FRACTION_SET_NUMERATOR,
    SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
    SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
    SCM_FRACTION_REDUCED): New.
    (scm_floor, scm_ceiling, scm_truncate_number, scm_round_number):
    New prototypes.
    (scm_make_ratio, scm_rationalize, scm_numerator, scm_denominator,
    scm_rational_p): New prototypes.
    (scm_i_dbl2num, scm_i_fraction2double, scm_i_fraction_equalp,
    scm_i_print_fraction): New prototypes.
    
    * goops.c (create_standard_classes): Create "<fraction>" class.
    
    * gc-mark.c (scm_gc_mark_dependencies): Handle fractions.
    
    * gc-card.c (scm_i_sweep_card): Include scm_tc16_fraction as a
    case in the switch, but do nothing for now.
    
    * eval.c (SCM_CEVAL, SCM_APPLY, call_dsubr_1): Convert fractions
    to doubles when calling 'dsubr' functions.
    
    * eq.c (scm_eqv_p, scm_equal_p): Handle fractions.

commit 9dd9857f77451a706052cae009d2fe7150373c5a
Author: Marius Vollmer <address@hidden>
Date:   Tue Nov 18 19:57:30 2003 +0000

    * tests/numbers.test ("string->number"): Expect exact rationals
    for things like "1/2" and "#e1.2".
    ("inexact->exact"): Expect overflow error for infs and nans.
    
    * tests/fractions.test: New file from Bill Schottstaedt.  Thanks!
    
    * tests/bit-operations.test (fixnum-bit): Round the result so that
    fixnum-bit really is an integer.

commit 28fda54472ab197d36f198f41d474908c45be226
Author: Rob Browning <address@hidden>
Date:   Tue Nov 18 06:14:29 2003 +0000

    *** empty log message ***

commit 9ca20a9c88b8490f7a991d1983bbea25f9c5076f
Author: Rob Browning <address@hidden>
Date:   Tue Nov 18 06:10:39 2003 +0000

    * gen-scmconfig.c (main): remove public definition of
    SCM_SIZEOF___INT64 and SCM_SIZEOF_UNSIGNED___INT64 and add
    direct typedef of long_long and ulong_long inside deprecated block
    when appropriate.

commit 1fe5648d3107c74750ba3563878b63aa9b9f74a9
Author: Rob Browning <address@hidden>
Date:   Tue Nov 18 06:10:11 2003 +0000

    move long_long and ulong_long definitions to
    gen-scmconfig.c so that we don't need to add SCM_SIZEOF___INT64
    and SCM_SIZEOF_UNSIGNED___INT64 to the public namespace.

commit ec3972f75363af7c527a94a86df4a83b5144e771
Author: Rob Browning <address@hidden>
Date:   Mon Nov 17 19:19:26 2003 +0000

    *** empty log message ***

commit 936f702bfd43609860415e1b68424bc0e8207598
Author: Rob Browning <address@hidden>
Date:   Mon Nov 17 19:15:30 2003 +0000

    new file.

commit fb2de91a2ce27b41a05b4030e503d73c64ed3723
Author: Rob Browning <address@hidden>
Date:   Mon Nov 17 19:14:44 2003 +0000

    rewrite ALLOCA related code as multiple lines so
    it doesn't break with current autoconf substitutions.

commit 5a76d4dc0552c35c796c5d1a5278c27117904ace
Author: Rob Browning <address@hidden>
Date:   Mon Nov 17 18:59:08 2003 +0000

    *** empty log message ***

commit 9a1d7d7c8b1889f86b8ceb9ad3a08e35e3876981
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 16:57:27 2003 +0000

    *** empty log message ***

commit b4d59261843d0c8809dee3791738b3559e8bf8aa
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 16:56:48 2003 +0000

    (scm_string_hash): New hashing algorithm that takes the complete
    string into account.

commit 64daa01285894544c9aec13b3fd7617be7286caf
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 16:55:03 2003 +0000

    Expect a "Bad variable" error for (set! #f 1).

commit 6d1a2e9f4b676011b029505c602f523bd1aeb64e
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 16:52:05 2003 +0000

    (scm_m_generalized_set_x): Macroexpand the target when it
    is a list.  This allows (@ ...) to work with set!.
    (scm_m_generalized_set_x): Use ASSERT_SYNTAX_2 instead of
    SCM_ASSYNT.

commit aff7e166e8a11a5a014e3de757a6b8060d0dba09
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:38:25 2003 +0000

    *** empty log message ***

commit da769b1937801843e5f5d6de4924fac2e615ba10
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:36:00 2003 +0000

    * scheme-modules.texi: Document '@' and '@@'.
    * scripts.texi: Mention that "-e (@ ...)" also works.

commit 473687d1307aaed9d63f4cad1335e7ee6a010ff3
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:28:03 2003 +0000

    (@, @@): New macros.

commit b58e7420391f8ff674a8bae3474743ff0ff5ffc9
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:26:14 2003 +0000

    *** empty log message ***

commit 7893dbbf456efdbecd42746458d462bbffeccac7
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:24:48 2003 +0000

    (scm_m_generalized_set_x): Macroexpand the target when it is a list.
    This allows (@ ...) to work with set!.

commit 8b31d75b34c98ead99d76cd6752d167430c60065
Author: Marius Vollmer <address@hidden>
Date:   Mon Nov 17 00:22:18 2003 +0000

    (scm_compile_shell_switches): Use scm_c_read_string for the "-e"
    option instead of scm_str2symbol.  This allows things like (@ ...) to
    be specified for the entry point.

commit c62a38765d0b8d508d89eda037fa00787889d42b
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 16 21:01:57 2003 +0000

    (scm_lreadr): detect EOF after backslash, and interpret \xNN
    hexadecimal sequences.  From Paul Jarc, thanks!

commit 59e8c5a3e9ea1d83f235ec714660e7a6b8dcf70c
Author: Marius Vollmer <address@hidden>
Date:   Sun Nov 16 20:55:04 2003 +0000

    *** empty log message ***

commit 37f5dfe5339d137c7ab7ed9762eaf3b66277273d
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 16 13:54:26 2003 +0000

        * boot-9.scm: Started comment about module system workings.

commit 461bffb131fef926638069b4525190f971ce8c5e
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 16 13:32:02 2003 +0000

        * eval.c (scm_m_letstar): Create memoized code in place to
        minimize consing.

commit 6f81708ae081e9226bf71719ce70e529527f12b6
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 16 10:47:45 2003 +0000

        * eval.c (s_splicing): Commented and reformulated.
    
        (lookup_global_symbol, lookup_symbol): New static functions.
    
        (s_test, s_bindings, s_duplicate_bindings, s_variable): Removed.
    
        (try_macro_lookup, literal_p): Use lookup_symbol instead of
        creating a temporary pair for scm_lookupcar.
    
        (scm_unmemocar, unmemocar): Renamed scm_unmemocar to unmemocar,
        created deprecated wrapper function scm_unmemocar.
    
        (SCM_VALIDATE_NON_EMPTY_COMBINATION, scm_sym_else,
        scm_sym_unquote, scm_sym_uq_splicing, scm_sym_enter_frame,
        scm_sym_apply_frame, scm_sym_exit_frame, scm_sym_trace, f_apply,
        undefineds, sym_three_question_marks): Moved around without
        modifications.
    
        * eval.c, eval.h (scm_macroexp, scm_unmemocar): Deprecated.

commit 910b512506d24b4a7c7f55e0b1d4940b5b7d15bc
Author: Dirk Herrmann <address@hidden>
Date:   Sat Nov 15 12:43:00 2003 +0000

        * eval.c (try_macro_lookup, expand_user_macros, is_system_macro_p,
        m_expand_body, scm_m_expand_body): Grouped together with m_body.
        No further modifications.

commit c86c440b17cc85d57015b63802d7e10c60c5deaa
Author: Dirk Herrmann <address@hidden>
Date:   Sat Nov 15 12:27:54 2003 +0000

        * libguile/eval.c (s_mixed_body_forms): New static identifier.
    
        (canonicalize_define, scm_m_define): The check for a bad
        expression is performed in canonicalize_define now.
    
        (try_macro_lookup, expand_user_macros, is_system_macro_p): New
        static helper functions for m_expand_body.
    
        (m_expand_body): Use ASSERT_SYNTAX to signal syntax errors.  Only
        expand user defined macros.  Fixed handling of the definition/
        expression boundary.  Fixed handling of definitions grouped with
        'begin.  Use canonicalize_define to expand definitions.
    
        * test-suite/tests/syntax.test: Tests that check for the correct
        handling of internal defines with begin work now.

commit c3d948015a1cc7fc633d3a28d62507d5be169e0a
Author: Dirk Herrmann <address@hidden>
Date:   Sat Nov 15 11:51:17 2003 +0000

        * tests/syntax.test: Fixed test that checks for the correct
        handling of macros in the context of internal defines.

commit c4a56a692d2b04752759cbe90dbe8ab922d8ac10
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 21:36:18 2003 +0000

    *** empty log message ***

commit 2a71634743a75e12e66e4eb018e540bdfe739051
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 21:34:21 2003 +0000

    Use (test-suite lib), for the benefit of standalone execution.

commit 08134d1d761acb7449ff2a903f571088e77faf2d
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 21:27:36 2003 +0000

    *** empty log message ***

commit 1028fcb2cfd266885b0faebcbbd580dea7341c2c
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 21:27:11 2003 +0000

    (Cross building Guile): Describe GUILE_FOR_BUILD rather than
    --with-guile-for-build.

commit 8868e47232a318bf09930d322a298bdda99ba2ca
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 20:53:57 2003 +0000

    *** empty log message ***

commit 6deea00ef3a369c9116e2c8ea54e14b272f0f005
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 20:53:22 2003 +0000

    (Random): Add *random-state* variable, put note at
    the top of the node about it being the default, rather than just in
    the description of random.

commit 89f69c5252ba31b4dcc6bb9cdae73ede67306a7e
Author: Kevin Ryde <address@hidden>
Date:   Fri Nov 14 20:51:22 2003 +0000

    (--with-guile-for-build): Remove this option, it's not normal style for 
--with.
    (GUILE_FOR_BUILD): Use AC_ARG_VAR.

commit 96e053825271cc1fdaa46378e68b7c2daa62ceff
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 13 20:46:48 2003 +0000

    (Manual Layout): Wrap POSIX, API, and SLIB in @acronym.  Change from
    paragraph format (somewhat clumsy-looking on paper, at least) to
    @table format, with headers @strong.  Made example modules complete
    sentences.  From Stephen Compall, thanks!

commit 5df36eac8499297bcead81d9a6e92e17ff34001f
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 13 19:41:12 2003 +0000

    *** empty log message ***

commit 94e38a653a85ae66979875878e3d04501f98b8c1
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 13 19:40:29 2003 +0000

    (SCM_SMOB, SCM_GLOBAL_SMOB, SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK,
    SCM_SMOB_FREE, SCM_GLOBAL_SMOB_FREE, SCM_SMOB_PRINT,
    SCM_GLOBAL_SMOB_PRINT, SCM_SMOB_EQUALP, SCM_GLOBAL_SMOB_EQUALP,
    SCM_SMOB_APPLY, SCM_GLOBAL_SMOB_APPLY): New macros from Paul Jarc.
    Thanks!

commit 3890131acdb4628b566fa708c3c97a861ca13691
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 13 18:23:06 2003 +0000

    *** empty log message ***

commit fbff94c9c3db522504ee7eddda7b949f1c915b66
Author: Marius Vollmer <address@hidden>
Date:   Thu Nov 13 18:19:02 2003 +0000

    (scm_get_stack_base): Provide a definition that return NULL when the
    machine type is unknown.  Previously, gc_os_dep.c would refuse to
    compile.

commit eeac938c7cdeab9cce745dbe77f19dfc1be8560f
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:47:56 2003 +0000

    Addition to .cvsignore.

commit e707c78b4bd16cdcc8dd3baf14cc25036443e994
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:40:38 2003 +0000

    Lots of ongoing development.

commit d995da7f2a2c21d9be3c949bc27432348b620412
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:34:01 2003 +0000

    Changes to build and install files in emacs subdir.

commit 32ac6ed12f7c7d3f9d5eb251c1b19c27f239b580
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:30:06 2003 +0000

    Moved all gds files here; plus ongoing work on them.

commit 30d90280a466a5a49ab2b90ea58cba32eff51fdf
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:27:22 2003 +0000

    ui- to gds- change; debug-on-error fix.

commit 3273abd221003767b5e38a9ebc37dc49b4e292e5
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:21:39 2003 +0000

    Removed ui-client.scm and ui-server.scm (not in emacs/gds-*.scm).

commit 61bb5df48cb1974669ea4ea31818d13b5b4b8b02
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:17:06 2003 +0000

    Pass trap type to debug-stack flags.

commit 9529c681ed22fab3cb50b072338b1c2685b56ea7
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:12:48 2003 +0000

    Big comment added.

commit 651f2c7854771245b2cf522db47f18db22c4b4f1
Author: Neil Jerram <address@hidden>
Date:   Tue Nov 11 23:09:23 2003 +0000

    Avoid duplicate binding warnings from (lang elisp) modules.

commit 560434b36940df287672ef1db6bafe46008a8b7e
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 9 19:07:41 2003 +0000

        * tests/optargs.test: Wrap tests in module (test-suite
        test-<file-name without .test>).  Rewrite test to be R5RS
        conforming.
    
        * tests/syntax.test: Added test to check correct handling of
        internal defines.

commit 430b840193ce8048dd27c2a6bef25415ae98cffd
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 9 08:47:19 2003 +0000

        * eval.c (scm_m_body, m_body, scm_m_lambda, memoize_named_let,
        scm_m_let, scm_m_letrec, m_expand_body): Renamed static function
        scm_m_body to m_body.

commit 328dc9a3ef372c0e1a439afabebd44d0ab1edaa9
Author: Dirk Herrmann <address@hidden>
Date:   Sun Nov 9 08:10:58 2003 +0000

        * eval.c, eval.h (scm_m_expand_body, m_expand_body): Deprecated
        public use of scm_m_expand_body in eval.h.  In eval.c, renamed
        scm_m_expand_body to m_expand_body and made it static.  Added
        deprecated wrapper scm_m_expand_body.
    
        (scm_eval_body, SCM_CEVAL, SCM_APPLY): Use m_expand_body instead
        of scm_m_expand_body.

commit c2337a6178282861418d9b277b2a6084a8120f66
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 22:19:24 2003 +0000

    *** empty log message ***

commit 4d3526d09680ad599f7689a296a4d3448f2c3567
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 22:18:33 2003 +0000

    Add a copyright year.

commit 9e375910176a1f4a9dd3488c8772deff622feb9a
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 22:18:01 2003 +0000

    (scm_dynamic_unlink): Need scm_list_1 on error message
    argument.  Reported by Mike Gran.

commit 60e25dc4cd89b7881b41d32beaa73689a2e5012d
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 22:15:07 2003 +0000

        * srfi-modules.texi (SRFI-1 Filtering and Partitioning): Move filter
        and filter! ...
        * scheme-compound.texi (List Modification): ... to here, now that
        they're implemented in the core.

commit 385dbc8b9cb1231d2ba612d2a7f6241ff5bb0ec2
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 22:07:50 2003 +0000

    (Pretty Printing): Add new keyword options, break example to avoid long 
line.

commit a07b5c18cb297137ee87567d552139acbd2c2f4b
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 20:29:24 2003 +0000

    *** empty log message ***

commit f4de8d110eaac0682741efe5dcbcc74c03354f1a
Author: Kevin Ryde <address@hidden>
Date:   Sat Nov 8 20:27:41 2003 +0000

    (Random): In random, use @code for *random-state*.
    Reported by Stephen Compall.

commit ced8edb0f9545e7e37ec62cf7ab6c0c1c66fe1db
Author: Dirk Herrmann <address@hidden>
Date:   Sat Nov 8 08:11:14 2003 +0000

        * libguile/eval.c (s_missing_body_expression): New static identifier.
    
        (s_body): Removed.
    
        (scm_m_expand_body): Fixed core dump when passing a body with
        defines, but without expressions (see additions to syntax.test).
        Use ASSERT_SYNTAX to signal syntax errors.
    
        * test-suite/tests/syntax.test (exception:missing-body-expr): New.
    
        Renamed section 'define' to 'top-level define' and added a new
        section 'internal define' with some tests.

commit a5fda890f5b9eb07240355924ccaf78ba842bcaf
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 3 00:55:47 2003 +0000

    *** empty log message ***

commit e1bc8c34d32f4350c9db66922d0c366cb6fdb807
Author: Kevin Ryde <address@hidden>
Date:   Mon Nov 3 00:53:08 2003 +0000

        * misc-modules.texi (File Tree Walk): New chapter.
        * guile.texi: Add it.

commit 6da1534c0bfb9641c