bug#76623: [PATCH] filesys.c: Use scm_sendfile to copy files.

2025-03-25 Thread Ludovic Courtès
Rob Browning skribis: > Ludovic Courtès writes: > >> The patch LGTM but I realize there’s no real ‘copy-file’ test. Not your >> fault but would you mind adding one or two tests? > > I went ahead and added a commit to include some simple tests and pushed > that a

bug#75040: [PATCH] Remove lib/malloc/.dirstamp and register to .gitignore.

2025-02-28 Thread Ludovic Courtès
Applied, thanks!

bug#74696: [PATCH] srfi-1: map!: Re-use cons cells of first argument.

2025-02-28 Thread Ludovic Courtès
Hello! Juliana Sims skribis: > * module/srfi/srfi-1.scm (map!): Re-use cons cells of first argument. > * test-suite/tests/srfi-1.test: Test map!. This LGTM but it leads to a bunch of unrelated test failures. Could you check on your side? Thanks, Ludo’.

bug#74841: [PATCH v2] srfi-19: Fix ~V converter in date->string.

2025-02-28 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > The ~V is supposed to print ISO week number, not a week number. This > commit fixes that. > > * module/srfi/srfi-19.scm (date-week-number-iso): New procedure taken > from the reference implementation. > (directives)<#\V>: Use it. > * test-suite/tests/srfi-19.

bug#75055: [PATCH 0/3] Minor doc cleanups

2025-02-28 Thread Ludovic Courtès
Morgan Smith skribis: > I have 3 tiny little cleanups to contribute > > Morgan Smith (3): > Remove all remaining references to GDS > * HACKING: Update mailing list URL > * doc/README: Remove reference to a tutorial that no longer exists Hi! I tweaked the commit logs and applied them, than

bug#75642: A fix for `guile-3.0.pc`

2025-02-28 Thread Ludovic Courtès
Hi Werner, Werner LEMBERG skribis: >>From d92e90bf2a019fc4cb62b0a7398bddf87740e9f1 Mon Sep 17 00:00:00 2001 > From: Werner Lemberg > Date: Fri, 17 Jan 2025 11:10:26 +0100 > Subject: [PATCH] Add `LIB_GETRANDOM` to `Libs.private` in `.pc` files > > The omission was discovered while cross-compilin

bug#75085: bug report with patch 0004-libguile-scm.h-fix-BUILDING_LIBGUILE-for-Werror-unde.patch

2025-02-28 Thread Ludovic Courtès
Hannes Müller skribis: > From 696151ca382c7b166d349f704812dd73bc2fa7a7 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Hannes=20M=C3=BCller?= <> > Date: Sat, 21 Dec 2024 19:20:17 +0100 > Subject: [PATCH] libguile/scm.h: fix BUILDING_LIBGUILE for -Werror=undef > > *libguile/scm.h: BUILDING_LIBGUILE is

bug#75084: bug report with patch 0003-Fix-make-custom-port-in-case-encoding-is-f.patch

2025-02-28 Thread Ludovic Courtès
Hi, Hannes Müller skribis: > From 72b85f8e6a369e6aef4c6bd6bb233c0cacb80b03 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Hannes=20M=C3=BCller?= <> > Date: Sat, 21 Dec 2024 16:55:13 +0100 > Subject: [PATCH] Fix make-custom-port in case encoding is #f > > * module/ice-9/custom-ports.scm (make-custom-

bug#75216: Miscompilation of code with numeric predicates

2025-02-28 Thread Ludovic Courtès
"Thompson, David" skribis: > Consider this contrived procedure: > > (define (foo x) > (cond >((integer? x) 42) >((and (number? x) (inexact? x)) 69) >(else 138))) > > This procedure is kind of silly but it resembles some real world code > I was debugging today. A call of (foo 8.2) s

bug#75590: ports.test: "SEEK_DATA while in hole" fails on some hosts

