comparison 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
comparison
equal deleted inserted replaced
281:090b52736db2 282:c42ec1d1cded
2045 to throw most results off). It also enables three additional elisp 2045 to throw most results off). It also enables three additional elisp
2046 commands: @code{quantify-start-recording-data}, 2046 commands: @code{quantify-start-recording-data},
2047 @code{quantify-stop-recording-data} and @code{quantify-clear-data}. 2047 @code{quantify-stop-recording-data} and @code{quantify-clear-data}.
2048 2048
2049 To get started debugging XEmacs, take a look at the @file{gdbinit} and 2049 To get started debugging XEmacs, take a look at the @file{gdbinit} and
2050 @file{dbxrc} files in the @file{src} directory. 2050 @file{dbxrc} files in the @file{src} directory.
2051 2051 @xref{Q2.1.15: How to Debug an XEmacs problem with a debugger,,,
2052 xemacs-faq, XEmacs FAQ}.
2053
2054
2055 Here are things to know when you create a new source file:
2056
2057 @itemize @bullet
2058 @item
2059 All .c files should @code{#include <config.h>} first. Almost all .c
2060 files should @code{#include "lisp.h"} second.
2061
2062 @item
2063 Generated header files should be included using the @code{<>} syntax,
2064 not the @code{""} syntax. The generated headers are:
2065
2066 config.h puresize-adjust.h sheap-adjust.h paths.h Emacs.ad.h
2067
2068 The basic rule is that you should assume builds using @code{--srcdir}
2069 and the @code{<>} syntax needs to be used when the to-be-included
2070 generated file is in a potentially different directory
2071 @emph{at compile time}.
2072
2073 @item
2074 Header files should not include <config.h> and "lisp.h". It is the
2075 responsibility of the .c files that use it to do so.
2076
2077 @item
2078 If the header uses INLINE, either directly or though DECLARE_LRECORD,
2079 then it must be added to inline.c's includes.
2080
2081 @item
2082 Try compiling at least once with
2083
2084 @example
2085 gcc --with-mule --with-union-type --error-checking=all
2086 @end example
2087 @end itemize
2052 2088
2053 @node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Rules When Writing New C Code, Top 2089 @node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Rules When Writing New C Code, Top
2054 @chapter A Summary of the Various XEmacs Modules 2090 @chapter A Summary of the Various XEmacs Modules
2055 2091
2056 This is accurate as of XEmacs 20.0. 2092 This is accurate as of XEmacs 20.0.