mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-24 12:35:05 +02:00
Output chars correctly via write
This commit is contained in:
parent
46035cdea5
commit
7728e25b8f
2 changed files with 19 additions and 1 deletions
|
@ -1,5 +1,8 @@
|
||||||
# Next Release - TBD
|
# Next Release - TBD
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
|
||||||
|
- Display characters such as `#\space` correctly when output via `write`.
|
||||||
|
|
||||||
# 0.3.3 - December 19, 2016
|
# 0.3.3 - December 19, 2016
|
||||||
|
|
||||||
|
|
15
runtime.c
15
runtime.c
|
@ -899,7 +899,22 @@ static object _Cyc_write(object x, FILE * port)
|
||||||
return quote_void;
|
return quote_void;
|
||||||
}
|
}
|
||||||
if (obj_is_char(x)) {
|
if (obj_is_char(x)) {
|
||||||
|
char c = obj_obj2char(x);
|
||||||
|
switch (c) {
|
||||||
|
case 0: fprintf(port, "#\\null"); break;
|
||||||
|
case 7: fprintf(port, "#\\alarm"); break;
|
||||||
|
case 8: fprintf(port, "#\\backspace"); break;
|
||||||
|
case 9: fprintf(port, "#\\tab"); break;
|
||||||
|
case 10: fprintf(port, "#\\newline"); break;
|
||||||
|
case 13: fprintf(port, "#\\return"); break;
|
||||||
|
case 27: fprintf(port, "#\\escape"); break;
|
||||||
|
case 32: fprintf(port, "#\\space"); break;
|
||||||
|
case 127: fprintf(port, "#\\delete"); break;
|
||||||
|
default:
|
||||||
fprintf(port, "#\\%c", obj_obj2char(x));
|
fprintf(port, "#\\%c", obj_obj2char(x));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//fprintf(port, "#\\%c", obj_obj2char(x));
|
||||||
return quote_void;
|
return quote_void;
|
||||||
}
|
}
|
||||||
if (obj_is_int(x)) {
|
if (obj_is_int(x)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue