Re: Guile-Lib 0.2.8 released

2024-03-31 Thread Maxim Cournoyer
Hi David, David Pirotte writes: > Hello, > > Guile-Lib version 0.2.8 released. Thanks for the release work! guile-lib 0.2.8 will become in GNU Guix shortly. -- Thanks, Maxim

Re: [Guile-Lib PATCH] logger: Add flush-after-emit? property to .

2024-03-05 Thread Maxim Cournoyer
Hi David, David Pirotte writes: > Hi Maxim, > >> ... >> My only concern about doing this, rephrasing what I wrote on the chat, >> is that it'd be hard to validate the input value, as that validation >> would need to be specialized to handlers, e.g. for some class we'd >> want to disallow 'line

Re: Bug#1064998: guile-lib: broken package when cross building

2024-03-02 Thread Maxim Cournoyer
Hi Vagrant, +CC David, which maintains Guile-Lib. Vagrant Cascadian writes: > Forwarding this upstream, originally submitted in the Debian bug > tracking system at: > > https://bugs.debian.org/1064998 > > On 2024-02-28, Helmut Grohne wrote: >> guile-lib actually does cross build, but we

Re: [Guile-Lib PATCH] logger: Add flush-after-emit? property to .

2024-03-02 Thread Maxim Cournoyer
Hi David, David Pirotte writes: > Hello Maxim, > guile-devel followers, > >> * src/logging/logger.scm (): Add new >> optional flush-after-each-emit? slot, initialized to #t. >> ... > > Maxim and i have been talking about both the v4 1-7 series of patches > that Maxim have been working on -

[Guile-Lib PATCH] logger: Add flush-after-emit? property to .

2024-03-01 Thread Maxim Cournoyer
* src/logging/logger.scm (): Add new optional flush-after-each-emit? slot, initialized to #t. (accept-log) [flush-after-each-emit?]: Flush log when condition is true. * unit-tests/logging.logger.scm (call-with-temporary-file): New procedure. (test-log-with-flush-after-emit-disabled):

[Guile-Lib PATCH v4 7/7] logging: Call flush-log at the end of accept-log.

