emacs-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Add prettify symbols to python-mode


From: Xue Fuqiao
Subject: Re: [PATCH] Add prettify symbols to python-mode
Date: Thu, 24 Sep 2015 11:57:24 +0800

On Thu, Sep 24, 2015 at 12:15 AM, Eli Zaretskii <address@hidden> wrote:

>> * Hacking on the C level is inherently more difficult than the Lisp
>>   (application) level.
>
> I don't see why.  C is not a complicated language, and a large part of
> the Emacs source code never touches its relatively more problematic
> parts, like memory allocation.

Maybe because the display engine is so complex that people don't want to
spend too much time on it.

>> * Perhaps our effort on (info "(elisp) GNU Emacs Internals") is not
>>   enough.  (Although it's almost impossible to document the ins and outs
>>   of the Emacs Lisp interpreter, the redisplay code, and other C
>>   infrastructure in Emacs, let alone having them updated.)
>
> This is a red herring: the C-level internals are extensively
> documented in comments to the respective source files.  Many source
> files have large commentaries at their beginning describing their
> design and implementation.  Having those in Texinfo will not change
> anything.
>
> If someone comes up with a list of specific design aspects that are in
> their opinion under-documented, post them.  I'd be surprised to see
> there anything that someone active here can tell which isn't already
> in the comments, but who knows.

Although, Lisp code has documentation strings and the `;;; Commentary:'
header, there's also lispref.  In-code documentation isn't enough
sometimes.

For example, if a developer wants to hack on the display engine, first,
she needs to know where the code of the display engine is (She may
wonder, is character.c part of the display engine, which is used to
display characters?  What about cmds.c?  composite.c?  disptab.h?
emacs.c?  fringe.c?  image.c?  textprop.c?  And xdisp.c?); second, she
wants to know how to debug a redisplay problem
("--enable-checking='yes,glyphs'"?  How to use its facilities?).  She
also need to know whether she can use C11 features, how to DEFUN, which
language should the test suite be written in for C code (C or Lisp?),
and all kinds of details that long-time core hackers are familiar with
but a newcomer doesn't have any clue.

(To my understanding, the display engine is composed of xdisp.c,
 dispnew.c, fringe.c, and perhaps some platform-dependent code like
 nsfns.m, w32fns.c, and xfns.c.  Please correct me if I'm wrong.)



reply via email to

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