[PATCH v9 12/18] module: Add SRFI 125.

2023-12-12 Thread Maxim Cournoyer
* module/srfi/srfi-125.scm * module/srfi/srfi-125/hash-table.scm * test-suite/tests/srfi-125-test.scm * test-suite/tests/srfi-125.test: New files. * am/bootstrap.am (SOURCES): Register srfi-125.scm. (NOCOMP_SOURCES): Register hash-table.scm. * test-suite/Makefile.am (SCM_TESTS): Register

[PATCH v9 13/18] module: Add SRFI 151.

2023-12-12 Thread Maxim Cournoyer
* module/srfi/srfi-151.scm * module/srfi/srfi-151/bitwise-33.scm * module/srfi/srfi-151/bitwise-60.scm * module/srfi/srfi-151/bitwise-other.scm * test-suite/tests/srfi-151.test * test-suite/tests/srfi-151-test.scm: New files. * am/bootstrap.am (SOURCES): Register srfi-151.scm. (NOCOMP_SOURCES):

[PATCH v9 01/18] ice-9: Fix 'include' when used in compilation contexts.

2023-12-12 Thread Maxim Cournoyer
Fixes bug #66046. Introduce a '%file-port-stripped-prefixes' fluid that captures the pre-canonicalized file name used when compiling a file, before it gets modified in fport_canonicalize_filename. That reference that can then used by 'include' when searching for included files. *

[PATCH v9 02/18] Use R7RS 'rename' syntax for exports.

2023-12-12 Thread Maxim Cournoyer
From: Timothy Sample * module/ice-9/r7rs-libraries.scm (define-library): Convert R7RS exports to R6RS exports before passing them on to 'library'. * NEWS: Mention bug fix. Fixes: https://bugs.gnu.org/67255 Reported-by: Maxim Cournoyer . Modified-by: Maxim Cournoyer --- (no changes since v5)

[PATCH v9 16/18] module: Add SRFI 209.

2023-12-12 Thread Maxim Cournoyer
Sources retrieved from commit 9d40aaff0b788f3fd611e04a5b6aef4dfd017e8d from https://github.com/scheme-requests-for-implementation/srfi-209/. * module/srfi/srfi-209.sld: New file. * module/srfi/srfi-209/209.scm: Likewise. * module/Makefile.am (SOURCES): Register srfi-209.sld. (NOCOMP_SOURCES):

[PATCH v9 17/18] module: Add SRFI 48.

2023-12-12 Thread Maxim Cournoyer
* module/srfi/srfi-48.sld: New file. * module/srfi/srfi-48/48.body.scm: Likewise. * am/bootstrap.am (srfi/srfi-48.go): New target. (SOURCES): Register srfi/srfi-48.sld. (NOCOMP_SOURCES): Register srfi/srfi-48/48.upstream.scm. * test-suite/tests/srfi-48.test: New test. * test-suite/Makefile.am

[PATCH v9 07/18] build: Register '.sld' as an alternative extension to '.scm'.

