2005-04-12 Dick Porter <dick@ximian.com>
[mono.git] / mcs / class / System / System.Text.RegularExpressions / ChangeLog
1 2005-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * parser.cs: stuff inside {} might not be a quantifier. Fixes
4         bug #69193.
5
6 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7
8         * quicksearch.cs: handle IgnoreCase when getting the shift distance.
9         Fixes bug #69065. Patch by mei@work.email.ne.jp.
10
11 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
12
13         * syntax.cs: Applied patch from mei@work.email.ne.jp to fix bug
14         #71077.
15
16         * parser.cs: Turns out that \digit sequences are octal sequences
17         (no leading zero is needed);  And the three octal digit rule
18         applies to the leading zero as well.
19
20         This fixes the Unescape method.
21
22 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
23
24         * regex.cs: use NextMatch to move on to the next match. Fixes bug
25         #57274.
26
27 2004-11-09  Atsushi Enomoto  <atsushi@ximian.com>
28
29         * parser.cs : cast.
30
31 2004-11-08  Ben Maurer  <bmaurer@ximian.com>
32
33         * replace.cs, parser.cs: Use stringbuilder for allocation sanity.
34
35 2004-10-21 Joerg Rosenkranz <joergr@voelcker.com>\r
36 \r
37     * regex.cs: Fixed a bug introduced with the last patch which\r
38       prevented any replacements when a postive count is given.\r
39       This also happens in all overloads without count parameter.
40 \r
41 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
42
43         * regex.cs: in Replace, when count is negative, replacement continues
44         to the end of the string.
45
46         Fixes bug #68398. Patch by Jon Larimer.
47
48 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
49
50         * RegexRunner.cs: fixed case mismatch of methods
51
52 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
53
54         * RegexRunner.cs: marked TODO, added missing protected internal
55         fields, throw NotImplementedException in all methods
56
57 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
58
59         * RegexRunnerFactory.cs: removed comment, no longer throw exception
60         from ctor
61         * regex.cs: fixed public API signature by renaming protected 
62         internal fields and adding destructor, added MonoTODO attribute to
63         fields and method that are not yet implemented, changed not 
64         implemented methods to throw NotImplementedException instead of
65         Exception, fixed names of field that are serialized
66
67 2004-06-06  Jambunathan K <kjambunathan@novell.com>
68         
69         * parser.cs: Fixed issues with Regex.Unescape() identified as part of
70         debugging bug #58256. The original problem reported was about
71         inconsistency between the way we treat replacement patterns and the 
72         way microsoft treats the replacement patterns in Regex.Replace(). MS
73         implementation is buggy and doesn't honour escape sequences in the
74         replacement patterns, even though the SDK claims otherwise.
75
76         
77 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
78
79         * syntax.cs: re-applied my patch from 2004-05-27 plus a fix which is
80         emitting a Category.All if both a category and its negated value are
81         present.
82
83 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
84
85         * syntax.cs: reverting my previous patch. It causes bigger problems.
86
87 2004-05-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
88
89         * category.cs: added LastValue field to mark the end of enum Category.
90         * syntax.cs: in CharacterClass, use Category.LastValue to get the size
91         of the array needed. Use a BitArray instead of bool[].
92         In AddCategory(), don't set the opposite category as false. Fixes
93         bug #59150. All tests pass.
94
95 2004-05-25  Jackson Harper  <jackson@ximian.com>
96
97         * parser.cs: Allow creating a regular expression using {,n} as the
98         specified. The min bounds is set to -1, I am not completely sure
99         if that is what it is supposed to be but MS does not set it to 0
100         based on testing. Patch by dave-gnome-bugs@earth.li. Fixes bug #56761.
101
102 2004-05-12  Dick Porter  <dick@ximian.com>
103
104         * regex.cs: 
105         * quicksearch.cs: 
106         * RegexRunnerFactory.cs: 
107         * RegexRunner.cs: More public API difference fixes.
108
109         * GroupCollection.cs: 
110         * MatchCollection.cs: 
111         * CaptureCollection.cs: Moved GroupCollection, MatchCollection and
112         CaptureCollection so that they no longer inherit from the
113         non-standard RegexCollectionBase class.  Fixes the API difference.
114
115 2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
116
117         * arch.cs:
118         * compiler.cs:
119         * interpreter.cs:
120         * parser.cs:
121         * syntax.cs:
122         Patch by Eric Durand Tremblay.
123         1) Capture inner group when named.
124         2) Resolved parse error caused by not capturing inner group
125         3) Resolved incorrect capture group
126         4) Now, not capturing anything when unnamed ( correct behavior)
127
128
129 2004-04-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
130
131         * arch.cs:
132         * compiler.cs:
133         * interpreter.cs:
134         * parser.cs:
135         * syntax.cs: converted to unix line endings.
136
137 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
138
139         * collections.cs: In the indexer, return an empty group if the requested
140         group is not found.
141         * match.cs: Added default constructor for Group.
142         
143 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
144
145         * parser.cs: fixed group numbering.
146
147 2004-03-22  Jackson Harper  <jackson@ximian.com>
148
149         * parser.cs: Use the group number as the name in mapping. Patch by
150         Gert Driesen.
151         * regex.cs: Fix off by one error. Patch by Gert Driesen.
152
153 2004-03-17  Francois Beauchemin <beauche@softhome.net>
154         * syntax.cs, interpreter.cs, quicksearch.cs, regex.cs, compiler.cs : 
155                 Revised support for RigthToLeft. 
156                 quicksearch has now an reverse option.          
157                 This fixes bug #54537 
158  
159         * regex.cs, compiler.cs :
160                 Some code to support CILCompiler.               
161         * regex.cs : 
162                 Added some undocumented of MS.
163  
164 2004-03-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
165
166         * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797.
167
168 2004-02-01  Miguel de Icaza  <miguel@ximian.com>
169
170         * syntax.cs, interval.cs: Applied patch from Marco Cravairo
171         through Francois Beauchemin who reviewed on the mailing list.
172         This fixes bug #45976
173
174 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
175
176         * parser.cs: an opening brace without a
177         quantifier do not cause a parse error. Fixes bug #52924.
178
179 2004-01-07  Lluis Sanchez Gual <lluis@ximian.com>
180
181         * regex.cs: In Split(), if the last match is at the end of the string, 
182         an empty string must be added to the array of results.
183
184 2003-12-15  Sanjay Gupta <gsanjay@novell.com>
185         * match.cs: Check for null value before Substring method call.  
186         Fixes bug #52034.
187
188 2003-11-21  Juraj Skripsky <js@hotfeet.ch>
189
190         * quicksearch.cs: Create and use hashtable only for "long" search 
191         strings. 
192
193         (Search): Use simple scan for a single-character search strings.
194         
195         (GetChar): Simplify case sensitivity handling.
196
197 2003-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
198
199         * interpreter.cs: when evaluating a degenerate match, restore the
200         RepeatContext if fail. Fixes bug #42529.
201
202 2003-11-22  Jackson Harper <jackson@ximian.com>
203
204         * regex.cs: Add CultureInvariant flag to RegexOptions.
205         
206 2003-11-20  Juraj Skripsky <js@hotfeet.ch>
207
208         * quicksearch.cs: Use a hashtable instead of an array for the
209         shift table to improve the memory usage.  
210
211 2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
212
213         * regex.cs:
214         (Split): include capture groups in the results, if any. Fixes bug
215         #51146.
216
217 2003-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
218
219         * regex.cs: patch from Eric Lindvall <eric@5stops.com> that fixes bug
220         #44830.
221
222 2003-03-05  Miguel de Icaza  <miguel@ximian.com>
223
224         * category.cs (CategoryUtils.CategoryFromName): Use StartsWith
225         ("Is") instead of a substring for (0,2) which was throwing an
226         exception causing Category.None to be returned
227
228 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
229
230         * collections.cs: fixed bug #30091.
231
232 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
233
234         * regex.cs: fixed little mistake (closes #35860).
235
236 2002-11-12 Jackson Harper <jackson@latitudegeo.com>
237
238         * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories
239
240 2002-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
241
242         * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
243
244 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
245
246         * parser.cs: applied fix from Tim Haynes (thaynes@openlinksw.com) to
247         solve bug #32807. Also modified GetMapping to return the same as MS.
248
249 2002-08-28  Juli Mallett  <jmallett@FreeBSD.org>
250
251         * arch.cs, compiler.cs: Give the interpreter machine a property
252         for the retrieval of the group count.
253
254         * regex.cs: Use the new GroupCount property of the factory to
255         initialise the current group count, and restructure code to compile
256         the pattern only the first time it is needed (essentially backing
257         out the previous revision of regex.cs, to use the new code.)
258
259 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
260
261         * regex.cs: Added the ctr for ISerializable implementation and
262         implemented the GetObjectData function.
263
264 2002-07-30  Juli Mallett  <jmallett@FreeBSD.org>
265
266         * regex.cs: Fixed bug where the expression would not be
267         re-evaluated for grouping purposes when factory caches were
268         used, resulting in no groups being recognised after one call
269         with a given pattern and no change in options.
270
271 2002-05-13  Dan Lewis  <dihlewis@yahoo.co.uk>
272
273         * regex.cs: Fixed bug in split.
274
275 2002-05-08  Dan Lewis  <dihlewis@yahoo.co.uk>
276
277         * interpreter.cs: Moved to an array-based stack representation
278         for faster captures.
279
280         * match.cs, collections.cs: Decoupled capture representation from
281         interpreter internals.
282
283         * cache.cs: Changed Key type from struct to class for speed.
284
285 2002-04-06  Dan Lewis  <dihlewis@yahoo.co.uk>
286
287         * cache.cs: Object methods should be overridden with "override".
288
289 2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
290
291         * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs
292         added for completeness.
293
294         * regex.cs, match.cs, collections.cs: Serializable attribute.
295
296 2002-04-04  Dan Lewis  <dihlewis@yahoo.co.uk>
297
298         * regex.cs: Added static Matches and IsMatch methods.
299
300 2002-04-03  Dan Lewis  <dihlewis@yahoo.co.uk>
301
302         * ChangeLog: Added changelog.
303
304         * cache.cs: Fixed bug in MRUList.Evict.