emacs-devel
[Top][All Lists]
Advanced

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

Re: Please try Pmail


From: Chong Yidong
Subject: Re: Please try Pmail
Date: Wed, 21 Jan 2009 10:06:52 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

"Stefan Monnier" <address@hidden> writes:

>> The annotation functions would need to add functions to that hook when
>> they are run.
>
> Not really.  When they switch to another buffer, they may need to adjust
> that hook in that buffer.  The default value could be `kill-buffer', so
> as to preserve current behavior.
>
>> Another idea: allow a new type of return value for annotation functions,
>> and use this to keep track of buffers to be killed.  For example, allow
>> annotation functions to return (FUN1 . FUN2), where FUN1 and FUN2 are
>> lambda functions.  Then FUN1 is called during annotation, and FUN2 is
>> called after other annotations have taken place.
>
> Since they return a buffer already, we may as well store the FUN2
> inside that buffer (as a buffer-local var).

They don't return a buffer.  They switch to a different buffer, and
return nil.

Here's one reason against adding a new hook to post-process annotations:
to do this particular job right, we need to run all the hook functions
in all the buffers that have been swapped to (so as to pick up their
local values).  This violates the usual behavior of run-hooks, which
only runs the buffer-local value of the hook, followed by the global
value of the hook.  The lambda function idea tries to avoid this by
making the post-processing part of the annotations process.




reply via email to

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