55 |
(defvar report-emacs-bug-orig-text nil |
(defvar report-emacs-bug-orig-text nil |
56 |
"The automatically-created initial text of bug report.") |
"The automatically-created initial text of bug report.") |
57 |
|
|
58 |
|
(defvar report-emacs-bug-text-prompt nil |
59 |
|
"The automatically-created initial prompt of bug report.") |
60 |
|
|
61 |
(defcustom report-emacs-bug-no-confirmation nil |
(defcustom report-emacs-bug-no-confirmation nil |
62 |
"*If non-nil, suppress the confirmations asked for the sake of novice users." |
"*If non-nil, suppress the confirmations asked for the sake of novice users." |
63 |
:group 'emacsbug |
:group 'emacsbug |
78 |
;; If there are four numbers in emacs-version, this is a pretest |
;; If there are four numbers in emacs-version, this is a pretest |
79 |
;; version. |
;; version. |
80 |
(let ((pretest-p (string-match "\\..*\\..*\\." emacs-version)) |
(let ((pretest-p (string-match "\\..*\\..*\\." emacs-version)) |
81 |
user-point message-end-point) |
user-point prompt-beg-point message-end-point) |
82 |
(setq message-end-point |
(setq message-end-point |
83 |
(with-current-buffer (get-buffer-create "*Messages*") |
(with-current-buffer (get-buffer-create "*Messages*") |
84 |
(point-max-marker))) |
(point-max-marker))) |
95 |
(delete-region (point) (point-max)) |
(delete-region (point) (point-max)) |
96 |
(insert signature) |
(insert signature) |
97 |
(backward-char (length signature))) |
(backward-char (length signature))) |
98 |
|
(setq prompt-beg-point (point)) |
99 |
(unless report-emacs-bug-no-explanations |
(unless report-emacs-bug-no-explanations |
100 |
;; Insert warnings for novice users. |
;; Insert warnings for novice users. |
101 |
(insert "This bug report will be sent to the Free Software Foundation,\n") |
(insert "This bug report will be sent to the Free Software Foundation,\n") |
116 |
(insert ".\n\n") |
(insert ".\n\n") |
117 |
(insert ",\nand to the gnu.emacs.bug news group.\n\n"))) |
(insert ",\nand to the gnu.emacs.bug news group.\n\n"))) |
118 |
|
|
119 |
|
(insert "Please describe exactly what actions triggered the bug\n" |
120 |
|
"and the precise symptoms of the bug:") |
121 |
|
(setq report-emacs-bug-text-prompt |
122 |
|
(buffer-substring prompt-beg-point (point))) |
123 |
|
|
124 |
|
(insert "\n\n") |
125 |
|
(setq user-point (point)) |
126 |
|
(insert "\n\n\n") |
127 |
|
|
128 |
(insert "In " (emacs-version) "\n") |
(insert "In " (emacs-version) "\n") |
129 |
(if (and system-configuration-options |
(if (and system-configuration-options |
130 |
(not (equal system-configuration-options ""))) |
(not (equal system-configuration-options ""))) |
131 |
(insert "configured using `configure " |
(insert "configured using `configure " |
132 |
system-configuration-options "'\n")) |
system-configuration-options "'\n\n")) |
133 |
(insert "Important settings:\n") |
(insert "Important settings:\n") |
134 |
(mapcar |
(mapcar |
135 |
'(lambda (var) |
'(lambda (var) |
140 |
(insert (format " default-enable-multibyte-characters: %s\n" |
(insert (format " default-enable-multibyte-characters: %s\n" |
141 |
default-enable-multibyte-characters)) |
default-enable-multibyte-characters)) |
142 |
(insert "\n") |
(insert "\n") |
143 |
(insert "Please describe exactly what actions triggered the bug\n" |
(insert "Recent input:\n") |
|
"and the precise symptoms of the bug:\n\n") |
|
|
(setq user-point (point)) |
|
|
(insert "\n\n\n" |
|
|
"Recent input:\n") |
|
144 |
(let ((before-keys (point))) |
(let ((before-keys (point))) |
145 |
(insert (mapconcat (lambda (key) |
(insert (mapconcat (lambda (key) |
146 |
(if (or (integerp key) |
(if (or (integerp key) |
248 |
|
|
249 |
;; Unclutter |
;; Unclutter |
250 |
(mail-text) |
(mail-text) |
251 |
(let ((p (point))) |
(if (looking-at report-emacs-bug-text-prompt) |
252 |
(if (re-search-forward (concat "^In " (emacs-version)) nil t) |
(replace-match "Symptoms:")))) |
|
(delete-region p (match-beginning 0)))) |
|
|
(if (re-search-forward "Please describe.+\n.+precise symptoms.+bug:\n*" |
|
|
(point-max) t) |
|
|
(replace-match "Symptoms:\n")))) |
|
253 |
|
|
254 |
(provide 'emacsbug) |
(provide 'emacsbug) |
255 |
|
|