2004-10-18 Gonzalo Paniagua Javier * regex.cs: in Replace, when count is negative, replacement continues to the end of the string. Fixes bug #68398. Patch by Jon Larimer. 2004-06-10 Gert Driesen * RegexRunner.cs: fixed case mismatch of methods 2004-06-10 Gert Driesen * RegexRunner.cs: marked TODO, added missing protected internal fields, throw NotImplementedException in all methods 2004-06-10 Gert Driesen * RegexRunnerFactory.cs: removed comment, no longer throw exception from ctor * regex.cs: fixed public API signature by renaming protected internal fields and adding destructor, added MonoTODO attribute to fields and method that are not yet implemented, changed not implemented methods to throw NotImplementedException instead of Exception, fixed names of field that are serialized 2004-06-06 Jambunathan K * parser.cs: Fixed issues with Regex.Unescape() identified as part of debugging bug #58256. The original problem reported was about inconsistency between the way we treat replacement patterns and the way microsoft treats the replacement patterns in Regex.Replace(). MS implementation is buggy and doesn't honour escape sequences in the replacement patterns, even though the SDK claims otherwise. 2004-06-01 Gonzalo Paniagua Javier * syntax.cs: re-applied my patch from 2004-05-27 plus a fix which is emitting a Category.All if both a category and its negated value are present. 2004-06-01 Gonzalo Paniagua Javier * syntax.cs: reverting my previous patch. It causes bigger problems. 2004-05-27 Gonzalo Paniagua Javier * category.cs: added LastValue field to mark the end of enum Category. * syntax.cs: in CharacterClass, use Category.LastValue to get the size of the array needed. Use a BitArray instead of bool[]. In AddCategory(), don't set the opposite category as false. Fixes bug #59150. All tests pass. 2004-05-25 Jackson Harper * parser.cs: Allow creating a regular expression using {,n} as the specified. The min bounds is set to -1, I am not completely sure if that is what it is supposed to be but MS does not set it to 0 based on testing. Patch by dave-gnome-bugs@earth.li. Fixes bug #56761. 2004-05-12 Dick Porter * regex.cs: * quicksearch.cs: * RegexRunnerFactory.cs: * RegexRunner.cs: More public API difference fixes. * GroupCollection.cs: * MatchCollection.cs: * CaptureCollection.cs: Moved GroupCollection, MatchCollection and CaptureCollection so that they no longer inherit from the non-standard RegexCollectionBase class. Fixes the API difference. 2004-04-19 Gonzalo Paniagua Javier * arch.cs: * compiler.cs: * interpreter.cs: * parser.cs: * syntax.cs: Patch by Eric Durand Tremblay. 1) Capture inner group when named. 2) Resolved parse error caused by not capturing inner group 3) Resolved incorrect capture group 4) Now, not capturing anything when unnamed ( correct behavior) 2004-04-19 Gonzalo Paniagua Javier * arch.cs: * compiler.cs: * interpreter.cs: * parser.cs: * syntax.cs: converted to unix line endings. 2004-03-30 Lluis Sanchez Gual * collections.cs: In the indexer, return an empty group if the requested group is not found. * match.cs: Added default constructor for Group. 2004-03-24 Gonzalo Paniagua Javier * parser.cs: fixed group numbering. 2004-03-22 Jackson Harper * parser.cs: Use the group number as the name in mapping. Patch by Gert Driesen. * regex.cs: Fix off by one error. Patch by Gert Driesen. 2004-03-17 Francois Beauchemin * syntax.cs, interpreter.cs, quicksearch.cs, regex.cs, compiler.cs : Revised support for RigthToLeft. quicksearch has now an reverse option. This fixes bug #54537 * regex.cs, compiler.cs : Some code to support CILCompiler. * regex.cs : Added some undocumented of MS. 2004-03-16 Gonzalo Paniagua Javier * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797. 2004-02-01 Miguel de Icaza * syntax.cs, interval.cs: Applied patch from Marco Cravairo through Francois Beauchemin who reviewed on the mailing list. This fixes bug #45976 2004-01-16 Gonzalo Paniagua Javier * parser.cs: an opening brace without a quantifier do not cause a parse error. Fixes bug #52924. 2004-01-07 Lluis Sanchez Gual * regex.cs: In Split(), if the last match is at the end of the string, an empty string must be added to the array of results. 2003-12-15 Sanjay Gupta * match.cs: Check for null value before Substring method call. Fixes bug #52034. 2003-11-21 Juraj Skripsky * quicksearch.cs: Create and use hashtable only for "long" search strings. (Search): Use simple scan for a single-character search strings. (GetChar): Simplify case sensitivity handling. 2003-11-27 Gonzalo Paniagua Javier * interpreter.cs: when evaluating a degenerate match, restore the RepeatContext if fail. Fixes bug #42529. 2003-11-22 Jackson Harper * regex.cs: Add CultureInvariant flag to RegexOptions. 2003-11-20 Juraj Skripsky * quicksearch.cs: Use a hashtable instead of an array for the shift table to improve the memory usage. 2003-11-19 Gonzalo Paniagua Javier * regex.cs: (Split): include capture groups in the results, if any. Fixes bug #51146. 2003-07-09 Gonzalo Paniagua Javier * regex.cs: patch from Eric Lindvall that fixes bug #44830. 2003-03-05 Miguel de Icaza * category.cs (CategoryUtils.CategoryFromName): Use StartsWith ("Is") instead of a substring for (0,2) which was throwing an exception causing Category.None to be returned 2003-01-17 Gonzalo Paniagua Javier * collections.cs: fixed bug #30091. 2002-12-20 Gonzalo Paniagua Javier * regex.cs: fixed little mistake (closes #35860). 2002-11-12 Jackson Harper * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories 2002-11-06 Gonzalo Paniagua Javier * parser.cs: detect illegal \ at end of pattern. Fixes 31334. 2002-10-25 Gonzalo Paniagua Javier * parser.cs: applied fix from Tim Haynes (thaynes@openlinksw.com) to solve bug #32807. Also modified GetMapping to return the same as MS. 2002-08-28 Juli Mallett * arch.cs, compiler.cs: Give the interpreter machine a property for the retrieval of the group count. * regex.cs: Use the new GroupCount property of the factory to initialise the current group count, and restructure code to compile the pattern only the first time it is needed (essentially backing out the previous revision of regex.cs, to use the new code.) 2002-08-14 Cesar Octavio Lopez Nataren * regex.cs: Added the ctr for ISerializable implementation and implemented the GetObjectData function. 2002-07-30 Juli Mallett * regex.cs: Fixed bug where the expression would not be re-evaluated for grouping purposes when factory caches were used, resulting in no groups being recognised after one call with a given pattern and no change in options. 2002-05-13 Dan Lewis * regex.cs: Fixed bug in split. 2002-05-08 Dan Lewis * interpreter.cs: Moved to an array-based stack representation for faster captures. * match.cs, collections.cs: Decoupled capture representation from interpreter internals. * cache.cs: Changed Key type from struct to class for speed. 2002-04-06 Dan Lewis * cache.cs: Object methods should be overridden with "override". 2002-04-04 Dan Lewis * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs added for completeness. * regex.cs, match.cs, collections.cs: Serializable attribute. 2002-04-04 Dan Lewis * regex.cs: Added static Matches and IsMatch methods. 2002-04-03 Dan Lewis * ChangeLog: Added changelog. * cache.cs: Fixed bug in MRUList.Evict.