From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kalle Olavi Niemitalo To: Keisuke Nishida Cc: guile-emacs@sourceware.cygnus.com Subject: Re: Emacs Scheme interface Date: Tue, 28 Mar 2000 23:06:00 -0000 Message-id: <87g0tavmox.fsf@PC486.Niemitalo.LAN> References: <87n1njuww0.fsf@PC486.Niemitalo.LAN> X-SW-Source: 2000-q1/msg00070.html Keisuke Nishida writes: > > (lisp-eval '(current-global-map)). > > I don't think it is a good interface. It is harder to understand and > may not work in the future. But at least it is easy to grep for "lisp-eval" when there is a better interface. It is more difficult to convert from the current ((point)) syntax. > I think a better way to get around this is to define a GOOPS class > for keymaps and define suitable procedures which call Lisp functions > appropriately as you may think in your mind. I wasn't actually thinking of GOOPS, just some unspecified structure (a bare # could do) and procedures to access it. I don't have anything against GOOPS though :-) > If (current-global-map) always returns a list, we can't do that. Right, it should return some object through which the real keymap can be modified. This object can be a Lisp reference like now or something specific to keymaps. When importing a procedure, we should think of the value it returns. Numbers and strings should be copied. Lists perhaps too, if they are short and don't have to be modified in place. Keymaps and strange objects like buffers can be Lisp references for now; new Scheme types should be defined later. I suppose things would be easier with Ken Raeburn's patches. :-) > Is that a convention among Guile applications? Module naming has been discussed on the Guile list (I have archives beginning from Feb 1999), but I don't think there was a conclusion. > omitting `app' will not hurt anyone. True, nobody else is going to have a top-level `emacs' package. > Have you tried Guile's multithread supoprt with Guile Emacs? I haven't.