2024-02-25 Thread Maxim Cournoyer
This is to avoid long block buffering of log messages, which would causes the log messages to be delayed, which is likely to confuse users attempting to follow the logs in real time (see: https://lists.gnu.org/archive/html/guile-devel/2024-01/msg0.html). * src/logging/logger.scm

[Guile-Lib PATCH v4 1/7] configure.ac: Fix typo in message.

2024-02-25 Thread Maxim Cournoyer
--- (no changes since v1) configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7171296..e8f1bba 100644 --- a/configure.ac +++ b/configure.ac @@ -39,7 +39,7 @@ dnl distcheck' are aware it is a wip version. AC_INIT( [guile-lib],

[Guile-Lib PATCH v4 6/7] logging: Make procedure name available to the log formatter.

2024-02-25 Thread Maxim Cournoyer
* src/logging/logger.scm (log-helper): Retrieve procedure name and pass it to `accept-log'. (default-log-formatter): Register new proc-name keyword argument, and include it in formatted message. (accept-log): New proc-name positional argument; pass it to log-formatter. *

[Guile-Lib PATCH v4 3/7] tests: guile-library.api: Re-generate.

2024-02-25 Thread Maxim Cournoyer
The file was regenerated by running 'make -C unit-tests guile-library.api.update'. * unit-tests/guile-library.api: Regenerate. --- (no changes since v1) unit-tests/guile-library.api | 239 +-- 1 file changed, 5 insertions(+), 234 deletions(-) diff --git

[Guile-Lib PATCH v4 4/7] logging: Allow passing source properties to `log-msg'.

2024-02-25 Thread Maxim Cournoyer
..e53661d 100644 --- a/src/logging/logger.scm +++ b/src/logging/logger.scm @@ -1,5 +1,6 @@ ;; (logging logger) -- write methods to log files -;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2024 Maxim Cournoyer ;; This program is free software: you can

[Guile-Lib PATCH v4 2/7] Use /bin/sh in update-api script shebang.

2024-02-25 Thread Maxim Cournoyer
* unit-tests/update-api: Replace /bin/bash with /bin/sh. --- (no changes since v1) unit-tests/update-api | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit-tests/update-api b/unit-tests/update-api index 8824c3f..392ce8b 100755 --- a/unit-tests/update-api +++

[Guile-Lib PATCH v4 0/7] Make log-msg accept source properties for displaying source location

2024-02-25 Thread Maxim Cournoyer
- Use a keyword argument for the source-properties - Add proc-name argument to default-log-formatter Changes in v2: - Relax log-msg typing on source-properties, as it can also be #f Maxim Cournoyer (7): configure.ac: Fix typo in message. Use /bin/sh in update-api script shebang. tests

[Guile-Lib PATCH v4 5/7] logging: Adjust default log-formatter output.

2024-02-25 Thread Maxim Cournoyer
The log level is always in uppercase, and its surrounding parentheses are dropped. * src/logging/logger.scm (default-log-formatter): Uppercase level and strip its surrounding parens. * unit-tests/logging.logger.scm: Adjust expected output accordingly. --- (no changes since v1)

Re: [PATCH] Fixes for custom-ports

2024-02-11 Thread Maxim Cournoyer
Hi Ludo, Ludovic Courtès writes: > Hi, > > Maxim Cournoyer skribis: > >>> PS: As far as I’m concerned, patches sent to bug-gu...@gnu.org are less >>> likely to be lost because I see them in M-x debbugs. >>> >> >> The contributing docu

[Guile-Lib PATCH v3 4/7] logging: Allow passing source properties to `log-msg'.

2024-02-08 Thread Maxim Cournoyer
logger.scm b/src/logging/logger.scm index 7ff4f43..7b32ffe 100644 --- a/src/logging/logger.scm +++ b/src/logging/logger.scm @@ -1,5 +1,6 @@ ;; (logging logger) -- write methods to log files -;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2024 Maxim

[Guile-Lib PATCH v3 7/7] logging: Call flush-log at the end of accept-log.

2024-02-08 Thread Maxim Cournoyer
This is to avoid long block buffering of log messages, which would causes the log messages to be delayed, which is likely to confuse users attempting to follow the logs in real time (see: https://lists.gnu.org/archive/html/guile-devel/2024-01/msg0.html). * src/logging/logger.scm (accept-log):

[Guile-Lib PATCH v3 1/7] configure.ac: Fix typo in message.

2024-02-08 Thread Maxim Cournoyer
--- (no changes since v1) configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7171296..e8f1bba 100644 --- a/configure.ac +++ b/configure.ac @@ -39,7 +39,7 @@ dnl distcheck' are aware it is a wip version. AC_INIT( [guile-lib],

[Guile-Lib PATCH v3 5/7] logging: Adjust default log-formatter output.

2024-02-08 Thread Maxim Cournoyer
The log level is always in uppercase, and its surrounding parentheses are dropped. * src/logging/logger.scm (default-log-formatter): Uppercase level and strip its surrounding parens. * unit-tests/logging.logger.scm: Adjust expected output accordingly. --- (no changes since v1)

[Guile-Lib PATCH v3 6/7] logging: Make procedure name available to the log formatter.

2024-02-08 Thread Maxim Cournoyer
* src/logging/logger.scm (log-helper): Retrieve procedure name and pass it to `accept-log'. (default-log-formatter): Register new proc-name keyword argument, and include it in formatted message. (accept-log): New proc-name positional argument; pass it to log-formatter. *

[Guile-Lib PATCH v3 2/7] Use /bin/sh in update-api script shebang.

2024-02-08 Thread Maxim Cournoyer
* unit-tests/update-api: Replace /bin/bash with /bin/sh. --- (no changes since v1) unit-tests/update-api | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit-tests/update-api b/unit-tests/update-api index 8824c3f..392ce8b 100755 --- a/unit-tests/update-api +++

[Guile-Lib PATCH v3 3/7] tests: guile-library.api: Re-generate.

2024-02-08 Thread Maxim Cournoyer
The file was regenerated by running 'make -C unit-tests guile-library.api.update'. * unit-tests/guile-library.api: Regenerate. --- (no changes since v1) unit-tests/guile-library.api | 239 +-- 1 file changed, 5 insertions(+), 234 deletions(-) diff --git

[Guile-Lib PATCH v3 0/7] Make log-msg accept source properties for displaying source location

2024-02-08 Thread Maxim Cournoyer
(ice-9 format) for the default-log-formatter - Use a keyword argument for the source-properties - Add proc-name argument to default-log-formatter Changes in v2: - Relax log-msg typing on source-properties, as it can also be #f Maxim Cournoyer (7): configure.ac: Fix typo in message. Use

Re: [PATCH] Fixes for custom-ports

2024-02-08 Thread Maxim Cournoyer
Hi Ludo, Ludovic Courtès writes: > Jonas Hahnfeld via "Developers list for Guile, the GNU extensibility > library" skribis: > >> From b5f1013ad969b6e4e35b36dc63798375ffbecda3 Mon Sep 17 00:00:00 2001 >> From: Jonas Hahnfeld >> Date: Tue, 24 Oct 2023 12:47:21 +0200 >> Subject: [PATCH 1/2] Fix

Re: [Guile-Lib PATCH v2 4/6] logging: Allow passing source properties to `log-msg'.

2024-02-06 Thread Maxim Cournoyer
Hi, Maxim Cournoyer writes: > Note: this changes the API of the `accept-log' method by adding a new > positional argument to it. `accept-log' is a "weak" public > interface (mostly intended for internal uses or logging handler > implementors), so this is deemed accepta

[Guile-Lib PATCH v2 5/6] logging: Adjust default log-formatter output.

2024-02-05 Thread Maxim Cournoyer
The log level is always in uppercase, and its surrounding parentheses are dropped. * src/logging/logger.scm (default-log-formatter): Uppercase level and strip its surrounding parens. * unit-tests/logging.logger.scm: Adjust expected output accordingly. --- (no changes since v1)

[Guile-Lib PATCH v2 3/6] tests: guile-library.api: Re-generate.

2024-02-05 Thread Maxim Cournoyer
The file was regenerated by running 'make -C unit-tests guile-library.api.update'. * unit-tests/guile-library.api: Regenerate. --- (no changes since v1) unit-tests/guile-library.api | 239 +-- 1 file changed, 5 insertions(+), 234 deletions(-) diff --git

[Guile-Lib PATCH v2 1/6] configure.ac: Fix typo in message.

2024-02-05 Thread Maxim Cournoyer
--- (no changes since v1) configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7171296..e8f1bba 100644 --- a/configure.ac +++ b/configure.ac @@ -39,7 +39,7 @@ dnl distcheck' are aware it is a wip version. AC_INIT( [guile-lib],

[Guile-Lib PATCH v2 0/6] Make log-msg accept source properties for displaying source location

2024-02-05 Thread Maxim Cournoyer
compiled and syntax properties are unavailable Maxim Cournoyer (6): configure.ac: Fix typo in message. Use /bin/sh in update-api script shebang. tests: guile-library.api: Re-generate. logging: Allow passing source properties to `log-msg'. logging: Adjust default log-formatter output

[Guile-Lib PATCH v2 4/6] logging: Allow passing source properties to `log-msg'.

2024-02-05 Thread Maxim Cournoyer
t (C) 2024 Maxim Cournoyer ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -68,6 +69,7 @@ INFO and WARN-level logs don't get through. (use-modules (logging logger) (logging ro

[Guile-Lib PATCH v2 2/6] Use /bin/sh in update-api script shebang.

2024-02-05 Thread Maxim Cournoyer
* unit-tests/update-api: Replace /bin/bash with /bin/sh. --- (no changes since v1) unit-tests/update-api | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit-tests/update-api b/unit-tests/update-api index 8824c3f..392ce8b 100755 --- a/unit-tests/update-api +++

[Guile-Lib PATCH v2 6/6] logger: Call flush-log at the end of accept-log.

2024-02-05 Thread Maxim Cournoyer
This is to avoid long block buffering of log messages, which would causes the log messages to be delayed, which is likely to confuse users attempting to follow the logs in real time (see: https://lists.gnu.org/archive/html/guile-devel/2024-01/msg0.html). * src/logging/logger.scm (accept-log):

[Guile-Lib PATCH 6/6] logger: Call flush-log at the end of accept-log.

2024-02-05 Thread Maxim Cournoyer
This is to avoid long block buffering of log messages, which would causes the log messages to be delayed, which is likely to confuse users attempting to follow the logs in real time (see: https://lists.gnu.org/archive/html/guile-devel/2024-01/msg0.html). * src/logging/logger.scm (accept-log):

[Guile-Lib PATCH 5/6] logging: Adjust default log-formatter output.

2024-02-05 Thread Maxim Cournoyer
The log level is always in uppercase, and its surrounding parentheses are dropped. * src/logging/logger.scm (default-log-formatter): Uppercase level and strip its surrounding parens. * unit-tests/logging.logger.scm: Adjust expected output accordingly. --- src/logging/logger.scm| 6

[Guile-Lib PATCH 3/6] tests: guile-library.api: Re-generate.

2024-02-05 Thread Maxim Cournoyer
The file was regenerated by running 'make -C unit-tests guile-library.api.update'. * unit-tests/guile-library.api: Regenerate. --- unit-tests/guile-library.api | 239 +-- 1 file changed, 5 insertions(+), 234 deletions(-) diff --git a/unit-tests/guile-library.api

[Guile-Lib PATCH 4/6] logging: Allow passing source properties to `log-msg'.

2024-02-05 Thread Maxim Cournoyer
44d 100644 --- a/src/logging/logger.scm +++ b/src/logging/logger.scm @@ -1,5 +1,6 @@ ;; (logging logger) -- write methods to log files -;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2003 Richard Todd +;; Copyright (C) 2024 Maxim Cournoyer ;; This program is free software: you can re

[Guile-Lib PATCH 2/6] Use /bin/sh in update-api script shebang.

2024-02-05 Thread Maxim Cournoyer
* unit-tests/update-api: Replace /bin/bash with /bin/sh. --- unit-tests/update-api | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit-tests/update-api b/unit-tests/update-api index 8824c3f..392ce8b 100755 --- a/unit-tests/update-api +++ b/unit-tests/update-api @@ -1,4 +1,4

[Guile-Lib PATCH 1/6] configure.ac: Fix typo in message.

2024-02-05 Thread Maxim Cournoyer
--- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7171296..e8f1bba 100644 --- a/configure.ac +++ b/configure.ac @@ -39,7 +39,7 @@ dnl distcheck' are aware it is a wip version. AC_INIT( [guile-lib], [0.2.7], -

[Guile-Lib PATCH 0/6] Make log-msg accept source properties for displaying source location

2024-02-05 Thread Maxim Cournoyer
while working with the source, and calls `flush-log' at the end of `accept-log' to avoid long delays caused by the default block buffering when the log traffic is low. Maxim Cournoyer (6): configure.ac: Fix typo in message. Use /bin/sh in update-api script shebang. tests: guile-library.api

[guile-lib] (logging logger) doesn't call flush-log after each log

2024-01-02 Thread Maxim Cournoyer
Hi, I've recently made use of guile-lib's logging library, and was surprised that by default the rotating-log logger, which logs to a file, would write to a file using block buffering, which would means logs would only be seen added to the file every now and then rather than in real time. That

[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 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 v9 00/18] Add SRFI 209 and dependencies; improve support for R7RS libraries

2023-12-12 Thread Maxim Cournoyer
ename SRFI-69 to SRFI 69, SRFI-125 to SRFI 125 in text - Remove string-hash and symbol-hash from exports (they are already listed in #:rename) Maxim Cournoyer (17): ice-9: Fix 'include' when used in compilation contexts. r7rs-libraries: Add support for 'else' clause in cond-expand. r

[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 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 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 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 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 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 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 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 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 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 v2 0/2] Add 'snarfi' guild script to convert SRFI HTML specifications to Texinfo

2023-12-12 Thread Maxim Cournoyer
dependency on it. 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 - Various bug fixes - Use SPDX/REUSE for license/copyright notices Maxim Cournoye

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

2023-12-12 Thread Maxim Cournoyer
\ diff --git a/module/scripts/snarfi.scm b/module/scripts/snarfi.scm new file mode 100644 index 0..3f0f7978a --- /dev/null +++ b/module/scripts/snarfi.scm @@ -0,0 +1,752 @@ +;;; snarfi --- Snarf SRFI HTML specifications into Texinfo doc + +;;; SPDX-FileCopyrightText: 2023

[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 @@

[PATCH v8 09/16] module: Add SRFI 128.

2023-12-06 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 v8 03/16] r7rs-libraries: Add support for 'else' clause in cond-expand.

2023-12-06 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 v8 06/16] Share features tested by cond-expand library declarations and expressions.

2023-12-06 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 v8 13/16] module: Add SRFI 151.

2023-12-06 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 v8 02/16] Use R7RS 'rename' syntax for exports.

2023-12-06 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 v8 10/16] module: Add (scheme comparator).

