all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xue Fuqiao <xfq.free@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Stromeko@nexgo.de, Emacs-devel <emacs-devel@gnu.org>
Subject: Re: [PATCH] Add prettify symbols to python-mode
Date: Thu, 24 Sep 2015 11:57:24 +0800	[thread overview]
Message-ID: <CAAF+z6FQCMES32FH8Koy5K5T-xEm+UqE0eyRJE_52WE+UbqbMw@mail.gmail.com> (raw)
In-Reply-To: <83oagtjemn.fsf@gnu.org>

On Thu, Sep 24, 2015 at 12:15 AM, Eli Zaretskii <eliz@gnu.org> 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.)



  parent reply	other threads:[~2015-09-24  3:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-20 19:28 [PATCH] Add prettify symbols to python-mode Mark Oteiza
2015-09-20 22:48 ` Xue Fuqiao
2015-09-21  0:53   ` Mark Oteiza
2015-09-21  2:20     ` Stefan Monnier
2015-09-22  6:55       ` Richard Stallman
2015-09-22 12:44         ` Stefan Monnier
2015-09-22 14:42           ` Rasmus
2015-09-22 22:02           ` Richard Stallman
2015-09-23  6:22           ` Achim Gratz
2015-09-23  7:13             ` Eli Zaretskii
2015-09-23  8:04               ` David Kastrup
2015-09-23 14:12               ` Xue Fuqiao
2015-09-23 16:15                 ` Eli Zaretskii
2015-09-23 16:52                   ` David Kastrup
2015-09-23 17:09                     ` Eli Zaretskii
2015-09-23 17:58                       ` David Kastrup
2015-09-23 19:24                         ` Eli Zaretskii
2015-09-23 19:39                           ` David Kastrup
2015-09-23 19:48                             ` Eli Zaretskii
2015-09-23 19:56                               ` David Kastrup
2015-09-23 20:04                                 ` Eli Zaretskii
2015-09-23 20:10                                   ` David Kastrup
2015-09-23 19:38                         ` Paul Eggert
2015-09-23 19:46                           ` David Kastrup
2015-09-23 20:15                             ` Paul Eggert
2015-09-23 21:40                               ` David Kastrup
2015-09-24  1:16                                 ` Stephen J. Turnbull
2015-09-24  3:57                   ` Xue Fuqiao [this message]
2015-09-24 14:31                     ` Eli Zaretskii
2015-09-23 19:07               ` Achim Gratz
2015-09-23 19:42                 ` Eli Zaretskii
2015-09-24  8:06               ` Xue Fuqiao
2015-09-24  8:35                 ` David Kastrup
2015-09-24 10:33                   ` Kaushal Modi
2015-09-24 14:32                     ` Eli Zaretskii
2015-09-24 13:06                   ` Xue Fuqiao
2015-09-24 14:32                   ` Eli Zaretskii
2015-09-28  7:17             ` Dmitry Gutov

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAF+z6FQCMES32FH8Koy5K5T-xEm+UqE0eyRJE_52WE+UbqbMw@mail.gmail.com \
    --to=xfq.free@gmail.com \
    --cc=Stromeko@nexgo.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.