comparison lisp/utils/reporter.el @ 195:a2f645c6b9f8 r20-3b24

Import from CVS: tag r20-3b24
author cvs
date Mon, 13 Aug 2007 09:59:05 +0200
parents ac2d302a0011
children
comparison
equal deleted inserted replaced
194:2947057885e5 195:a2f645c6b9f8
90 90
91 91
92 ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 92 ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
93 ;; End user interface 93 ;; End user interface
94 94
95 ;; XEmacs -- don't autoload
96 (defvar mail-user-agent 'sendmail-user-agent
97 "*Your preference for a mail composition package.
98 Various Emacs Lisp packages (e.g. reporter) require you to compose an
99 outgoing email message. As there are several such packages available
100 for Emacs, you can indicate your preference by setting this variable.
101
102 Valid values currently are:
103
104 'sendmail-user-agent -- use Emacs built-in Mail package
105 'vm-user-agent -- use Kyle Jones' VM package
106 'mh-e-user-agent -- use the Emacs interface to the MH mail system
107
108 Additional valid symbols may be available; check with the author of
109 your package for details.")
110
111
112
113 ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 95 ;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
114 ;; Package author interface variables 96 ;; Package author interface variables
115 97
116 (defvar reporter-prompt-for-summary-p nil 98 (defvar reporter-prompt-for-summary-p nil
117 "Interface variable controlling prompting for problem summary. 99 "Interface variable controlling prompting for problem summary.
467 reporter-initial-text)) 449 reporter-initial-text))
468 (error "Empty bug report cannot be sent.")) 450 (error "Empty bug report cannot be sent."))
469 ))) 451 )))
470 452
471 453
472 ;; paradigm definitions 454
473 (defun define-mail-user-agent (symbol composefunc sendfunc
474 &optional abortfunc hookvar)
475 "Define a symbol appropriate for `mail-user-agent'.
476
477 SYMBOL can be any meaningful lisp symbol. It need not have a function
478 or variable definition, as it is only used for its property list.
479 The property names are equivalent to the formal argument described
480 below (but in lower case). Additional properties can be placed on the
481 symbol.
482
483 COMPOSEFUNC is program callable function that composes an outgoing
484 mail message buffer. This function should set up the basics of the
485 buffer without requiring user interaction. It should populate the
486 standard mail headers, leaving the `to:' and `subject:' headers blank.
487
488 SENDFUNC is the command a user would type to send the message.
489
490 Optional ABORTFUNC is the command a user would type to abort the
491 message. For mail packages that don't have a separate abort function,
492 this can be `kill-buffer' (the equivalent of omitting this argument).
493
494 Optional HOOKVAR is a hook variable that gets run before the message
495 is actually sent. Reporter will install `reporter-bug-hook' onto this
496 hook so that empty bug reports can be suppressed by raising an error.
497 If not supplied, `mail-send-hook' will be used."
498 (put symbol 'composefunc composefunc)
499 (put symbol 'sendfunc sendfunc)
500 (put symbol 'abortfunc (or abortfunc 'kill-buffer))
501 (put symbol 'hookvar (or hookvar 'mail-send-hook)))
502
503 (define-mail-user-agent 'sendmail-user-agent
504 'reporter-mail 'mail-send-and-exit)
505
506 (define-mail-user-agent 'vm-user-agent
507 'vm-mail 'vm-mail-send-and-exit)
508
509 (define-mail-user-agent 'mh-e-user-agent
510 'mh-smail-batch 'mh-send-letter 'mh-fully-kill-draft
511 'mh-before-send-letter-hook)
512
513
514 (provide 'reporter) 455 (provide 'reporter)
515 ;;; reporter.el ends here 456 ;;; reporter.el ends here