ChangeLog 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  1. 2005-11-16 Atsushi Enomoto <[email protected]>
  2. * Decoder.cs : added FallbackBuffer property.
  3. * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
  4. "throwOnInvalid".
  5. 2005-11-15 Atsushi Enomoto <[email protected]>
  6. * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
  7. byte buffer.
  8. * EncoderReplacementFallbackBuffer.cs : implemented.
  9. * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
  10. Removed MonoTODO.
  11. 2005-11-15 Atsushi Enomoto <[email protected]>
  12. * DecoderFallbackBuffer.cs : Reset() does nothing here.
  13. * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
  14. bytesUnknown is used.
  15. 2005-11-15 Atsushi Enomoto <[email protected]>
  16. * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
  17. 2005-11-15 Atsushi Enomoto <[email protected]>
  18. * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
  19. * Encoder.cs : Added Fallback property.
  20. * Decoder.cs : Added Fallback property.
  21. 2005-11-15 Atsushi Enomoto <[email protected]>
  22. * EncoderFallbackBuffer.cs, EncoderFallback.cs,
  23. EncoderExceptionFallbackBuffer.cs,
  24. EncoderReplacementFallbackBuffer.cs,
  25. EncoderFallbackException.cs,
  26. EncoderExceptionFallback.cs,
  27. EncoderReplacementFallback.cs : new files (not actually used yet).
  28. * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
  29. DecoderReplacementFallback.cs : [Serializable] and sealed.
  30. * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
  31. 2005-11-14 Atsushi Enomoto <[email protected]>
  32. * DecoderFallbackBuffer.cs, DecoderFallback.cs,
  33. DecoderExceptionFallbackBuffer.cs,
  34. DecoderReplacementFallbackBuffer.cs,
  35. DecoderFallbackException.cs,
  36. DecoderExceptionFallback.cs,
  37. DecoderReplacementFallback.cs : new files (not actually used yet).
  38. 2005-11-14 Miguel de Icaza <[email protected]>
  39. * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
  40. missing.
  41. Also add some checks that were missing.
  42. 2005-11-11 Sebastien Pouliot <[email protected]>
  43. * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
  44. were failing under 2.0) and two possible integer overflow in CopyTo.
  45. 2005-11-11 Miguel de Icaza <[email protected]>
  46. * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
  47. * StringBuilder.cs (Text): Added serialization support in 2.x.
  48. 2005-10-22 Jonathan Pryor <[email protected]>
  49. * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
  50. check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
  51. for 0xFF, even though 0xFF isn't a valid lead byte. It should be
  52. ((ch & 0xFE) == 0xFC).
  53. 2005-08-25 Atsushi Enomoto <[email protected]>
  54. * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
  55. Don't exclude FEFF in the resulting text.
  56. 2005-06-21 Ben Maurer <[email protected]>
  57. * StringBuilder.cs (Replace): Do the correct thing when we replace
  58. with a longer string. Thanks to Alexander Beznozdrev
  59. <[email protected]>
  60. 2005-05-26 Ben Maurer <[email protected]>
  61. * Encoding.cs: Use static object for locking. `volatile' to
  62. prevent double checked locking error.
  63. * StringBuilder.cs: Remove = null inits on fields, saves a few
  64. instructions. When we compare _cached_str == _str, we are only
  65. interested in pointer based equality, so just do that.
  66. 2005-05-06 Ben Maurer <[email protected]>
  67. * StringBuilder.cs (InternalEnsureCapacity): It is possible that
  68. the size we attempt to grow to is more than the max capacity, but
  69. that a smaller size will do. In this case, don't throw an
  70. exception. Fixes #72244
  71. 2005-04-16 Atsushi Enomoto <[email protected]>
  72. * NormalizationForm.cs : new file.
  73. 2005-03-20 Ben Maurer <[email protected]>
  74. * StringBuilder.cs (set_Length): If we set the length, we must
  75. clobber the cached string.
  76. 2005-03-03 Gonzalo Paniagua Javier <[email protected]>
  77. * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
  78. Svetlana Zholkovsky.
  79. 2005-03-03 Gonzalo Paniagua Javier <[email protected]>
  80. * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
  81. whose length is greater than 3. Patch by Svetlana Zholkovsky.
  82. 2005-01-31 Ben Maurer <[email protected]>
  83. * StringBuilder.cs (Remove): We need to do the check that the
  84. string isnt being cached *before* we munge it.
  85. 2005-01-21 Ben Maurer <[email protected]>
  86. * StringBuilder.cs: Don't allocate memory on the .ctor, do it
  87. lazily. This saves us lots of memory if you only use the
  88. stringbuilder once. Also, we can allocate on the second Append,
  89. which might reduce the number of buffers allocated.
  90. 2005-01-14 Lluis Sanches Gual <[email protected]>
  91. * StringBuilder.cs: Improved parameter check.
  92. 2005-01-11 Gonzalo Paniagua Javier <[email protected]>
  93. * StringBuilder.cs: when creating the StringBuilder from a string, the
  94. maximum capacity remains Int32.MaxValue.
  95. 2005-01-10 Gonzalo Paniagua Javier <[email protected]>
  96. * StringBuilder.cs: throw if the new size is greater than the maximum
  97. capacity for the StringBuilder. Patch by [email protected]. Fixes
  98. bug #62422.
  99. 2004-12-15 Sebastien Pouliot <[email protected]>
  100. * UTF7Encoding.cs: Fixed warning for unused variable.
  101. 2004-09-30 Juraj Skripsky <[email protected]>
  102. * Encoding.cs: Add encoding name "latin1" for compatibility with
  103. MS.NET.
  104. 2004-09-25 Zoltan Varga <[email protected]>
  105. * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
  106. 2004-09-09 Tim Coleman <[email protected]>
  107. * StringBuilder.cs: Added AppendLine methods for Fx 2.0
  108. 2004-06-23 Sebastien Pouliot <[email protected]>
  109. * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
  110. Follow the RFC1642 rules for "overbits".
  111. 2004-06-15 Gert Driesen <[email protected]>
  112. * ASCIIEncoding.cs: added TODO for serialization
  113. * StringBuilder.cs: added TODO for serialization
  114. * UnicodeEncoding.cs: added TODO for serialization
  115. * UTF7Encoding.cs: added TODO for serialization
  116. * UTF8Encoding.cs: added TODO for serialization
  117. 2004-06-10 Gert Driesen <[email protected]>
  118. * Encoding.cs: Marked protected internal field as internal to
  119. fix API signature
  120. 2004-06-07 Atsushi Enomoto <[email protected]>
  121. * UTF8Encoding.cs : Length check must be done only when the character
  122. sequence is valid (i.e. should not check when it is overlongs).
  123. See also TestThrowOnInvalid().
  124. 2004-06-07 Atsushi Enomoto <[email protected]>
  125. * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
  126. 2004-06-07 Atsushi Enomoto <[email protected]>
  127. * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
  128. true. Otherwise just ignore them.
  129. 2004-05-26 Sebastien Pouliot <[email protected]>
  130. * StringBuilder.cs: Fixed potential integer overflows in several
  131. methods.
  132. 2004-05-14 Sebastien Pouliot <[email protected]>
  133. * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
  134. pair. This fix bug #57009 (and 2 failing unit tests). Added code
  135. to check for some (like MS) overlongs.
  136. 2004-05-03 Lluis Sanches Gual <[email protected]>
  137. * Encoding.cs: Use name const to load I18N assembly.
  138. 2004-04-25 Andreas Nahr <[email protected]>
  139. * Encoding.cs: Call shortcut String.ToLowerInvariant
  140. 2004-04-13 Miguel de Icaza <[email protected]>
  141. * Encoding.cs: Use new internal codepage setup.
  142. 2004-04-10 Atsushi Enomoto <[email protected]>
  143. * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
  144. 2004-03-19 Dick Porter <[email protected]>
  145. * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
  146. BOM at the beginning of the range of characters we're interested
  147. in, not at the beginning of the array. Fixes bug 51531.
  148. 2004-03-10 Juraj Skripsky <[email protected]>
  149. * StringBuilder.cs
  150. (Insert int, char[]): fix by using new string(char[]) instead of
  151. char[].ToString() and simplify.
  152. (Insert int, string, int): add LAMESPEC note.
  153. (Insert int char[], int, int): handle value==null according to spec.
  154. Use a string instead of char array + Array.Copy (gonzalo)
  155. 2004-03-08 Gonzalo Paniagua Javier <[email protected]>
  156. * StringBuilder.cs:
  157. (Append (string)): remove redundant check.
  158. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  159. * StringBuilder.cs:
  160. (Remove): fixed offsets when copying and set the new size. Fixes bug
  161. #53240.
  162. 2004-01-13 Gonzalo Paniagua Javier <[email protected]>
  163. * StringBuilder.cs: added checks for null in a few Append methods.
  164. Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <[email protected]>
  165. * StringBuilder.cs: fixed start offset in Append(char).
  166. 2004-01-12 Patrik Torstensson
  167. * StringBuilder.cs: new implementation that uses
  168. string as a buffer instead of a array of chars.
  169. 2003-12-07 Ben Maurer <[email protected]>
  170. * UTF8Encoding.cs (GetBytes string): Do not call base
  171. The version in Encoding will call string.ToCharArray (),
  172. allocating an extra array. By calling the better method
  173. in our own class we can save memory.
  174. 2003-11-17 Ben Maurer <[email protected]>
  175. * StringBuilder.cs (Insert int, char): It is really silly and
  176. wasteful to allocate an array here. We can just copy the value
  177. over.
  178. 2003-11-11 Miguel de Icaza <[email protected]>
  179. * Encoding.cs: Use an internal variable to track the parameters of
  180. each encoder, since the .NET API does not expose virtual methods
  181. in the child classes, we should not depend on that.
  182. * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
  183. Initialize the parameters for base class encoding here.
  184. 2003-09-01 Miguel de Icaza <[email protected]>
  185. * Encoding.cs (UTF8Unmarked): make it also not error out on
  186. invalid input, that is what the Microsoft default is for the
  187. StreamReader and BinaryReader expect (our main consumers).
  188. 2003-08-21 Ben Maurer <[email protected]>
  189. * StringBuilder.cs
  190. (AppendFormat) Use FormatHelper in System.String to avoid
  191. allocating an extra StringBuilder.
  192. (Append string, int, int), (Append char, int): Both were
  193. allocating extra strings.
  194. 2003-06-05 Nick Drochak <[email protected]>
  195. * UTF8Encoding.cs: Cleanups according to class status page
  196. 2003-05-10 Miguel de Icaza <[email protected]>
  197. * Encoding.cs (GetEncoding): Add all the aliases documented in the
  198. framework. We were missing a few.
  199. Reorganize the table. Also, convert the input name into the
  200. lower-case - to _ before we compare against our table.
  201. 2003-05-10 Gonzalo Paniagua Javier <[email protected]>
  202. * StringBuilder.cs: fixed bug #41397.
  203. 2003-04-12 Miguel de Icaza <[email protected]>
  204. * Encoding.cs: Enabled the code paths that we did have commented
  205. out, they seem to work now.
  206. Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <[email protected]>
  207. * StringBuilder.cs: cache the result from ToString().
  208. 2003-03-18 Atsushi Enomoto <[email protected]>
  209. * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
  210. (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
  211. 2003-03-05 Gonzalo Paniagua Javier <[email protected]>
  212. * ASCIIEncoding.cs: fixed bug #38984.
  213. 2003-03-05 Aleksey Demakov <[email protected]>
  214. * ASCIIEncoding.cs:
  215. * Latin1Encoding.cs: fix GetString (byte[]) and
  216. GetString (byte[], int, int) for zero-length case.
  217. 2003-02-19 Gonzalo Paniagua Javier <[email protected]>
  218. * Latin1Encoding.cs: added Serializable attribute.
  219. 2003-02-03 Gonzalo Paniagua Javier <[email protected]>
  220. * Encoding.cs: removed UnixConsoleEncoding.
  221. 2003-01-30 Zoltan Varga <[email protected]>
  222. * StringBuilder.cs: fix the constructor: 'value' can be NULL,
  223. 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
  224. This fixes the StringBuilder unit tests.
  225. 2003-01-30 Gonzalo Paniagua Javier <[email protected]>
  226. * StringBuilder.cs: fixed typo in set_Length.
  227. 2002-12-12 Gonzalo Paniagua Javier <[email protected]>
  228. * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
  229. encoding is not found, default to UTF8Unmarked. Removed comment in
  230. UnixConsoleEncoding, because it's now Default, which gets the
  231. encoding internally using g_get_encoding ().
  232. 2002-12-01 Gonzalo Paniagua Javier <[email protected]>
  233. * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
  234. Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <[email protected]>
  235. * UTF8Encoding.cs: fix GetByteCount (), too.
  236. 2002-11-19 Miguel de Icaza <[email protected]>
  237. * UnicodeEncoding.cs: the bytemark should only be used to return
  238. information in GetPreamble, not to actually encode the information
  239. on the stream. That is taken care of by the Stream classes.
  240. * UTF8Encoding.cs: ditto.
  241. 2002-11-13 Gonzalo Paniagua Javier <[email protected]>
  242. * StringBuilder.cs: only move the remaining chars in Remove.
  243. 2002-11-05 Gonzalo Paniagua Javier <[email protected]>
  244. * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
  245. locking whenever possible.
  246. 2002-10-30 Miguel de Icaza <[email protected]>
  247. * Encoding.cs (UTF8Unmarked): New static property, used to return
  248. a no-markers UTf8 encoder, used in a few places in the class library.
  249. 2002-09-06 Miguel de Icaza <[email protected]>
  250. * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
  251. what the Microsoft version does.
  252. (UnixConsoleEncoding): New internal method, used to get the
  253. encoding, in the future, this should pull the locale, map to
  254. charset and then code page.
  255. Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <[email protected]>
  256. * Encoding.cs: use icall to get default codepage.
  257. * DefaultEncoding.cs: remove useless class.
  258. Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <[email protected]>
  259. * *.cs: change to conform to mono coding style.
  260. 2002-08-24 Gonzalo Paniagua Javier <[email protected]>
  261. * ASCIIEncoding.cs:
  262. * Decoder.cs:
  263. * Encoder.cs:
  264. * Encoding.cs:
  265. * UTF7Encoding.cs:
  266. * UTF8Encoding.cs:
  267. * UnicodeEncoding.cs: added Serializable attribute.
  268. 2002-08-24 Gonzalo Paniagua Javier <[email protected]>
  269. * StringBuilder.cs: improved performace by using String.InternalCopyTo
  270. instead of using ToCharArray all over the place (more that 50% of
  271. speed improvement when using Append).
  272. Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <[email protected]>
  273. * *.cs: imported the code donated by Rhys Weatherley
  274. <[email protected]>.
  275. 2002-08-18 Dick Porter <[email protected]>
  276. * Encoding.cs: Make GetString() return a useful representation of
  277. the bytes, rather than "System.Char[]"
  278. 2002-08-03 Gonzalo Paniagua Javier <[email protected]>
  279. * StringBuilder.cs: added IndexerName to indexer.
  280. 2002-08-01 Jason Diamond <[email protected]>
  281. * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
  282. converting chars to bytes.
  283. 2002-07-13 Gonzalo Paniagua Javier <[email protected]>
  284. * StringBuilder.cs: updated comments. MaxCapacity always returns
  285. Int32.MaxValue.
  286. 2002-06-21 Gonzalo Paniagua Javier <[email protected]>
  287. * StringBuilder.cs: implemented AppendFormat methods using
  288. String.Format. Thanks Paolo!
  289. This makes xsp generate correct C# output in linux :-). I still need
  290. to do more testing, though.
  291. Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <[email protected]>
  292. * ASCIIEncoding.cs: fixed handling of 0 bytecount.
  293. 2002-05-19 Martin Baulig <[email protected]>
  294. * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
  295. Added exception handling.
  296. * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
  297. Added exception handling.
  298. 2002/04/02 Nick Drochak <[email protected]>
  299. * StringBuilder.cs (Append): Removed obsolete overload.
  300. 2002-03-21 Mike Kestner <[email protected]>
  301. * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
  302. Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <[email protected]>
  303. * StringBuilder.cs: no need to intern the string returned by ToString().
  304. 2002-03-17 Mike Kestner <[email protected]>
  305. * ASCIIEncoding.cs: Implement all the overridden methods. No longer
  306. dependent on iconv icalls.
  307. * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
  308. to GetBytes.
  309. Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <[email protected]>
  310. * StringBuilder.cs: make ToString() return a interned string, this
  311. seems to be required to make switch on string work.
  312. Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <[email protected]>
  313. * StringBuilder.cs: make Append(char) do the smart thing.
  314. 2002-01-05 Ravi Pratap <[email protected]>
  315. * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
  316. UnicodeEncoding.cs: MonoTODO attribute marking.
  317. * StringBuilder.cs : Ditto.
  318. Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <[email protected]>
  319. * Encoding.cs: renamed some fields.
  320. * StringBuilder.cs: CLSCompliant updates.
  321. 2001-10-29 Nick Drochak <[email protected]>
  322. * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
  323. invalid. Just like MS does (as best as I can tell).
  324. Tests for these exceptions are now added to the unit tests as well.
  325. 2001-10-25 Nick Drochak <[email protected]>
  326. * StringBuilder.cs: Throw exception if they try to make a StringBuilder
  327. whose capacity is greater than the MaxCapacity.
  328. I added some tests for the constructors and the above exception. More
  329. coming soon.
  330. 2001-10-23 Nick Drochak <[email protected]>
  331. * StringBuilder.cs: Refactored constructor code into just one
  332. constructor. All the other construtors call it. Also supplied missing
  333. constructors so the class has all those in the spec.
  334. Added the MaxCapacity property as well, however this needs to be
  335. completed to return a value is related to the available system memory.
  336. 2001-10-07 Miguel de Icaza <[email protected]>
  337. * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
  338. UnicodeEncoding.cs: Corrected API.
  339. * UTF8Encoding.cs: Checked in changes from Rafael.
  340. 2001-08-28 Dietmar Maurer <[email protected]>
  341. * UTF8Encoding.cs: impl. clumsy GetBytes
  342. 2001-07-16 Marcin Szczepanski <[email protected]>
  343. * StringBuilder.cs (Text): Fixed.
  344. * StringBuilderTest.cs: Implement Test suite.
  345. 2001-07-12 Marcin Szczepanski <[email protected]>
  346. * StringBuilder.cs: Implemented.
  347. The only methods left unimplemented are the AppendFormat( ... )
  348. ones just because it's probably better to wait until some of the
  349. Format related classes are implemented. I've put that as a TODO
  350. comment at the top and created the methods with a "nop" body.
  351. 2001-06-26 Sean MacIsaac <[email protected]>
  352. * UnicodeEncoding.cs: Members added so that a clean compile is
  353. possible.
  354. * ASCIIEncoding.cs: Members added so that a clean compile is
  355. possible.
  356. * UTF7Encoding.cs: Members added so that a clean compile is
  357. possible.
  358. * UTF8Encoding.cs: Members added so that a clean compile is
  359. possible.
  360. * Encoding.cs: All public members included. Most members
  361. unimplemented.