]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid segfaults due to invalid selected-window's buffer
authorEli Zaretskii <eliz@gnu.org>
Thu, 15 Dec 2022 21:39:58 +0000 (23:39 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 15 Dec 2022 21:39:58 +0000 (23:39 +0200)
* lisp/startup.el (initial-scratch-message): Don't use \\[...]
commands for substitute-command-keys.
* lisp/simple.el (get-scratch-buffer-create): Don't call
substitute-command-keys on initial-scratch-message, to avoid
signaling an error in rare cases.  (Bug#60096)

lisp/simple.el
lisp/startup.el

index 654b56a088641fe8a93796a2bcc4b18e50f8cb9b..dcc2242e49f360beaf7a02b5deb6b35980f112fc 100644 (file)
@@ -10683,7 +10683,12 @@ too short to have a dst element.
         ;; we just created it.
         (with-current-buffer scratch
           (when initial-scratch-message
-            (insert (substitute-command-keys initial-scratch-message))
+            ;; We used to run this through substitute-command-keys,
+            ;; but that might be unsafe in some rare cases, and this
+            ;; function must never fail and signal an error, because
+            ;; it is called from other_buffer_safely, which must
+            ;; always produce a valid buffer.
+            (insert initial-scratch-message)
             (set-buffer-modified-p nil))
           (funcall initial-major-mode))
         scratch)))
index 6270de2ace69ab881798ff2afc731179d6db5835..7f8e8d55db851da7f18075088f7fd666626e733d 100644 (file)
@@ -1669,7 +1669,7 @@ Changed settings will be marked as \"CHANGED outside of Customize\"."
 
 (defcustom initial-scratch-message (purecopy "\
 ;; This buffer is for text that is not saved, and for Lisp evaluation.
-;; To create a file, visit it with \\[find-file] and enter text in its buffer.
+;; To create a file, visit it with \"C-x C-f\" and enter text in its buffer.
 
 ")
   "Initial documentation displayed in *scratch* buffer at startup.