summaryrefslogtreecommitdiff
path: root/lib/Apache/Config/Preproc
AgeCommit message (Collapse)AuthorFiles
2020-04-01Minor changeSergey Poznyakoff5
2020-01-20Version 1.04v1.04Sergey Poznyakoff1
2020-01-18Complete the locus testsuiteSergey Poznyakoff1
* lib/Apache/Config/Preproc/locus.pm (clone): Bless the returned object. * t/06locus04.t: New test. * t/06locus05.t: New test. * t/06locus06.t: New test.
2020-01-18Document the locus expansion moduleSergey Poznyakoff6
2020-01-17Provide a base class for preprocessor modules.Sergey Poznyakoff7
* lib/Apache/Config/Preproc.pm (_preproc_section_default) (_preproc_section_optimized): Use begin_section and end_section instead of start and finish. * lib/Apache/Config/Preproc/Expand.pm: New file. * lib/Apache/Config/Preproc/compact.pm: Use the base class. * lib/Apache/Config/Preproc/ifdefine.pm: Likewise. * lib/Apache/Config/Preproc/ifmodule.pm: Likewise. * lib/Apache/Config/Preproc/include.pm: Likewise. * lib/Apache/Config/Preproc/locus.pm: Likewise. * lib/Apache/Config/Preproc/macro.pm: Likewise.
2020-01-17Implement the locus preprocessorSergey Poznyakoff2
Locus attaches to each node in the parse tree a Text::Locus object describing the location of the corresponding statement in the source file. * lib/Apache/Config/Preproc.pm: (new): Save filename. (filename): New method. (options): Return list. (_preproc_section_default) (_preproc_section_optimized): Start individual module start and finish methods. * lib/Apache/Config/Preproc/include.pm: Fix the call to conf->options. * lib/Apache/Config/Preproc/locus.pm: New module. * t/TestPreproc.pm (dump_reformat_synclines): New method. * t/06locus00.t: New test. * t/06locus01.t: New test. * t/06locus02.t: New test. * t/06locus03.t: New test.
2019-04-30Fix cyclic inclusion detection on systems with negative device numbersSergey Poznyakoff1
* lib/Apache/Config/Preproc/include.pm (expand): Allow for negative device and inode numbers. Fixes bug #129334
2018-02-20Correctly handle includes referring to a directorySergey Poznyakoff1
Previous versions were unable to expand statements like Include /some/dir where /some/dir is the name of an existing directory. This commit fixes that. * lib/Apache/Config/Preproc/include.pm (expand): Append '/*' if pattern is an existing directory.
2017-12-15Version 1.02v1.02Sergey Poznyakoff5
2017-12-14Fix cyclic include detection.Sergey Poznyakoff1
* lib/Apache/Config/Preproc/include.pm: Use stack of contexts to detect inclusion loops. Inject temporary directives to maintain the stack.
2017-12-13BugfixesSergey Poznyakoff2
* lib/Apache/Config/Preproc/ifmodule.pm (module_loaded): Resolve module source to module ID. * lib/Apache/Config/Preproc/include.pm (new): New argument "probe" (server_root): Take optional argument to set the root directory. (expand): Explicit ServerRoot overrides previously set value. (probe): New method. Update docs. * lib/Apache/Config/Preproc.pm: Update POD.
2017-12-13Add version information to submodulesSergey Poznyakoff5
2017-12-13BugfixesSergey Poznyakoff2
* lib/Apache/Config/Preproc/include.pm (new): Select included file table implementation basing on the OS name. Fix copy-paste error in NAME section. * lib/Apache/Config/Preproc/ifdefine.pm: Fix copy-paste error in NAME section. * lib/Apache/Config/Preproc.pm: Raise version number. * Changes: New release.
2017-12-09macro processor: implement the 'keep' listSergey Poznyakoff1
* lib/Apache/Config/Preproc/macro.pm: Implement the retention list. Macros from this list are exempt from expansion. * lib/Apache/Config/Preproc.pm: Document changes to the macro processor * t/04macro02.t: New test case.
2017-12-08New module: ifdefineSergey Poznyakoff1
* lib/Apache/Config/Preproc.pm: Document ifdefine * lib/Apache/Config/Preproc/ifdefine.pm: New file. * t/05ifdefine00.t: New file. * t/05ifdefine01.t: New file. * t/05ifdefine02.t: New file. * t/99all00.t: Add ifdefine test
2017-12-08Improve docsSergey Poznyakoff2
2017-12-07Provide a way to pass arguments to the phase constructorsSergey Poznyakoff4
* Makefile.PL: Lower the required Perl version. Update prerequisites * lib/Apache/Config/Preproc.pm (new): Get rid of -server_root. Don't save filename along with options. (server_root): Remove. (_preproc): Handle optional arguments in the module list. (_preproc_section): Don't pass $self to expand. It should have been saved by new, if the need be. * lib/Apache/Config/Preproc/compact.pm (new): Update. * lib/Apache/Config/Preproc/ifmodule.pm (new): Update. New arguments: preloaded => [ list of loaded modules ], and probe => $val. * lib/Apache/Config/Preproc/include.pm (new): Optional argument server_root. (expand): Change signature. * lib/Apache/Config/Preproc/macro.pm (new, expand): Change signature.
2017-12-07Improve docsSergey Poznyakoff4
2017-12-07Fix include expansion and testsuite coverage.Sergey Poznyakoff1
* lib/Apache/Config/Preproc/include.pm (expand): Bugfix. Return cloned items. * t/TestPreproc.pm: Make it possible to store data for multiple tests in the __DATA__ section. * t/00compact.t: New file. * t/01include00.t: New file. * t/pattern.t: Rename to t/01include01.t * t/01include02.t: New file * t/recursive.t: Rename to t/01include03.t * t/patopt01.t: Rename to t/02incopt00.t * t/patopt02.t: Rename to t/02incopt01.t * t/03ifmodule00.t: New file. * t/03ifmodule01.t: New file. * t/macro01.t: Rename to t/04macro00.t * t/macro02.tL Rename to t/04macro01.t * t/99all00.t: New file. * t/inc.t: Delete. * t/nested.t: Delete.
2017-12-07Implement macro expansionSergey Poznyakoff1
* lib/Apache/Config/Preproc/macro.pm: New file. * t/macro01.t: New file. * t/macro02.t: New file.
2017-12-07Rename module to Apache::Config::PreprocSergey Poznyakoff3

Return to:

Send suggestions and report system problems to the System administrator.