From 4d53cc1c5df1f092f896a15587a3375ea6bef189 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 6 Feb 2009 01:26:08 -0600 Subject: [PATCH] Listener: don't display more than 10 stack elements (configurable with max-stack-items variable) --- basis/listener/listener.factor | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/basis/listener/listener.factor b/basis/listener/listener.factor index 88a90b72e2..fc5f5c60b6 100644 --- a/basis/listener/listener.factor +++ b/basis/listener/listener.factor @@ -56,6 +56,14 @@ SYMBOL: error-hook [ print-error-and-restarts ] error-hook set-global +SYMBOL: display-stacks? + +t display-stacks? set-global + +SYMBOL: max-stack-items + +10 max-stack-items set-global + [ + max-stack-items get cut* + [ + [ length number>string "(" " more items)" surround ] keep + write-object nl + ] dip + ] when stack. ; : stacks. ( -- ) display-stacks? get [ - datastack [ nl "--- Data stack:" title. stack. ] unless-empty + datastack [ nl "--- Data stack:" title. trimmed-stack. ] unless-empty ] when ; : prompt. ( -- )