guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Doing more with the new frames


From: Marius Vollmer
Subject: Doing more with the new frames
Date: Sun, 04 Jan 2004 02:08:41 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Ok,

so the manual now says

    [...] For example, you can register a cleanup routine with
    scm_on_unwind that is executed when the frame is left.  There are
    several other more specialized frame actions as well, for example
    to temporarily block the execution of asyncs or to temporarily
    change the current output port.  They are described elsewhere in
    this manual.

How far do we want to go with this?  Is it even a good idea?

For example, the next thing would be do offer scm_block_asyncs and
scm_unblock_asyncs that could be used like

    scm_begin_frame (SCM_F_FRAME_REWINDABLE);
    scm_block_asyncs ();
    
    [ asyncs are blocked here. ]

    scm_end_frame ();

This is quite nice I think, when you get the idea and use
scm_block_async correctly.  However, when people see scm_block_asyncs
and scm_unblock_asyncs in async.h, they might be inclined to use them as

    scm_block_asyncs ();

    [ asyncs are blocked here? ]

    scm_unblock_asyncs ();

This would be quite wrong.  Ok, scm_block_asyncs is probably unique
since there is also scm_unblock_asyncs which wouldn't be there for,
say, scm_with_current_output.

Should we worry?

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405




reply via email to

[Prev in Thread] Current Thread [Next in Thread]