2025-02-28 Thread Ludovic Courtès
Hi Rob, Rob Browning skribis: > +(define (skip-unless-fs-handles-holes-as-expected) > + ;; For now only allow filesystems that should have the seek hole/data > + ;; semantics the tests expect. Filesystems vary both in how they > + ;; handle sparseness in general (e.g. granularity), how they

bug#76621: [PATCH] sxml: Fix typo in a comment.

2025-02-28 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > * module/sxml/xpath.scm: Fix typo in a comment. > * module/sxml/upstream/SXPath-old.scm: Same. > * doc/ref/sxml.texi (SXPath): Reflect in the documentation. Applied, thanks.

bug#76623: [PATCH] filesys.c: Use scm_sendfile to copy files.

2025-02-28 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > Use scm_sendfile instead of read-write loop. This moves the work into > the kernel, improving performance. This implements Ludovic's suggestion > from bug 68504. > > * libguile/filesys.c (scm_copy_file2): Use scm_sendfile. Nice! I had to apply the cha

bug#69998: [PATCH guile-web] libraries: Use guile-gnunet’s real name.

2025-02-26 Thread Ludovic Courtès
Hi, Florian Pelz skribis: > * website/apps/base/libraries-page.scm (guix->package)[real-name]: > Add special case. Finally applied. It won’t show up until someone redeploys the web site though… Ludo’.

bug#70645: Reliable HTTPS networking

2025-02-26 Thread Ludovic Courtès
Christopher Baines skribis: > As described in the GnuTLS documentation on Asynchronous operation, > GNUTLS_NONBLOCK should be passed to gnutls_init, and the Guile > equivalent is passing connection-flag/nonblock to make-session. > > Additionally, error/again or error/interrupted should lead to a

bug#75997: (ice-9 match): warning: unused variable `failure'

2025-02-26 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > (lambda (expr) > (let* ((v expr) > (failure >(lambda () > ((@@ (ice-9 match) throw) > 'match-error > "match" > "no matching pattern" > v) > #f))) > #f)

bug#76589: [PATCH] Exclude the finalizer thread from the ‘all-threads’ result.

2025-02-26 Thread Ludovic Courtès
Fixes . Fixes a bug whereby “echo '(environ)' | guile” would wrongfully trigger the multiple-thread warning. * libguile/finalizers.c (finalizer_thread): New variable. (finalization_thread_proc): Set it. (scm_i_is_finalizer_thread): New function. (run_finalization_threa

bug#74696: [PATCH 1/1] srfi-1: map!: Re-use cons cells of first argument.

2024-12-22 Thread Ludovic Courtès
Hi Juliana, Juliana Sims skribis: > * module/srfi/srfi-1.scm (map!): Re-use cons cells of first argument. Could you add a couple of tests under ‘test-suite/tests/srfi-1.test’? Apart from that it looks good to me. Thank you! Ludo’.

bug#74841: [PATCH] srfi-19: Fix ~V converter in date->string.

2024-12-22 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > The ~V is supposed to print ISO week number, not a week number. This > commit fixes that. > > * module/srfi/srfi-19.scm (date-week-number-iso): New procedure taken > from the reference implementation. > (directives)<#\V>: Use it. > * test-suite/tests/srf

bug#74840: [PATCH] doc: srfi-19: Use `day' instead of `date' for `make-date'.

2024-12-22 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > Looking at the SRFI-19 specification, the argument is called `day', not > `date'. Even the accessor is called `date-day'. So adjust the > documentation to match. > > Also adjust the (web http) module, which was using `date' as well. > > * doc/ref/srfi-module

bug#71300: [PATCH v3] doc: Document SRFI 64.

2024-12-22 Thread Ludovic Courtès
Hi Maxim, Maxim Cournoyer skribis: > This is an import of the 'Abstract', 'Rationale', and 'Specification' > sections from the upstream specification text, with some manual > adjustment. > > * doc/ref/srfi-modules.texi (SRFI 64): New subsection. Finally applied with the typographical changes be

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

2024-12-22 Thread Ludovic Courtès
Hi Ekaitz, Apologies for applying the wrong version of the patch series! I pushed the 3 patches you just sent: 6750f6cc8 * PEG: string-peg: Add HTML5 grammar test. 38ad26497 * PEG: string-peg: Better support for escaping. c86a48a92 * PEG: string-peg: Fix [^...] interpretation. I added com

bug#74557: Reverted 7379049d

2024-12-12 Thread Ludovic Courtès
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. Perfect, 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#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: > >

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

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 com

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

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/

bug#71047: [PATCH] doc: Recommend alist-copy instead of list-copy.

2024-10-26 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > The current recommendation of `list-copy' is not right and does not lead > to preserving the original list: > > scheme@(guile-user)> (define x (list (cons 'a 1) (cons 'b 2))) > scheme@(guile-user)> (define y (list-copy x)) > scheme@(guile-user)> (a

bug#71253: [PATCH] doc: minor typo fix

2024-10-26 Thread Ludovic Courtès
Nikolaos Chatzikonstantinou skribis: > From bfeb86d9c7c258ac67de9cdd0b6eabbc01ab0114 Mon Sep 17 00:00:00 2001 > From: Nikolaos Chatzikonstantinou > Date: Tue, 28 May 2024 23:27:38 -0400 > Subject: [PATCH] doc: minor typo fix > > The incorrect procedure is mentioned; see the example that immediat

bug#71684: [PATCH v4] doc: Document the peek and pk procedures.

2024-10-26 Thread Ludovic Courtès
Hi! Juliana Sims skribis: > * doc/ref/api-debug.texi: Document the peek and pk procedures. Nice work; documenting it was long overdue! Finally applied. Thank you and thanks to everyone who helped along the way! Ludo’.

bug#71800: [PATCH 0/2] Improve documentation about using modules.

2024-10-26 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > Document the #:hide argument. Correct text for implication of leaving > all optional arguments out. > > Tomas Volf (2): > doc: Document #:hide. > doc: Fix implication of omitting optional arguments. Applied, thanks!

bug#72208: [PATCH] doc: tour: note the top-level modules ice-9, scheme, and srfi

2024-10-26 Thread Ludovic Courtès
Hello, "Dr. Arne Babenhauserheide" skribis: > From 6838e4da9712425e7e45805a73731bb399d90a86 Mon Sep 17 00:00:00 2001 > From: Arne Babenhauserheide > Date: Sat, 20 Jul 2024 15:03:15 +0200 > Subject: [PATCH] doc: reference ice-9, scheme, and srfi > > * doc/ref/tour.texi (Using Modules): reference

bug#74031: [PATCH] srfi-64: Accept complex numbers in test-approximate.

2024-10-26 Thread Ludovic Courtès
Hi, (Cc: lloda.) Tomas Volf <~@wolfsden.cz> skribis: > The specification mandates reals, but the reference implementation > supports complex numbers. So as implementation extension, support them > as well. > > * module/srfi/srfi-64.scm (within-epsilon): Support complex arguments. > --- > Propos

bug#74030: [PATCH] srfi-64: Accept symbols as test group names.

2024-10-26 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > The specification mandates a string, but with rationale suggesting symbols > would be a more natural fit. > >> In some ways using symbols would be preferable. However, we want >> human-readable names, and standard Scheme does not provide a way to include >> sp

bug#73605: [PATCH] Replace SRFI-64 with a new implementation.

2024-10-26 Thread Ludovic Courtès
Hi, lloda skribis: > I'm pleased to see all these fixes. However, I noticed a few breakages. They > come from relying on undocumented behavior, but only using the public > interface, so others might be affected. I don't propose to patch them, but > perhaps to make a note in NEWS or (for the l

bug#71752: commit 57a889b72 breaks cross compilation of 32bit target on 64bit host

2024-10-20 Thread Ludovic Courtès
Hi, baldu...@units.it skribis: > commit 57a889b7282dab303c4cdc49cccbbe22f961bd1c: > > commit 57a889b7282dab303c4cdc49cccbbe22f961bd1c > Author: Jonas Hahnfeld > Date: Thu Feb 22 22:09:42 2024 +0100 > > build: Fix cross-compilation in out-of-tree-builds > > gen-scmco

bug#71980: [3.0.10] posix.test uses depcrecated tmpnam

2024-10-20 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > On 2024-07-07 09:27:14 -0700, Matt Wette wrote: >> With `--disable-tmpnam'  argument to configure, posix.test fails: missing >> `tmpnam`. >> >> patch attached > > There also is #71796 as a possible patch (since June 27th), which is arguably > bit smaller (albe

bug#73605: [PATCH] Replace SRFI-64 with a new implementation.

2024-10-20 Thread Ludovic Courtès
Tomas, I leave you the satisfaction of closing all the SRFI-64 bugs. :-) Ludo’.

bug#73605: [PATCH] Replace SRFI-64 with a new implementation.

2024-10-20 Thread Ludovic Courtès
Hi, Ludovic Courtès skribis: > Tomas Volf <~@wolfsden.cz> skribis: > >> The bundled (reference) implementation was of somewhat mixed quality and >> it failed to follow standard in multiple places. This commit replaces >> it with a new one, written from scratch t

bug#72547: [PATCH 4/9] filesys.c: Fix readlink for ports on Darwin.

2024-10-20 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > +#elif HAVE_FREADLINK > + /* There is no branch in s_scm_readlink that would lead to having both fd > and > + * non-empty c_path. Therefore if fd is set, we (on Darwin only) use > + * freadlink and ignore the c_path. On linux this case is already handl

bug#72547: [PATCH 9/9] posix.c: Set errno when pipe2 is not available and flags provided.

2024-10-20 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > --- a/libguile/posix.c > +++ b/libguile/posix.c > @@ -282,7 +282,7 @@ SCM_DEFINE (scm_pipe2, "pipe", 0, 1, 0, > /* 'pipe2' cannot be emulated on systems that lack it: calling > 'fnctl' afterwards to set the relevant flags is not equivalent >

bug#72547: [PATCH 3/9] tests: Skip hole-related port tests on Darwin.

2024-10-20 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > +(define (skip-on-darwin) > + (when (string-ci=? "darwin" (vector-ref (uname) 0)) > +(throw 'untested))) I changed (vector-ref (uname) 0) to (utsname:sysname (uname)) in this and other patches. (We might want to factorize this procedure. :-)) Ludo’.

bug#72547: [PATCH 0/9] Make test suite pass on macOS.

2024-10-20 Thread Ludovic Courtès
Hi Tomas, Tomas Volf <~@wolfsden.cz> skribis: > In my new work I sadly got a MacBook Pro. I obviously want to use Guile > on it, however while trying to package it, I discovered that the test > suite is not passing. This series remedies that. Most of the fixes are > just in tests, but two are

bug#73031: [PATCH] Fix gbt command in gdbinit

2024-10-20 Thread Ludovic Courtès
Hi, bren...@umanwizard.com skribis: > From: Brennan Vincent > > In 2009 when this was written, SCM_UNDEFINED was 0x704. Now it's 0x904. Good catch! Applied, thanks. Ludo’.

bug#72685: [PATCH] Fix typo in dynamic wind documentation.

2024-10-20 Thread Ludovic Courtès
Andrew McNulty skribis: > From d7cfbd594b53e26a08e639ee0c3d2dfa55c28067 Mon Sep 17 00:00:00 2001 > From: Andrew McNulty > Date: Sat, 17 Aug 2024 11:57:36 +0100 > Subject: [PATCH] Fix typo in dynamic wind documentation. > > * doc/ref/api-control.texi: Fix typo in dynamic wind > documentation. Ap

bug#73589: system* does not honor SIGINT restoration in child

2024-10-20 Thread Ludovic Courtès
Hi, Olivier Dion skribis: > and its ouput from various executions: > > 1) $ ./a.out => (nil) 0x1 (nil) > 2) $ guile -c '(system "./a.out")' => (nil) 0x1 (nil) > 3) $ guile -c '(system* "./a.out")' => 0x1 0x1 (nil) > > We can see that 3) does not honor restoration of `SIGINT' to `SIG_DFL' >

bug#73787: Typo in manual: Missing parentheses in SRFI-1

2024-10-20 Thread Ludovic Courtès
Hi Arne, "Dr. Arne Babenhauserheide" skribis: > From 206ebc461a5ecc9a44143d43daf6f1ec5c0680b6 Mon Sep 17 00:00:00 2001 > From: Arne Babenhauserheide > Date: Sun, 13 Oct 2024 14:57:30 +0200 > Subject: [PATCH] fix typo in manual, thanks to 8dcc > > * doc/ref/srfi-modules.texi (SRFI-1 Fold and Map

bug#73167: [PATCH] Fix setjmp/longjmp-related crashes on Windows

2024-10-20 Thread Ludovic Courtès
Hi Michael, Michael Käppler skribis: > From f9222ec96209c59c9a9a409c019ff59c0c20917c Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Michael=20K=C3=A4ppler?= > Date: Sat, 7 Sep 2024 22:52:22 +0200 > Subject: [PATCH] Fix setjmp/longjmp-related crashes on Windows > > * libguile/Makefile.am: add new he

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

2024-10-20 Thread Ludovic Courtès
Egun on Ekaitz, Ekaitz Zarraga skribis: > - What it is true is if people were using `peg-as-peg` for their > things, which isn't even exported by the module, their code would > have problems. But we can't predict that. Since ‘peg-as-peg’ has always been private, that’s fine. > From 81944c2

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

2024-10-14 Thread Ludovic Courtès
Saluton! Ekaitz Zarraga skribis: > On 2024-10-13 22:29, Ludovic Courtès wrote: >> Hi Ekaitz, >> Ekaitz Zarraga skribis: [...] >>> It adds support for the missing features (comments, underscores in >>> identifiers and escaping) while keeping the extensions

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

2024-10-13 Thread Ludovic Courtès
Hi Ekaitz, Ekaitz Zarraga skribis: > This commit adds support for PEG as described in: > > I would make this a comment below the ‘define-module’ form. > It adds support for the missing features (comments, underscores in > identifiers and escaping) whil

bug#73605: [PATCH] Replace SRFI-64 with a new implementation.

2024-10-13 Thread Ludovic Courtès
Hi Tomas, Tomas Volf <~@wolfsden.cz> skribis: > The bundled (reference) implementation was of somewhat mixed quality and > it failed to follow standard in multiple places. This commit replaces > it with a new one, written from scratch to follow the standard as close > as possible. > > * module/s

bug#72936: Compiler in 3.0.10 crashes when inlining 3.0.9 procedure with kw args

2024-09-27 Thread Ludovic Courtès
Fixed by 90e1205018f13c86355517c85db8cf82952c6e98. Thank you, Andy! Ludo’.

bug#71891: bug#72913: Guile 3.0.10 fails to build for powerpc-darwin (3.0.9 built earlier)

2024-09-27 Thread Ludovic Courtès
Hi, Rob Browning skribis: > In language/cps/switch.scm: > 99:36 6 (fold-branch-chains # _ _ # optimize-branch-chain (var exit tests cps)> _) > 343:8 5 (optimize-branch-chain 3346 7427 (6771 6772 6773 6901 7029 > 7157 7285) _) > In ice-9/boot-9.scm: > 260:13 4 (for-each #

bug#72407: Guile 3.0.10 fails to run tests

2024-09-04 Thread Ludovic Courtès
Hi, Tommi Höynälänmaa skribis: >> I tried to reproduce it but building from >> >> fails much earlier for me: [...] >> Are you applying additional patches? > > Do you mean patches to guile? No sorry, I meant patches t

bug#72936: Compiler in 3.0.10 crashes when inlining 3.0.9 procedure with kw args

2024-09-01 Thread Ludovic Courtès
Hello, Here are two modules where one refers to a binding from the other: --8<---cut here---start->8--- $ cat three-oh-nine.scm (define-module (three-oh-nine) #:export (proc-with-kw-arg) #:declarative? #t) (define* (proc-with-kw-arg one #:optional three #:

bug#72407: Guile 3.0.10 fails to run tests

2024-09-01 Thread Ludovic Courtès
Hi, Tommi Höynälänmaa skribis: > Running tests for package theme-d > (http://deb.debian.org/debian/pool/main/t/theme-d/theme-d_5.1.2.orig.tar.xz) > fails with guile 3.0.10 but works with 3.0.8. See also > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074756. The ‘theme-d’ build log therein

bug#72913: Guile 3.0.10 fails to build for powerpc-darwin (3.0.9 built earlier)

2024-09-01 Thread Ludovic Courtès
Hi Sergey, Sergey Fedorov skribis: > :info:build In language/cps/guile-vm.scm: > :info:build 89:31 2 (target-symbol-hash _) > :info:build 41:18 1 (jenkins-lookup3-hashword2 > "call-with-escape-continuation") > :info:build In ice-9/boot-9.scm: > :info:build 1676:22 0 (raise-exception

bug#72215: Compiler error building 3.0.10 on 32-bit platforms

2024-07-20 Thread Ludovic Courtès
Hi, The following compilation error occurs on i686-linux: --8<---cut here---start->8--- BOOTSTRAP(stage1) GUILEC ice-9/control.go wrote `language/cps/verify.go' BOOTSTRAP(stage1) GUILEC ice-9/copy-tree.go wrote `ice-9/copy-tree.go' BOOTSTRAP(stage1) GUILE

bug#70144: system* affects signal handlers

2024-05-06 Thread Ludovic Courtès
Hi, Josselin Poiret skribis: > Yes, I believe this is all taken care of by our use of posix_spawn > (which was the point in the first place :) ). Yup! I pushed the fix as 4ae33f76d6b33ea0bedfa36050d44c88d08c2823. Thanks, Ludo’.

bug#67063: unread-string does not match documented functionality

2024-05-06 Thread Ludovic Courtès
Hi Juliana, Juliana Sims skribis: > This patch simply fixes bug 67063. > > Thanks, > Juli > > * doc/ref/api-io.texi (Venerable Port Interfaces): Bring unread-string > procedure documentation in line with other procedures in the section. > * libguile/ports.c (scm_unread_string): Make port argumen

bug#70142: [PATCH] Fix error messages containing format strings

2024-05-06 Thread Ludovic Courtès
Hi Michael, Michael Käppler skribis: > The reason is that format strings occurring in the message are > escaped, see `module/ice-9/boot-9.scm`  and > `module/language/tree-il/primitives.scm`. > > So a call of > > `(error "Wrong argument: ~a" 42)` > > is rendered as > > "Wrong argument: ~a 42" >

bug#69921: [PATCH] eval-string: Fix setting port column

2024-05-06 Thread Ludovic Courtès
Jonas Hahnfeld skribis: > On Thu, 2024-03-14 at 17:11 +0600, Nikita Domnitskii wrote: >> --- >> module/ice-9/eval-string.scm | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/module/ice-9/eval-string.scm b/module/ice-9/eval-string.scm >> index ea0f1..9cac03632 1006

bug#69315: [PATCH] Build system fixes

2024-05-06 Thread Ludovic Courtès
Hi Jonas, Jonas Hahnfeld skribis: > From 428d1b17c5f664d3cb8da4cd5687bd47bdd87877 Mon Sep 17 00:00:00 2001 > From: Jonas Hahnfeld > Date: Thu, 22 Feb 2024 21:57:41 +0100 > Subject: [PATCH 1/2] build: Make sed invocation fully portable > > Commit 08041d216f attempted to make the "invocation comp

bug#69314: [PATCH] Speed up stage0 bootstrap build using prebuilts

2024-05-06 Thread Ludovic Courtès
Hi Jonas, Jonas Hahnfeld skribis: > On Thu, 2024-01-04 at 11:57 +0100, Jonas Hahnfeld wrote: >> From 95f15821c535537c7ad4fdae1988855314d56ece Mon Sep 17 00:00:00 2001 >> From: Jonas Hahnfeld >> Date: Thu, 4 Jan 2024 11:44:55 +0100 >> Subject: [PATCH] Speed up stage0 bootstrap build using prebui

bug#68878: [PATCH] Fix typos throughout codebase.

2024-05-06 Thread Ludovic Courtès
Hi Morgan, Applied, with one exception: Morgan Smith skribis: > * lib/alloca.in.h: > * lib/c-ctype.h: > * lib/malloca.h: > * lib/nstrftime.c: > * lib/verify.h: > * lib/xalloc-oversized.h: Since these files come from Gnulib, not from Guile, I left them unchanged. Thanks! Ludo’.

bug#69730: Segfault in (spawn) when passed wrong port

2024-05-06 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > When I pass #f to spawn as a port, it just segfaults: > > $ guile -c '(spawn "true" (list "") #:error #f)' > Segmentation fault This was fixed a while back in the ‘main’ branch: --8<---cut here---start->8--- $

bug#70144: system* affects signal handlers

2024-05-02 Thread Ludovic Courtès
Hi, Mikael Djurfeldt skribis: > system* temporarily re-binds signal handlers to prevent the child process > from killing the parent. Thus, it is not thread safe with regard to SIGINT > (or SIGQUIT if available). So, your code has a race condition with respect > to the signal handler. This common

bug#68504: [PATCH v3] Add copy-on-write support to scm_copy_file.

2024-03-21 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > Sure, I am willing to do my part. I managed to find this blog post[0], so > after > some minor troubles I did manage to get a VM with GNU/Hurd running. Next I > will > read up on copy_file_range and try to put together a patch. It’s really just (serv

bug#68504: [PATCH v3] Add copy-on-write support to scm_copy_file.

2024-03-12 Thread Ludovic Courtès
Hi Tomas, Tomas Volf <~@wolfsden.cz> skribis: > On modern file-systems (BTRFS, ZFS) it is possible to copy a file using > copy-on-write method. For large files it has the advantage of being > much faster and saving disk space (since identical extents are not > duplicated). This feature is stabl

bug#66531: [PATCH] ftw: Fix getuid-or-false, getgid-or-false macros.

2024-01-29 Thread Ludovic Courtès
Tomas Volf skribis: > Both macros were missing a quote for the procedure call, causing the > actual return value to be compiled into the ftw.go, instead of the > procedure call. Snippet from disassembly of ftw.go does confirm that: > > 55(make-immediate 2 3990) ;; 997

bug#68505: [PATCH v2] Add more detailed instructions into the HACKING file.

2024-01-29 Thread Ludovic Courtès
Tomas Volf <~@wolfsden.cz> skribis: > Until now, the ./meta/guile was not mentioned anywhere, and therefore it > was not obvious how to run the locally compiled Guile without installing > it. > > While modifying the file, I took the liberty to also mention a bit about > compiling Guile using Guix.

bug#61058: [PATCH v2] Fix asymetric mutex locking when joining thread.

2024-01-25 Thread Ludovic Courtès
Hello, Olivier Dion skribis: > If `join-thread' timeout, the thread mutex is not unlocked, resulting in > deadlock to the next call to it or deadlock of the thread itself when it > terminates. > > Thus, always unlock the mutex. > > Fix: #55356 > > * module/ice-9/threads.scm (join-thread): Always

bug#68087: Signal handlers not called after ‘primitive-fork’

2024-01-24 Thread Ludovic Courtès
Ludovic Courtès skribis: > Fixes <https://bugs.gnu.org/68087>. > > * libguile/scmsigs.h (scm_i_signals_pre_fork, scm_i_signals_post_fork): > New declarations. > (scm_i_signal_delivery_thread): Change type to SCM.. > * libguile/threads.c (scm_all_threads): Adjust according

bug#68504: [PATCH] Add copy-on-write support to scm_copy_file.

2024-01-24 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > On modern file-systems (BTRFS, ZFS) it is possible to copy a file using > copy-on-write method. For large files it has the advantage of being > much faster and saving disk space (since identical extents are not > duplicated). This feature is stable and

bug#68505: [PATCH v2] Add more detailed instructions into the HACKING file.

2024-01-24 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > Until now, the ./meta/guile was not mentioned anywhere, and therefore it > was not obvious how to run the locally compiled Guile without installing > it. > > While modifying the file, I took the liberty to also mention a bit about > compiling Guile using

bug#68507: [PATCH] doc: Fix example in list-transduce example.

2024-01-24 Thread Ludovic Courtès
Hi, Tomas Volf <~@wolfsden.cz> skribis: > While the `.' might be correct from a grammatical point of view (I do > not know), it turns the example into invalid scheme code, which is not > ideal. New users (like me) might try to copy the whole line and wonder > why it does not work (like I did).

bug#63366: Docs: Revise or delete reference to “benevolent dictators” in Manual Introduction

2024-01-24 Thread Ludovic Courtès
Hi, Sebastian Carlos skribis: > My suggestion is to delete the sentence altogether. I think the paragraph > still makes sense without it, as the reader gets enough information to > understand how Scheme differs from other programming languages. I’ve (finally) removed that sentence. Thanks! Lu

bug#68087: [PATCH] Stop signal thread before forking, restart it afterwards.

2024-01-05 Thread Ludovic Courtès
Fixes . * libguile/scmsigs.h (scm_i_signals_pre_fork, scm_i_signals_post_fork): New declarations. (scm_i_signal_delivery_thread): Change type to SCM.. * libguile/threads.c (scm_all_threads): Adjust accordingly and exclude threads that have ‘t->exited’. Access ‘thread_c

bug#68087: Signal handlers not called after ‘primitive-fork’

2023-12-28 Thread Ludovic Courtès
In 3.0.9 and current ‘main’, I get this: --8<---cut here---start->8--- $ cat sigaction-fork.scm (use-modules (ice-9 match)) ;; This call spawns the signal delivery thread as a side effect. (sigaction SIGALRM (lambda (signal) (pk 'got-signal! signal))) (m

bug#64293: [PATCH] doc: Use archived URL from Internet Archive for syntax-rules primer.

2023-07-16 Thread Ludovic Courtès
Hi, Bruno Victal skribis: > * doc/ref/api-macros.texi (Syntax Rules): Use archived URL from > Internet Archive for syntax-rules primer. Finally applied, thanks! Ludo’.

bug#62690: Guile 3.0.9 (read-u8) defaults to current-output-port

2023-07-16 Thread Ludovic Courtès
Hi, Rui Zhang skribis: > In scheme/base.scm: > > (define* (read-u8 #:optional (port (current-output-port))) > (get-u8 port)) > > I think this is a typo, where current-output-port should be > current-input-port? Oops, fixed, thanks! Ludo’.

bug#62691: Calling system* in the module body hangs Guile, while calling open-pipe* does not

2023-07-16 Thread Ludovic Courtès
Hi, Timothy Sample skribis: >>From 6b6792c7a21de9be1825719bfca0f01177381cf9 Mon Sep 17 00:00:00 2001 > From: Timothy Sample > Date: Tue, 11 Apr 2023 10:22:46 -0600 > Subject: [PATCH] Avoid module resolution in 'call-with-new-thread'. > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8

bug#62729: [PATCH] Fix dangling pointers in `environ'

2023-07-16 Thread Ludovic Courtès
Hi Olivier, Olivier Dion skribis: > From: Olivier Dion > > When calling `environ', Guile set the global variable `environ' to a > list allocated with the GC. Strings in it are also allocated with the > GC. > > However, if an user call the Scheme setenv() procedure, the resulting > call to pute

bug#63805: [PATCH] Fix typos throughout codebase

2023-07-16 Thread Ludovic Courtès
Hi, Morgan Smith skribis: > Fix typos. > --- > > I do hope the commit message is good enough. Anything more specific would be > hard. > > This was more of an undertaking then I initally thought so I didn't actually > get through as much of the repository as I wanted. I can imagine. :-) Final

bug#64666: Nested ‘scm_sigaction_for_thread’ calls lead to deadlock

2023-07-16 Thread Ludovic Courtès
Ludovic Courtès skribis: > It’s possible for ‘sigaction’ (aka. ‘scm_sigaction_for_thread’) to run > asyncs, which in turn call ‘scm_sigaction_for_thread’ for the very same > thread, leading to a deadlock: Fixed in 85520354a8f5de0366c4ac3eb5403aeb27c9515e. Ludo’.

bug#64666: Nested ‘scm_sigaction_for_thread’ calls lead to deadlock

2023-07-16 Thread Ludovic Courtès
Hello, It’s possible for ‘sigaction’ (aka. ‘scm_sigaction_for_thread’) to run asyncs, which in turn call ‘scm_sigaction_for_thread’ for the very same thread, leading to a deadlock: --8<---cut here---start->8--- (gdb) bt #0 0x7f823bcdf32b in __lll_lock_wait

bug#62501: [3.0.9] ‘spawn’ test fails on GNU/Hurd, due to $LD_ORIGIN_PATH

2023-04-02 Thread Ludovic Courtès
Ludovic Courtès skribis: > On GNU/Hurd, the ‘exec’ server always sets ‘LD_ORIGIN_PATH’ in the > environment of programs it executes—see ‘do_exec’ in ‘exec/exec.c’. > Consequently, the ‘spawn’ test that checks environment variables fails: > > Running posix.test > UNRESOLVED: po

bug#61095: possible misuse of posix_spawn API on non-linux OSes

2023-04-02 Thread Ludovic Courtès
Hi! Omar Polo skribis: > On 2023/03/30 22:21:28 +0200, Josselin Poiret wrote: >> Hi Ludo, >> >> Ludovic Courtès writes: >> >> > Coming next is an updated patch series addressing this as proposed >> > above. Let me

bug#61095: [PATCH 1/3] 'spawn' closes only open file descriptors on non-GNU/Linux systems.

2023-03-29 Thread Ludovic Courtès
Fixes . Reported by Omar Polo . * libguile/posix.c (close_inherited_fds_slow): On systems other than GNU/Linux, call 'addclose' only when 'fcntl' succeeds on MAX_FD. --- libguile/posix.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --

bug#61095: [PATCH 3/3] Use 'posix_spawn_file_actions_addclosefrom_np' where available.

2023-03-29 Thread Ludovic Courtès
* configure.ac: Check for 'posix_spawn_file_actions_addclosefrom_np'. * libguile/posix.c (HAVE_ADDCLOSEFROM): New macro. (close_inherited_fds): Wrap in #ifdef HAVE_ADDCLOSEFROM. (do_spawn) [HAVE_ADDCLOSEFROM]: Use 'posix_spawn_file_actions_addclosefrom_np'. --- configure.ac | 4 +++- libguile

bug#61095: [PATCH 2/3] Remove racy optimized file descriptor closing loop in 'spawn'.

2023-03-29 Thread Ludovic Courtès
This reverts 9332b632407894c2e1951cce1bc678f19e1fa8e4, thereby reinstating the performance issue in . This optimization was subject to race conditions in multi-threaded code: new file descriptors could pop up at any time and thus leak in the child. * libguile/posix.c (

bug#61095: possible misuse of posix_spawn API on non-linux OSes

2023-03-29 Thread Ludovic Courtès
Hi! Josselin Poiret skribis: > Ludovic Courtès writes: > >> - posix_spawn_file_actions_addclose (actions, fd); >> + /* Adding invalid file descriptors to an 'addclose' action leads >> + to 'posix_spawn' failures on some operating

bug#61095: possible misuse of posix_spawn API on non-linux OSes

2023-03-28 Thread Ludovic Courtès
Hi Omar, Apologies for the late reply. Omar Polo skribis: > I've noticed that test-system-cmds fails on OpenBSD-CURRENT while > testing the update to guile 3.0.9: > > test-system-cmds: system* exit status was 127 rather than 42 > FAIL: test-system-cmds We’re seeing the same failure on

bug#62501: [3.0.9] ‘spawn’ test fails on GNU/Hurd, due to $LD_ORIGIN_PATH

2023-03-28 Thread Ludovic Courtès
On GNU/Hurd, the ‘exec’ server always sets ‘LD_ORIGIN_PATH’ in the environment of programs it executes—see ‘do_exec’ in ‘exec/exec.c’. Consequently, the ‘spawn’ test that checks environment variables fails: --8<---cut here---start->8--- Running posix.test UNRESO

bug#62469: ‘throw’ introduces a continuation barrier

2023-03-26 Thread Ludovic Courtès
‘throw’ introduces a continuation barrier as of Guile 3.0.9: --8<---cut here---start->8--- $ cat ~/src/guile-debugging/suspendable-continuation.scm (use-modules (ice-9 control)) (let ((tag (make-prompt-tag))) (call-with-prompt tag (lambda () (catch

bug#62290: Error when handling invalid unicode with suspendable ports

2023-03-20 Thread Ludovic Courtès
Hello, Christopher Baines skribis: > Based on the implementation in ports.c. I don't understand what this > code is really doing, but the suspendable ports implementation differs > from the similar C code for a couple of inequalities. > > * module/ice-9/suspendable-ports.scm (decode-utf8, bad-u

bug#56413: [PATCH v3 1/1] scm_i_utf8_string_hash: compute u8 chars not bytes

2023-03-13 Thread Ludovic Courtès
Hi Rob, Rob Browning skribis: > Noticed while investigating a migration to utf-8 strings. After making > changes that routed non-ascii symbol hashing through this function, > encoding-iso88597.test began intermittently failing because it would > traverse trailing garbage when u8_strnlen reporte

bug#56413: [PATCH v2 1/1] scm_i_utf8_string_hash: compute u8 chars not bytes

2023-03-06 Thread Ludovic Courtès
Hi, Rob Browning skribis: > Noticed while investigating a migration to utf-8 strings. After making > changes that routed non-ascii symbol hashing through this function, > encoding-iso88597.test began intermittently failing because it would > traverse trailing garbage when u8_strnlen reported 8

  1   2   3   4   5   6   7   8   9   10   >