Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
19f274f0
by Raymond Toy at 2021-01-29T17:30:03-08:00
-
832e116a
by Raymond Toy at 2021-01-30T01:54:08+00:00
1 changed file:
Changes:
... | ... | @@ -212,12 +212,15 @@ static void |
212 | 212 |
brief_otherimm(lispobj obj)
|
213 | 213 |
{
|
214 | 214 |
int type, c, idx;
|
215 |
- char buffer[10];
|
|
216 | 215 |
|
217 | 216 |
type = TypeOf(obj);
|
218 | 217 |
switch (type) {
|
219 | 218 |
case type_BaseChar:
|
220 |
- c = (obj >> 8) & 0xff;
|
|
219 |
+ /*
|
|
220 |
+ * A base-char should only be 16 bits long now. But
|
|
221 |
+ * sometimes it uses all 24. So just grab all the bits.
|
|
222 |
+ */
|
|
223 |
+ c = (obj >> 8) & 0xfffff;
|
|
221 | 224 |
switch (c) {
|
222 | 225 |
case '\0':
|
223 | 226 |
printf("#\\Null");
|
... | ... | @@ -228,20 +231,35 @@ brief_otherimm(lispobj obj) |
228 | 231 |
case '\b':
|
229 | 232 |
printf("#\\Backspace");
|
230 | 233 |
break;
|
234 |
+ case '\11':
|
|
235 |
+ printf("#\\Tab");
|
|
236 |
+ break;
|
|
237 |
+ case '\13':
|
|
238 |
+ printf("#\\Vt");
|
|
239 |
+ break;
|
|
240 |
+ case '\15':
|
|
241 |
+ printf("#\\Return");
|
|
242 |
+ break;
|
|
243 |
+ case '\33':
|
|
244 |
+ printf("#\\Escape");
|
|
245 |
+ break;
|
|
246 |
+ case '\40':
|
|
247 |
+ printf("#\\Space");
|
|
248 |
+ break;
|
|
231 | 249 |
case '\177':
|
232 | 250 |
printf("#\\Delete");
|
233 | 251 |
break;
|
234 | 252 |
default:
|
235 |
- strcpy(buffer, "#\\");
|
|
236 | 253 |
if (c >= 128) {
|
237 |
- strcat(buffer, "m-");
|
|
238 |
- c -= 128;
|
|
239 |
- }
|
|
240 |
- if (c < 32) {
|
|
241 |
- strcat(buffer, "c-");
|
|
242 |
- c += '@';
|
|
243 |
- }
|
|
244 |
- printf("%s%c", buffer, c);
|
|
254 |
+ /* Just print out the code value */
|
|
255 |
+ printf("#\\u+%04X", c);
|
|
256 |
+ } else if (c < 32) {
|
|
257 |
+ /* Print it out as a control character */
|
|
258 |
+ printf("#\\^%c", c + '@');
|
|
259 |
+ } else {
|
|
260 |
+ /* Plain ASCII character */
|
|
261 |
+ printf("#\\%c", c);
|
|
262 |
+ }
|
|
245 | 263 |
break;
|
246 | 264 |
}
|
247 | 265 |
break;
|