]> code.delx.au - gnu-emacs/blobdiff - lisp/mail/emacsbug.el
Don’t create unnecessary marker in ‘delete-trailing-whitespace’
[gnu-emacs] / lisp / mail / emacsbug.el
index 8e28973c43fe958bb978c1493a5d562e3ba8055b..18eaa22b34c5837c217f98ba0c2a3308fa27705f 100644 (file)
@@ -1,6 +1,6 @@
 ;;; emacsbug.el --- command to report Emacs bugs to appropriate mailing list
 
-;; Copyright (C) 1985, 1994, 1997-1998, 2000-2015 Free Software
+;; Copyright (C) 1985, 1994, 1997-1998, 2000-2016 Free Software
 ;; Foundation, Inc.
 
 ;; Author: K. Shane Hartman
@@ -162,6 +162,14 @@ Prompts for bug subject.  Leaves you in a mail buffer."
     (setq message-end-point
          (with-current-buffer (messages-buffer)
            (point-max-marker)))
+    (condition-case nil
+        ;; For the novice user make sure there's always enough space for
+        ;; the mail and the warnings buffer on this frame (Bug#10873).
+        (unless report-emacs-bug-no-explanations
+          (delete-other-windows)
+          (set-window-dedicated-p nil nil)
+          (set-frame-parameter nil 'unsplittable nil))
+      (error nil))
     (compose-mail report-emacs-bug-address topic)
     ;; The rest of this does not execute if the user was asked to
     ;; confirm and said no.
@@ -234,7 +242,11 @@ usually do not have translators for other languages.\n\n")))
     (let ((txt (delete-and-extract-region (1+ user-point) (point))))
       (insert (propertize "\n" 'display txt)))
 
-    (insert "\n\nIn " (emacs-version) "\n")
+    (insert "\nIn " (emacs-version))
+    (if emacs-build-system
+        (insert " built on " emacs-build-system))
+    (insert "\n")
+
     (if (stringp emacs-repository-version)
        (insert "Repository revision: " emacs-repository-version "\n"))
     (if (fboundp 'x-server-vendor)
@@ -251,6 +263,18 @@ usually do not have translators for other languages.\n\n")))
                     (buffer-string)))))
       (if (stringp lsb)
          (insert "System " lsb "\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)))
+            (terpri (current-buffer) t)
+           (insert "Recent messages:\n")
+           (insert-buffer-substring message-buf beg-pos end-pos))))
+    (insert "\n")
     (when (and system-configuration-options
               (not (equal system-configuration-options "")))
       (insert "Configured using:\n 'configure "
@@ -283,20 +307,6 @@ usually do not have translators for other languages.\n\n")))
       (and (boundp mode) (buffer-local-value mode from-buffer)
           (insert (format "  %s: %s\n" mode
                           (buffer-local-value mode from-buffer)))))
-    (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 "\nRecent messages:\n")
-           (insert-buffer-substring message-buf beg-pos end-pos))))
-    ;; After Recent messages, to avoid the messages produced by
-    ;; list-load-path-shadows.
-    (unless (looking-back "\n" (1- (point)))
-      (insert "\n"))
     (insert "\n")
     (insert "Load-path shadows:\n")
     (let* ((msg "Checking for load-path shadows...")