Rewrite `b/*scratch*' function in init file
[~bandali/configs] / .emacs.d / init.el
index 0fd70e5..459dbe8 100644 (file)
@@ -812,11 +812,10 @@ Effectively a very simple light/dark theme toggle switch."
 (defun b/*scratch* ()
   "Switch to `*scratch*' buffer, creating it if it does not exist."
   (interactive)
-  (switch-to-buffer
-   (or (get-buffer "*scratch*")
-       (with-current-buffer (get-buffer-create "*scratch*")
-         (set-buffer-major-mode (current-buffer))
-         (current-buffer)))))
+  (let ((fun (if (functionp #'get-scratch-buffer-create)
+                 #'get-scratch-buffer-create ; (version<= "29" emacs-version)
+               #'startup--get-buffer-create-scratch))) ; (version< emacs-version "29")
+    (switch-to-buffer (funcall fun))))
 (global-set-key (kbd "C-c s") #'b/*scratch*)
 
 ;; ,----