[slime-devel] Re: Would like to add 'changed definitions' functionality

Glenn Ehrlich glenn.ehrlich.lists at cox.net
Thu Jun 17 07:21:32 UTC 2004


Helmut,

I've emailed you separately, but thanks for the comments.  If no one
else thinks it would be useful, I can easily be persuaded to work on
something else.  I've got a rough design floating around in my head
that would use the existing definition support in swank plus some
additional functionality from imenu.  I looked at the way Franz eli
does it and it's sort of similar to the way I was thinking of doing
it.  I don't think it would be too difficult to implement, but I would
like to spend my time working on something that others would find
useful.  As I said to Helmut, I'm more in the mindset of "I'd like to
contribute in ways folks will find useful", rather than "I've got to
get feature X into slime".

On Wed, 16 Jun 2004 23:27:11 +0200, Helmut Eller wrote:

> Glenn Ehrlich <glenn.ehrlich.lists at cox.net> writes:
> 
>> I'm thinking of modeling this after the changed definitions of Genera
>> (from my new lisp machine :) or LispWorks.
> 
> How does it work on the Lisp Machine?

The way it works in LispWorks is exactly the same way it works on the
Lisp Machine, same keystroke bindings, too, I think.  Basically, meta
shift e evaluates all changed definitions in the current buffer (yes,
I know that emacs doesn't recognize the shift modifier, but zmacs
does) and meta shift c compiles the changed defintions in the current
buffer.  There's similar commands for doing the same for all buffers,
but they aren't bound to any keystrokes.  The definition of changed is
roughly "edited since last sent to Lisp".

I speculated in my reply to Helmut that maybe development styles are
different nowadays vs. back then on the LispM.  For example, the
default configuration creates an unlimited number of versioned files
(indicated by a trailing number i.e., "foo.lisp.1", "foo.lisp.2",
etc).  I unconsciously save very frequently, which when done on a
LispM creates a *ton* of versioned files.  I speculate that maybe it
was normal to have lots of unsaved buffers throughout the day and that
you needed a convenient way of evaluating or compiling the changed
stuff without going through all of your buffers individually.

> 
> [BTW, was/is SLIME an acronym for Symbolics LIsp Machine Environment?]
> 
>> Any particular hints or comments folks would like to make before I start?
> 
> I don't want to discourage you, but do you think this is worth to
> have?  When I looked at this feature I thought "well, this has a
> certain hack value, but compiling the entire buffer doesn't take that
> long and is easier to understand and trivial to implement."

After reading this, I do have to say that I agree.

> 
> Helmut.
-- 
Glenn Ehrlich
http://cooking-with-lisp.blogspot.com






More information about the slime-devel mailing list