Mercurial > hg > xemacs-beta
diff man/internals/internals.texi @ 282:c42ec1d1cded r21-0b39
Import from CVS: tag r21-0b39
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:33:18 +0200 |
parents | c5d627a313b1 |
children | 70ad99077275 |
line wrap: on
line diff
--- a/man/internals/internals.texi Mon Aug 13 10:32:23 2007 +0200 +++ b/man/internals/internals.texi Mon Aug 13 10:33:18 2007 +0200 @@ -2047,8 +2047,44 @@ @code{quantify-stop-recording-data} and @code{quantify-clear-data}. To get started debugging XEmacs, take a look at the @file{gdbinit} and -@file{dbxrc} files in the @file{src} directory. - +@file{dbxrc} files in the @file{src} directory. +@xref{Q2.1.15: How to Debug an XEmacs problem with a debugger,,, +xemacs-faq, XEmacs FAQ}. + + +Here are things to know when you create a new source file: + +@itemize @bullet +@item +All .c files should @code{#include <config.h>} first. Almost all .c +files should @code{#include "lisp.h"} second. + +@item +Generated header files should be included using the @code{<>} syntax, +not the @code{""} syntax. The generated headers are: + +config.h puresize-adjust.h sheap-adjust.h paths.h Emacs.ad.h + +The basic rule is that you should assume builds using @code{--srcdir} +and the @code{<>} syntax needs to be used when the to-be-included +generated file is in a potentially different directory +@emph{at compile time}. + +@item +Header files should not include <config.h> and "lisp.h". It is the +responsibility of the .c files that use it to do so. + +@item +If the header uses INLINE, either directly or though DECLARE_LRECORD, +then it must be added to inline.c's includes. + +@item +Try compiling at least once with + +@example +gcc --with-mule --with-union-type --error-checking=all +@end example +@end itemize @node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Rules When Writing New C Code, Top @chapter A Summary of the Various XEmacs Modules