From 52a5a22b9d0d25fdcac360024b11e6e8839b6710 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Mon, 31 Aug 2009 20:10:51 -0500 Subject: [PATCH] restore pprint stack when c-object pprinters fail so that the fallback pprint syntax is still clickable --- basis/prettyprint/backend/backend.factor | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/basis/prettyprint/backend/backend.factor b/basis/prettyprint/backend/backend.factor index 3fb0370ff1..76cf8806f4 100644 --- a/basis/prettyprint/backend/backend.factor +++ b/basis/prettyprint/backend/backend.factor @@ -154,10 +154,14 @@ M: pathname pprint* M: tuple pprint* pprint-tuple ; +: recover-pprint ( try recovery -- ) + pprinter-stack get clone + [ pprinter-stack set ] curry prepose recover ; inline + : pprint-c-object ( object content-quot pointer-quot -- ) [ c-object-pointers? get ] 2dip [ nip ] - [ [ drop ] prepose [ recover ] 2curry ] 2bi if ; inline + [ [ drop ] prepose [ recover-pprint ] 2curry ] 2bi if ; inline : do-length-limit ( seq -- trimmed n/f ) length-limit get dup [