Commit Graph

  • 4575d2a052 2.16 - applied patch by Michael Gray <mjg17@eng.cam.ac.uk> which fixes a bug in the Interpolate.pm submodule. A second variable, when immediately following the first, did not get interpolated, i.e. ${var1}${var2}. Thomas von Dein 2009-10-10 16:26:58 +00:00
  • 5e99e1f8b2 2.15 - fixed Bug in SaveConfig***, which didn't work. - applied patch by Robb Canfield <robb@canfield.com>, which fixes a bug in the variable interpolation scheme. It did not interpolate blocks nor blocknames. This patch fixes this. Patch slightly modified by me(interpolation on block and blocknames). - enhanced test for variable interpolation to reflect this. - added check if a named block occurs after the underlying block is already an array, which is not possible. perl cannot add a hashref to an array. i.e.: <bl> a = 1 </bl> <bl> b = 1 </bl> <bl blubber> c = 1 </bl> As you can see, "<bl>" will be an array, and "blubber" cannot be stored in any way on this array. The module croaks now if such construct occurs. Thomas von Dein 2009-10-10 16:26:40 +00:00
  • cc6bb346f7 2.14 - fixed bug reported by Francisco Olarte Sanz <folarte@peoplecall.com>, which caused _parse to ignore blocks with the name "0": <0> .. </0>, because it checked just if $block (the name between < and >) is true, and from the perl point of view "0" is not. Changed it to check for defined. Normally I avoid using 'defined' but in this case it will not be possible that $block contains the empty string, so defined is ok here. Thomas von Dein 2009-10-10 16:26:19 +00:00
  • 60f71c637c 2.13 - fixed bug reported by Steffen Schwigon <schwigon@webit.de>. the parser was still active inside a here-doc, which cause weird results if the here-doc contained multiple <<XXX strings. this bug has been fixed by re-organizing the _read() method. now the parser is only active outside of here-docs. Thomas von Dein 2009-10-10 16:25:59 +00:00
  • 39d25e3738 2.12 - fixed cpan bugid #1768, stuff inside a hash given by the -DefaultConfig parameter was ignored by the new interpolation code, this has been fixed. Thomas von Dein 2009-10-10 16:25:41 +00:00
  • c5e268e9f6 2.11 - heavy change in the variable interpolation code. Peter Sergeant <pete@clueball.com> reported this mis-behavior. The problem was that the whole hash was feeded to ::Interpolated.pm, but as we all know, perl hashes doesn't preserve the order. So, in our case the module sometimes was unable to resolve variablenames, because they were stored in a different location as it occured in the config. The change is, that Config::General now calls ::Interpolate.pm (new sub: _interpolate()) itself directly on a per-key/value pair basis. The internal varstack is now stored on $this globally. So, now a variable will be known when it occurs. period :- Thomas von Dein 2009-10-10 16:25:20 +00:00
  • 68323849bb 2.10 - added -StrictVars documentation section to the POD, which was missing. Thomas von Dein 2009-10-10 16:24:46 +00:00
  • f25e2cfb1e 2.09 - added bugfix in '#' comment parsing. If current state was within a block, then /^ #/ was not ignored as comment but instead added as variable. Reported by Lupe Christoph <lupe@lupe-christoph.de> Thomas von Dein 2009-10-10 16:24:24 +00:00
  • e3ca417573 2.08 - added option -StrictVars, which causes Interpolate.pm to ignore undefined variables and replaces such occurences with the emppty string. Thomas von Dein 2009-10-10 16:24:01 +00:00
  • 41b311f7a0 2.07 - fixed cpan bugid #1351, SaveConfig contained a deprecated function call which caused the module to croak. - added feature request, if in extended mode (OOP turned on with -ExtendedAccess => 1 access to non-existent keys caused a croak. While this is still the default behavior it is now possible to turn this off using -StrictObjects => 0. - added this to the related pod section in ::Extended. - fixed bug in new() which caused a couple of errors if the ConfigFile parameter is not set, or is set to undef. In this case it will now simply create an empty object. - fixed related bug in save_file() which will save "" to a file now if the config is uninitialized (i.e. the case mentioned below arrived). Thomas von Dein 2009-10-10 16:23:39 +00:00
  • 48b04e2f55 2.06 - added -SplitPolicy, -SplitDelimiter and -StoreDelimiter - removed whitespace support in keys in the default parser SplitPolicy 'guess', which was introduced in 2.02. Now I (re-)use the old regex I used before. if you need whitespaces in keys, use 'equalsign' as SplitPolicy. - the write_scalar() method uses the StoreDelimiter for separating options from values. - added -CComments to make it possible to turn c-comment parsing off. - added support for FileHandle objects as parameter to the -ConfigFile parameter. This makes it possible to use locking. Thomas von Dein 2009-10-10 16:23:18 +00:00
  • ffe3d8a79b 2.05 - fixed bug in ::Extended. It exported for some weird reason I cant remember all of its methods. This included keys() exists() and delete(), which are perl internals. If one used keys() on a normal hash, then the ::Extended own keys() were used instead of perls own one. I removed the export line. Thomas von Dein 2009-10-10 16:22:44 +00:00
  • ee04074296 2.04 - added RFE from rt.cpan.org (ID: 1218). the ::Interpolate module populates now uses of uninitialized variables in config files itself instead of just letting perl die(). The other suggestion of the RFE was declined. Thomas von Dein 2009-10-10 16:22:27 +00:00
  • f5ac2b6b75 2.03 - fixed bug in the _parse() routine (better: design flaw). after the last patch for allowing whitespaces in option names, it had a problem with here-docs which contained equal signs. option/value splitting resulted in weird output. Thomas von Dein 2009-10-10 16:22:10 +00:00
  • 8a7ed54c44 2.02 - added patch by Jens Heunemann, which allows to use whitespaces in option names. Thomas von Dein 2009-10-10 16:21:31 +00:00
  • d50bae5acf 2.01 - added -ConfigFile (in replace for -file) and -ConfigHash (in replace for -hash) to get a consistent parameter naming scheme. The old names are still supported for backward compatibility, but no more documented. Thomas von Dein 2009-10-10 16:20:41 +00:00
  • 76502a240e i 2.00 - fixed a bug in the ::Extended::keys() method, which caused a beloved "use of uninitialized ..." message. Reported by Danial Pearce <danial@infoxchange.net.au>. Thomas von Dein 2009-10-10 16:20:14 +00:00
  • c3eced799c 1.36 - simplified new() parameter parsing, should be now a little bit better to understand. Thomas von Dein 2009-10-10 16:19:00 +00:00
  • cbe885c7b9 1.35 - the here-doc identifier in saved configs will now created in a way which avoids the existence of this identifier inside the here-doc, which if it happens results in weird behavior in the resulting config. Thomas von Dein 2009-10-10 16:18:30 +00:00
  • 31144f9e4f 1.34 - Danial Pearce <danial@infoxchange.net.au> reported a bug in _store(), which caused the module to create scalar entries even if the entry contained newlines. While Danial supplied a patch to fix this - thx(TM) - I did not apply it, because I "outsourced" this kind of stuff to the subroutine _write_scalar(), see next. Thomas von Dein 2009-10-10 16:18:02 +00:00
  • 0073500add 1.33 - fixed bug in _parse_value() which caused perl to complain with "Use of uninitialized value in..." if a value was empty. Thomas von Dein 2009-10-10 16:17:43 +00:00
  • f9c0a5a8f3 1.32 - *argl* ... I forgot Interpolated.pm, don't know how that could happen, in 1.29 it was "lost". However - I added it again now. - added patch by Peder Stray <peder@linpro.no> to the _store() method, which makes it possible to catch arrays of hashes to be stored correctly. - cleaned up the t/run.t testscript to reflect the changes (in fact I did not touch it since 1.18 or so). - added test number 16 to test variable interpolation using ::Interpolated in t/run.t. - fixed bug with new() parameter -AllowMultiOptions which generated a croak() if set to something other than "no". - changed Extended::save() to reflect the API change, it calls now save_file(). Thomas von Dein 2009-10-10 16:17:24 +00:00
  • f860be0f71 1.31: - i'm such a moron ... I forgot to do a make clean in 1.30, pf. So this is 1.31, which is clean. Thomas von Dein 2009-10-10 16:16:43 +00:00
  • c9f8ce58b0 i 1.31: - i'm such a moron ... I forgot to do a make clean in 1.30, pf. So this is 1.31, which is clean. Thomas von Dein 2009-10-10 16:15:53 +00:00
  • 2ae16df3ad 1.30: - fixed typo, which made 1.29 unusable (undefined var %config) - added code to check if unknown parameters to new() has been supplied. Thomas von Dein 2009-10-10 16:15:02 +00:00
  • 5dabbe586a 1.29: - added 2 procedural functions ParseConf and SaveConf - added new parameters -AutoTrue and -FlagBits - added save_file() which replaces save(), which was weird implemented. If the user only supplied a hash as parameter to save(), then the first key was used as the filename and the rest was used as a config hash (which was then of an uneven size). - save_file() takes now instead of a hash a hash-ref and a filename. And the hashref is optional, since the object already contains a complete hash. - new method save_string() added, which returns the ready generated string instead of writing it to disk. The user can then save it himself. - POD updated. Thomas von Dein 2009-10-10 16:14:41 +00:00
  • b906f49050 1.28: - added contributed sub module Config::General::Interpolated by "Wei-Hon Chen" <plasmaball@pchome.com.tw> with help from "Autrijus Tang" <autrijus@autrijus.org> which makes it possible to use variables inside config files. - _read() accepts now c-comments inside c-comments if they are on a single line. - _read() is now more tolerant to here-identifiers (the ends of here-docs), whitespaces right after such an identifier are allowed (i.e. "EOF "). - _read() does now behave somewhat different with C-comments, they will be the first thing being processed in a config, so the parser really ignores everything inside C-comments. Previously it did not do that, for example here-docs has not been ignored. Thomas von Dein 2009-10-10 16:14:18 +00:00
  • 2c5ee3d876 1.27: - "make test" complained about uninitialized value in :146, which is now fixed. Thomas von Dein 2009-10-10 16:13:50 +00:00
  • 60c541d1c0 i 1.26: - added filehandle capability to -file. - added -String parameter to new(), which allows one to supply the whole config as a string. - added -MergeDuplicateBlocks option, which causes duplicate blocks to be merged. Thomas von Dein 2009-10-10 16:12:40 +00:00
  • dd1ed568a1 1.25: - include statements are now case insensitive - include statements may now also being used with indentation(leading and following whitespaces are allowed) - changed the end here-doc regexp from .+? to \S+? so " <<include..." works as expected (this was a bug, imo) - added new option -IncludeRelative (idea contributed by Valerio_Valdez Paolini <paolini@students.cs.unibo.it> and Anton Luht <luht@ank.ru> :-) This allows to include files from the location of the configfile instead from the working directory. Thomas von Dein 2009-10-10 16:11:48 +00:00
  • 95195c0038 i 1.24: - AllowMultiOptions printed out the value and not the option itself, if more than one of this particular option occured. - added -UseApacheInclude feature, contributed by Thomas Klausner <domm@zsi.at> - fixed bug with multiple options stuff, which did not work with blocks or named blocks. Pointed out by Thomas Klausner <domm@zsi.at>, who meant it being feature request, but in fact it was a bug (IMHO). - Config::General does now contain also it's OO-sister Config::General::Extended, which is from now on no more available as an extra module, because it lived a shadowy existence. - finally(!) created a Changelog file (this one, yes). Thomas von Dein 2009-10-10 16:11:25 +00:00
  • fc54974d01 1.23: - fixed bug, which removed trailing or leading " even no matching " was there. Thomas von Dein 2009-10-10 16:10:41 +00:00
  • 1ffbf95665 1.22: - added a new option to new(): -LowerCaseNames, which lowercases all option-names (feature request) Thomas von Dein 2009-10-10 16:10:12 +00:00
  • 93316ddc2e 1.21: - lines with just one "#" became an option array named "#" with empty entries, very weird, fixed Thomas von Dein 2009-10-10 16:09:33 +00:00
  • 7c03404fe9 1.20: - added an if(exists... to new() for checking of the existence of -AllowMultiOptions. - use now "local $_" because it caused weird results if a user used $_ with the module. Thomas von Dein 2009-10-10 16:08:54 +00:00
  • c395e5d596 1.19: - you can escape "#" characters using a backslash: "\#" which will now no more treated as a comment. - comments inside here-documents will now remain in the here-doc value. Thomas von Dein 2009-10-10 16:08:33 +00:00
  • 016cd6f07a history logs 1.17+1.18 are lost in space :-( Thomas von Dein 2009-10-10 16:08:08 +00:00
  • f1c21f4750 revision 1.16 date: 2000/08/03 16:54:58; author: jens; state: Exp; lines: +4 -1 An jedes File eine Sektion # Local Variables: *** # perl-master-file: ../../webmin/index.pl *** # End: *** Thomas von Dein 2009-10-10 16:07:21 +00:00
  • 0eda635652 .. Thomas von Dein 2009-10-01 18:52:31 +00:00
  • 068c852f4f ii Thomas von Dein 2009-10-01 18:51:25 +00:00
  • 0138edc92c x Thomas von Dein 2009-10-01 18:51:06 +00:00
  • 28e9743382 create layout dirs Matthew T 2009-09-28 15:48:18 +00:00