In Test/System.Text.RegularExpressions:
[mono.git] / mcs / class / System / System.Text.RegularExpressions / ChangeLog
1 2005-05-24  Raja R Harinath  <rharinath@novell.com>
2
3         * replace.cs (ReplacementEvaluator.CompileTerm): Fix group
4         returned by $+.
5
6 2005-05-20  Ben Maurer  <bmaurer@ximian.com>
7
8         * regex.cs: Some memory allocation optimizations.
9
10 2005-05-20  Raja R Harinath  <rharinath@novell.com>
11
12         Fix #74735.
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.
18
19         * compiler.cs (InterpreterFactory.GroupCount): Fix.  The 0'th
20         index corresponds to Opcode.Info.
21
22         * parser.cs (Parser.Unescape): If the string doesn't contain any
23         '\' character, don't allocate a new string.
24
25         * replace.cs (ReplacementEvalutator.Term.AppendResult): Rename
26         from GetResult.  Append to a passed-in StringBuilder rather than
27         return a string.
28         (ReplacementEvaluator.Evaluate): Update.
29         
30         * Capture.cs, Group.cs, Match.cs: New files split out of ...
31         * match.cs: ... this.  Remove.
32
33 2005-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
34
35         * parser.cs: stuff inside {} might not be a quantifier. Fixes
36         bug #69193.
37
38 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
39
40         * quicksearch.cs: handle IgnoreCase when getting the shift distance.
41         Fixes bug #69065. Patch by mei@work.email.ne.jp.
42
43 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
44
45         * syntax.cs: Applied patch from mei@work.email.ne.jp to fix bug
46         #71077.
47
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.
51
52         This fixes the Unescape method.
53
54 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
55
56         * regex.cs: use NextMatch to move on to the next match. Fixes bug
57         #57274.
58
59 2004-11-09  Atsushi Enomoto  <atsushi@ximian.com>
60
61         * parser.cs : cast.
62
63 2004-11-08  Ben Maurer  <bmaurer@ximian.com>
64
65         * replace.cs, parser.cs: Use stringbuilder for allocation sanity.
66
67 2004-10-21  Joerg Rosenkranz  <joergr@voelcker.com>
68
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.
72
73 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
74
75         * regex.cs: in Replace, when count is negative, replacement continues
76         to the end of the string.
77
78         Fixes bug #68398. Patch by Jon Larimer.
79
80 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
81
82         * RegexRunner.cs: fixed case mismatch of methods
83
84 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
85
86         * RegexRunner.cs: marked TODO, added missing protected internal
87         fields, throw NotImplementedException in all methods
88
89 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
90
91         * RegexRunnerFactory.cs: removed comment, no longer throw exception
92         from ctor
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
98
99 2004-06-06  Jambunathan K <kjambunathan@novell.com>
100         
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.
107
108         
109 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
110
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
113         present.
114
115 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
116
117         * syntax.cs: reverting my previous patch. It causes bigger problems.
118
119 2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
120
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.
126
127 2004-05-25  Jackson Harper  <jackson@ximian.com>
128
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.
133
134 2004-05-12  Dick Porter  <dick@ximian.com>
135
136         * regex.cs: 
137         * quicksearch.cs: 
138         * RegexRunnerFactory.cs: 
139         * RegexRunner.cs: More public API difference fixes.
140
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.
146
147 2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
148
149         * arch.cs:
150         * compiler.cs:
151         * interpreter.cs:
152         * parser.cs:
153         * syntax.cs:
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)
159
160
161 2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
162
163         * arch.cs:
164         * compiler.cs:
165         * interpreter.cs:
166         * parser.cs:
167         * syntax.cs: converted to unix line endings.
168
169 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
170
171         * collections.cs: In the indexer, return an empty group if the requested
172         group is not found.
173         * match.cs: Added default constructor for Group.
174         
175 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
176
177         * parser.cs: fixed group numbering.
178
179 2004-03-22  Jackson Harper  <jackson@ximian.com>
180
181         * parser.cs: Use the group number as the name in mapping. Patch by
182         Gert Driesen.
183         * regex.cs: Fix off by one error. Patch by Gert Driesen.
184
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 
190  
191         * regex.cs, compiler.cs :
192                 Some code to support CILCompiler.               
193         * regex.cs : 
194                 Added some undocumented of MS.
195  
196 2004-03-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
197
198         * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797.
199
200 2004-02-01  Miguel de Icaza  <miguel@ximian.com>
201
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
205
206 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
207
208         * parser.cs: an opening brace without a
209         quantifier do not cause a parse error. Fixes bug #52924.
210
211 2004-01-07  Lluis Sanchez Gual <lluis@ximian.com>
212
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.
215
216 2003-12-15  Sanjay Gupta <gsanjay@novell.com>
217         * match.cs: Check for null value before Substring method call.  
218         Fixes bug #52034.
219
220 2003-11-21  Juraj Skripsky <js@hotfeet.ch>
221
222         * quicksearch.cs: Create and use hashtable only for "long" search 
223         strings. 
224
225         (Search): Use simple scan for a single-character search strings.
226         
227         (GetChar): Simplify case sensitivity handling.
228
229 2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
230
231         * interpreter.cs: when evaluating a degenerate match, restore the
232         RepeatContext if fail. Fixes bug #42529.
233
234 2003-11-22  Jackson Harper <jackson@ximian.com>
235
236         * regex.cs: Add CultureInvariant flag to RegexOptions.
237         
238 2003-11-20  Juraj Skripsky <js@hotfeet.ch>
239
240         * quicksearch.cs: Use a hashtable instead of an array for the
241         shift table to improve the memory usage.  
242
243 2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
244
245         * regex.cs:
246         (Split): include capture groups in the results, if any. Fixes bug
247         #51146.
248
249 2003-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
250
251         * regex.cs: patch from Eric Lindvall <eric@5stops.com> that fixes bug
252         #44830.
253
254 2003-03-05  Miguel de Icaza  <miguel@ximian.com>
255
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
259
260 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
261
262         * collections.cs: fixed bug #30091.
263
264 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
265
266         * regex.cs: fixed little mistake (closes #35860).
267
268 2002-11-12 Jackson Harper <jackson@latitudegeo.com>
269
270         * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories
271
272 2002-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
273
274         * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
275
276 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
277
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.
280
281 2002-08-28  Juli Mallett  <jmallett@FreeBSD.org>
282
283         * arch.cs, compiler.cs: Give the interpreter machine a property
284         for the retrieval of the group count.
285
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.)
290
291 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
292
293         * regex.cs: Added the ctr for ISerializable implementation and
294         implemented the GetObjectData function.
295
296 2002-07-30  Juli Mallett  <jmallett@FreeBSD.org>
297
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.
302
303 2002-05-13  Dan Lewis  <dihlewis@yahoo.co.uk>
304
305         * regex.cs: Fixed bug in split.
306
307 2002-05-08  Dan Lewis  <dihlewis@yahoo.co.uk>
308
309         * interpreter.cs: Moved to an array-based stack representation
310         for faster captures.
311
312         * match.cs, collections.cs: Decoupled capture representation from
313         interpreter internals.
314
315         * cache.cs: Changed Key type from struct to class for speed.
316
317 2002-04-06  Dan Lewis  <dihlewis@yahoo.co.uk>
318
319         * cache.cs: Object methods should be overridden with "override".
320
321 2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
322
323         * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs
324         added for completeness.
325
326         * regex.cs, match.cs, collections.cs: Serializable attribute.
327
328 2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
329
330         * regex.cs: Added static Matches and IsMatch methods.
331
332 2002-04-03  Dan Lewis  <dihlewis@yahoo.co.uk>
333
334         * ChangeLog: Added changelog.
335
336         * cache.cs: Fixed bug in MRUList.Evict.