> In my experience hanging out at the #emacs channel at Freenode and
> asking for help or hints on elisp is fun, and it's easy to test ideas
> interactively with C-x C-e...
Indeed, completely agree!
> I don't know how to recompile Emacs after a change in
> a .c and restart it in less that 30 seconds
I don't know either 🙂. It take me about 2 - 3 minutes every time to recompile.
I have my emacs src from github and I just run make -j4 after a change. I don't
run full build. I then run emacs from src folder with -Q flag and test file as
argument.
You will also need simple.patch. Contains a variable to turn off/on parser in eval so you
can just eval-buffer or eval-region.
Cool if you test! I would be glad to hear opinions on the idea of literal elisp. (Please I am aware of opinions on
implementation 🙂).
# Apply the patches in /tmp/:
cd /tmp/
cp -v ~/bigsrc/emacs/src/lread.c /tmp/
cp -v ~/bigsrc/emacs/lisp/emacs-lisp/bytecomp.el /tmp/
# (find-man "1 patch")
patch lread.c lread.patch
patch bytecomp.el bytecomp.patch
# If they applied cleanly, copy the patched files back:
cp -v /tmp/lread.c ~/bigsrc/emacs/src/lread.c
cp -v /tmp/bytecomp.el ~/bigsrc/emacs/lisp/emacs-lisp/bytecomp.el
# Rebuild Emacs.
# I usually skip some of the steps below - my way of executing
# these scripts line by line from Emacs is explained here:
#
http://angg.twu.net/emacsconf2019.html
#
http://angg.twu.net/eev-intros/find-eev-quick-intro.html#6
rm -Rfv ~/bigsrc/emacs/
mkdir -p ~/bigsrc/emacs/
cd ~/bigsrc/
git clone git://
git.sv.gnu.org/emacs
cd ~/bigsrc/emacs/
time ./autogen.sh 2>&1 | tee oa
time ./configure 2>&1 | tee oc
time make bootstrap 2>&1 | tee omb
time make 2>&1 | tee om
# Run the new Emacs:
~/bigsrc/emacs/src/emacs
Cheers,
Eduardo Ochs
http://angg.twu.net/#eev
> I was expecting that Arthur would come up with a preprocessor written
> in (I guess) 30 lines of Elisp...
Interesting 🙂. If you have red my previous mails to this list you
might have noticed that I am not an elisp guru. Stefan has
outlined two possible ways how this could be implemented in
Elisp, if you follow his advice I am sure you will have a working
solution you can present to us. I don't care how many lines of code
it will take.