2023-12-06 Thread Maxim Cournoyer
* module/scheme/comparator.sld: New R7RS 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 v8 15/16] module: Add SRFI 178.

2023-12-06 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 v8 07/16] build: Register '.sld' as an alternative extension to '.scm'.

2023-12-06 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 v8 04/16] r7rs-libraries: Better support R7RS SRFI library names.

2023-12-06 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 v8 08/16] module: Add SRFI 126.

2023-12-06 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.scm: New file. * test-suite/tests/srfi-126.test: New file. *

[PATCH v8 11/16] module: Add (scheme sort).

2023-12-06 Thread Maxim Cournoyer
* module/scheme/sort.sld: New R7RS 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 | 21

[PATCH v8 12/16] module: Add SRFI 125.

2023-12-06 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 v8 00/16] Add SRFI 209 and dependencies; improve support for R7RS libraries

2023-12-06 Thread Maxim Cournoyer
125 in text - Remove string-hash and symbol-hash from exports (they are already listed in #:rename) Maxim Cournoyer (15): ice-9: Fix 'include' when used in compilation contexts. r7rs-libraries: Add support for 'else' clause in cond-expand. r7rs-libraries: Better support R7RS SRFI library na

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

2023-12-06 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. --- (no changes since v5) Changes in v5: - Update NEWS

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

2023-12-06 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 v8 16/16] module: Add SRFI 209.

2023-12-06 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 v7 13/16] module: Add SRFI 151.

2023-12-04 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 v7 04/16] r7rs-libraries: Better support R7RS SRFI library names.

2023-12-04 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 v7 07/16] build: Register '.sld' as an alternative extension to '.scm'.

2023-12-04 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 v7 16/16] module: Add SRFI 209.

2023-12-04 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 v7 06/16] Share features tested by cond-expand library declarations and expressions.

2023-12-04 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 v7 03/16] r7rs-libraries: Add support for 'else' clause in cond-expand.

2023-12-04 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 v7 11/16] module: Add (scheme sort).

2023-12-04 Thread Maxim Cournoyer
* module/scheme/sort.sld: New R7RS 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 | 21

[PATCH v7 12/16] module: Add SRFI 125.

2023-12-04 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 v7 08/16] module: Add SRFI 126.

2023-12-04 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.scm: New file. * test-suite/tests/srfi-126.test: New file. *

[PATCH v7 15/16] module: Add SRFI 178.

2023-12-04 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 v7 01/16] ice-9: Fix 'include' when used in compilation contexts.

2023-12-04 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 v7 09/16] module: Add SRFI 128.

2023-12-04 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 v7 10/16] module: Add (scheme comparator).

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

[PATCH v7 02/16] Use R7RS 'rename' syntax for exports.

