>>>>> In Katsumi Yamaoka wrote: > Anyway, I'll make an effort to implement SWITCH-FUNCTION and > CONTINUE arguments in Gnus. Done. I have not committed it yet, though. The patch to the v5-10 branch is attached. It can also be applied to the Gnus trunk with a slight hand work. Now `gnus-user-agent' and `message-user-agent' regard CONTINUE and SWITCH-FUNCTION arguments. For instance, whenever you eval the following form, you will be brought to the message buffer named "*mail to whom*": (let ((mail-user-agent 'gnus-user-agent)) (compose-mail "whom" nil nil t 'pop-to-buffer)) If `message-mail-user-agent' is set to a certain agent, Message passes SWITCH-FUNCTION and CONTINUE arguments to that agent. For example, this lets Gnus use `sendmail-user-agent' to compose a mail: (let ((mail-user-agent 'gnus-user-agent) (message-mail-user-agent 'sendmail-user-agent)) (compose-mail "whom" nil nil t 'pop-to-buffer)) Furthermore, I slightly changed the meaning of the nil value of `message-generate-new-buffers' and made the value t the same as the value `unique'. While the nil value made a buffer with a name such as "*mail message*" formerly, it now uses a name as what the value `unique' uses, like "*mail to whom*". The difference between nil and `unique' is that nil uses an existing message buffer if any but `unique' always uses a new message buffer. This fits the name of the variable, doesn't it? Note that nil distinguishes the buffer "*mail to whom*" from the buffer "*mail*". In other words, the value nil never uses the existing buffer named "*mail*" when it is made to use the buffer named "*mail to whom*". The new value `standard' is similar to nil but is for those who like simpler "*mail message*" names. If there's no comment, I will install those changes. In addition, I've also revised message-multiple-frames.el so as to agree those changes. It is avalable at: ftp://ftp.jpl.org/pub/elisp/ or http://www.jpl.org/ftp/pub/elisp/ Regards,