From: joakim@verona.se
To: BT Templeton <bt@hcoop.net>
Cc: guile-user@gnu.org, emacs-devel@gnu.org
Subject: Re: Guile-Emacs update
Date: Wed, 31 Jul 2013 20:54:58 +0200 [thread overview]
Message-ID: <m3vc3qy2yl.fsf@exodia.verona.se> (raw)
In-Reply-To: <87mwpgkcsx.fsf@olor.terpri.org> (BT Templeton's message of "Sat, 20 Jul 2013 19:54:22 -0400")
BT Templeton <bt@hcoop.net> writes:
> Hello all,
>
> I've pushed several significant changes to the public Guile-Emacs
> repository at <http://git.hcoop.net/?p=bpt/emacs.git>:
>
> * Synchronized with bzr trunk as of mid-July.
>
> * Guile's control operators are used for all Elisp control-flow
> functionality, including special binding, unwind-protect, errors,
> catch/throw, and quit handling.
>
> * Guile exceptions are handled safely, and are re-thrown as Elisp
> errors.
>
> * Emacs's I/O functions can now print arbitrary Guile objects.
>
> * Coccinelle, a semantic patching tool, can now parse 99% of Emacs's C
> code base, compared to 75% previously. This requires using a patched
> version of Coccinelle (<http://git.hcoop.net/?p=bpt/coccinelle.git>)
> and using admin/coccinelle/macros.h as the "--macro-file" argument to
> the spatch command.
>
> * Last but not least, there is now an `eval-scheme' command:
>
> (eval-scheme "(define (fact n) (if (= n 0) 1 (* n (fact (1- n)))))")
> (eval-scheme "(fact 23)") => 25852016738884976640000
>
> Guile-Emacs requires libgc 7.2d or better and the development version of
> Guile. More information is available on the Emacs Wiki at
> <http://www.emacswiki.org/emacs/GuileEmacs>.
I tried this today. I had prepared myself for a lot of work, but I was
surprised to find that the build procedure was very simple!
More or less, on Fedora 19:
# this isnt like the instructions above, but the fedora repo guile is
# seemingly pretty okay
yum install guile*
#the clone took about 10 minutes
git clone git://git.hcoop.net/git/bpt/emacs.git
#make takes a loong time, much more than a normal emacs
./autogen.sh && ./configure && make
The build took 53 minutes including the time to clone the first time.
The second time took only a couple of minutes. This was on a fairly
beefy machine.
m-x tetris, and m-x zone worked fine!
(eval-scheme "(define (fact n) (if (= n 0) 1 (* n (fact (1- n)))))")
(eval-scheme "(fact 23)") => 25852016738884976640000
also worked fine!
I find this pretty awesome. I'm, hmm, awestruck!
--
Joakim Verona
next prev parent reply other threads:[~2013-07-31 18:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-20 23:54 Guile-Emacs update BT Templeton
2013-07-21 1:32 ` Noah Lavine
2013-07-22 7:52 ` Taylan Ulrich B.
2013-07-24 21:50 ` BT Templeton
2013-07-31 18:54 ` joakim [this message]
2013-07-31 20:28 ` Paul Smith
2013-07-31 20:46 ` joakim
2013-07-31 22:17 ` Óscar Fuentes
2013-07-31 22:17 ` Taylan Ulrich B.
2013-09-07 9:29 ` Andy Wingo
2013-09-07 10:02 ` Eli Zaretskii
2013-09-07 11:14 ` Andy Wingo
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=m3vc3qy2yl.fsf@exodia.verona.se \
--to=joakim@verona.se \
--cc=bt@hcoop.net \
--cc=emacs-devel@gnu.org \
--cc=guile-user@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.