2023-12-04 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 v7 00/16] Add SRFI 209 and dependencies; improve support for R7RS libraries

2023-12-04 Thread Maxim Cournoyer
ted in #:rename) Maxim Cournoyer (15): ice-9: Fix 'include' when used in compilation contexts. r7rs-libraries: Add support for 'else' clause in cond-expand. r7rs-libraries: Better support R7RS SRFI library names. (scheme base): Support non-negative SRFI integer names in cond-expand. Sh

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

2023-12-04 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. --- (no changes since v5) Changes in v5: - Update NEWS

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

2023-12-03 Thread Maxim Cournoyer
* .dir-locals.el (scheme-mode) : Add indentation rule. --- .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 @@ (eval . (put

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

2023-12-03 Thread Maxim Cournoyer
dependency on it. Maxim Cournoyer (2): .dir-locals: Add indentation rule for sxml-match syntax. scripts: Add SRFI documentation HTML -> Texinfo snarfer. .dir-locals.el| 3 +- NEWS | 11 + am/bootstrap.am | 1 + module/scripts/snarfi.scm |

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

2023-12-03 Thread Maxim Cournoyer
;; +;; You should have received a copy of the GNU Lesser General Public +;; License along with this software; see the file COPYING.LESSER. If +;; not, write to the Free Software Foundation, Inc., 51 Franklin +;; Street, Fifth Floor, Boston, MA 02110-1301 USA + +;;; Author: Maxim Cournoyer + +;;;

[PATCH v6 08/16] module: Add SRFI 126.

2023-12-02 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.scm: New file. * test-suite/tests/srfi-126.test: New file. *

[PATCH v6 10/16] module: Add (scheme comparator).

2023-12-02 Thread Maxim Cournoyer
* module/scheme/comparator.sld: New R7RS library shim for SRFI 128. * 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/comparator.sld |

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

2023-12-02 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 v6 09/16] module: Add SRFI 128.

2023-12-02 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 v6 12/16] module: Add SRFI 125.

2023-12-02 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

  1   2   3   >