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. ( -- )