#SWANK

2025-02-23

"All the swank in the world won't save you from this disaster?"

"What disaster?"

'Your face! You look like rutabaga!"

#swank #face #rutabaga #nonsense

vintage screwlisp accountscrewtape@mastodon.sdf.org
2024-12-10

@jackdaniel
sorry for the hassle, but I forgot if I asked you how you do this []
(defparameter *hook-runner*
(let* ((form `(:eval-no-wait ,(swank::process-form-for-emacs
'(run-hooks 'clim-after-hook))))
(c swank::*emacs-connection*))
(lambda ()
(swank::send (swank::mconn.control-thread c) form))))

In order to
(defmethod execute-frame-command :After
((obj application-frame) (list t))
(funcall *hook-runner*))

Obviously I'm using #swank internals to force the issue.

vintage screwlisp accountscrewtape@mastodon.sdf.org
2023-06-29

@pkw @Ardubal @louis @solene
Context: #emacs modes for #CommonLisp such as #SLIME and #SLY (and later non-emacs stuff) use a Common Lisp TCP server setup named #SWANK . So one natural starting point to have a secure remote accessible lisp would be to connect SLIME in emacs to a remote swank server you are running.

vintage screwlisp accountscrewtape@mastodon.sdf.org
2023-02-24

@galdor @SquircleSpace Hang on I did this a while ago.
You have to enable it in emacs:
M-x customize-variable
slime-enable-evaluate-in-emacs
<to true>
Then you can
(swank:eval-in-emacs '(format "%d" 3))
There's also elisp (slime-eval- etc.
#emacs #swank interoperability

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst