* On Wed, Feb 13 2008, Angelo Graziosi wrote:
Today, after a bootstrap of fresh CVS, I observe that the startup
buffer is not loaded any more and the scratch buffer is *completely*
empty.
Usually the scratch buffer contains (in red) this sentence:
============================================================
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
============================================================
Is this the correct behaviour?
The behaviour of the startup screen is confirmed by this
-----------------------------------------------------------------
lisp/ChangeLog
[...]
* desktop.el (after-init-hook): Set inhibit-startup-screen to
t after reading the desktop.
-----------------------------------------------------------------
According to the docstring on `initial-scratch-message':
"Initial message displayed in *scratch* buffer at startup.
If this is nil, no message will be displayed.
If `inhibit-startup-screen' is non-nil, then no message is displayed,
regardless of the value of this variable."
So it looks like this is expected, although annoying. This just looks
like a side effect of having this block:
(and initial-scratch-message
(get-buffer "*scratch*")
(with-current-buffer "*scratch*"
(when (zerop (buffer-size))
(insert initial-scratch-message)
(set-buffer-modified-p nil))))
On the "else" side of the (if (or ... inhibit-startup-screen ...) ...)
statement.
If people are interested in a change to this behavior (always add text
to *scratch* if initial-scratch-message isn't nil), I'll supply a patch.