bpt/guile.git
13 years agosmall NEWS updates
Andy Wingo [Tue, 1 Jun 2010 12:11:14 +0000 (14:11 +0200)]
small NEWS updates

* NEWS: Some updates.

13 years agor6rs docs in the manual
Andy Wingo [Tue, 1 Jun 2010 12:10:59 +0000 (14:10 +0200)]
r6rs docs in the manual

* doc/ref/r6rs.texi (R6RS Support): Skeleton of docs on our R6RS
  support.

* doc/ref/guile.texi:
* doc/ref/Makefile.am: Add r6rs.texi.

* doc/ref/intro.texi: Add a link to r6rs.texi.

13 years ago(rnrs bytevectors) fallout
Andy Wingo [Tue, 1 Jun 2010 12:04:01 +0000 (14:04 +0200)]
(rnrs bytevectors) fallout

* module/Makefile.am (RNRS_SOURCES): Fix for (rnrs bytevectors) rename.

13 years agorename (rnrs bytevector) to (rnrs bytevectors)
Andy Wingo [Tue, 1 Jun 2010 11:26:11 +0000 (13:26 +0200)]
rename (rnrs bytevector) to (rnrs bytevectors)

* module/rnrs/bytevectors.scm: Rename to (rnrs bytevectors), from (rnrs
  bytevector), to match the name from the R6RS.

* benchmark-suite/benchmarks/bytevectors.bm:
* doc/ref/api-data.texi:
* doc/ref/api-foreign.texi:
* libguile/bytevectors.c:
* module/6/rnrs.scm:
* module/language/assembly.scm:
* module/language/assembly/compile-bytecode.scm:
* module/language/assembly/decompile-bytecode.scm:
* module/language/glil/compile-assembly.scm:
* module/language/tree-il/primitives.scm:
* module/srfi/srfi-4.scm:
* module/srfi/srfi-4/gnu.scm:
* module/system/foreign.scm:
* test-suite/standalone/test-ffi:
* test-suite/tests/asm-to-bytecode.test:
* test-suite/tests/bytevectors.test:
* test-suite/tests/foreign.test:
* test-suite/tests/r6rs-ports.test: Update all referrers.

13 years agomore 1.9.11 NEWS updates
Andy Wingo [Tue, 1 Jun 2010 10:21:08 +0000 (12:21 +0200)]
more 1.9.11 NEWS updates

* NEWS: More updates.

13 years agoFix `VM_VALIDATE_BYTEVECTOR' macro wrt. trailing semicolons.
Ludovic Courtès [Mon, 31 May 2010 22:42:58 +0000 (00:42 +0200)]
Fix `VM_VALIDATE_BYTEVECTOR' macro wrt. trailing semicolons.

* libguile/vm-i-scheme.c (VM_VALIDATE_BYTEVECTOR): Enclose in "do { }
  while (0)".

13 years agoFix unaligned accesses by the bytevector instructions.
Ludovic Courtès [Mon, 31 May 2010 22:40:00 +0000 (00:40 +0200)]
Fix unaligned accesses by the bytevector instructions.

* libguile/vm-i-scheme.c (ALIGNED_P): New macro.
  (BV_FIXABLE_INT_REF, BV_INT_REF, BV_FLOAT_REF, BV_FIXABLE_INT_SET,
  BV_INT_SET, BV_FLOAT_SET): Check the alignment of the pointer instead
  of checking "i % size == 0".  This fixes bus errors on
  `sparc64-linux-gnu'.

* libguile/vm.c: Include <alignof.h>.

13 years agoUpgrade manual to GFDLv1.3+.
Ludovic Courtès [Mon, 31 May 2010 22:02:35 +0000 (00:02 +0200)]
Upgrade manual to GFDLv1.3+.

* doc/ref/fdl.texi: Upgrade to GFDLv1.3.

* doc/ref/guile.texi: Change copying notice to "Version 1.3 or any later
  version".
  (GNU Free Documentation License): New node, formerly in `fdl.texi'.

13 years agoIgnore `.version'.
Ludovic Courtès [Sun, 30 May 2010 20:56:58 +0000 (22:56 +0200)]
Ignore `.version'.

13 years agoHave `test-ffi' run all the tests even after a failure.
Ludovic Courtès [Sun, 30 May 2010 20:56:17 +0000 (22:56 +0200)]
Have `test-ffi' run all the tests even after a failure.

* test-suite/standalone/test-ffi (failed?): New variable.
  (test): Set `failed?' to #t upon error and display an error message.
  Have the exit code depend on FAILED?.

13 years agoFix argument and return value alignment in `scm_i_foreign_call'.
Ludovic Courtès [Sun, 30 May 2010 20:54:39 +0000 (22:54 +0200)]
Fix argument and return value alignment in `scm_i_foreign_call'.

* libguile/foreign.c (scm_i_foreign_call): Fix the computation of
  ARG_SIZE wrt. alignment.  Arrange so that the address ARGS[i] is
  aligned, rather than checking whether OFF is aligned.  Have the RVALUE
  be at least word-aligned, which fixes calls to `char'-returning
  functions on `armv5tel-*-linux-gnueabi'.

13 years agoFix parenthesizing of the `ROUND_UP' macro; factorize.
Ludovic Courtès [Sun, 30 May 2010 20:41:36 +0000 (22:41 +0200)]
Fix parenthesizing of the `ROUND_UP' macro; factorize.

* libguile/_scm.h (ROUND_UP): New macro.

* libguile/continuations.c (ROUND_UP): Remove.

* libguile/control.c (ROUND_UP): Remove.

* libguile/foreign.c (ROUND_UP): Remove.

13 years agoRelax the `(version)' test.
Ludovic Courtès [Sun, 30 May 2010 20:39:23 +0000 (22:39 +0200)]
Relax the `(version)' test.

* test-suite/tests/version.test ("version reporting works"): Test
  whether `(version)' contains MAJOR.MINOR.MICRO, rather than being
  equal to it.

13 years agoUse Gnulib's `git-version-gen'.
Ludovic Courtès [Sat, 29 May 2010 22:14:02 +0000 (00:14 +0200)]
Use Gnulib's `git-version-gen'.

* GUILE-VERSION (GUILE_VERSION): Remove.

* Makefile.am (dist-hook): Depend on `gen-tarball-version'.
  (BUILT_SOURCES): New variable.
  ($(top_srcdir)/.version, gen-tarball-version): New targets.

* cfg.mk (git-version-gen-tag-sed-script): New variable.

* configure.ac: Use `build-aux/git-version-gen' to generate the VERSION
  argument of `AC_INIT'.  Initialize Automake without `check-news'.
  Define $GUILE_VERSION as an alias for $PACKAGE_VERSION.

13 years agoImport Gnulib's `git-version-gen' module.
Ludovic Courtès [Sat, 29 May 2010 22:01:54 +0000 (00:01 +0200)]
Import Gnulib's `git-version-gen' module.

* m4/gnulib-cache.m4: Add `git-version-gen'.

13 years agoUpdate Gnulib to v0.0-3955-g8ab5996.
Ludovic Courtès [Sat, 29 May 2010 21:58:12 +0000 (23:58 +0200)]
Update Gnulib to v0.0-3955-g8ab5996.

13 years agoUpdate `THANKS'.
Ludovic Courtès [Fri, 28 May 2010 15:00:03 +0000 (17:00 +0200)]
Update `THANKS'.

13 years agoRemove dead code related to `scm_i_terminating'.
Ludovic Courtès [Fri, 28 May 2010 14:50:36 +0000 (16:50 +0200)]
Remove dead code related to `scm_i_terminating'.

* libguile/fports.c (scm_i_terminating): Remove declaration.
  (fport_flush): Remove code conditional of `scm_i_terminating'.

* libguile/gc.c (scm_i_terminating): Remove.

13 years agoFix the visibility of a few of internal symbols.
Ludovic Courtès [Fri, 28 May 2010 14:51:57 +0000 (16:51 +0200)]
Fix the visibility of a few of internal symbols.

* libguile/gc.h (scm_i_gc): Make internal.
* libguile/posix.h (scm_i_locale_mutex): Likewise.
* libguile/arrays.h (scm_i_tc16_array): Likewise.
* libguile/numbers.c (scm_i_num_less_p): Likewise.
* libguile/discouraged.h (scm_i_init_discouraged): Likewise.
* libguile/continuations.c (scm_i_dummy): Made static.
* libguile/gc.c (scm_i_cell_validation_already_running): Likewise.
* libguile/discouraged.h (scm_i_init_discouraged): Likewise.

13 years agoQuote the first argument to `AC_DEFINE_UNQUOTED'.
Ludovic Courtès [Fri, 28 May 2010 13:38:00 +0000 (15:38 +0200)]
Quote the first argument to `AC_DEFINE_UNQUOTED'.

* configure.ac: Quote the first argument to `AC_DEFINE_UNQUOTED'.

13 years agoChange occurrences of "filesystem" to "file system".
Ludovic Courtès [Fri, 28 May 2010 13:35:42 +0000 (15:35 +0200)]
Change occurrences of "filesystem" to "file system".

* doc/ref/posix.texi (File System): Change "filesystem" to "file
  system".

* libguile/posix.c (scm_utime): Ditto.

13 years agoUse GCC's `malloc' attribute for malloc-like routines.
Ludovic Courtès [Fri, 28 May 2010 13:29:12 +0000 (15:29 +0200)]
Use GCC's `malloc' attribute for malloc-like routines.

* libguile/__scm.h (SCM_MALLOC): New macro.

* libguile/gc.h (scm_malloc, scm_calloc, scm_strdup, scm_strndup,
  scm_gc_malloc_pointerless, scm_gc_calloc, scm_gc_malloc,
  scm_gc_strdup, scm_gc_strndup): Mark as `SCM_MALLOC'.

13 years agodon't fail when HAVE_STAT64 is undefined
Volker Grabsch [Wed, 21 Apr 2010 16:47:51 +0000 (18:47 +0200)]
don't fail when HAVE_STAT64 is undefined

* libguile/_scm.h: Check whether `HAVE_STAT64' is defined instead of
  checking its value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
13 years agodon't run the `pthread_attr_getstack' check when cross compiling
Volker Grabsch [Wed, 14 Apr 2010 23:01:23 +0000 (01:01 +0200)]
don't run the `pthread_attr_getstack' check when cross compiling

