help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what is the point of point-min?


From: Oliver Scholz
Subject: Re: what is the point of point-min?
Date: Fri, 29 Aug 2003 09:21:32 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (windows-nt)

Greg Hill <ghill@synergymicro.com> writes:

> At 10:05 PM +0200 8/28/03, Kai Großjohann wrote:
>>Jesper Harder <harder@myrealbox.com> writes:
>>
>>>  If they were Lisp functions I would have just read the source.  But
>>>
>>>  * I hate reading C.
>>
>>Well, reading Emacs C code is very unlike reading other C code, so
>>please do give it a try.
>
> Indeed it is.  In fact, until you have mastered the peculiar coding
> conventions it adheres to, including the usage of ten billion #defined
> terms whose meanings are far from obvious, it is very VERY much more
> difficult than reading any other C code that I have ever encountered.

Somehow this comforts me. If you are right, then the fact that I am so
terribly slow at reading the C source of Emacs doesn't necessarily
mean that I am dumb. :-)

> For all intents and purposes, Emacs C is a language unto itself, whose
> mastery is much more difficult than any "general purpose" language
> like LISP.
[...]
> So "give it a try" at the risk of your sanity.  And don't feel bad it
> the experience leaves you feeling totally frustrated, irritated and
> alienated.
[...]

OTOH, "Emacs C" shares a lot of data structures with Emacs Lisp and
uses functions that are Emacs Lisp primitives. So if you are very
comfortable with Emacs Lisp and willing to deal with data structure
you don't fully understand, you have a fair chance to see something in
the code. Some parts of it rather look like Emacs Lisp with less
sophisticated control structures and with a very weird syntax.

Some sort of "Emacs C Reference Manual" which explains the most
important data structures and their accessor macros would be nice. But
OTOH, it's not too hard to guess what CONSP, EQ, STRINGP ... etc. do.

I should add that I don't really know C. I decided once to learn C by
studying the source of Emacs. So I can't really compare. However, I
rather enjoy it now.

One thing that helped me a lot is to step through the code with
gdb. The gdb macros described in etc/DEBUG are a great help to
inspect the data structures.

Then again, I am afraid I'll never understand garbage collection or
redisplay.

    Oliver
-- 
11 Fructidor an 211 de la Révolution
Liberté, Egalité, Fraternité!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]