From f2e8d4dda52409eb0d8f467d0edc9e78c5a374c7 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 21 Nov 2008 21:00:49 -0600 Subject: [PATCH] Add hide-all-vars word, document var watching wordS --- basis/listener/listener-docs.factor | 24 +++++++++++++++++++++++- basis/listener/listener.factor | 6 ++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/basis/listener/listener-docs.factor b/basis/listener/listener-docs.factor index 8ef49ca0d9..ba3bb7275e 100644 --- a/basis/listener/listener-docs.factor +++ b/basis/listener/listener-docs.factor @@ -9,7 +9,29 @@ ARTICLE: "listener-watch" "Watching variables in the listener" { $subsection hide-var } "To add and remove multiple variables:" { $subsection show-vars } -{ $subsection hide-vars } ; +{ $subsection hide-vars } +"Hiding all visible variables:" +{ $subsection hide-all-vars } ; + +HELP: show-var +{ $values { "var" "a variable name" } } +{ $description "Adds a variable to the watch list; its value will be printed by the listener after every expression." } ; + +HELP: show-vars +{ $values { "seq" "a sequence of variable names" } } +{ $description "Adds a sequence of variables to the watch list; their values will be printed by the listener after every expression." } ; + +HELP: hide-var +{ $values { "var" "a variable name" } } +{ $description "Removes a variable from the watch list." } ; + +HELP: hide-vars +{ $values { "seq" "a sequence of variable names" } } +{ $description "Removes a sequence of variables from the watch list." } ; + +HELP: hide-all-vars +{ $values { "seq" "a sequence of variable names" } } +{ $description "Removes all variables from the watch list." } ; ARTICLE: "listener" "The listener" "The listener evaluates Factor expressions read from a stream. The listener is the primary interface to the Factor runtime. Typically, you write Factor code in a text editor, then load it using the listener and test it." diff --git a/basis/listener/listener.factor b/basis/listener/listener.factor index 7d8b72849b..95ad264000 100644 --- a/basis/listener/listener.factor +++ b/basis/listener/listener.factor @@ -42,14 +42,16 @@ PRIVATE> SYMBOL: visible-vars -: show-var ( sym -- ) visible-vars [ swap suffix ] change ; +: show-var ( var -- ) visible-vars [ swap suffix ] change ; : show-vars ( seq -- ) visible-vars [ swap union ] change ; -: hide-var ( sym -- ) visible-vars [ remove ] change ; +: hide-var ( var -- ) visible-vars [ remove ] change ; : hide-vars ( seq -- ) visible-vars [ swap diff ] change ; +: hide-all-vars ( -- ) visible-vars off ; + SYMBOL: error-hook [ print-error-and-restarts ] error-hook set-global