* configure.ac: Run the `pthread_attr_getstack' test only when building
  natively.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
13 years agoadd pdcurses to the list of termlibs
Volker Grabsch [Wed, 14 Apr 2010 22:58:22 +0000 (00:58 +0200)]
add pdcurses to the list of termlibs

* acinclude.m4 (GUILE_READLINE): Look for pdcurses as found on MinGW.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
13 years agoAdd `scm_t_aligned_cell' internal type.
Ludovic Courtès [Fri, 28 May 2010 09:09:31 +0000 (11:09 +0200)]
Add `scm_t_aligned_cell' internal type.

* libguile/_scm.h (struct scm_aligned_cell)[__GNUC__]: New type.
  (union scm_aligned_cell)[!__GNUC__]: New type.
  (scm_t_aligned_cell): New type.

* libguile/vm.c (vm_dispatch_hook): Use it.

13 years agoIgnore explicit phase specification for imports in `library' form.
Julian Graham [Fri, 28 May 2010 01:32:20 +0000 (21:32 -0400)]
Ignore explicit phase specification for imports in `library' form.

* module/ice-9/r6rs-libraries.scm (library): Unwrap the `for' sub-form
  during export resolution the same way that `import' does.
* test-suite/tests/rnrs-libraries.test ("implicit phasing"): New test
  prefix and tests.

13 years agoTwo spaces.
No Itisnt [Thu, 27 May 2010 19:09:51 +0000 (14:09 -0500)]
Two spaces.

13 years agoRename set-record-printer!
No Itisnt [Thu, 27 May 2010 02:34:29 +0000 (21:34 -0500)]
Rename set-record-printer!

* doc/ref/srfi-modules.texi: set-record-printer! -> set-record-type-printer!

13 years agoAdd sources to module/Makefile.am
No Itisnt [Thu, 27 May 2010 02:25:48 +0000 (21:25 -0500)]
Add sources to module/Makefile.am

* module/Makefile.am: add srfi/srfi-9/gnu.scm to SRFI_SOURCES

13 years agoRecord printer fixes
No Itisnt [Thu, 27 May 2010 02:22:46 +0000 (21:22 -0500)]
Record printer fixes

* doc/ref/srfi-modules.texi: Fix style

* module/srfi/srfi-9/gnu.scm (set-record-type-printer!): renamed from set-record-printer!

13 years agoSupport for the #!r6rs lexeme.
Julian Graham [Thu, 27 May 2010 13:20:53 +0000 (09:20 -0400)]
Support for the #!r6rs lexeme.

* libguile/read.c (scm_read_shebang): New function;
  (scm_read_sharp): Call scm_read_shebang on '!', which delegates to
  scm_read_scsh_block_comment as necessary.
* test-suite/tests/reader.test ("R6RS lexeme comment", "partial R6RS
  lexeme comment"): New tests.

13 years agopartial 1.9.11 NEWS
Andy Wingo [Thu, 27 May 2010 11:52:53 +0000 (13:52 +0200)]
partial 1.9.11 NEWS

* NEWS: Add some 1.9.11 news -- unfinished, though.

13 years agoremove scm_memoizer_p and scm_memoizer declarations
Andy Wingo [Thu, 27 May 2010 09:34:48 +0000 (11:34 +0200)]
remove scm_memoizer_p and scm_memoizer declarations

* libguile/memoize.h (scm_memoizer_p, scm_memoizer): Remove these
  declarations.

13 years agoClean up `test-suite/vm'.
Ludovic Courtès [Wed, 26 May 2010 21:14:01 +0000 (23:14 +0200)]
Clean up `test-suite/vm'.

* test-suite/vm/Makefile.am: Add copyright/license header.

* test-suite/vm/the-bug.txt: Remove.

13 years agoRename the `testsuite' directory to `test-suite/vm'.
Ludovic Courtès [Wed, 26 May 2010 21:11:44 +0000 (23:11 +0200)]
Rename the `testsuite' directory to `test-suite/vm'.

* testsuite: Move to...
* test-suite/vm: ... here.

* Makefile.am (SUBDIRS): Remove `testsuite'.

* configure.ac: Output `test-suite/vm/Makefile' instead of
  `testsuite/Makefile'.

* test-suite/Makefile.am (SUBDIRS): Add `vm'.

