merge -r 53370:58178
[mono.git] / mcs / class / corlib / System.Text / ChangeLog
1 2005-11-22  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
4         * Encoding.cs : changed default fallback selection. Seems like only
5           ASCII and GB18030 uses '?' for replacement.
6         * UTF8Encoding.cs : now that Fallback is read only by default, we
7           need special setter.
8
9 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
10
11         * UTF8Encoding.cs : safer UTF8Decoder ctor.
12
13 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
14
15         * Decoder.cs : added FallbackBuffer property.
16         * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
17           "throwOnInvalid".
18
19 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
20
21         * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
22           byte buffer.
23         * EncoderReplacementFallbackBuffer.cs : implemented.
24         * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
25           Removed MonoTODO.
26
27 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
28
29         * DecoderFallbackBuffer.cs : Reset() does nothing here.
30         * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
31           bytesUnknown is used.
32
33 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
34
35         * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
36
37 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
38
39         * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
40         * Encoder.cs : Added Fallback property.
41         * Decoder.cs : Added Fallback property.
42
43 2005-11-15  Atsushi Enomoto  <atsushi@ximian.com>
44
45         * EncoderFallbackBuffer.cs, EncoderFallback.cs,
46           EncoderExceptionFallbackBuffer.cs,
47           EncoderReplacementFallbackBuffer.cs,
48           EncoderFallbackException.cs,
49           EncoderExceptionFallback.cs,
50           EncoderReplacementFallback.cs : new files (not actually used yet).
51         * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
52           DecoderReplacementFallback.cs : [Serializable] and sealed.
53         * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
54
55 2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * DecoderFallbackBuffer.cs, DecoderFallback.cs,
58           DecoderExceptionFallbackBuffer.cs,
59           DecoderReplacementFallbackBuffer.cs,
60           DecoderFallbackException.cs,
61           DecoderExceptionFallback.cs,
62           DecoderReplacementFallback.cs : new files (not actually used yet).
63
64 2005-11-14  Miguel de Icaza  <miguel@novell.com>
65
66         * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
67         missing.  
68
69         Also add some checks that were missing.
70
71 2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>
72
73         * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests 
74         were failing under 2.0) and two possible integer overflow in CopyTo.
75
76 2005-11-11  Miguel de Icaza  <miguel@novell.com>
77
78         * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods. 
79
80         * StringBuilder.cs (Text): Added serialization support in 2.x. 
81
82 2005-10-22  Jonathan Pryor  <jonpryor@vt.edu>
83
84         * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
85           check logic for 6 octet sequences.  ((ch & 0xFC) == 0xFC) is always true 
86           for 0xFF, even though 0xFF isn't a valid lead byte.  It should be 
87           ((ch & 0xFE) == 0xFC).
88
89 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
90
91         * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
92           Don't exclude FEFF in the resulting text.
93
94 2005-06-21  Ben Maurer  <bmaurer@ximian.com>
95
96         * StringBuilder.cs (Replace): Do the correct thing when we replace
97         with a longer string. Thanks to Alexander Beznozdrev
98         <abeznozdrev@croc.ru>
99
100 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
101
102         * Encoding.cs: Use static object for locking. `volatile' to
103         prevent double checked locking error.
104
105         * StringBuilder.cs: Remove = null inits on fields, saves a few
106         instructions. When we compare _cached_str == _str, we are only
107         interested in pointer based equality, so just do that.
108
109 2005-05-06  Ben Maurer  <bmaurer@ximian.com>
110
111         * StringBuilder.cs (InternalEnsureCapacity): It is possible that
112         the size we attempt to grow to is more than the max capacity, but
113         that a smaller size will do. In this case, don't throw an
114         exception. Fixes #72244
115
116 2005-04-16  Atsushi Enomoto  <atsushi@ximian.com>
117
118         * NormalizationForm.cs : new file.
119
120 2005-03-20  Ben Maurer  <bmaurer@ximian.com>
121
122         * StringBuilder.cs (set_Length): If we set the length, we must
123         clobber the cached string.
124
125 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
126
127         * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
128         Svetlana Zholkovsky.
129
130 2005-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
131
132         * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
133         whose length is greater than 3. Patch by Svetlana Zholkovsky.
134
135 2005-01-31  Ben Maurer  <bmaurer@ximian.com>
136
137         * StringBuilder.cs (Remove): We need to do the check that the
138         string isnt being cached *before* we munge it.
139
140 2005-01-21  Ben Maurer  <bmaurer@ximian.com>
141
142         * StringBuilder.cs: Don't allocate memory on the .ctor, do it
143         lazily. This saves us lots of memory if you only use the
144         stringbuilder once. Also, we can allocate on the second Append,
145         which might reduce the number of buffers allocated.
146
147 2005-01-14 Lluis Sanches Gual  <lluis@novell.com>
148
149         * StringBuilder.cs: Improved parameter check.
150
151 2005-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * StringBuilder.cs: when creating the StringBuilder from a string, the
154         maximum capacity remains Int32.MaxValue.
155
156 2005-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
157
158         * StringBuilder.cs: throw if the new size is greater than the maximum
159         capacity for the StringBuilder. Patch by luke@octerbar.net. Fixes
160         bug #62422.
161
162 2004-12-15  Sebastien Pouliot  <sebastien@ximian.com>
163
164         * UTF7Encoding.cs:  Fixed warning for unused variable.
165
166 2004-09-30  Juraj Skripsky <js@hotfeet.ch>
167
168         * Encoding.cs: Add encoding name "latin1" for compatibility with
169         MS.NET.
170
171 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
172
173         * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
174
175 2004-09-09  Tim Coleman <tim@timcoleman.com>
176
177         * StringBuilder.cs: Added AppendLine methods for Fx 2.0
178
179 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
180
181         * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
182         Follow the RFC1642 rules for "overbits".
183
184 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
185
186         * ASCIIEncoding.cs: added TODO for serialization
187         * StringBuilder.cs: added TODO for serialization
188         * UnicodeEncoding.cs: added TODO for serialization
189         * UTF7Encoding.cs: added TODO for serialization
190         * UTF8Encoding.cs: added TODO for serialization
191
192 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
193
194         * Encoding.cs: Marked protected internal field as internal to
195         fix API signature
196
197 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
198
199         * UTF8Encoding.cs : Length check must be done only when the character
200           sequence is valid (i.e. should not check when it is overlongs).
201           See also TestThrowOnInvalid().
202
203 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
204
205         * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
206
207 2004-06-07  Atsushi Enomoto  <atsushi@ximian.com>
208
209         * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
210           true. Otherwise just ignore them.
211
212 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
213
214         * StringBuilder.cs: Fixed potential integer overflows in several 
215         methods.
216
217 2004-05-14  Sebastien Pouliot  <sebastien@ximian.com>
218
219         * UTF8Encoding.cs: Moved charCount-- after the check for surrogate 
220         pair. This fix bug #57009 (and 2 failing unit tests). Added code
221         to check for some (like MS) overlongs.
222
223 2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
224
225         * Encoding.cs: Use name const to load I18N assembly.
226
227 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
228
229         * Encoding.cs: Call shortcut String.ToLowerInvariant
230
231 2004-04-13  Miguel de Icaza  <miguel@ximian.com>
232
233         * Encoding.cs: Use new internal codepage setup.
234
235 2004-04-10  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
238
239 2004-03-19  Dick Porter  <dick@ximian.com>
240
241         * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
242         BOM at the beginning of the range of characters we're interested
243         in, not at the beginning of the array.  Fixes bug 51531.
244
245 2004-03-10  Juraj Skripsky <juraj@hotfeet.ch>
246
247         * StringBuilder.cs
248         (Insert int, char[]): fix by using new string(char[]) instead of
249         char[].ToString() and simplify.
250         (Insert int, string, int): add LAMESPEC note.
251         (Insert int char[], int, int): handle value==null according to spec. 
252         Use a string instead of char array + Array.Copy (gonzalo)
253
254 2004-03-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
255
256         * StringBuilder.cs:
257         (Append (string)): remove redundant check.
258
259 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
260
261         * StringBuilder.cs:
262         (Remove): fixed offsets when copying and set the new size. Fixes bug
263         #53240.
264
265 2004-01-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
266
267         * StringBuilder.cs: added checks for null in a few Append methods.
268
269 Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <lupus@ximian.com>
270
271         * StringBuilder.cs: fixed start offset in Append(char).
272
273 2004-01-12  Patrik Torstensson
274
275         * StringBuilder.cs: new implementation that uses
276         string as a buffer instead of a array of chars.
277
278 2003-12-07 Ben Maurer  <bmaurer@users.sourceforge.net>
279
280         * UTF8Encoding.cs (GetBytes string): Do not call base
281         The version in Encoding will call string.ToCharArray (),
282         allocating an extra array. By calling the better method
283         in our own class we can save memory.
284
285 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
286
287         * StringBuilder.cs (Insert int, char): It is really silly and
288         wasteful to allocate an array here. We can just copy the value
289         over.
290
291 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
292
293         * Encoding.cs: Use an internal variable to track the parameters of
294         each encoder, since the .NET API does not expose virtual methods
295         in the child classes, we should not depend on that.
296         
297         * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
298         Initialize the parameters for base class encoding here.
299
300 2003-09-01  Miguel de Icaza  <miguel@ximian.com>
301
302         * Encoding.cs (UTF8Unmarked): make it also not error out on
303         invalid input, that is what the Microsoft default is for the
304         StreamReader and BinaryReader expect (our main consumers).
305
306 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
307
308         * StringBuilder.cs
309         (AppendFormat) Use FormatHelper in System.String to avoid
310         allocating an extra StringBuilder.
311         (Append string, int, int), (Append char, int): Both were
312         allocating extra strings.
313
314 2003-06-05  Nick Drochak  <ndrochak@gol.com>
315
316         * UTF8Encoding.cs: Cleanups according to class status page
317
318 2003-05-10  Miguel de Icaza  <miguel@ximian.com>
319
320         * Encoding.cs (GetEncoding): Add all the aliases documented in the
321         framework.  We were missing a few.
322         
323         Reorganize the table.  Also, convert the input name into the
324         lower-case - to _ before we compare against our table.
325         
326 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
327
328         * StringBuilder.cs: fixed bug #41397.
329
330 2003-04-12  Miguel de Icaza  <miguel@ximian.com>
331
332         * Encoding.cs: Enabled the code paths that we did have commented
333         out, they seem to work now.
334
335 Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <lupus@ximian.com>
336
337         * StringBuilder.cs: cache the result from ToString().
338
339 2003-03-18  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
340
341         * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
342           (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
343
344 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
345
346         * ASCIIEncoding.cs: fixed bug #38984.
347
348 2003-03-05  Aleksey Demakov <avd@openlinksw.com>
349
350         * ASCIIEncoding.cs:
351         * Latin1Encoding.cs: fix GetString (byte[]) and
352         GetString (byte[], int, int) for zero-length case.
353
354 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
355
356         * Latin1Encoding.cs: added Serializable attribute.
357
358 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
359
360         * Encoding.cs: removed UnixConsoleEncoding.
361
362 2003-01-30  Zoltan Varga  <vargaz@freemail.hu>
363
364         * StringBuilder.cs: fix the constructor: 'value' can be NULL,
365         'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
366         This fixes the StringBuilder unit tests.
367
368 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
369
370         * StringBuilder.cs: fixed typo in set_Length.
371
372 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
373
374         * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
375         encoding is not found, default to UTF8Unmarked. Removed comment in
376         UnixConsoleEncoding, because it's now Default, which gets the 
377         encoding internally using g_get_encoding ().
378
379 2002-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
382
383 Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <lupus@ximian.com>
384
385         * UTF8Encoding.cs: fix GetByteCount (), too.
386
387 2002-11-19  Miguel de Icaza  <miguel@ximian.com>
388
389         * UnicodeEncoding.cs: the bytemark should only be used to return
390         information in GetPreamble, not to actually encode the information
391         on the stream.  That is taken care of by the Stream classes.
392
393         * UTF8Encoding.cs: ditto.
394
395 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
396
397         * StringBuilder.cs: only move the remaining chars in Remove.
398
399 2002-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
402         locking whenever possible.
403
404 2002-10-30  Miguel de Icaza  <miguel@ximian.com>
405
406         * Encoding.cs (UTF8Unmarked): New static property, used to return
407         a no-markers UTf8 encoder, used in a few places in the class library.
408
409 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
410
411         * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
412         what the Microsoft version does.
413
414         (UnixConsoleEncoding): New internal method, used to get the
415         encoding, in the future, this should pull the locale, map to
416         charset and then code page. 
417
418 Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
419
420         * Encoding.cs: use icall to get default codepage.
421         * DefaultEncoding.cs: remove useless class.
422
423 Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
424
425         * *.cs: change to conform to mono coding style.
426
427 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
428
429         * ASCIIEncoding.cs:
430         * Decoder.cs:
431         * Encoder.cs:
432         * Encoding.cs:
433         * UTF7Encoding.cs:
434         * UTF8Encoding.cs:
435         * UnicodeEncoding.cs: added Serializable attribute.
436
437 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
438
439         * StringBuilder.cs: improved performace by using String.InternalCopyTo
440         instead of using ToCharArray all over the place (more that 50% of
441         speed improvement when using Append).
442
443 Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
444
445         * *.cs: imported the code donated by Rhys Weatherley
446         <rweather@southern-storm.com.au>.
447
448 2002-08-18  Dick Porter  <dick@ximian.com>
449
450         * Encoding.cs: Make GetString() return a useful representation of
451         the bytes, rather than "System.Char[]"
452
453 2002-08-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
454
455         * StringBuilder.cs: added IndexerName to indexer.
456
457 2002-08-01  Jason Diamond <jason@injektilo.org>
458
459         * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
460         converting chars to bytes.
461
462 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
463
464         * StringBuilder.cs: updated comments. MaxCapacity always returns
465         Int32.MaxValue.
466
467 2002-06-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
468
469         * StringBuilder.cs: implemented AppendFormat methods using
470         String.Format. Thanks Paolo!
471
472         This makes xsp generate correct C# output in linux :-). I still need
473         to do more testing, though.
474
475 Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
476
477         * ASCIIEncoding.cs: fixed handling of 0 bytecount.
478
479 2002-05-19  Martin Baulig  <martin@gnome.org>
480
481         * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
482         Added exception handling.
483
484         * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
485         Added exception handling.
486
487 2002/04/02  Nick Drochak <ndrochak@gol.com>
488
489         * StringBuilder.cs (Append): Removed obsolete overload.
490
491 2002-03-21  Mike Kestner  <mkestner@speakeasy.net>
492
493         * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
494
495 Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <lupus@ximian.com>
496
497         * StringBuilder.cs: no need to intern the string returned by ToString().
498
499 2002-03-17  Mike Kestner  <mkestner@speakeasy.net>
500
501         * ASCIIEncoding.cs: Implement all the overridden methods. No longer
502           dependent on iconv icalls.
503         * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
504           to GetBytes.
505
506 Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <lupus@ximian.com>
507
508         * StringBuilder.cs: make ToString() return a interned string, this
509         seems to be required to make switch on string work.
510
511 Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
512
513         * StringBuilder.cs: make Append(char) do the smart thing.
514
515 2002-01-05  Ravi Pratap  <ravi@ximian.com>
516
517         * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs, 
518         UnicodeEncoding.cs: MonoTODO attribute marking.
519
520         * StringBuilder.cs : Ditto.
521         
522 Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <lupus@ximian.com>
523
524         * Encoding.cs: renamed some fields.
525         * StringBuilder.cs: CLSCompliant updates.
526
527 2001-10-29  Nick Drochak  <ndrochak@gol.com>
528
529         * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
530                 invalid. Just like MS does (as best as I can tell).
531
532         Tests for these exceptions are now added to the unit tests as well.
533
534 2001-10-25  Nick Drochak  <ndrochak@gol.com>
535
536         * StringBuilder.cs: Throw exception if they try to make a StringBuilder
537                 whose capacity is greater than the MaxCapacity.
538
539         I added some tests for the constructors and the above exception. More
540         coming soon.
541
542 2001-10-23  Nick Drochak  <ndrochak@gol.com>
543
544         * StringBuilder.cs: Refactored constructor code into just one
545         constructor. All the other construtors call it. Also supplied missing
546         constructors so the class has all those in the spec.
547
548         Added the MaxCapacity property as well, however this needs to be 
549         completed to return a value is related to the available system memory.
550
551 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
552
553         * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
554         UnicodeEncoding.cs: Corrected API.
555
556         * UTF8Encoding.cs: Checked in changes from Rafael.
557
558 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
559
560         * UTF8Encoding.cs: impl. clumsy GetBytes
561
562 2001-07-16  Marcin Szczepanski <marcins@zipworld.com.au>
563
564         * StringBuilder.cs (Text): Fixed.
565
566         * StringBuilderTest.cs: Implement Test suite.
567
568 2001-07-12  Marcin Szczepanski <marcins@zipworld.com.au>
569
570         * StringBuilder.cs: Implemented.
571
572         The only methods left unimplemented are the AppendFormat( ... )
573         ones just because it's probably better to wait until some of the
574         Format related classes are implemented.  I've put that as a TODO
575         comment at the top and created the methods with a "nop" body.
576
577 2001-06-26  Sean MacIsaac  <macisaac@ximian.com>
578
579         * UnicodeEncoding.cs: Members added so that a clean compile is
580         possible.
581
582         * ASCIIEncoding.cs: Members added so that a clean compile is
583         possible.
584
585         * UTF7Encoding.cs: Members added so that a clean compile is
586         possible.
587
588         * UTF8Encoding.cs: Members added so that a clean compile is
589         possible.
590
591         * Encoding.cs: All public members included.  Most members
592         unimplemented.