]> git.eshelyaron.com Git - emacs.git/commitdiff
Insert initial-scratch-message before displaying *scratch*. (Bug#9636)
authorMartin Rudalics <rudalics@gmx.at>
Fri, 30 Sep 2011 13:21:29 +0000 (15:21 +0200)
committerMartin Rudalics <rudalics@gmx.at>
Fri, 30 Sep 2011 13:21:29 +0000 (15:21 +0200)
* startup.el (command-line-1): Fix last fix by inserting
initial-scratch-message into *scratch* before displaying it.
(Bug#9626) and (Bug#9636)

lisp/ChangeLog
lisp/startup.el

index 42bd14094ba02b1ab3bc356a95dc7f96b06affeb..13efd17cfac7d02a973578f380d90874bdcbeb1e 100644 (file)
@@ -1,3 +1,9 @@
+2011-09-30  Martin Rudalics  <rudalics@gmx.at>
+
+       * startup.el (command-line-1): Fix last fix by inserting
+       initial-scratch-message into *scratch* before displaying it.
+       (Bug#9626) and (Bug#9636)
+
 2011-09-29  Eli Zaretskii  <eliz@gnu.org>
 
        * simple.el (line-move): If auto-hscroll-mode is disabled and the
index 4e6f0af036892b8df897a617f2d6a39a58daba5d..16cf41506bdd482751320642620aeedc27b57264 100644 (file)
@@ -2307,23 +2307,26 @@ A fancy display is used on graphic displays, normal otherwise."
            ;; abort later.
            (unless (frame-live-p (selected-frame)) (kill-emacs nil))))))
 
-    (when initial-buffer-choice
-      (cond ((eq initial-buffer-choice t)
-            (switch-to-buffer (get-buffer-create "*scratch*")))
-           ((stringp initial-buffer-choice)
-            (find-file initial-buffer-choice))))
+    (when (eq initial-buffer-choice t)
+      ;; When initial-buffer-choice equals t make sure that *scratch*
+      ;; exists.
+      (get-buffer-create "*scratch*"))
 
     ;; If *scratch* exists and is empty, insert initial-scratch-message.
+    ;; Do this before switching to *scratch* below to handle bug#9605.
     (and initial-scratch-message
         (get-buffer "*scratch*")
         (with-current-buffer "*scratch*"
           (when (zerop (buffer-size))
-            ;; Insert before markers to make sure that window-point
-            ;; appears at end of buffer when *scratch* is displayed
-            ;; (Bug#9605).
-            (insert-before-markers initial-scratch-message)
+            (insert initial-scratch-message)
             (set-buffer-modified-p nil))))
 
+    (when initial-buffer-choice
+      (cond ((eq initial-buffer-choice t)
+            (switch-to-buffer (get-buffer-create "*scratch*")))
+           ((stringp initial-buffer-choice)
+            (find-file initial-buffer-choice))))
+
     (if (or inhibit-startup-screen
            initial-buffer-choice
            noninteractive