guile-user
[Top][All Lists]
Advanced

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

Re: how to invoke the emacs interface for guile 1.7


From: Neil Jerram
Subject: Re: how to invoke the emacs interface for guile 1.7
Date: Thu, 07 Oct 2004 23:38:35 +0100
User-agent: Mozilla/5.0 (X11; U; Linux 2.4.4-4GB i686; en-US; 0.8.1) Gecko/20010515

Stephen Compall wrote:

Neil Jerram <address@hidden> writes:


The way that GDS differs from run-guile.el, cmuscheme.el and the
like, is that you use it when working on a Scheme file - like C-x
C-e for Elisp - rather than by writing expressions in sequence in a
special shell-like window.


What's your scheme mode?  In mine, which is just scheme.el and
cmuscheme.el as distributed with Emacs, when I `run-scheme', these
bindings are replaced with Scheme versions.  For example, "C-x C-e
runs the command scheme-send-last-sexp, which is an interactive
compiled Lisp function in `cmuscheme'."

GDS started as an extension of cmuscheme.el, but moved away from that as I tried to take more things into account, the two main things being:

- how do you interact with and debug a Guile application that doesn't have a command line (such as Gnucash), or which has a command line that doesn't speak Scheme?

- in parsing Guile's output so as to identify errors, backtraces, help, completion information and so on, how can we do better than either applying imperfect heuristics or adding control characters to Guile's output (a la ice-9/emacs.scm)?

GDS's answer is that you don't use stdin/stdout at all, but instead communicate with the application through a socket. The ability and interface to evaluate code, do completions and ask for help from a Scheme buffer ends up being very similar to cmuscheme.el, but the implementation is quite different and IMO a more robust base for an eventual full function Guile IDE.



However, this doesn't display the result in the minibuffer, if that is
what gds does.

FWIW, GDS displays evaluation results and help (and backtrace, when debugging) in a separate "Guile Interaction" window that pops up when needed.

Regards,
     Neil





reply via email to

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