From: Oliver Scholz <alkibiades@gmx.de>
Subject: Re: what is the point of point-min?
Date: Fri, 29 Aug 2003 09:21:32 +0200 [thread overview]
Message-ID: <u65khhqtf.fsf@ID-87814.user.dfncis.de> (raw)
In-Reply-To: mailman.1207.1062105211.29551.help-gnu-emacs@gnu.org
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é!
next prev parent reply other threads:[~2003-08-29 7:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E19s71c-0005cn-KT@monty-python.gnu.org>
2003-08-27 23:40 ` what is the point of point-min? Joe Corneli
[not found] ` <mailman.1156.1062027752.29551.help-gnu-emacs@gnu.org>
2003-08-28 0:23 ` Jesper Harder
2003-08-28 16:17 ` Kevin Rodgers
2003-08-28 17:05 ` Jesper Harder
2003-08-28 17:59 ` Barry Margolin
2003-08-28 18:47 ` Jesper Harder
2003-08-28 20:05 ` Kai Großjohann
2003-08-28 21:11 ` Greg Hill
2003-08-29 11:30 ` Eli Zaretskii
2003-08-28 22:11 ` Johan Bockgård
2003-08-29 7:33 ` Oliver Scholz
[not found] ` <mailman.1207.1062105211.29551.help-gnu-emacs@gnu.org>
2003-08-29 7:21 ` Oliver Scholz [this message]
2003-08-29 11:32 ` Eli Zaretskii
2003-08-29 10:41 ` Kai Großjohann
2003-08-29 12:44 ` Rob Thorpe
2003-08-30 2:54 ` Jesper Harder
2003-09-01 13:41 ` Rob Thorpe
2003-09-07 6:50 ` Jim Janney
2003-09-07 17:28 ` Eli Zaretskii
2003-08-28 18:34 ` Kevin Rodgers
[not found] ` <m3znhttxic.fsf@peorth.gweep.net>
2003-08-28 20:39 ` Jesper Harder
[not found] ` <m31xv431u6.fsf@peorth.gweep.net>
2003-08-30 3:32 ` Jesper Harder
[not found] ` <m3ekz2idao.fsf@peorth.gweep.net>
2003-08-31 10:58 ` Unknown
2003-09-01 17:04 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=u65khhqtf.fsf@ID-87814.user.dfncis.de \
--to=alkibiades@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).