1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Simpler bufferdescribe.

Update design.mps.writef with indentation feature and updated BufferDescribe.

Copied from Perforce
 Change: 185632
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2014-04-17 14:24:03 +01:00
parent e65a085be9
commit a8aee50de6
2 changed files with 45 additions and 33 deletions

View file

@ -149,17 +149,10 @@ Bool BufferCheck(Buffer buffer)
Res BufferDescribe(Buffer buffer, mps_lib_FILE *stream)
{
Res res;
char abzMode[5];
if (!TESTT(Buffer, buffer)) return ResFAIL;
if (stream == NULL) return ResFAIL;
abzMode[0] = (char)( (buffer->mode & BufferModeTRANSITION) ? 't' : '_' );
abzMode[1] = (char)( (buffer->mode & BufferModeLOGGED) ? 'l' : '_' );
abzMode[2] = (char)( (buffer->mode & BufferModeFLIPPED) ? 'f' : '_' );
abzMode[3] = (char)( (buffer->mode & BufferModeATTACHED) ? 'a' : '_' );
abzMode[4] = '\0';
res = WriteF(stream,
"Buffer $P ($U) {\n",
(WriteFP)buffer, (WriteFU)buffer->serial,
@ -168,8 +161,11 @@ Res BufferDescribe(Buffer buffer, mps_lib_FILE *stream)
"Arena $P\n", (WriteFP)buffer->arena,
"Pool $P\n", (WriteFP)buffer->pool,
buffer->isMutator ? "Mutator" : "Internal", " Buffer\n",
"mode $S (TRANSITION, LOGGED, FLIPPED, ATTACHED)\n",
(WriteFS)abzMode,
"mode $C$C$C$C (TRANSITION, LOGGED, FLIPPED, ATTACHED)\n",
(WriteFC)((buffer->mode & BufferModeTRANSITION) ? 't' : '_'),
(WriteFC)((buffer->mode & BufferModeLOGGED) ? 'l' : '_'),
(WriteFC)((buffer->mode & BufferModeFLIPPED) ? 'f' : '_'),
(WriteFC)((buffer->mode & BufferModeATTACHED) ? 'a' : '_'),
"fillSize $UKb\n", (WriteFU)(buffer->fillSize / 1024),
"emptySize $UKb\n", (WriteFU)(buffer->emptySize / 1024),
"alignment $W\n", (WriteFW)buffer->alignment,