bug#74385: [PATCH 1/4] srfi-64: Fix maybe-print-prop.

2024-12-09 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis:

> Previously it always printed the property, regardless of whether it was set or
> not.
>
> * module/srfi/srfi-64.scm (test-on-test-end-simple)[maybe-print-prop]:
> Print only set properties.

[...]

> This will help to properly debug failing tests like:
>
> (test-equal "some failing test" "a b " "a b")
>
> Before there was no way to tell that one "a b" as extra trailing space, now
> there is.
>
> * module/srfi/srfi-64.scm (test-on-test-end-simple)['expected-value]
> ['expected-error, 'actual-value, 'actual-error]: Print using ~s.
> [maybe-print-prop]: Take the code for format as a parameter.

These two LGTM.  Thanks!





bug#73188: PEG parser does not support full PEG grammar

2024-12-09 Thread Ludovic Courtès
Egun on!

Finally pushed v4 with slight edits to ‘NEWS’:

  25504ba21 PEG: Add support for `not-in-range` and [^...]
  ff11753df PEG: Add full support for PEG + some extensions

Thank you!

Ludo’.





bug#74557: Bootstrap no longer working

2024-12-09 Thread Ludovic Courtès
Hi Mikael,

Mikael Djurfeldt  skribis:

> I reverted 7379049d which solves the acute problem, but leave this bug for
> Andy to close once he has had time to re-introduce 7379049d the way he
> intended it.

Thanks for reverting it!

I can confirm that CI got greener:

  https://ci.guix.gnu.org/eval/1880849

Ludo’.





bug#74385: [PATCH 3/4] srfi-64: Export define-equality-test.

2024-12-09 Thread Ludovic Courtès
Hi Tomas,

Tomas Volf <~@wolfsden.cz> skribis:

> +(define-syntax define-equality-test
>(syntax-rules ()
>  ((_ name test-proc)
>   (define-syntax name
> (λ (x)
>   (syntax-case x ()
> ((_ test-name expected test-expr)
> -#`(%%test-2 #,x test-proc test-name expected test-expr))
> +#`(%test-2 #,x test-proc test-name expected test-expr))
> ((_ expected test-expr)
> -#`(%%test-2 #,x test-proc #fexpected test-expr
> +#`(%test-2 #,x test-proc #fexpected test-expr
> +(set-documentation! 'define-equality-test
> +  "@defspec define-equality-test identifier proc
> +Define a new test form named @var{identifier} with same signature and usage 
> as
> +@code{test-eq} but using @var{proc} instead of @code{eq?}.

I didn’t notice earlier, but you can add docstrings like this:

  (define-syntax define-equality-test
(syntax-rules ()
  "This is the docstring."
  …))

As for exporting ‘define-equality-test’, I would clearly mark it as a
“GNU extension”.

The way this was done before is by having more exports in a separate
module, like (srfi srfi-9 gnu).

Whether or not you pick this approach, please make sure to document it
in the manual and to prominently mark it as a GNU extension.

Ludo’.





bug#74385: [PATCH 4/4] srfi-64: Report failed tests in (standards)Errors format.

2024-12-09 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis:

> There is a page in the GNU Standards document regarding the format of error
> messages.  Both GNU Emacs and Vim are able to parse it and support jumping to
> next/previous error.  My version did not produce a line in this format for
> failed tests and this commit rectifies that.
>
> * module/srfi/srfi-64.scm (test-on-test-end-simple)[non-passed]: Write
> out (standards)Errors compatible line.
>
> Reported-by: Janneke Nieuwenhuizen 

I personally like this but my gut feeling is that we may want to stick
to whatever the previous SRFI-64 implementation was doing, to avoid
disruption or breakage for users (remember we’re applying this to a
stable series).





bug#74484: reader syntax trouble across socket

2024-12-09 Thread Ludovic Courtès
Hi Christopher,

Christopher Howard  scribans:

> scheme@(guile-user)> ,m (emacs-guix)
> scheme@(emacs-guix)> (guix-command "pull")
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> Building from this channel:
>   guix  https://git.savannah.gnu.org/git/guix.git 8a7bd21
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> /gnu/store/hhnw8gr26smc267yy2hzk57p4b0g6iyb-guix-8a7bd21/build-aux/build-self.scm:84:18:
>  Unknown # object: "#~"

The read syntax for #~ (gexp) is installed by loading the (guix gexp)
module or simply the (guix) module, which loads (guix gexp).

It seems that somehow Emacs-Guix does not load (guix gexp) upfront.
It’s fishy though because (guix scripts pull) definitely loads (guix
gexp), directly and indirectly.

Ludo’.