all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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.