13 years agoRaise an exception upon VM stack overflows (fixes bug #29574).
Ludovic Courtès [Wed, 26 May 2010 21:00:58 +0000 (23:00 +0200)]
Raise an exception upon VM stack overflows (fixes bug #29574).

* libguile/vm-engine.c (VM_NAME)[vm_error_stack_overflow]: Increase
  `vp->stack_limit' when possible.

* libguile/vm.c (VM_STACK_RESERVE_SIZE): New macro.

* test-suite/lib.scm (exception:vm-error): New variable.

* test-suite/tests/eval.test ("stack overflow"): New test prefix.

13 years agosxml-match: Handle multiple-value returns.
Ludovic Courtès [Wed, 26 May 2010 20:49:09 +0000 (22:49 +0200)]
sxml-match: Handle multiple-value returns.

* module/sxml/sxml-match.ss (sxml-match1): Invoke ESCAPE via
  `call-with-values'.

* test-suite/tests/sxml-match-tests.ss ("test multiple value returns"):
  New test.

* module/sxml/match.scm: Mention the modification.

13 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/guile
No Itisnt [Wed, 26 May 2010 20:28:11 +0000 (15:28 -0500)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/guile

13 years agoAdd (sxml match).
Ludovic Courtès [Mon, 24 May 2010 21:13:16 +0000 (23:13 +0200)]
Add (sxml match).

* module/Makefile.am (LIB_SOURCES): Add `sxml/match.scm'.
  (NOCOMP_SOURCES): Add `sxml/sxml-match.ss'.

* module/sxml/match.scm, module/sxml/sxml-match.ss: New files.

* test-suite/Makefile.am (SCM_TESTS): Add `tests/sxml.match.test'.
  (EXTRA_DIST): Add `tests/sxml-match-tests.ss'.

* test-suite/tests/sxml-match-tests.ss,
  test-suite/tests/sxml.match.test: New files.

* doc/ref/guile.texi (Guile Modules): Include `sxml-match.texi'.

* doc/ref/sxml-match.texi: New file.

* doc/ref/Makefile.am (guile_TEXINFOS): Add `sxml-match.texi'.

13 years agoAdd copyight/license header in `compile-psyntax.scm'.
Ludovic Courtès [Mon, 24 May 2010 21:11:13 +0000 (23:11 +0200)]
Add copyight/license header in `compile-psyntax.scm'.

13 years ago* doc/ref/srfi-modules.texi:
No Itisnt [Tue, 25 May 2010 20:53:24 +0000 (15:53 -0500)]
* doc/ref/srfi-modules.texi:
* module/srfi/srfi-9/gnu.scm: rename `define-record-printer' to
  `set-record-printer!' to reflect the fact that the printer is set at runtime

13 years agoadd custom record printers
No Itisnt [Tue, 25 May 2010 20:47:35 +0000 (15:47 -0500)]
add custom record printers

* doc/ref/srfi-modules.texi: update documentation
* module/srfi/srfi-9/gnu.scm: add `define-record-printer'

14 years agoupdate NEWS for things that were true and aren't, or vice versa
Andy Wingo [Fri, 21 May 2010 22:49:52 +0000 (00:49 +0200)]
update NEWS for things that were true and aren't, or vice versa

* NEWS: Misc updates.

14 years agopre-prepare NEWS
Andy Wingo [Fri, 21 May 2010 22:13:21 +0000 (00:13 +0200)]
pre-prepare NEWS

* NEWS: Integrate 1.9.10 entries into the main text.

14 years agoEdits for R6RS library implementation documentation, as suggested by
Julian Graham [Sat, 22 May 2010 22:20:00 +0000 (18:20 -0400)]
Edits for R6RS library implementation documentation, as suggested by
Ludovic Courtès.

* doc/ref/api-module.texi (R6RS Libraries): Wrap keywords variously in
  @code and @dfn forms; rewrite pointer to implicit phasing paper; add
  "Scheme Syntax" specification to @deffns.

14 years agoFix disassembly of free variable lists.
Ludovic Courtès [Sat, 22 May 2010 21:54:16 +0000 (23:54 +0200)]
Fix disassembly of free variable lists.

* module/language/assembly/disassemble.scm (disassemble-free-vars):
  Handle FREE-VARS as a list, not a vector.

14 years agoboot-9 comment cleanup
Andy Wingo [Fri, 21 May 2010 21:44:15 +0000 (23:44 +0200)]
boot-9 comment cleanup

* module/ice-9/boot-9.scm: Remove needless comment.

14 years agolambda* in make-mutable-parameter
Andy Wingo [Fri, 21 May 2010 21:43:58 +0000 (23:43 +0200)]
lambda* in make-mutable-parameter

* module/ice-9/boot-9.scm (make-mutable-parameter): Use lambda*.

14 years agodefine* in repl-reader
Andy Wingo [Fri, 21 May 2010 21:43:35 +0000 (23:43 +0200)]
define* in repl-reader

* module/ice-9/boot-9.scm (repl-reader): Use define*.

14 years agodefine* in try-module-autoload
Andy Wingo [Fri, 21 May 2010 21:43:16 +0000 (23:43 +0200)]
define* in try-module-autoload

* module/ice-9/boot-9.scm (try-module-autoload): Use define*.

14 years agodefine* in resolve-interface
Andy Wingo [Fri, 21 May 2010 21:42:54 +0000 (23:42 +0200)]
define* in resolve-interface

* module/ice-9/boot-9.scm (resolve-interface): Use define* with proper
  keyword arguments, for great justice.

14 years agolambda* in resolve-module
Andy Wingo [Fri, 21 May 2010 21:42:17 +0000 (23:42 +0200)]
lambda* in resolve-module

* module/ice-9/boot-9.scm (resolve-module): Use lambda*.

14 years agodefine* in load-module
Andy Wingo [Fri, 21 May 2010 21:41:49 +0000 (23:41 +0200)]
define* in load-module

* module/ice-9/boot-9.scm (load-module): Use define*.

14 years agodefine* in module-observe-weak
Andy Wingo [Fri, 21 May 2010 21:37:54 +0000 (23:37 +0200)]
define* in module-observe-weak

* module/ice-9/boot-9.scm (module-observe-weak): Use define*.

14 years agodefine* in load
Andy Wingo [Fri, 21 May 2010 21:37:21 +0000 (23:37 +0200)]
define* in load

* module/ice-9/boot-9.scm (load): Use define*.

14 years agocase-lambda in dup->{in,out,}port, dup
Andy Wingo [Fri, 21 May 2010 21:36:47 +0000 (23:36 +0200)]
case-lambda in dup->{in,out,}port, dup

* module/ice-9/boot-9.scm (dup->port, dup->inport, dup->outport, dup):
  Use case-lambda. Not particularly elegant.

14 years agodefine* in file-set-position
Andy Wingo [Fri, 21 May 2010 21:36:00 +0000 (23:36 +0200)]
define* in file-set-position

* module/ice-9/boot-9.scm (file-set-position): Use define*.

14 years agodefine* in record-constructor
Andy Wingo [Fri, 21 May 2010 21:35:24 +0000 (23:35 +0200)]
define* in record-constructor

* module/ice-9/boot-9.scm (record-constructor): Use define*.

14 years agodefine* in make-record-type
Andy Wingo [Fri, 21 May 2010 21:34:54 +0000 (23:34 +0200)]
define* in make-record-type

* module/ice-9/boot-9.scm (make-record-type): Use define*.

14 years agolambda* in string-any, string-every
Andy Wingo [Fri, 21 May 2010 21:34:06 +0000 (23:34 +0200)]
lambda* in string-any, string-every

* module/ice-9/boot-9.scm (string-any, string-every): Use lambda*.

14 years agolambda* in catch
Andy Wingo [Fri, 21 May 2010 21:33:28 +0000 (23:33 +0200)]
lambda* in catch

* module/ice-9/boot-9.scm (catch): Use lambda*.

14 years agolambda* in make-prompt-tag
Andy Wingo [Fri, 21 May 2010 21:32:43 +0000 (23:32 +0200)]
lambda* in make-prompt-tag

* module/ice-9/boot-9.scm (make-prompt-tag): Use lambda*.

14 years agoExplicitly import `*unspecified*' to support R6RS library purification
Julian Graham [Fri, 21 May 2010 01:46:12 +0000 (21:46 -0400)]
Explicitly import `*unspecified*' to support R6RS library purification
enhancements.

* module/rnrs/6/hashtables.scm: Add explicit import for `*unspecified*'.

14 years agoExplicitly import `@@' to support R6RS library purification enhancements
Julian Graham [Thu, 20 May 2010 13:33:39 +0000 (09:33 -0400)]
Explicitly import `@@' to support R6RS library purification enhancements
on `master'.

* module/rnrs/6/conditions.scm:
* module/rnrs/6/exceptions.scm:
* module/rnrs/6/files.scm:
* module/rnrs/6/hashtables.scm:
* module/rnrs/io/6/simple.scm:
* module/rnrs/records/6/inspection.scm: Add explicit import for `@@'.

14 years agoFix broken imports in `(rnrs r5rs)'.
Julian Graham [Fri, 14 May 2010 01:41:38 +0000 (21:41 -0400)]
Fix broken imports in `(rnrs r5rs)'.

* module/rnrs/6/r5rs.scm (imports): Import `null-environment' from
  `(ice-9 safe-r5rs)'; import `scheme-report-environment' from
  `(ice-9 r5rs)'.

14 years agoFix incorrect export names in `(rnrs io simple)'.
Julian Graham [Sat, 10 Apr 2010 05:01:46 +0000 (01:01 -0400)]
Fix incorrect export names in `(rnrs io simple)'.

* module/rnrs/io/6/simple.scm: with-input-file => with-input-from-file,
  with-output-file => with-output-to-file.

14 years agoImplementation for R6RS (rnrs) composite library. (Can't be loaded yet
Julian Graham [Fri, 9 Apr 2010 04:23:28 +0000 (00:23 -0400)]
Implementation for R6RS (rnrs) composite library.  (Can't be loaded yet
because of conflict between `syntax-case' transformer binding and
`(rnrs syntax-case)' hierarchical namespace module binding.)

* module/6/rnrs.scm: New file.
* module/Makefile.am: Add 6/rnrs.scm to RNRS_SOURCES.

14 years agoTest suite and fixes for R6RS (rnrs arithmetic fixnums).
Julian Graham [Sun, 4 Apr 2010 18:53:06 +0000 (14:53 -0400)]
Test suite and fixes for R6RS (rnrs arithmetic fixnums).

* module/rnrs/arithmetic/6/fixnums.scm: Fix missing imports;
  (fixnum-width, greatest-fixnum, least-fixnum): Redefine these as
  zero-argument procedures; Fix argument mismatches in several functions.
* test-suite/Makefile.am: Add tests/r6rs-arithmetic-fixnums.test to
  SCM_TESTS.
* test-suite/tests/r6rs-arithmetic-fixnums.test: New file.

14 years agoFix typo in license comment.
Julian Graham [Sun, 4 Apr 2010 03:05:46 +0000 (23:05 -0400)]
Fix typo in license comment.

* test-suite/tests/r6rs-eval.test: Lice6nse => License.

14 years agoImplementation and test cases for the R6RS (rnrs arithmetic flonums)
Julian Graham [Sun, 4 Apr 2010 03:04:24 +0000 (23:04 -0400)]
Implementation and test cases for the R6RS (rnrs arithmetic flonums)
library.

* module/Makefile.am: Add rnrs/arithmetic/6/fixnums.scm and
  rnrs/arithmetic/6/flonums.scm to RNRS_SOURCES.
* module/rnrs/6/base.scm: (div-and-mod, div0, mod0, div0-and-mod0): New
  functions; this `div' implementation is not quite right, but we'll come
  back to it later.
* module/rnrs/arithmetic/6/fixnums.scm: New file.
* module/rnrs/arithmetic/6/flonums.scm: New file.
* test-suite/Makefile.am: Add tests/r6rs-arithmetic-flonums.test to
  SCM_TESTS.
* test-suite/tests/r6rs-arithmetic-flonums.test: New file.

14 years agoImplementation and test case for R6RS (rnrs eval) library.
Julian Graham [Tue, 30 Mar 2010 18:38:27 +0000 (14:38 -0400)]
Implementation and test case for R6RS (rnrs eval) library.

* module/Makefile.am: Add rnrs/6/eval.scm to RNRS_SOURCES.
* module/rnrs/6/eval.scm: New file
* test-suite/Makefile.am: Add tests/r6rs-eval.test to SCM_TESTS.
* test-suite/tests/r6rs-eval.test: New file.

14 years agoFix syntax and consolidate imports for (rnrs lists).
Julian Graham [Tue, 30 Mar 2010 18:27:00 +0000 (14:27 -0400)]
Fix syntax and consolidate imports for (rnrs lists).

* module/rnrs/6/lists.scm: Import syntax is
  `(only (import-set) id-1 ...)', not `(only (import-set) (id-1 ...))';
  use `rename' form as wrapper instead of creating separate custom
  interface on SRFI-1.

14 years agoImplementation and test cases for the R6RS (rnrs enums) library.
Julian Graham [Mon, 29 Mar 2010 02:31:45 +0000 (22:31 -0400)]
Implementation and test cases for the R6RS (rnrs enums) library.

* module/Makefile.am: Add rnrs/6/enums.scm to RNRS_SOURCES.
* module/rnrs/6/conditions.scm: Fix define-condition-type binding for
  syntax-violation? predicate.
* module/rnrs/6/enums.scm: New file.
* test-suite/Makefile.am: Add tests/r6rs-enums.test to SCM_TESTS.
* test-suite/tests/r6rs-enums.test: New file.

14 years agoAdd R6RS `syntax-violation' to (rnrs syntax-case).
Julian Graham [Sun, 28 Mar 2010 23:40:16 +0000 (19:40 -0400)]
Add R6RS `syntax-violation' to (rnrs syntax-case).

* module/rnrs/6/exceptions.scm: Remove dependency on (rnrs syntax-case);
  rewrite guard and guard0 in using syntax-rules in terms of syntax-case.
* module/rnrs/6/syntax-case.scm: Add syntax-violation implementation.

14 years agoTest suite and fixes for R6RS (rnrs conditions) and
Julian Graham [Sun, 28 Mar 2010 23:31:49 +0000 (19:31 -0400)]
Test suite and fixes for R6RS (rnrs conditions) and
(rnrs records procedural).

* module/rnrs/6/conditions.scm: Fix export of
  make-implementation-restriction-violation; remove dependency on
  (rnrs syntax-case); remove redundant function
  compound-condition-components; rewrite define-condition-type using
  syntax-rules instead of syntax-case.
* module/rnrs/records/6/procedural.scm: Remove serious-condition?,
  violation? and assertion-violation? predicates, since they're not true
  condition predicates.
* test-suite/Makefile.am: Add tests/r6rs-conditions.test to SCM_TESTS.
* test-suite/tests/r6rs-conditions.test: New file.

14 years agoImplementation for the (rnrs mutable-pairs) and (rnrs mutable-strings)
Julian Graham [Sat, 27 Mar 2010 19:28:24 +0000 (15:28 -0400)]
Implementation for the (rnrs mutable-pairs) and (rnrs mutable-strings)
libraries.

* module/Makefile.am: Add rnrs/6/mutable-pairs.scm and
  rnrs/6/mutable-strings.scm to RNRS_SOURCES.
* module/rnrs/6/mutable-pairs.scm: New file.
* module/rnrs/6/mutable-strings.scm: New file.

14 years agoImplementation for the R6RS (rnrs r5rs) library.
Julian Graham [Sat, 27 Mar 2010 15:39:28 +0000 (11:39 -0400)]
Implementation for the R6RS (rnrs r5rs) library.

* module/Makefile.am: Add rnrs/6/r5rs.scm to RNRS_SOURCES.
* module/rnrs/6/r5rs.scm: New file.

14 years agoAdd `guard' form and test cases to R6RS (rnrs exceptions) library.
Julian Graham [Sat, 27 Mar 2010 00:57:52 +0000 (20:57 -0400)]
Add `guard' form and test cases to R6RS (rnrs exceptions) library.

* module/rnrs/6/exceptions.scm: (guard0, guard): New syntax.
* module/rnrs/records/6/procedural.scm: (r6rs-raise-continuable): Can't
  use `raise' here because it's exported by (rnrs exceptions); use plain
  old `throw' instead.
* test-suite/Makefile.am: Add tests/r6rs-exceptions.test to SCM_TESTS.
* test-suite/tests/r6rs-exceptions.test: New file.

14 years agoFix test suite title in comment
Julian Graham [Sat, 27 Mar 2010 00:47:39 +0000 (20:47 -0400)]
Fix test suite title in comment

* test-suite/tests/r6rs-records-procedural.test: `(rnrs control)' =>
  `(rnrs records procedural)'

14 years agoImplementation and test cases for R6RS (rnrs files) library.
Julian Graham [Sun, 21 Mar 2010 23:26:48 +0000 (19:26 -0400)]
Implementation and test cases for R6RS (rnrs files) library.

* module/Makefile.am: Add rnrs/6/files.scm to RNRS_SOURCES.
* module/rnrs/6/conditions.scm (define-condition-type): Use specified
  accessor name to create accessor binding.  Add internally-visible
  &i/o-* condition types.
* module/rnrs/6/files.scm: New file.
* module/rnrs/io/6/simple.scm: Export &i/o-* condition types clandestinely
  imported from (rnrs conditions).
* test-suite/Makefile.am: Add tests/r6rs-files.test to SCM_TESTS.
* test-suite/test/r6rs-files.test: New file.

14 years agoImplementation for the R6RS (rnrs sorting) library.
Julian Graham [Sun, 21 Mar 2010 21:12:38 +0000 (17:12 -0400)]
Implementation for the R6RS (rnrs sorting) library.

* module/Makefile.am: Add rnrs/6/sorting.scm to RNRS_SOURCES.
* module/rnrs/6/sorting.scm: New file.

14 years agoImplementation for the R6RS (rnrs programs) library.
Julian Graham [Sun, 21 Mar 2010 21:03:35 +0000 (17:03 -0400)]
Implementation for the R6RS (rnrs programs) library.

* module/Makefile.am: Add rnrs/6/programs.scm to RNRS_SOURCES.
* module/rnrs/6/programs.scm: New file.

14 years agoImplementation and test cases for the R6RS (rnrs unicode) library.
Julian Graham [Sun, 21 Mar 2010 20:19:06 +0000 (16:19 -0400)]
Implementation and test cases for the R6RS (rnrs unicode) library.

* module/Makefile.am: Add rnrs/6/unicode.scm to RNRS_SOURCES.
* module/rnrs/6/unicode.scm: New file.
* test-suite/Makefile.am: Add tests/r6rs-unicode.test to SCM_TESTS.
* test-suite/tests/r6rs-unicode.test

14 years agoFixes and test cases for R6RS (rnrs hashtables) library.
Julian Graham [Sun, 21 Mar 2010 00:51:37 +0000 (20:51 -0400)]
Fixes and test cases for R6RS (rnrs hashtables) library.

* module/rnrs/6/hashtables.scm: Assorted bugfixes, esp. for wrapping
  single-argument hash functions.
* test-suite/Makefile.am: Add tests/r6rs-hashtables.test to SCM_TESTS.
* test-suite/tests/r6rs-hashtables.test: New file.

14 years agoAdd test cases for record constructor protocols and parent protocol
Julian Graham [Sat, 20 Mar 2010 19:14:46 +0000 (15:14 -0400)]
Add test cases for record constructor protocols and parent protocol
delegation.

* test-suite/tests/r6rs-records-procedural.test ("simple protocol",
  "protocol delegates to parent with protocol"): New tests.

14 years agoImplementation for the R6RS (rnrs hashtables) library;
Julian Graham [Sat, 20 Mar 2010 19:10:11 +0000 (15:10 -0400)]
Implementation for the R6RS (rnrs hashtables) library;
Implementation and test cases for the R6RS (rnrs record syntactic) library.

* module/Makefile.am: Add rnrs/6/hashtables.scm to RNRS_SOURCES.
* module/rnrs/6/hashtables.scm: New file.
* module/rnrs/records/6/inspection.scm: (record-type-generative?) Record
  types are generative iff they have no uid, not vice-versa.
* module/rnrs/records/6/syntactic.scm: Finish `define-record-type'
  implementation; add `record-type-descriptor' and
  `record-constructor-descriptor' forms.
* test-suite/Makefile.am: Add tests/r6rs-records-syntactic.test to
  SCM_TESTS.
* test-suite/tests/r6rs-records-inspection.test: Update tests for
  `record-type-generative?' to reflect corrected behavior.
* test-suite/tests/r6rs-records-syntactic.test: New file.

14 years ago(rnrs conditions) should not depend on (rnrs records syntactic).
Julian Graham [Sat, 20 Mar 2010 18:57:49 +0000 (14:57 -0400)]
(rnrs conditions) should not depend on (rnrs records syntactic).

* module/rnrs/6/conditions.scm: (define-condition-type) Re-implement
  `define-condition-type' in terms of (rnrs records procedural).

14 years agoFix missing export of string->symbol in (rnrs base).
Julian Graham [Sat, 20 Mar 2010 12:36:17 +0000 (08:36 -0400)]
Fix missing export of string->symbol in (rnrs base).

* module/rnrs/6/base.scm: Add string->symbol to library exports.

14 years agoImplementation for the R6RS (rnrs lists) library.
Julian Graham [Sat, 20 Mar 2010 00:03:46 +0000 (20:03 -0400)]
Implementation for the R6RS (rnrs lists) library.

* module/Makefile.am: Add module/rnrs/6/lists.scm to RNRS_SOURCES.
* module/rnrs/6/lists.scm: New file.

14 years agoImplementation and test cases for the R6RS (rnrs records inspection)
Julian Graham [Wed, 10 Mar 2010 06:36:15 +0000 (01:36 -0500)]
Implementation and test cases for the R6RS (rnrs records inspection)
library.

* module/Makefile.am: Add module/rnrs/records/6/inspection.scm to RNRS_SOURCES.
* module/rnrs/records/6/inspection.scm: New file.
* module/rnrs/records/6/procedural.scm: Assorted refactoring:
    Create index constants for record, rtd, and rcd field indexes;
    record-type-vtable, record-constructor-vtable: More informative display
    names;
    (make-record-type-descriptor): fold left, not right when creating vtable;
      store field names as vector, not list;
      detect opaque parents
* test-suite/Makefile.am: Add test-suite/tests/r6rs-records-inspection.test to
  SCM_TESTS.
* test-suite/tests/r6rs-records-inspection.test: New file.

14 years agoRemove needless import of (rnrs io simple).
Julian Graham [Wed, 10 Mar 2010 06:26:12 +0000 (01:26 -0500)]
Remove needless import of (rnrs io simple).

* module/rnrs/6/conditions.scm: Remove (rnrs io simple (6)) from imports.

14 years agoImplementation and test cases for the R6RS (rnrs records procedural) library,
Julian Graham [Mon, 8 Mar 2010 14:00:42 +0000 (09:00 -0500)]
Implementation and test cases for the R6RS (rnrs records procedural) library,
along with its dependencies.

* module/Makefile.am: Add new R6RS libraries below to RNRS_SOURCES.
* module/rnrs/6/conditions.scm, exceptions.scm, syntax-case.scm: New files.
* module/rnrs/io/6/simple.scm: New file.
* module/rnrs/records/6/procedural.scm, syntactic.scm: New files.
* test-suite/Makefile.am: Add tests/r6rs-records-procedural.test to SCM_TESTS.
* test-suite/tests/r6rs-records-procedural.test: New file.

14 years agoFix missing imports for `(rnrs arithmetic bitwise)'.
Julian Graham [Sat, 6 Mar 2010 07:04:25 +0000 (02:04 -0500)]
Fix missing imports for `(rnrs arithmetic bitwise)'.

* module/Makefile.am: Add module/rnrs/arithmetic/6/bitwise.scm to
  RNRS_SOURCES.
* module/rnrs/arithmetic/6/bitwise.scm: Import `(rnrs control)' and `modulo'
  from `(guile)'.
* test-suite/Makefile.am: Add r6rs-arithmetic-bitwise.test to SCM_TESTS.

14 years agoImplementation and test cases for the R6RS (rnrs control) library.
Julian Graham [Sat, 6 Mar 2010 06:28:46 +0000 (01:28 -0500)]
Implementation and test cases for the R6RS (rnrs control) library.

* module/Makefile.am: Add rnrs/6/base.scm and rnrs/6/control.scm to
  RNRS_SOURCES.
* module/rnrs/6/base.scm, control.scm: New files.
* test-suite/Makefile.am: Add tests/r6rs-control.test to SCM_TESTS.
* test-suite/tests/r6rs-control.test: New file.

14 years agoImplementation and test cases for the R6RS (rnrs arithmetic bitwise)
Julian Graham [Mon, 8 Feb 2010 14:45:54 +0000 (09:45 -0500)]
Implementation and test cases for the R6RS (rnrs arithmetic bitwise)
library.

* module/rnrs/arithmetic/6/bitwise.scm: New file.
* test-suite/tests/r6rs-arithmetic-bitwise.test: New file.

14 years agoDocumentation for the R6RS `library' and `import' forms.
Julian Graham [Sat, 8 May 2010 21:15:52 +0000 (17:15 -0400)]
Documentation for the R6RS `library' and `import' forms.

* doc/ref/api-modules.texi (R6RS Libraries): New section, documents
  `library' and `import'.

14 years agoeval-when expand for use-modules and export
Andy Wingo [Thu, 20 May 2010 15:52:44 +0000 (17:52 +0200)]
eval-when expand for use-modules and export

* module/ice-9/boot-9.scm (use-modules, use-syntax)
  (export, re-export): Add `expand' to the eval-when list, as we did for
  R6RS.

14 years agopure r6rs modules
Andy Wingo [Thu, 20 May 2010 11:59:34 +0000 (13:59 +0200)]
pure r6rs modules

* module/ice-9/r6rs-libraries.scm (library): Make pure modules.
  (import): Also process imports at expand time, for the `eval' case.

14 years agomacroexpanded pretty-printer
Andy Wingo [Thu, 20 May 2010 11:47:49 +0000 (13:47 +0200)]
macroexpanded pretty-printer

* module/language/tree-il.scm (print-tree-il):
  (borrow-core-vtables, <tree-il>): When tree-il loads, override the
  printers for macroexpanded structures.