|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on Slime.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://anggtwu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://anggtwu.net/e/slime.e>
# or at <http://anggtwu.net/e/slime.e.html>.
# See also <http://anggtwu.net/emacs.html>,
# <http://anggtwu.net/.emacs[.html]>,
# <http://anggtwu.net/.zshrc[.html]>,
# <http://anggtwu.net/escripts.html>,
# and <http://anggtwu.net/>.
#
#######
# «.ee-y-or-n-p» (to "ee-y-or-n-p")
# «.reinitialize» (to "reinitialize")
# «.replace-sly-by-slime» (to "replace-sly-by-slime")
# «.sldb-eval-in-frame» (to "sldb-eval-in-frame")
# «.stepping» (to "stepping")
# (find-es "lisp" ".slime-2012")
#####
#
# ee-y-or-n-p
# 2025sep27
#
#####
# «ee-y-or-n-p» (to ".ee-y-or-n-p")
# (find-fline "~/elisp/2025-slime.el")
# (load "~/elisp/2025-slime.el")
# (find-angg "elisp/2025-eepitch-b.el")
#####
#
# reinitialize
# 2025nov16
#
#####
# «reinitialize» (to ".reinitialize")
;; See: (find-es "slime" "ee-y-or-n-p")
;; (find-efunction 'slime-reinitialize-inferior-lisp-p)
;; (find-slimefile "slime.el" "(defun slime-reinitialize-inferior-lisp-p ")
(defvar ee-slime-reinitialize-inferior-lisp-p)
(setq ee-slime-reinitialize-inferior-lisp-p 'n)
(setq ee-slime-reinitialize-inferior-lisp-p 'y)
(defun ee-y-or-n-p (y-or-n message)
(if y-or-n
(eq y-or-n 'y)
(y-or-n message)))
(defun slime-reinitialize-inferior-lisp-p (program program-args env buffer)
(let ((args (slime-inferior-lisp-args (get-buffer-process buffer))))
(and (equal (plist-get args :program) program)
(equal (plist-get args :program-args) program-args)
(equal (plist-get args :env) env)
(not (ee-y-or-n-p ee-slime-reinitialize-inferior-lisp-p
"Create an additional *inferior-lisp*? ")))))
(slime-inferior-lisp-args :program "sbcl" :program-args nil :buffer
"*inferior-lisp*" :coding-system iso-latin-1-unix :init
slime-init-command :name nil :init-function nil :env nil)
(slime-inferior-lisp-connected . #<process SLIME Lisp>)
(ee-slime-inferior-lisp-buffers)
(sort (cl-loop for b in (buffer-list)
if (with-current-buffer b (symbol-value minormode))
collect (buffer-name b))))
#####
#
# replace-sly-by-slime
# 2025sep27
#
#####
# «replace-sly-by-slime» (to ".replace-sly-by-slime")
# (find-epackage-links 'slime)
# (find-epackage-links 'sly)
# (package-initialize)
# (package-refresh-contents)
# (package-delete (package-get-descriptor 'slime))
# (package-delete (package-get-descriptor 'sly))
# (package-install 'slime)
# (package-install 'sly)
#####
#
# sldb-eval-in-frame
# 2025nov17
#
#####
# «sldb-eval-in-frame» (to ".sldb-eval-in-frame")
# (find-epackage-links 'slime "slime" "~/.emacs.d/elpa/slime-20251101.1730/")
# (find-epackage-links 'slime "slime" t)
# (code-c-d "slime" "~/.emacs.d/elpa/slime-20251101.1730/")
# (find-slimefile "")
# (find-slimegrep "grep --color=auto -nRH --null -e sldb-eval-in-frame *")
# (find-slimefile "slime.el" "(slime-define-keys sldb-mode-map")
# (find-elocus-links "e" 'sldb-mode-map)
# (find-efunction 'sldb-eval-in-frame)
# (find-efunction 'sldb-eval-in-frame "(swank:eval-string-in-frame")
# (find-slimenode "Examining frames" "M-x sldb-eval-in-frame")
# (find-angg "LISP/2025-eval-in-frame.lisp")
#####
#
# stepping
# 2025nov16
#
#####
# «stepping» (to ".stepping")
# (find-slimenode "Stepping")
# (find-google-links "single-stepping with slime")
# https://mailman.common-lisp.net/pipermail/slime-devel/2010-April/009622.html
# (code-c-d "slime" "~/.emacs.d/elpa/slime-20250918.2258/")
# (find-slimefile "")
# (find-epackage-links 'slime "slime" "~/.emacs.d/elpa/slime-20250915.2104/")
# (code-c-d "slime" "~/.emacs.d/elpa/slime-20250915.2104/")
# (find-slimefile "")
# (find-slimegrep "grep --color=auto -nH --null -e slime-repl-mode *.el */*.el")
# (find-slimegrep "grep --color=auto -nH --null -e slime-repl-mode-hook *.el */*.el")
# (find-slimefile "contrib/slime-repl.el" "(defun slime-repl-mode ()")
# (find-evardescr 'slime-repl-mode-hook)
# (find-evariable 'slime-repl-mode-hook)
# (find-eepitch-intro "4. Badly-behaved targets")
# (find-angg ".maxima/startsly.lisp")
# (find-angg ".maxima/startslime.lisp")
;; (find-esetkey-links (kbd "<S-f8>") 'eepitch-b-set-target)
(define-key eev-mode-map (kbd "<S-f8>") 'eepitch-b-set-target)
;; (find-esetkey-links (kbd "<f9>") 'eepitch-b-set-target)
(define-key eev-mode-map (kbd "<f9>") 'eepitch-b-set-target)
(defun eepitch-slime-add-hook ()
(interactive)
(add-hook 'slime-repl-mode-hook 'eepitch-b-set-target))
(defun eepitch-slime-del-hook ()
(interactive)
(remove-hook 'slime-repl-mode-hook 'eepitch-b-set-target))
* (eepitch-slime-kill)
* (eepitch-slime-add-hook)
* (eepitch-slime-start "sbcl")
* (eepitch-slime-del-hook)
* (eepitch-slime-select)
* (eepitch-slime-kill)
* (eepitch-slime-start "sbcl")
* (eepitch-slime-select)
* (add-hook 'slime-repl-mode-hook 'eepitch-b-set-target)
* (add-hook 'slime-repl-mode-hook 'eepitch-b-set-target)
(lambda ()
(define-key dired-mode-map "W" 'woman-dired-find-file)))
# (find-efunction 'eepitch-slime-select)
# Local Variables:
# coding: utf-8-unix
# End:
CL-USER>