Mercurial > hg > xemacs-beta
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 |