This is the mail archive of the guile-emacs@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Emacs Scheme interface


Hello,

Since we have now got the ability to access Lisp functions from
Scheme programs, it may be about the time to think about a better
Emacs Scheme interface.

The current implementation of importing Lisp functions is not
quite convenient.  We have to write ((point)) instead of (point)
to get the point as a number.  It is easy to define point so that
(point) returns a number, but mixing both normal imported functions
and other special versions such as the (point) mentioned above may
be very confusing.  We should think about a whole new set of Emacs
Scheme procedures.

Some functions can be easily imported by always converting return
values to Scheme objects.  Some may be difficult because modifying
the Lisp value is essential (e.g., keymaps).  Some requires defining
new Scheme object in onder to get proper processing (e.g., buffers).

Since we have to think about all Lisp primitives, this will take a
long time.  But we have to do that step by step.  This work will be
useful in the future because we can reorganize Emacs primitives/
procedures/macros in terms of Scheme.  The new API will not be changed.

As soon as the next version of Guile Emacs is released, this project
can be started.  People may define a new module (emacs api) (or whatever)
and put new definitions in it.  The new API should be documented so
that people do not confuse.

Unfortunately, I don't have enough time to work on this for a while.
But let's start discussing.

-- Kei

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]