Subject: bug#68895: `guix repl` breaks Guile REPL features

From: 45mg <[email-masked]>
Date: Sat, 04 Jan 2025 13:25:18 -0500

Adriel Dumas--Jondeau <[email-masked]> writes:

> (guix-user)> ,use (guix scripts build)
> (guix-user)> ,trace (guix-build "hello") ; doesn't output any trace for some reason

It looks like this isn't the only REPL command that doesn't work in
`guix repl`. I haven't done anything close to a full investigation (I am
new to using Guile!), but many other commands simply don't work.

For example, breakpoints are not respected.
`guix repl`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,break my-f
Trap 0: Breakpoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---
`guile`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,break my-f
Trap 0: Breakpoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---

Neither are tracepoints.
`guix repl`:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> (define (my-f x) (+ x 1))
scheme@(guix-user)> ,tracepoint my-f
Trap 0: Tracepoint at #<procedure my-f (x)>.
scheme@(guix-user)> (my-f 2)
$1 = 3
--8<---------------cut here---------------end--------------->8---
`guile`:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (define (my-f x) (+ x 1))
scheme@(guile-user)> ,tracepoint my-f
Trap 0: Tracepoint at #<procedure my-f (x)>.
scheme@(guile-user)> (my-f 2)
Trap 0: (my-f 2)
Trap 0: 3
$1 = 3
--8<---------------cut here---------------end--------------->8---