comparison man/internals/internals.texi @ 359:8e84bee8ddd0 r21-1-9

Import from CVS: tag r21-1-9
author cvs
date Mon, 13 Aug 2007 10:57:55 +0200
parents 182f72e8cd0d
children 972bbb6d6ca2
comparison
equal deleted inserted replaced
358:fed6e0f6a03a 359:8e84bee8ddd0
1687 @samp{--srcdir} works correctly; @file{config.h} may or may not be in 1687 @samp{--srcdir} works correctly; @file{config.h} may or may not be in
1688 the same directory as the C sources) and @file{lisp.h}. @file{config.h} 1688 the same directory as the C sources) and @file{lisp.h}. @file{config.h}
1689 should always be included before any other header files (including 1689 should always be included before any other header files (including
1690 system header files) to ensure that certain tricks played by various 1690 system header files) to ensure that certain tricks played by various
1691 @file{s/} and @file{m/} files work out correctly. 1691 @file{s/} and @file{m/} files work out correctly.
1692
1693 When including header files, always use angle brackets, not double
1694 quotes, except when the file to be included is in the same directory as
1695 the including file. If either file is a generated file, then that is
1696 not likely to be the case. In order to understand why we have this
1697 rule, imagine what happens when you do a build in the source directory
1698 using @samp{./configure} and another build in another directory using
1699 @samp{../work/configure}. There will be two different @file{config.h}
1700 files. Which one will be used if you @samp{#include "config.h"}?
1692 1701
1693 @strong{All global and static variables that are to be modifiable must 1702 @strong{All global and static variables that are to be modifiable must
1694 be declared uninitialized.} This means that you may not use the ``declare 1703 be declared uninitialized.} This means that you may not use the ``declare
1695 with initializer'' form for these variables, such as @code{int 1704 with initializer'' form for these variables, such as @code{int
1696 some_variable = 0;}. The reason for this has to do with some kludges 1705 some_variable = 0;}. The reason for this has to do with some kludges