On Sun, Oct 06, 2024 at 07:13:02AM -0700, Matt Wette wrote:
Hi All,
I'm working on an update to guile to output some messages (e.g.,
auto-compile) to a new
`current-info-port', which is set to stderr by default. I also added
update to output the
welcome message, ending in "Enter `,help' for help.". However, this breaks
the
`00-repl-server' test which is looking for that message. The test forks
guile and closes stderr,
so it won't see the message ordinarily. I tried to fix by setting
`current-info-port' to
`current-output-port'. But that does not work. I now see the welcome
message printed to
the screen during the test. I guess the message is sitting in the stderr
output buffer before
the fork happens. So, options are:
1) Leave welcome message as is, going to stdout.
2) Find a way to make 00-repl-server.test work.
3) Initialize current-info-port to stdout (ugly)
4) Add some other hook in system/repl/common.scm(repl-welcome) to deal with
it (ugly)
Any ideas?
Hm. Tough question. I think what the test reminds us of is that
your default above (stderr) is a backward-incompatible change,
so I'd be very coutious about that. Who knows whose's code this
might break (besides the test).
So leaving `current-info-port' at stdout as default seems the
safest bet.
Perhaps a command-line option to set `current-info-port' to one
of several useful values (i.e. stderr, but also a void port)
might be helpful.