2023-12-12 Thread Maxim Cournoyer
This is useful when integrating R7RS SRFI libraries into Guile. * am/bootstrap.am (GOBJECTS_): New variable. (GOBJECTS): Compute from GOBJECTS_. : Register %.sld to vpath. (SUFFIXES): Register '.sld' extension. (.sld.go .scm.go): Add 'sld.go' target to automatic compilation rule. --- (no changes

[PATCH v9 06/18] Share features tested by cond-expand library declarations and expressions.

2023-12-12 Thread Maxim Cournoyer
This addresses a FIXME in r7rs-libraries.scm, which was about the cond-expand define-library declarations not using the same features as provided in (scheme base). * .gitignore: Register /module/ice-9/endianness.scm. * am/bootstrap.am (NOCOMP_SOURCES): Register ice-9/endianness.scm and

[PATCH v9 15/18] module: Add SRFI 178.

2023-12-12 Thread Maxim Cournoyer
* module/srfi/srfi-178.sld: New file. * am/bootstrap.am (SOURCES): Register it. * module/srfi/srfi-178/convert.scm * module/srfi/srfi-178/fields.scm * module/srfi/srfi-178/gen-acc.scm * module/srfi/srfi-178/logic-ops.scm * module/srfi/srfi-178/macros.scm * module/srfi/srfi-178/map2list.scm *

[PATCH v9 05/18] (scheme base): Support non-negative SRFI integer names in cond-expand.

2023-12-12 Thread Maxim Cournoyer
* module/scheme/base.scm (r7:cond-expand): Test for library using resolve-r6rs-interface instead of resolve-interface. Swallow any exception with false-if-exception. * test-suite/tests/r7rs-cond-expand.test: New test. * NEWS: Update news. * LICENSES/LGPL-3.0-or-later.txt: New file. --- (no

[PATCH v9 00/18] Add SRFI 209 and dependencies; improve support for R7RS libraries

2023-12-12 Thread Maxim Cournoyer
This series add the SRFI 209 enumerators library and its dependencies. It fixes a few problems that prevented using the corresponding R7RS upstream libraries as-is on the way. Building on that, our copy of SRFI 64 is upgraded to use its newer R7RS version (contributed by Taylan), which improves

[PATCH v9 18/18] module: Upgrade SRFI 64 to modern R7RS library implementation.

2023-12-12 Thread Maxim Cournoyer
This upgrades our SRFI 64 copy to use the alternative R7RS implementation from Taylan Kammer, which improves readability by leveraging modern Scheme features and fixes a few bugs such as bug#66776 (test-error doesn't match error types). * am/bootstrap.am (srfi/srfi-64.go): Update target.

[PATCH v9 08/18] module: Add SRFI 126.

2023-12-12 Thread Maxim Cournoyer
This is not original work: it merely integrates and formats the work of Taylan Ulrich Bayırlı/Kammer into Guile, with a few adjustments to avoid warnings/fix missing imports. Thank you! * module/srfi/srfi-126.sld: New file. * test-suite/tests/srfi-126.test: New file. *

[PATCH v9 11/18] module: Add (scheme sort).

2023-12-12 Thread Maxim Cournoyer
* module/scheme/sort.sld: New R7RS-large library shim for (rnrs sorting). * am/bootstrap.am (SOURCES): Register it. * NEWS: Update NEWS. --- (no changes since v5) Changes in v5: - Update NEWS NEWS | 1 + am/bootstrap.am| 1 + module/scheme/sort.sld | 9 + 3

[PATCH v9 09/18] module: Add SRFI 128.

2023-12-12 Thread Maxim Cournoyer
>From upstream commit 62504e3b5b01615297cf65c33ca76a474bd61dd3. * module/srfi/srfi-128.scm * module/srfi/srfi-128/128.body1.scm * module/srfi/srfi-128/128.body2.scm * test-suite/tests/srfi-128-test.scm * test-suite/tests/srfi-128.test: New files. * am/bootstrap.am (SOURCES): Register

[PATCH v9 04/18] r7rs-libraries: Better support R7RS SRFI library names.

2023-12-12 Thread Maxim Cournoyer
* module/ice-9/r6rs-libraries.scm (resolve-r6rs-interface : Relax symbol requirements. : Add a new syntax matching clause to avoid stripping the 3rd identifier in a R7RS SRFI module name. (library): Move R7RS specifics to... * module/ice-9/r7rs-libraries.scm (define-library): ... here.

[PATCH v9 03/18] r7rs-libraries: Add support for 'else' clause in cond-expand.

2023-12-12 Thread Maxim Cournoyer
* module/ice-9/r7rs-libraries.scm (define-library) : Add a pattern to match an 'else' clause. --- (no changes since v1) module/ice-9/r7rs-libraries.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/module/ice-9/r7rs-libraries.scm b/module/ice-9/r7rs-libraries.scm index

[PATCH v9 10/18] module: Add (scheme comparator).

2023-12-12 Thread Maxim Cournoyer
* module/scheme/comparator.sld: New R7RS-large library shim for SRFI 128. * am/bootstrap.am (SOURCES): Register it. * NEWS: Update NEWS. --- (no changes since v7) Changes in v7: - Register prerequisites for scheme/comparator.go in am/bootstrap.am Changes in v5: - Update NEWS NEWS

[PATCH v2 2/2] scripts: Add SRFI documentation HTML -> Texinfo snarfer.

2023-12-12 Thread Maxim Cournoyer
* module/scripts/snarfi.scm: New file. * am/bootstrap.am (SOURCES): Register it. * NEWS: Add news entry. --- Changes in v2: - Add support for HTML table -> Texinfo @multitable - Only splice "Specification" section if necessary - Preserve spliced section leading text instead of discarding it

[PATCH v2 0/2] Add 'snarfi' guild script to convert SRFI HTML specifications to Texinfo

2023-12-12 Thread Maxim Cournoyer
Due to challenges in the unspecified HTML format used by the various SRFI authors, the result is not perfect, but it's still a great help when adapting the specification HTML into Texinfo. It requires guile-lib for its htmlprag HTML parser, which is autoloaded to avoid introducing a hard

[PATCH v2 1/2] .dir-locals: Add indentation rule for sxml-match syntax.

2023-12-12 Thread Maxim Cournoyer
* .dir-locals.el (scheme-mode) : Add indentation rule. --- (no changes since v1) .dir-locals.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dir-locals.el b/.dir-locals.el index 908670479..a96408dc1 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -48,7 +48,8 @@