1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- ;; Vague implementation of needed code to invoke Gnus from reportbug
- ;; by Tollef Fog Heen
- (require 'gnus)
- ;; Match each component of Gnus' version number.
- (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)\\(?:\\.\\([0-9]+\\)\\)?$"
- gnus-version-number)
- ;; Only load gnus-load if using a separately packaged Gnus (that is,
- ;; not the Gnus bundled with Emacs).
- (if (or
- ;; Check for a separately packaged release of Gnus
- ;; (second component of version number even):
- (= (% (string-to-number (match-string 2 gnus-version-number)) 2) 0)
- ;; Check for a separately packaged pre-release of Gnus
- ;; (first component of version number 0):
- (= (string-to-number (match-string 1 gnus-version-number)) 0))
- (require 'gnus-load))
- (defun tfheen-set-header (header value)
- "Insert a string at the beginning of a header."
- (message-narrow-to-head)
- (goto-char (point-min))
- (search-forward (format "%s: " header) (point-max) t)
- (insert value)
- (widen))
- (defun tfheen-reportbug-insert-template (reportbug-template)
- (interactive)
- (require 'gnus)
- (find-file reportbug-template)
- (let ((subject (message-fetch-field "Subject"))
- (toaddr (or (message-fetch-field "To") "submit@bugs.debian.org")))
- (gnus-narrow-to-body)
- (let ((body (or (buffer-string) "")))
- (gnus-summary-mail-other-window)
- (tfheen-set-header "Subject" subject)
- (tfheen-set-header "To" toaddr)
- (gnus-narrow-to-body)
- (insert body)
- (goto-char (point-min))
- (search-forward "\n\n" nil t)
- (widen)))
- (kill-buffer (find-buffer-visiting reportbug-template)))
|