Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You can most definitely run elisp scripts in Emacs without starting the editor interface.</p> <p>Here are the notes I've made/copied from a few extremely useful Q&amp;As on the subject here at S.O. (and the following two in particular).</p> <ul> <li><a href="https://stackoverflow.com/questions/6238331/#6259330">Emacs shell scripts - how to put initial options into the script?</a></li> <li><a href="https://stackoverflow.com/questions/2879746/#2906967">Idomatic batch processing of text in Emacs?</a></li> </ul> <pre class="lang-el prettyprint-override"><code>;;;; Elisp executable scripts ;; --batch vs --script ;; M-: (info "(emacs) Initial Options") RET ;; M-: (info "(elisp) Batch Mode") RET ;; Passing additional command-line arguments to Emacs: ;; https://stackoverflow.com/questions/6238331/#6259330 ;; ;; For robustness, it's important to both pass '--' as an argument ;; (to prevent Emacs from trying to process option arguments intended ;; for the script), and also set "argv" to nil at the end of the script ;; (to prevent Emacs from visiting the non-option arguments as files). ;; ;; #!/bin/sh ;; ":"; exec emacs --no-site-file --script "$0" -- "$@" # -*-emacs-lisp-*- ;; (print (+ 2 2)) ;; (setq argv nil) ;; always end with this ;; Processing with STDIN and STDOUT via --script: ;; https://stackoverflow.com/questions/2879746/#2906967 ;; ;; #!/usr/local/bin/emacs --script ;; ;;-*- mode: emacs-lisp;-*- ;; ;; (defun process (string) ;; "just reverse the string" ;; (concat (nreverse (string-to-list string)))) ;; ;; (condition-case nil ;; (let (line) ;; ;; commented out b/c not relevant for `cat`, but potentially useful ;; ;; (princ "argv is ") ;; ;; (princ argv) ;; ;; (princ "\n") ;; ;; (princ "command-line-args is" ) ;; ;; (princ command-line-args) ;; ;; (princ "\n") ;; ;; (while (setq line (read-from-minibuffer "")) ;; (princ (process line)) ;; (princ "\n"))) ;; (error nil)) </code></pre> <p>Emacs aside, the only other elisp interpreter/compiler I'm aware of is Guile. If you're keen on general coding in elisp, that should be worth a look (especially if performance is a concern).</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload