emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master f2d2fe6fc8: server-execute: Initialize the *scratch* buffer


From: Sean Whitton
Subject: master f2d2fe6fc8: server-execute: Initialize the *scratch* buffer
Date: Tue, 3 May 2022 21:10:59 -0400 (EDT)

branch: master
commit f2d2fe6fc8ef0b6087c4a8a69d05a4e521b23047
Author: Sean Whitton <spwhitton@spwhitton.name>
Commit: Sean Whitton <spwhitton@spwhitton.name>

    server-execute: Initialize the *scratch* buffer
    
    * lisp/server.el: Require subr-x when compiling.
    (server-execute): Initialize the *scratch* buffer in the same way that
    the scratch-buffer command does, for consistency.
---
 lisp/server.el | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lisp/server.el b/lisp/server.el
index 763cf27f7a..fc6991df5f 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -82,7 +82,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl-lib))
+(eval-when-compile
+  (require 'cl-lib)
+  (require 'subr-x))
 
 (defgroup server nil
   "Emacs running as a server process."
@@ -1366,9 +1368,14 @@ The following commands are accepted by the client:
                          (find-file-noselect initial-buffer-choice))
                         ((functionp initial-buffer-choice)
                          (funcall initial-buffer-choice)))))
-             (switch-to-buffer
-              (if (buffer-live-p buf) buf (get-buffer-create "*scratch*"))
-              'norecord)))
+              (if (buffer-live-p buf)
+                  (switch-to-buffer buf 'norecord)
+                (if-let ((scratch (get-buffer "*scratch*")))
+                    (switch-to-buffer scratch 'norecord)
+                  (switch-to-buffer (get-buffer-create "*scratch*") 'norecord)
+                  (when initial-scratch-message
+                    (insert initial-scratch-message))
+                  (funcall initial-major-mode)))))
 
           ;; Delete the client if necessary.
           (cond



reply via email to

[Prev in Thread] Current Thread [Next in Thread]