diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib.c | 12 |
2 files changed, 15 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2012-03-28 Kaz Kylheku <kaz@kylheku.com> + + * lib.c (obj_print, obj_pprint): Do not use the #<lazy-string ..> + notation for lazy strings that have been forced. + 2012-03-27 Kaz Kylheku <kaz@kylheku.com> * stream.c (vformat): Compensate for differences in printf @@ -4276,7 +4276,11 @@ val obj_print(val obj, val out) } return obj; case LSTR: - format(out, lit("#<lazy-string: ~s>"), obj->ls.prefix, nao); + if (obj->ls.list) + format(out, lit("#<lazy-string: ~s (~s ...)>"), obj->ls.prefix, + obj->ls.list, nao); + else + obj_print(obj->ls.prefix, out); return obj; case COBJ: obj->co.ops->print(obj, out); @@ -4373,7 +4377,11 @@ val obj_pprint(val obj, val out) } return obj; case LSTR: - format(out, lit("#<lazy-string: ~a>"), obj->ls.prefix, nao); + if (obj->ls.list) + format(out, lit("#<lazy-string: ~s (~s ...)>"), obj->ls.prefix, + obj->ls.list, nao); + else + obj_pprint(obj->ls.prefix, out); return obj; case COBJ: obj->co.ops->print(obj, out); |