From: Glenn Morris Date: Fri, 10 Dec 2010 03:39:18 +0000 (-0800) Subject: Small emacsbug.el stuff. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~45^2~5 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e554b3f832056ebc65e98c1c2ae44e06bd660068;p=emacs.git Small emacsbug.el stuff. * lisp/mail/emacsbug.el (report-emacs-bug): Use mail-user-agent properties. (report-emacs-bug-create-existing-bugs-buffer): Avoid free variables. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f41e96d371a..32060096aa7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2010-12-10 Glenn Morris + * mail/emacsbug.el (report-emacs-bug): Use mail-user-agent properties. + (report-emacs-bug-create-existing-bugs-buffer): Avoid free variables. + * comint.el (comint-input-ring-file-name): Doc fix. 2010-12-09 Eli Zaretskii diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index 40a5c081cfd..e6da4746041 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -279,22 +279,11 @@ usually do not have translators to read other languages for them.\n\n") (if can-xdg-email (define-key (current-local-map) "\C-cm" 'report-emacs-bug-insert-to-mailer)) - ;; Could test major-mode instead. - (cond ((memq mail-user-agent '(message-user-agent gnus-user-agent)) - (setq report-emacs-bug-send-command "message-send-and-exit" - report-emacs-bug-send-hook 'message-send-hook)) - ((eq mail-user-agent 'sendmail-user-agent) - (setq report-emacs-bug-send-command "mail-send-and-exit" - report-emacs-bug-send-hook 'mail-send-hook)) - ((eq mail-user-agent 'mh-e-user-agent) - (setq report-emacs-bug-send-command "mh-send-letter" - report-emacs-bug-send-hook 'mh-before-send-letter-hook)) - ((eq mail-user-agent 'vm-user-agent) - (setq report-emacs-bug-send-command "vm-mail-send-and-exit" - report-emacs-bug-send-hook 'vm-mail-send-hook)) - ((eq mail-user-agent 'wl-user-agent) - (setq report-emacs-bug-send-command "wl-draft-send-and-exit" - report-emacs-bug-send-hook 'wl-draft-send-hook))) + (setq report-emacs-bug-send-command (get mail-user-agent 'sendfunc) + report-emacs-bug-send-hook (get mail-user-agent 'hookvar)) + (if report-emacs-bug-send-command + (setq report-emacs-bug-send-command + (symbol-name report-emacs-bug-send-command))) (unless report-emacs-bug-no-explanations (with-output-to-temp-buffer "*Bug Help*" (princ "While in the mail buffer:\n\n") @@ -386,19 +375,22 @@ and send the mail again%s." ;; Querying the bug database +(defvar report-emacs-bug-bug-alist nil) +(make-variable-buffer-local 'report-emacs-bug-bug-alist) +(defvar report-emacs-bug-choice-widget nil) +(make-variable-buffer-local 'report-emacs-bug-choice-widget) + (defun report-emacs-bug-create-existing-bugs-buffer (bugs keywords) (switch-to-buffer (get-buffer-create "*Existing Emacs Bugs*")) (setq buffer-read-only t) (let ((inhibit-read-only t)) (erase-buffer) - (make-local-variable 'bug-alist) - (setq bug-alist bugs) - (make-local-variable 'bug-choice-widget) + (setq report-emacs-bug-bug-alist bugs) (widget-insert (propertize (concat "Already known bugs (" keywords "):\n\n") 'face 'bold)) (if bugs - (setq bug-choice-widget + (setq report-emacs-bug-choice-widget (apply 'widget-create 'radio-button-choice :value (caar bugs) (let (items) @@ -423,10 +415,10 @@ and send the mail again%s." (widget-insert " ") (widget-create 'push-button :notify (lambda (&rest ignore) - (let ((val (widget-value bug-choice-widget))) + (let ((val (widget-value report-emacs-bug-choice-widget))) ;; TODO: Do something! (message "Appending to bug %s!" - (nth 2 (assoc val bug-alist))))) + (nth 2 (assoc val report-emacs-bug-bug-alist))))) "Append to chosen bug")) (widget-insert " ") (widget-create 'push-button