ChangeLog 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. 2005-06-14 Raja R Harinath <[email protected]>
  2. Fix #74753.
  3. * Match.cs (Match) [zero-argument variant]: Make private.
  4. * GroupCollection (Item) [string variant]: Don't look for the
  5. group number in an empty match.
  6. 2005-06-10 Raja R Harinath <[email protected]>
  7. * interpreter.cs (Interpreter.GenerateMatch): Avoid allocating two
  8. intermediate arrays to build the final result.
  9. (Interpreter.GetGroupInfo, Interpreter.PopulateGroup): New helper
  10. functions.
  11. * CaptureCollection.cs (list): Change from ArrayList to list.
  12. (SetValue): New internal helper, used by Interpreter.PopulateGroup.
  13. (Enumerator): Remove helper class.
  14. (IEnumerator.GetEnumerator): Just use list.GetEnumerator.
  15. * GroupCollection.cs: Likewise.
  16. * Group.cs (Group): Move responsibility of populating 'Captures'
  17. to Interpreter.PopulateGroup.
  18. * Match.cs (Match): Move responsibility of populating 'Groups' to
  19. Interpreter.GenerateMatch.
  20. 2005-05-25 Raja R Harinath <[email protected]>
  21. * replace.cs (ReplacementEvaluator.Compile): Rewrite to avoid
  22. creating several intermediate strings. Simplify internal
  23. intermediate representation.
  24. (ReplacementEvaluator.EvaluateAppend): New. Version of Evaluate
  25. that builds the result directly on a passed-in StringBuilder.
  26. (ReplacementEvaluator.Evaluate): Just a wrapper around
  27. EvaluateAppend.
  28. * regex.cs (MatchAppendEvaluator): New internal delegate.
  29. (Regex.Replace): Use MatchAppendEvaluator.
  30. (Regex.Adapter): New class used to adapt a MatchEvaluator to a
  31. MatchAppendEvaluator.
  32. 2005-05-24 Raja R Harinath <[email protected]>
  33. * replace.cs (ReplacementEvaluator.CompileTerm): Fix group
  34. returned by $+.
  35. 2005-05-20 Ben Maurer <[email protected]>
  36. * regex.cs: Some memory allocation optimizations.
  37. 2005-05-20 Raja R Harinath <[email protected]>
  38. Fix #74735.
  39. * replace.cs (ReplacementEvaluator.Compile): Allow CompileTerm to
  40. fail and yet have advanced the pointer. Append the scanned-over
  41. portion to the "literal" being built.
  42. (ReplacementEvaluator.CompileTerm): Don't throw any exceptions.
  43. If a term cannot be recognized, just return null.
  44. * compiler.cs (InterpreterFactory.GroupCount): Fix. The 0'th
  45. index corresponds to Opcode.Info.
  46. * parser.cs (Parser.Unescape): If the string doesn't contain any
  47. '\' character, don't allocate a new string.
  48. * replace.cs (ReplacementEvalutator.Term.AppendResult): Rename
  49. from GetResult. Append to a passed-in StringBuilder rather than
  50. return a string.
  51. (ReplacementEvaluator.Evaluate): Update.
  52. * Capture.cs, Group.cs, Match.cs: New files split out of ...
  53. * match.cs: ... this. Remove.
  54. 2005-02-27 Gonzalo Paniagua Javier <[email protected]>
  55. * parser.cs: stuff inside {} might not be a quantifier. Fixes
  56. bug #69193.
  57. 2005-01-10 Gonzalo Paniagua Javier <[email protected]>
  58. * quicksearch.cs: handle IgnoreCase when getting the shift distance.
  59. Fixes bug #69065. Patch by [email protected].
  60. 2005-01-08 Miguel de Icaza <[email protected]>
  61. * syntax.cs: Applied patch from [email protected] to fix bug
  62. #71077.
  63. * parser.cs: Turns out that \digit sequences are octal sequences
  64. (no leading zero is needed); And the three octal digit rule
  65. applies to the leading zero as well.
  66. This fixes the Unescape method.
  67. 2004-11-29 Gonzalo Paniagua Javier <[email protected]>
  68. * regex.cs: use NextMatch to move on to the next match. Fixes bug
  69. #57274.
  70. 2004-11-09 Atsushi Enomoto <[email protected]>
  71. * parser.cs : cast.
  72. 2004-11-08 Ben Maurer <[email protected]>
  73. * replace.cs, parser.cs: Use stringbuilder for allocation sanity.
  74. 2004-10-21 Joerg Rosenkranz <[email protected]>
  75. * regex.cs: Fixed a bug introduced with the last patch which
  76. prevented any replacements when a postive count is given.
  77. This also happens in all overloads without count parameter.
  78. 2004-10-18 Gonzalo Paniagua Javier <[email protected]>
  79. * regex.cs: in Replace, when count is negative, replacement continues
  80. to the end of the string.
  81. Fixes bug #68398. Patch by Jon Larimer.
  82. 2004-06-10 Gert Driesen <[email protected]>
  83. * RegexRunner.cs: fixed case mismatch of methods
  84. 2004-06-10 Gert Driesen <[email protected]>
  85. * RegexRunner.cs: marked TODO, added missing protected internal
  86. fields, throw NotImplementedException in all methods
  87. 2004-06-10 Gert Driesen <[email protected]>
  88. * RegexRunnerFactory.cs: removed comment, no longer throw exception
  89. from ctor
  90. * regex.cs: fixed public API signature by renaming protected
  91. internal fields and adding destructor, added MonoTODO attribute to
  92. fields and method that are not yet implemented, changed not
  93. implemented methods to throw NotImplementedException instead of
  94. Exception, fixed names of field that are serialized
  95. 2004-06-06 Jambunathan K <[email protected]>
  96. * parser.cs: Fixed issues with Regex.Unescape() identified as part of
  97. debugging bug #58256. The original problem reported was about
  98. inconsistency between the way we treat replacement patterns and the
  99. way microsoft treats the replacement patterns in Regex.Replace(). MS
  100. implementation is buggy and doesn't honour escape sequences in the
  101. replacement patterns, even though the SDK claims otherwise.
  102. 2004-06-01 Gonzalo Paniagua Javier <[email protected]>
  103. * syntax.cs: re-applied my patch from 2004-05-27 plus a fix which is
  104. emitting a Category.All if both a category and its negated value are
  105. present.
  106. 2004-06-01 Gonzalo Paniagua Javier <[email protected]>
  107. * syntax.cs: reverting my previous patch. It causes bigger problems.
  108. 2004-05-27 Gonzalo Paniagua Javier <[email protected]>
  109. * category.cs: added LastValue field to mark the end of enum Category.
  110. * syntax.cs: in CharacterClass, use Category.LastValue to get the size
  111. of the array needed. Use a BitArray instead of bool[].
  112. In AddCategory(), don't set the opposite category as false. Fixes
  113. bug #59150. All tests pass.
  114. 2004-05-25 Jackson Harper <[email protected]>
  115. * parser.cs: Allow creating a regular expression using {,n} as the
  116. specified. The min bounds is set to -1, I am not completely sure
  117. if that is what it is supposed to be but MS does not set it to 0
  118. based on testing. Patch by [email protected]. Fixes bug #56761.
  119. 2004-05-12 Dick Porter <[email protected]>
  120. * regex.cs:
  121. * quicksearch.cs:
  122. * RegexRunnerFactory.cs:
  123. * RegexRunner.cs: More public API difference fixes.
  124. * GroupCollection.cs:
  125. * MatchCollection.cs:
  126. * CaptureCollection.cs: Moved GroupCollection, MatchCollection and
  127. CaptureCollection so that they no longer inherit from the
  128. non-standard RegexCollectionBase class. Fixes the API difference.
  129. 2004-04-19 Gonzalo Paniagua Javier <[email protected]>
  130. * arch.cs:
  131. * compiler.cs:
  132. * interpreter.cs:
  133. * parser.cs:
  134. * syntax.cs:
  135. Patch by Eric Durand Tremblay.
  136. 1) Capture inner group when named.
  137. 2) Resolved parse error caused by not capturing inner group
  138. 3) Resolved incorrect capture group
  139. 4) Now, not capturing anything when unnamed ( correct behavior)
  140. 2004-04-19 Gonzalo Paniagua Javier <[email protected]>
  141. * arch.cs:
  142. * compiler.cs:
  143. * interpreter.cs:
  144. * parser.cs:
  145. * syntax.cs: converted to unix line endings.
  146. 2004-03-30 Lluis Sanchez Gual <[email protected]>
  147. * collections.cs: In the indexer, return an empty group if the requested
  148. group is not found.
  149. * match.cs: Added default constructor for Group.
  150. 2004-03-24 Gonzalo Paniagua Javier <[email protected]>
  151. * parser.cs: fixed group numbering.
  152. 2004-03-22 Jackson Harper <[email protected]>
  153. * parser.cs: Use the group number as the name in mapping. Patch by
  154. Gert Driesen.
  155. * regex.cs: Fix off by one error. Patch by Gert Driesen.
  156. 2004-03-17 Francois Beauchemin <[email protected]>
  157. * syntax.cs, interpreter.cs, quicksearch.cs, regex.cs, compiler.cs :
  158. Revised support for RigthToLeft.
  159. quicksearch has now an reverse option.
  160. This fixes bug #54537
  161. * regex.cs, compiler.cs :
  162. Some code to support CILCompiler.
  163. * regex.cs :
  164. Added some undocumented of MS.
  165. 2004-03-16 Gonzalo Paniagua Javier <[email protected]>
  166. * parser.cs: allow a @"\0" escape sequence. Fixes bug #54797.
  167. 2004-02-01 Miguel de Icaza <[email protected]>
  168. * syntax.cs, interval.cs: Applied patch from Marco Cravairo
  169. through Francois Beauchemin who reviewed on the mailing list.
  170. This fixes bug #45976
  171. 2004-01-16 Gonzalo Paniagua Javier <[email protected]>
  172. * parser.cs: an opening brace without a
  173. quantifier do not cause a parse error. Fixes bug #52924.
  174. 2004-01-07 Lluis Sanchez Gual <[email protected]>
  175. * regex.cs: In Split(), if the last match is at the end of the string,
  176. an empty string must be added to the array of results.
  177. 2003-12-15 Sanjay Gupta <[email protected]>
  178. * match.cs: Check for null value before Substring method call.
  179. Fixes bug #52034.
  180. 2003-11-21 Juraj Skripsky <[email protected]>
  181. * quicksearch.cs: Create and use hashtable only for "long" search
  182. strings.
  183. (Search): Use simple scan for a single-character search strings.
  184. (GetChar): Simplify case sensitivity handling.
  185. 2003-11-27 Gonzalo Paniagua Javier <[email protected]>
  186. * interpreter.cs: when evaluating a degenerate match, restore the
  187. RepeatContext if fail. Fixes bug #42529.
  188. 2003-11-22 Jackson Harper <[email protected]>
  189. * regex.cs: Add CultureInvariant flag to RegexOptions.
  190. 2003-11-20 Juraj Skripsky <[email protected]>
  191. * quicksearch.cs: Use a hashtable instead of an array for the
  192. shift table to improve the memory usage.
  193. 2003-11-19 Gonzalo Paniagua Javier <[email protected]>
  194. * regex.cs:
  195. (Split): include capture groups in the results, if any. Fixes bug
  196. #51146.
  197. 2003-07-09 Gonzalo Paniagua Javier <[email protected]>
  198. * regex.cs: patch from Eric Lindvall <[email protected]> that fixes bug
  199. #44830.
  200. 2003-03-05 Miguel de Icaza <[email protected]>
  201. * category.cs (CategoryUtils.CategoryFromName): Use StartsWith
  202. ("Is") instead of a substring for (0,2) which was throwing an
  203. exception causing Category.None to be returned
  204. 2003-01-17 Gonzalo Paniagua Javier <[email protected]>
  205. * collections.cs: fixed bug #30091.
  206. 2002-12-20 Gonzalo Paniagua Javier <[email protected]>
  207. * regex.cs: fixed little mistake (closes #35860).
  208. 2002-11-12 Jackson Harper <[email protected]>
  209. * arch.cs compiler.cs regex.cs: Added mapping attribute to MachineFactories
  210. 2002-11-06 Gonzalo Paniagua Javier <[email protected]>
  211. * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
  212. 2002-10-25 Gonzalo Paniagua Javier <[email protected]>
  213. * parser.cs: applied fix from Tim Haynes ([email protected]) to
  214. solve bug #32807. Also modified GetMapping to return the same as MS.
  215. 2002-08-28 Juli Mallett <[email protected]>
  216. * arch.cs, compiler.cs: Give the interpreter machine a property
  217. for the retrieval of the group count.
  218. * regex.cs: Use the new GroupCount property of the factory to
  219. initialise the current group count, and restructure code to compile
  220. the pattern only the first time it is needed (essentially backing
  221. out the previous revision of regex.cs, to use the new code.)
  222. 2002-08-14 Cesar Octavio Lopez Nataren <[email protected]>
  223. * regex.cs: Added the ctr for ISerializable implementation and
  224. implemented the GetObjectData function.
  225. 2002-07-30 Juli Mallett <[email protected]>
  226. * regex.cs: Fixed bug where the expression would not be
  227. re-evaluated for grouping purposes when factory caches were
  228. used, resulting in no groups being recognised after one call
  229. with a given pattern and no change in options.
  230. 2002-05-13 Dan Lewis <[email protected]>
  231. * regex.cs: Fixed bug in split.
  232. 2002-05-08 Dan Lewis <[email protected]>
  233. * interpreter.cs: Moved to an array-based stack representation
  234. for faster captures.
  235. * match.cs, collections.cs: Decoupled capture representation from
  236. interpreter internals.
  237. * cache.cs: Changed Key type from struct to class for speed.
  238. 2002-04-06 Dan Lewis <[email protected]>
  239. * cache.cs: Object methods should be overridden with "override".
  240. 2002-04-04 Dan Lewis <[email protected]>
  241. * RegexRunner.cs, RegexRunnerFactory.cs: MS support classes. Stubs
  242. added for completeness.
  243. * regex.cs, match.cs, collections.cs: Serializable attribute.
  244. 2002-04-04 Dan Lewis <[email protected]>
  245. * regex.cs: Added static Matches and IsMatch methods.
  246. 2002-04-03 Dan Lewis <[email protected]>
  247. * ChangeLog: Added changelog.
  248. * cache.cs: Fixed bug in MRUList.Evict.