all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Mauger <mmauger@protonmail.com>
To: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: [ELPA] New package: shelisp
Date: Sun, 07 Apr 2019 01:21:54 +0000	[thread overview]
Message-ID: <38bhvF4r6NWO3KPjXFZMsQDq_LDLQjahDaYopMDI5XpvO8_STwEz509kjXRtf1MJAGzDUdG8Vs7nwWEdWxujuODzhDzVj0h0tM-V08MJlFg=@protonmail.com> (raw)

shelisp --- execute elisp in shell

Comint process (likely shell-mode) can write out Emacs Lisp
expressions and have them executed.

When the shell process writes out a string of the form:
  \e_#EMACS# elisp-expr \a

Where, "elisp-expr" is a valid elisp expression.  The elisp
expression is executed as if you had invoked the function
within Emacs itself.  The elisp expression may include a call to
the function `f' which will expand the filename parameter into an
appropriate filename for Emacs using the appropriate Tramp prefix
if necessary.

This script also defines an Alist variable that creates shell
commands and the `printf'-style format to generate the full elisp
expression with command parameters substituted into the command.  A
function is placed in the `shell-mode-hook' to actually create the
shell functions and aliases to format the elisp expressions and
embed them in an escape sequence so that they are detected and
executed.

In most usage this mode merely allows you to type "e filename"
rather than "C-x C-f filename" which isn't much of a savings.
However, with this mode enabled, you can write shell scripts to
invoke Emacs Lisp functions.  But beware, the shell script will not
wait for completion of the elisp expression, nor return anything
back.

This package gives the illusion of having emacsclient on any host
in any shell-mode session.

--
MICHAEL@MAUGER.COM // FSF and EFF member // GNU Emacs sql.el maintainer





             reply	other threads:[~2019-04-07  1:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-07  1:21 Michael Mauger [this message]
2019-04-11  0:54 ` [ELPA] New package: shelisp Troy Hinckley
2019-04-11  1:13   ` Michael Mauger
2019-04-16  1:35 ` Michael Mauger
2019-04-16  2:05   ` Michael Heerdegen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='38bhvF4r6NWO3KPjXFZMsQDq_LDLQjahDaYopMDI5XpvO8_STwEz509kjXRtf1MJAGzDUdG8Vs7nwWEdWxujuODzhDzVj0h0tM-V08MJlFg=@protonmail.com' \
    --to=mmauger@protonmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.