Start using `desktop' and `register'
* `desktop' preserves `register' history between Emacs sessions
This commit is contained in:
parent
5af7b4ad29
commit
58b440ddc7
118
README.org
118
README.org
|
@ -377,6 +377,27 @@ recommendation of [[info:emacs#Saving Customizations][saving customizations (inf
|
|||
nil nil nil 'generate-full))))
|
||||
#+end_src
|
||||
|
||||
* [[info:emacs#Saving Emacs Sessions][Saving Emacs sessions]]
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: sec:desktop
|
||||
:END:
|
||||
|
||||
#+caption[Setup ~desktop~ to save Emacs sessions]:
|
||||
#+caption: Setup ~desktop~ to save Emacs sessions.
|
||||
#+begin_src emacs-lisp -n
|
||||
(desktop-save-mode t)
|
||||
(setopt desktop-buffers-not-to-save
|
||||
(rx bos (or " " "*Apropos*" "*compilation*"))
|
||||
desktop-files-not-to-save
|
||||
(rx (group
|
||||
(or
|
||||
;; Exclude the exclusions from desktop.el.
|
||||
(seq bos "/" (zero-or-more (not (any "/:"))) ":")
|
||||
(seq "(ftp)" eos)
|
||||
;; Exclude all (hence, also compiled) Emacs Lisp files:
|
||||
(seq ".el" eos)))))
|
||||
#+end_src
|
||||
|
||||
* [[info:emacs#Package Installation][Install the selected packages (info)]]
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: sec:install-selected-packages
|
||||
|
@ -4305,6 +4326,103 @@ the Org-mode source block code before calling `eglot-ensure'."
|
|||
(eglot-org-babel-edit-prep info)))
|
||||
#+end_src
|
||||
|
||||
#+caption: Make sessions for ~eval-buffer~ in ~org-src~ buffers.
|
||||
#+begin_src emacs-lisp -n
|
||||
(defun org-babel-edit-prep:python (info)
|
||||
(message "`%S'" info)
|
||||
(let* ((session (cdr (assq :session (nth 2 info))))
|
||||
(muffed (if (member session '(nil "none" ":default"))
|
||||
"*Python*"
|
||||
(org-babel-python-with-earmuffs session)))
|
||||
(key (car (rassoc muffed org-babel-python-buffers))))
|
||||
(message "obpb is `%S'" org-babel-python-buffers)
|
||||
(message "session is `%S', muffed is `%S', key is `%S'" session muffed key)
|
||||
(unless (and (get-buffer muffed)
|
||||
(buffer-match-p '(major-mode . inferior-python-mode) muffed)
|
||||
(get-process (org-babel-python-without-earmuffs muffed)))
|
||||
(when (y-or-n-p "Start Python session?")
|
||||
(org-babel-python-initiate-session
|
||||
(if (eq key :default) nil (org-babel-python-without-earmuffs muffed))))
|
||||
(message "obpb is `%S'" org-babel-python-buffers))
|
||||
(setq-local python-shell-buffer-name
|
||||
(org-babel-python-without-earmuffs muffed)))
|
||||
;; (eglot-org-babel-edit-prep info)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+caption: Real sessions for ~eval-buffer~ in ~org-src~ buffers.
|
||||
#+begin_src org -n :tangle eval-buffer-in-org-src-buffers.org
|
||||
,#+title: Sessions for ~eval-buffer~ in ~org-src~ buffers
|
||||
,#+property: :tangle none
|
||||
|
||||
,* Real sessions in ~org-src-mode~ buffers
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session
|
||||
print("Hello *Python*!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *Python*!
|
||||
,#+end_src
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session Python
|
||||
print("Hello *Python*!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *Python*!
|
||||
,#+end_src
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session snake
|
||||
print("Hello *snake*!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *snake*!
|
||||
,#+end_src
|
||||
#+end_src
|
||||
|
||||
#+caption: Fake sessions for ~eval-buffer~ in ~org-src~ buffers.
|
||||
#+begin_src org -n :tangle :tangle eval-buffer-in-org-src-buffers.org
|
||||
,* Fake sessions in ~org-src-mode~ buffers
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session none
|
||||
print("Hello *none*!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *none*!
|
||||
,#+end_src
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session :default
|
||||
print("Hello *Python* with `:default' unseen!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *Python* with `:default' unseen!
|
||||
,#+end_src
|
||||
|
||||
,#+header: :wrap "src text"
|
||||
,#+begin_src python :results output :session ":default"
|
||||
print("Hello *Python* with `*:default*' seen!")
|
||||
,#+end_src
|
||||
|
||||
,#+RESULTS:
|
||||
,#+begin_src text
|
||||
Hello *Python* with `*:default*' seen!
|
||||
,#+end_src
|
||||
#+end_src
|
||||
|
||||
#+caption[Setup Python =org-src-mode= buffers for =eglot=]:
|
||||
#+caption: Setup Python =org-src-mode= buffers for =eglot=.
|
||||
#+name: lst:setup-python-org-src-mode-for-eglot
|
||||
|
|
Loading…
Reference in New Issue