[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How can I tell guile to shut up? ;)
From: |
Andy Wingo |
Subject: |
Re: How can I tell guile to shut up? ;) |
Date: |
Fri, 01 Jul 2011 10:03:23 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
Hi,
On Thu 30 Jun 2011 23:37, address@hidden (Ludovic Courtès) writes:
> Andy Wingo <address@hidden> skribis:
>
>> After some thinking, the base thing to do is just to add a warning port,
>> and make warnings (non-fatal informative messages) write to that port.
>> I have done this in the attached patches. Any objections?
>
> Ideally I’d preferred to keep current-warning-port in (system base
> message), but since it’s needed in boot-9, we may have to make it
> global. Or would the following work?
Yeah I tried to do that, but since it's needed in C (potentially quite
early, even before modules) and in Scheme I just bit the bullet and
added it to the default env.
> (define-module (guile-user)
> #:autoload (system base compile) (compile compile-file)
> + #:autoload (system base message) (%current-warning-port)
> #:filename #f)
Wouldn't work, because it's needed in (guile), not (guile-user).
> Besides, it would be great if ‘*current-warning-prefix*’ were handled
> consistently, too. All this could certainly be factorized in a Scheme/C
> function that takes care of using the right port and prefix.
It would, but then you're talking about standardizing a `warning'
function, and that's problematic, as some warnings will have source
locations and others will not, and we already have `warn' in the base
env which has a rest arg so it's not extensible with keywords, etc etc,
and system base message is really about compiler warnings (requiring
source location) and not all warnings, so it's a bit of a mess. (And
that's not to mention more general logging facilities, with levels and
categories and such.)
Note that it is also possible to prefix all output with soft ports.
Basically I appreciate the concerns but have not found a way to solve
the whole problem nicely, so I kept it simple. As it seems we agree on
the need for higher-level solutions based on a warning port accessible
in (guile) and C, I'm going to see about committing something along
these lines, and we can work on higher-level warning facilities later.
Regards,
Andy
--
http://wingolog.org/
- Re: How can I tell guile to shut up? ;),
Andy Wingo <=
- Re: How can I tell guile to shut up? ;), Andy Wingo, 2011/07/01
- Re: How can I tell guile to shut up? ;), Ludovic Courtès, 2011/07/01
- Re: How can I tell guile to shut up? ;), Andy Wingo, 2011/07/01
- Re: How can I tell guile to shut up? ;), Ludovic Courtès, 2011/07/04
- Fluids vs parameters: which API is better?, Mark H Weaver, 2011/07/18
- Re: Fluids vs parameters: which API is better?, Andy Wingo, 2011/07/19
- Re: Fluids vs parameters: which API is better?, BT Templeton, 2011/07/24
- Re: Fluids vs parameters: which API is better?, Ludovic Courtès, 2011/07/25
- Re: Fluids vs parameters: which API is better?, Andy Wingo, 2011/07/25