Hi Thomas - AFAICT :options is not meaningful for a function type. I think you should use choice type for this instead. This allows sensible documentation for the choices in the customization interface too. I sent a patch earlier to fix a similar issue [1], please have a look at that for an example. (Unfortunately, it hasn't been applied, like many other emacs patches by me and others. I hope yours will make it. I've given up trying until I see some progress in that front.) [1] http://permalink.gmane.org/gmane.mail.notmuch.general/5602 BR, Jani. On Tue, 11 Oct 2011, Thomas Jost wrote: > --- > emacs/notmuch-mua.el | 21 +++++++++++++++++++-- > 1 files changed, 19 insertions(+), 2 deletions(-) > > diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el > index 8824b08..639407f 100644 > --- a/emacs/notmuch-mua.el > +++ b/emacs/notmuch-mua.el > @@ -31,6 +31,20 @@ > :group 'notmuch > :type 'hook) > > +(defcustom notmuch-mua-switch-function nil > + "Function used to switch to and display a new mail buffer. If > +this is `nil' then the buffer will be displayed in the current > +window. Other common values are `switch-to-buffer-other-frame' > +and `switch-to-buffer-other-window'. If you change this, you may > +also want to change `message-sent-hook' accordingly: > + (setq notmuch-muas-witch-function 'switch-to-buffer-other-frame) > + (add-hook 'message-sent-hook '(delete-frame))" > + :group 'notmuch > + :type 'function > + :options '(nil > + switch-to-buffer-other-frame > + switch-to-buffer-other-window)) > + > (defcustom notmuch-mua-user-agent-function 'notmuch-mua-user-agent-full > "Function used to generate a `User-Agent:' string. If this is > `nil' then no `User-Agent:' will be generated." > @@ -99,7 +113,8 @@ list." > ((same-window-regexps '("\\*mail .*"))) > (notmuch-mua-mail (mail-header 'to headers) > (mail-header 'subject headers) > - (message-headers-to-generate headers t '(to subject)))) > + (message-headers-to-generate headers t '(to subject)) > + nil notmuch-mua-switch-function)) > ;; insert the message body - but put it in front of the signature > ;; if one is present > (goto-char (point-max)) > @@ -112,6 +127,8 @@ list." > (message-goto-body)) > > (defun notmuch-mua-forward-message () > + (when notmuch-mua-switch-function > + (funcall notmuch-mua-switch-function (current-buffer))) > (message-forward) > > (when notmuch-mua-user-agent-function > @@ -199,7 +216,7 @@ the From: address first." > (let ((other-headers > (when (or prompt-for-sender notmuch-always-prompt-for-sender) > (list (cons 'from (notmuch-mua-prompt-for-sender)))))) > - (notmuch-mua-mail nil nil other-headers))) > + (notmuch-mua-mail nil nil other-headers nil notmuch-mua-switch-function))) > > (defun notmuch-mua-new-forward-message (&optional prompt-for-sender) > "Invoke the notmuch message forwarding window. >