emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile-Emacs update


From: joakim
Subject: Re: Guile-Emacs update
Date: Wed, 31 Jul 2013 20:54:58 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux)

BT Templeton <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]