1 2005-05-24 Raja R Harinath <rharinath@novell.com>
3 * replace.cs (ReplacementEvaluator.CompileTerm): Fix group
6 2005-05-20 Ben Maurer <bmaurer@ximian.com>
8 * regex.cs: Some memory allocation optimizations.
10 2005-05-20 Raja R Harinath <rharinath@novell.com>
13 * replace.cs (ReplacementEvaluator.Compile): Allow CompileTerm to
14 fail and yet have advanced the pointer. Append the scanned-over
15 portion to the "literal" being built.
16 (ReplacementEvaluator.CompileTerm): Don't throw any exceptions.
17 If a term cannot be recognized, just return null.
19 * compiler.cs (InterpreterFactory.GroupCount): Fix. The 0'th
20 index corresponds to Opcode.Info.
22 * parser.cs (Parser.Unescape): If the string doesn't contain any
23 '\' character, don't allocate a new string.
25 * replace.cs (ReplacementEvalutator.Term.AppendResult): Rename
26 from GetResult. Append to a passed-in StringBuilder rather than
28 (ReplacementEvaluator.Evaluate): Update.
30 * Capture.cs, Group.cs, Match.cs: New files split out of ...
31 * match.cs: ... this. Remove.
33 2005-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
35 * parser.cs: stuff inside {} might not be a quantifier. Fixes
38 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
40 * quicksearch.cs: handle IgnoreCase when getting the shift distance.
41 Fixes bug #69065. Patch by mei@work.email.ne.jp.
43 2005-01-08 Miguel de Icaza <miguel@ximian.com>
45 * syntax.cs: Applied patch from mei@work.email.ne.jp to fix bug
48 * parser.cs: Turns out that \digit sequences are octal sequences
49 (no leading zero is needed); And the three octal digit rule
50 applies to the leading zero as well.
52 This fixes the Unescape method.
54 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
56 * regex.cs: use NextMatch to move on to the next match. Fixes bug
59 2004-11-09 Atsushi Enomoto <atsushi@ximian.com>
63 2004-11-08 Ben Maurer <bmaurer@ximian.com>
65 * replace.cs, parser.cs: Use stringbuilder for allocation sanity.
67 2004-10-21 Joerg Rosenkranz <joergr@voelcker.com>
69 * regex.cs: Fixed a bug introduced with the last patch which
70 prevented any replacements when a postive count is given.
71 This also happens in all overloads without count parameter.
73 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
75 * regex.cs: in Replace, when count is negative, replacement continues
76 to the end of the string.
78 Fixes bug #68398. Patch by Jon Larimer.
80 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
82 * RegexRunner.cs: fixed case mismatch of methods
84 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
86 * RegexRunner.cs: marked TODO, added missing protected internal
87 fields, throw NotImplementedException in all methods
89 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
91 * RegexRunnerFactory.cs: removed comment, no longer throw exception
93 * regex.cs: fixed public API signature by renaming protected
94 internal fields and adding destructor, added MonoTODO attribute to
95 fields and method that are not yet implemented, changed not
96 implemented methods to throw NotImplementedException instead of
97 Exception, fixed names of field that are serialized
99 2004-06-06 Jambunathan K <kjambunathan@novell.com>
101 * parser.cs: Fixed issues with Regex.Unescape() identified as part of
102 debugging bug #58256. The original problem reported was about
103 inconsistency between the way we treat replacement patterns and the
104 way microsoft treats the replacement patterns in Regex.Replace(). MS
105 implementation is buggy and doesn't honour escape sequences in the
106 replacement patterns, even though the SDK claims otherwise.
109 2004-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
111 * syntax.cs: re-applied my patch from 2004-05-27 plus a fix which is
112 emitting a Category.All if both a category and its negated value are
115 2004-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
117 * syntax.cs: reverting my previous patch. It causes bigger problems.
119 2004-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
121 * category.cs: added LastValue field to mark the end of enum Category.
122 * syntax.cs: in CharacterClass, use Category.LastValue to get the size
123 of the array needed. Use a BitArray instead of bool[].
124 In AddCategory(), don't set the opposite category as false. Fixes
125 bug #59150. All tests pass.
127 2004-05-25 Jackson Harper <jackson@ximian.com>
129 * parser.cs: Allow creating a regular expression using {,n} as the
130 specified. The min bounds is set to -1, I am not completely sure
131 if that is what it is supposed to be but MS does not set it to 0
132 based on testing. Patch by dave-gnome-bugs@earth.li. Fixes bug #56761.
134 2004-05-12 Dick Porter <dick@ximian.com>
138 * RegexRunnerFactory.cs:
139 * RegexRunner.cs: More public API difference fixes.
141 * GroupCollection.cs:
142 * MatchCollection.cs:
143 * CaptureCollection.cs: Moved GroupCollection, MatchCollection and
144 CaptureCollection so that they no longer inherit from the
145 non-standard RegexCollectionBase class. Fixes the API difference.
147 2004-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
154 Patch by Eric Durand Tremblay.
155 1) Capture inner group when named.
156 2) Resolved parse error caused by not capturing inner group
157 3) Resolved incorrect capture group
158 4) Now, not capturing anything when unnamed ( correct behavior)
161 2004-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
167 * syntax.cs: converted to unix line endings.
169 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
171 * collections.cs: In the indexer, return an empty group if the requested
173 * match.cs: Added default constructor for Group.
175 2004-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
177 * parser.cs: fixed group numbering.
179 2004-03-22 Jackson Harper <jackson@ximian.com>
181 * parser.cs: Use the group number as the name in mapping. Patch by
183 * regex.cs: Fix off by one error. Patch by Gert Driesen.
185 2004-03-17 Francois Beauchemin <beauche@softhome.net>
186 * syntax.cs, interpreter.cs, quicksearch.cs, regex.cs, compiler.cs :
187 Revised support for RigthToLeft.
188 quicksearch has now an reverse option.
189 This fixes bug #54537
191 * regex.cs, compiler.cs :
192 Some code to support CILCompiler.
194 Added some undocumented of MS.
196 2004-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
198 * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797.
200 2004-02-01 Miguel de Icaza <miguel@ximian.com>
202 * syntax.cs, interval.cs: Applied patch from Marco Cravairo
203 through Francois Beauchemin who reviewed on the mailing list.
204 This fixes bug #45976
206 2004-01-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
208 * parser.cs: an opening brace without a
209 quantifier do not cause a parse error. Fixes bug #52924.
211 2004-01-07 Lluis Sanchez Gual <lluis@ximian.com>
213 * regex.cs: In Split(), if the last match is at the end of the string,
214 an empty string must be added to the array of results.
216 2003-12-15 Sanjay Gupta <gsanjay@novell.com>
217 * match.cs: Check for null value before Substring method call.
220 2003-11-21 Juraj Skripsky <js@hotfeet.ch>
222 * quicksearch.cs: Create and use hashtable only for "long" search
225 (Search): Use simple scan for a single-character search strings.
227 (GetChar): Simplify case sensitivity handling.
229 2003-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
231 * interpreter.cs: when evaluating a degenerate match, restore the
232 RepeatContext if fail. Fixes bug #42529.
234 2003-11-22 Jackson Harper <jackson@ximian.com>
236 * regex.cs: Add CultureInvariant flag to RegexOptions.
238 2003-11-20 Juraj Skripsky <js@hotfeet.ch>
240 * quicksearch.cs: Use a hashtable instead of an array for the
241 shift table to improve the memory usage.
243 2003-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
246 (Split): include capture groups in the results, if any. Fixes bug
249 2003-07-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
251 * regex.cs: patch from Eric Lindvall <eric@5stops.com> that fixes bug
254 2003-03-05 Miguel de Icaza <miguel@ximian.com>
256 * category.cs (CategoryUtils.CategoryFromName): Use StartsWith
257 ("Is") instead of a substring for (0,2) which was throwing an
258 exception causing Category.None to be returned
260 2003-01-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
262 * collections.cs: fixed bug #30091.
264 2002-12-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
266 * regex.cs: fixed little mistake (closes #35860).
268 2002-11-12 Jackson Harper <jackson@latitudegeo.com>
270 * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories
272 2002-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
274 * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
276 2002-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
278 * parser.cs: applied fix from Tim Haynes (thaynes@openlinksw.com) to
279 solve bug #32807. Also modified GetMapping to return the same as MS.
281 2002-08-28 Juli Mallett <jmallett@FreeBSD.org>
283 * arch.cs, compiler.cs: Give the interpreter machine a property
284 for the retrieval of the group count.
286 * regex.cs: Use the new GroupCount property of the factory to
287 initialise the current group count, and restructure code to compile
288 the pattern only the first time it is needed (essentially backing
289 out the previous revision of regex.cs, to use the new code.)
291 2002-08-14 Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
293 * regex.cs: Added the ctr for ISerializable implementation and
294 implemented the GetObjectData function.
296 2002-07-30 Juli Mallett <jmallett@FreeBSD.org>
298 * regex.cs: Fixed bug where the expression would not be
299 re-evaluated for grouping purposes when factory caches were
300 used, resulting in no groups being recognised after one call
301 with a given pattern and no change in options.
303 2002-05-13 Dan Lewis <dihlewis@yahoo.co.uk>
305 * regex.cs: Fixed bug in split.
307 2002-05-08 Dan Lewis <dihlewis@yahoo.co.uk>
309 * interpreter.cs: Moved to an array-based stack representation
312 * match.cs, collections.cs: Decoupled capture representation from
313 interpreter internals.
315 * cache.cs: Changed Key type from struct to class for speed.
317 2002-04-06 Dan Lewis <dihlewis@yahoo.co.uk>
319 * cache.cs: Object methods should be overridden with "override".
321 2002-04-04 Dan Lewis <dihlewis@yahoo.co.uk>
323 * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs
324 added for completeness.
326 * regex.cs, match.cs, collections.cs: Serializable attribute.
328 2002-04-04 Dan Lewis <dihlewis@yahoo.co.uk>
330 * regex.cs: Added static Matches and IsMatch methods.
332 2002-04-03 Dan Lewis <dihlewis@yahoo.co.uk>
334 * ChangeLog: Added changelog.
336 * cache.cs: Fixed bug in MRUList.Evict.