From: Pillsy
Subject: Emacs Lisp for the Common Lisper?
Date: 
Message-ID: <1180392350.483089.102730@q69g2000hsb.googlegroups.com>
Are there any good sources out there for how to write good Emacs Lisp
that don't make the assumption that you don't know Lisp in general? I
ask because there seems to be quite a lot of Emacs Lisp knowledge out
there that's part of it's extensive library of Lisp functions, but the
tutorial stuff I've found spends a lot more time talking about what a
cons is and what lambda means than it does about how to actually use
the Emacsy parts if you already have a decent handle on the Lispy
parts.

TIA,
Pillsy
From: Mark Evenson
Subject: Re: Emacs Lisp for the Common Lisper?
Date: 
Message-ID: <f3j30n$eps$1@reader2.panix.com>
Pillsy wrote:
> Are there any good sources out there for how to write good Emacs Lisp
> that don't make the assumption that you don't know Lisp in general? I
> ask because there seems to be quite a lot of Emacs Lisp knowledge out
> there that's part of it's extensive library of Lisp functions, but the
> tutorial stuff I've found spends a lot more time talking about what a
> cons is and what lambda means than it does about how to actually use
> the Emacsy parts if you already have a decent handle on the Lispy
> parts.

I find that the GNU [elisp][1] manual makes a fine, concise starting 
point for things that are "built-in" concepts.  Over the years, I have 
only found it more clear when re-reading definitions as the descriptions 
are actually presented in a somewhat plausible, causal order (not to by 
underestimated in Nelson's nightmare).

For a quick example, let's say I wanted to write some elisp to grab text 
around the point.  By some magic process (waves hands), I figure out 
that the Emacs [buffers][2] abstraction maintains the relevant 
information.  Then reading, following links, eval on variations: it *is* 
Lisp after all.

The best source is, of course, the source where [the "point" is live][3] 
in Emacs, i.e. it is interactive.  There are a whole slew of CL 
constructs implemented in elisp macros, so I tend to gravitate towards 
the code that uses these symbols.

Hope this might help somewhat,

[1]:http://www.gnu.org/software/emacs/elisp-manual/

[2]:http://www.gnu.org/software/emacs/elisp-manual/html_mono/elisp.html#Buffers

[3]:http://www.gnu.org/software/emacs/elisp-manual/html_mono/elisp.html#Point

-- 
Mark Evenson <·······@panix.com>

"A screaming comes across the sky.  It has happened before, but there is
nothing to compare to it now."