From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Alex Schroeder Newsgroups: gmane.emacs.devel Subject: Re: Documentation Question Date: Mon, 02 Dec 2002 23:29:26 +0100 Sender: emacs-devel-admin@gnu.org Message-ID: <87lm38hx6h.fsf@emacswiki.org> References: <00e301c29a2a$59f53020$444f6181@swag07> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1038868217 22697 80.91.224.249 (2 Dec 2002 22:30:17 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 2 Dec 2002 22:30:17 +0000 (UTC) Cc: Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18Iz4q-0005tN-00 for ; Mon, 02 Dec 2002 23:30:08 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18IzE3-0002KC-00 for ; Mon, 02 Dec 2002 23:39:39 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Iz4o-0007qo-00; Mon, 02 Dec 2002 17:30:06 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18Iz4D-0007gz-00 for emacs-devel@gnu.org; Mon, 02 Dec 2002 17:29:29 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18Iz4C-0007gl-00 for emacs-devel@gnu.org; Mon, 02 Dec 2002 17:29:29 -0500 Original-Received: from isp247n.hispeed.ch ([62.2.95.247] helo=smtp.hispeed.ch) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Iz4B-0007gg-00 for emacs-devel@gnu.org; Mon, 02 Dec 2002 17:29:27 -0500 Original-Received: from confusibombus (dclient217-162-33-223.hispeed.ch [217.162.33.223]) by smtp.hispeed.ch (8.12.6/8.12.6/tornado-1.0) with ESMTP id gB2MTPru010231; Mon, 2 Dec 2002 23:29:26 +0100 Original-Received: from alex by confusibombus with local (Exim 3.35 #1 (Debian)) id 18Iz4A-0000Bb-00; Mon, 02 Dec 2002 23:29:26 +0100 Original-To: "Andrew Trevors" X-Face: ^BC$`[IcggstLPyen&dqF+b2'zyK#r.mU*'Nms}@&4zw%SJ#5!/7SMVjBS7'lb;QK)|IPU5U'o1'522W4TyzB3Ab*IBo^iw]l4|kUbdZuUDO6=Um-.4IzhNiV'B"@K#jy_(wW|Zbk[34flKY^|PrQ?$u2\fKg^]AY>wOX#H32i In-Reply-To: <00e301c29a2a$59f53020$444f6181@swag07> ("Andrew Trevors"'s message of "Mon, 2 Dec 2002 12:43:40 -0500") Original-Lines: 28 User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2.92 (i686-pc-linux-gnu) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:9816 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:9816 "Andrew Trevors" writes: > Now, why I've posted this here is that I haven't had much luck finding > any design type documentation that could be used to formulate a > conceptual architecture. Is there any sort of docs or anything that > is used to teach new programmers to the project, or is this type of > thing usually up to the programmer himself by reading through > code/comments. For people joining the project, the source is the documentation, specially for such tricky things as the redisplay engine. Emacs basically implements a lisp interpreter in C, some editing primitives in C, and the rest in lisp. So you need to decide now wether to focus on Emacs-as-Lisp-engine or Emacs-as-developing-environment. For C authors, the source is the documentation. For Elisp authors, Emacs provides an integrated help facility, and manuals. Some of these document technical things such as the command loop, but very often Elisp authors do not need this kind of in-depth information. A paper by RMS describing one of the earliest Emacs implementations, and some of the design concepts still used: http://www.gnu.org/software/emacs/emacs-paper.html Alex.