Commit 0a18209b authored by Karl Heuer's avatar Karl Heuer
Browse files

(report-emacs-bug): Delete the condition-case.

parent 4fdd59c0
......@@ -57,97 +57,95 @@ Prompts for bug subject. Leaves you in a mail buffer."
;; This strange form ensures that (recent-keys) is the value before
;; the bug subject string is read.
(interactive (reverse (list (recent-keys) (read-string "Bug Subject: "))))
(condition-case nil
(let (user-point message-end-point)
(setq message-end-point
(with-current-buffer (get-buffer "*Messages*")
(point-max-marker)))
(compose-mail (if (string-match "\\..*\\..*\\." emacs-version)
;; If there are four numbers in emacs-version,
;; this is a pretest version.
report-emacs-bug-pretest-address
bug-gnu-emacs)
topic)
;; The rest of this does not execute
;; if the user was asked to confirm and said no.
(goto-char (point-min))
(re-search-forward (concat "^" (regexp-quote mail-header-separator) "\n"))
;; Insert warnings for novice users.
(insert "This bug report will be sent to the Free Software Foundation,\n")
(let ((pos (point)))
(insert " not to your local site managers!!")
(put-text-property pos (point) 'face 'highlight))
(insert "\nPlease write in ")
(let ((pos (point)))
(insert "English")
(put-text-property pos (point) 'face 'highlight))
(insert ", because the Emacs maintainers do not have
(let (user-point message-end-point)
(setq message-end-point
(with-current-buffer (get-buffer "*Messages*")
(point-max-marker)))
(compose-mail (if (string-match "\\..*\\..*\\." emacs-version)
;; If there are four numbers in emacs-version,
;; this is a pretest version.
report-emacs-bug-pretest-address
bug-gnu-emacs)
topic)
;; The rest of this does not execute
;; if the user was asked to confirm and said no.
(goto-char (point-min))
(re-search-forward (concat "^" (regexp-quote mail-header-separator) "\n"))
;; Insert warnings for novice users.
(insert "This bug report will be sent to the Free Software Foundation,\n")
(let ((pos (point)))
(insert " not to your local site managers!!")
(put-text-property pos (point) 'face 'highlight))
(insert "\nPlease write in ")
(let ((pos (point)))
(insert "English")
(put-text-property pos (point) 'face 'highlight))
(insert ", because the Emacs maintainers do not have
translators to read other languages for them.\n\n")
(insert "In " (emacs-version) "\n")
(if (and system-configuration-options
(not (equal system-configuration-options "")))
(insert "configured using `configure "
system-configuration-options "'\n"))
(insert "\n")
(insert "Please describe exactly what actions triggered the bug\n"
"and the precise symptoms of the bug:\n\n")
(setq user-point (point))
(insert "\n\n\n"
"Recent input:\n")
(let ((before-keys (point)))
(insert (mapconcat (lambda (key)
(if (or (integerp key)
(symbolp key)
(listp key))
(single-key-description key)
(prin1-to-string key nil)))
(or recent-keys (recent-keys))
" "))
(save-restriction
(narrow-to-region before-keys (point))
(goto-char before-keys)
(while (progn (move-to-column 50) (not (eobp)))
(search-forward " " nil t)
(insert "\n"))))
(let ((message-buf (get-buffer "*Messages*")))
(if message-buf
(let (beg-pos
(end-pos message-end-point))
(with-current-buffer message-buf
(goto-char end-pos)
(forward-line -10)
(setq beg-pos (point)))
(insert "\n\nRecent messages:\n")
(insert-buffer-substring message-buf beg-pos end-pos))))
;; This is so the user has to type something
;; in order to send easily.
(use-local-map (nconc (make-sparse-keymap) (current-local-map)))
(define-key (current-local-map) "\C-c\C-i" 'report-emacs-bug-info)
(with-output-to-temp-buffer "*Bug Help*"
(if (eq mail-user-agent 'sendmail-user-agent)
(princ (substitute-command-keys
"Type \\[mail-send-and-exit] to send the bug report.\n")))
(insert "In " (emacs-version) "\n")
(if (and system-configuration-options
(not (equal system-configuration-options "")))
(insert "configured using `configure "
system-configuration-options "'\n"))
(insert "\n")
(insert "Please describe exactly what actions triggered the bug\n"
"and the precise symptoms of the bug:\n\n")
(setq user-point (point))
(insert "\n\n\n"
"Recent input:\n")
(let ((before-keys (point)))
(insert (mapconcat (lambda (key)
(if (or (integerp key)
(symbolp key)
(listp key))
(single-key-description key)
(prin1-to-string key nil)))
(or recent-keys (recent-keys))
" "))
(save-restriction
(narrow-to-region before-keys (point))
(goto-char before-keys)
(while (progn (move-to-column 50) (not (eobp)))
(search-forward " " nil t)
(insert "\n"))))
(let ((message-buf (get-buffer "*Messages*")))
(if message-buf
(let (beg-pos
(end-pos message-end-point))
(with-current-buffer message-buf
(goto-char end-pos)
(forward-line -10)
(setq beg-pos (point)))
(insert "\n\nRecent messages:\n")
(insert-buffer-substring message-buf beg-pos end-pos))))
;; This is so the user has to type something
;; in order to send easily.
(use-local-map (nconc (make-sparse-keymap) (current-local-map)))
(define-key (current-local-map) "\C-c\C-i" 'report-emacs-bug-info)
(with-output-to-temp-buffer "*Bug Help*"
(if (eq mail-user-agent 'sendmail-user-agent)
(princ (substitute-command-keys
"Type \\[kill-buffer] RET to cancel (don't send it).\n"))
(terpri)
(princ (substitute-command-keys
"Type \\[report-emacs-bug-info] to visit in Info the Emacs Manual section
"Type \\[mail-send-and-exit] to send the bug report.\n")))
(princ (substitute-command-keys
"Type \\[kill-buffer] RET to cancel (don't send it).\n"))
(terpri)
(princ (substitute-command-keys
"Type \\[report-emacs-bug-info] to visit in Info the Emacs Manual section
about when and how to write a bug report,
and what information to supply so that the bug can be fixed.
Type SPC to scroll through this section and its subsections.")))
;; Make it less likely people will send empty messages.
(make-local-variable 'mail-send-hook)
(add-hook 'mail-send-hook 'report-emacs-bug-hook)
;; Discourage users to write non-English text.
(setq enable-multibyte-characters nil)
(save-excursion
(goto-char (point-max))
(skip-chars-backward " \t\n")
(make-local-variable 'report-emacs-bug-orig-text)
(setq report-emacs-bug-orig-text (buffer-substring (point-min) (point))))
(goto-char user-point))
(error nil)))
;; Make it less likely people will send empty messages.
(make-local-variable 'mail-send-hook)
(add-hook 'mail-send-hook 'report-emacs-bug-hook)
;; Discourage users to write non-English text.
(setq enable-multibyte-characters nil)
(save-excursion
(goto-char (point-max))
(skip-chars-backward " \t\n")
(make-local-variable 'report-emacs-bug-orig-text)
(setq report-emacs-bug-orig-text (buffer-substring (point-min) (point))))
(goto-char user-point)))
(defun report-emacs-bug-info ()
"Go to the Info node on reporting Emacs bugs."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment