unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Proposing elisp-eval-target for eval-last-sexp and related commands
@ 2021-08-17 16:11 Psionic K
  2021-08-17 17:30 ` Eduardo Ochs
  2021-08-17 18:10 ` Stefan Monnier
  0 siblings, 2 replies; 6+ messages in thread
From: Psionic K @ 2021-08-17 16:11 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]

Proposing to patch the eslip module so that if a buffer-local
`elisp-eval-target` has been set, `eval-last-sexp` and similar commands
will execute lisp in the context of another buffer.

The use case is when developing elisp to operate on non-elisp buffers,
interacting with functionality for other languages such as when using LSP.

This change would bring buffer-based development in line with ielm's
`ielm-change-working-buffer` behavior.

While the `eval-last-sexp` commands are very ergonomic, there is no way to
direct them at another buffer without wrapping the last sexp in
`with-current-buffer`.  Advising deep into `eval-last-sexp` is difficult
because we must call `set-buffer` after computing the elisp we want to
evaluate.

With this support available, the users can then update the buffer local in
shortcut commands for buffer-based development of elisp for other modes.

I intend to develop a patch.  The main difficulty I can identify so far is
setting the buffer at the correct points so that the setup for evaluation
continues to occur in the correct context.

-- 
Psionic K <psionik@positron.solutions>
Software Engineer

*Positron Solutions <https://positron.solutions>*

[-- Attachment #2: Type: text/html, Size: 1914 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-08-21 14:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-17 16:11 Proposing elisp-eval-target for eval-last-sexp and related commands Psionic K
2021-08-17 17:30 ` Eduardo Ochs
2021-08-18  5:22   ` Psionic K
2021-08-17 18:10 ` Stefan Monnier
2021-08-18  5:19   ` Psionic K
2021-08-21 14:37     ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).