From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keisuke Nishida To: guile-emacs@sourceware.cygnus.com Subject: Emacs Scheme interface Date: Mon, 27 Mar 2000 22:51:00 -0000 Message-id: X-SW-Source: 2000-q1/msg00062.html 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