This commit was manufactured by cvs2svn to create branch
'perforce_2_4_merge'.

svn path=; revision=12504
auto-merge

svn path=; revision=12794
no message

svn path=; revision=12846
Attempts on merge with Perforce Jam 2.4-dev.

    * Jamfile, common.mk: Added builtins.c to sources.
    * builtins.c: More includes, (load_builtins): declare 'args' in separate
    blocks. (lol_build): Restored function. Some static modifiers removed.
    * compile.c: Hell knows.
    * compile.h: Likewise.
    * expand.c: Took perforce jam as a base and implemented negative indexing.
    'T' modifier and conversion to 'string' are pending.
    * filesys.h: Perforce changes: moved most content to pathsys.h. Added
    'closure' paremeter to enumeration functions.
    * pathsys.h: Separeted from filesys.h.
    * filemac.c, filent.c, fileos2.c, fileunix.c, filevms.c, filesys.c,
      pathmac.c, pathunix.c, pathvms.c, search.c, timestamp.c:
      Adjusted for filesys.h/pathsys.h changes.
    * jam.c: Updated copyrights.
    * make1.c: Merged two different spellings of the same bugfix.
    * patchlevel.h: Still claim version 3.0.
    * scan.c: Merged nonconflicting changes: file/line info and some
      optimization.
    * variable.c: Added include.

svn path=; revision=12876
Further merging.

    * expand.c: Integrated changes from 1.1.2.5 to 1.1.2.6: strings are used
        everywhere. Made 'T' modifier work again.

svn path=; revision=12878
Futher merge efforts.

    * builtins.c: Some functions, used from compile.c, are no longer static.
    * compile.c, compile.h, jamgram.yy: Integrated most of Perforce changes.
    	There's problem with 'while', which returns value in Perforce version, which
	   was causing some obscure problems.
	Change 1277 not integrated since the corresponding code fragment is
	too altered in Boost Jam.
    * expand.c: Fixed a bug with 'J' modifier and a memory leak.
    * jam.c: Added missing newline in output.

svn path=; revision=12979
Futher merging.

    * builtins.c (bactrace): Function is no longer static.
    * filent.c: Merged Perforce changes.

svn path=; revision=12982
Improved support for on-target rules.

     * jamgram.yy: New nonterminal 'func'. Grammar now supports on-target
     	rule invocations inside '[' ']'.

svn path=; revision=13076
restored short-circuit evaluation

svn path=; revision=13097
Tweaks.

    * compile.c (compile_while): Made it return a value, as in Perforce Jam.

svn path=; revision=13109
Latest perforce changes integrated

svn path=; revision=13113
instantiation hacks for tru64cxx6.5

svn path=; revision=13265
Removed old branches.

svn path=; revision=38550