Improve trace output, for debugging.
This commit is contained in:
parent
601aa9db67
commit
ea9b1734fd
9
gc.c
9
gc.c
|
|
@ -1002,6 +1002,7 @@ static void _fprint_value(FILE *f, value_t v, seen_value_t *seen)
|
||||||
else if (is_byte_string(v))
|
else if (is_byte_string(v))
|
||||||
{
|
{
|
||||||
byte_string_t *str = _get_byte_string(v);
|
byte_string_t *str = _get_byte_string(v);
|
||||||
|
size_t written = 0;
|
||||||
|
|
||||||
fputc('"', f);
|
fputc('"', f);
|
||||||
|
|
||||||
|
|
@ -1010,11 +1011,17 @@ static void _fprint_value(FILE *f, value_t v, seen_value_t *seen)
|
||||||
int ch = str->bytes[i];
|
int ch = str->bytes[i];
|
||||||
|
|
||||||
if (isprint(ch) && (ch != '\\') && (ch != '\"'))
|
if (isprint(ch) && (ch != '\\') && (ch != '\"'))
|
||||||
|
{
|
||||||
fputc(str->bytes[i], f);
|
fputc(str->bytes[i], f);
|
||||||
|
++written;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
fprintf(f, "\\x%.2X", (int)str->bytes[i]);
|
fprintf(f, "\\x%.2X", (int)str->bytes[i]);
|
||||||
|
written += 4;
|
||||||
|
}
|
||||||
|
|
||||||
if (i >= 20)
|
if (written >= 20)
|
||||||
{
|
{
|
||||||
fputs("...", f);
|
fputs("...", f);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
10
interp.c
10
interp.c
|
|
@ -88,11 +88,13 @@ value_t run_interpreter(value_t lambda, value_t argv)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
fprint_value(stderr, state.lambda.value); fputc('\n', stderr);
|
fflush(stdout);
|
||||||
fprint_value(stderr, state.argv.value); fputc('\n', stderr);
|
fputs("LAMBDA: ", stderr); fprint_value(stderr, state.lambda.value); fputc('\n', stderr);
|
||||||
fprint_value(stderr, state.k.value); fputc('\n', stderr);
|
fputs("ARGLIST: ", stderr); fprint_value(stderr, state.argv.value); fputc('\n', stderr);
|
||||||
fprint_value(stderr, state.ctx.value); fputc('\n', stderr);
|
fputs("CONT'N: ", stderr); fprint_value(stderr, state.k.value); fputc('\n', stderr);
|
||||||
|
fputs("CONTEXT: ", stderr); fprint_value(stderr, state.ctx.value); fputc('\n', stderr);
|
||||||
fputc('\n', stderr);
|
fputc('\n', stderr);
|
||||||
|
fflush(stderr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (is_builtin_fn(state.lambda.value))
|
if (is_builtin_fn(state.lambda.value))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue