From 18d4d01e4863501c4aa8b4d07422c2a80fc370c4 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 27 Sep 2010 21:45:31 -0700 Subject: [PATCH] furnace.utilities: clean up --- basis/furnace/utilities/utilities.factor | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/basis/furnace/utilities/utilities.factor b/basis/furnace/utilities/utilities.factor index dc90ad4e8c..94762d7591 100644 --- a/basis/furnace/utilities/utilities.factor +++ b/basis/furnace/utilities/utilities.factor @@ -1,4 +1,4 @@ -! Copyright (C) 2008 Slava Pestov. +! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: namespaces make assocs sequences kernel classes splitting words vocabs.loader accessors strings combinators arrays @@ -27,10 +27,12 @@ ERROR: no-such-word name vocab ; : each-responder ( quot -- ) nested-responders swap each ; inline -: base-path ( string -- pair ) +ERROR: no-such-responder responder ; + +: base-path ( string -- seq ) dup responder-nesting get [ second class superclasses [ name>> = ] with any? ] with find nip - [ first ] [ "No such responder: " swap append throw ] ?if ; + [ first ] [ no-such-responder ] ?if ; : resolve-base-path ( string -- string' ) "$" ?head [