v22.2b14/
v22.2b14/Win32/
v22.2b14/compat/
v22.2b14/testsuite/
v22.2b14/testsuite/clone/
v22.2b14/testsuite/command/
v22.2b14/testsuite/data/
v22.2b14/testsuite/etc/
v22.2b14/testsuite/include/
v22.2b14/testsuite/inherit/
v22.2b14/testsuite/inherit/master/
v22.2b14/testsuite/log/
v22.2b14/testsuite/single/
v22.2b14/testsuite/single/tests/compiler/
v22.2b14/testsuite/single/tests/efuns/
v22.2b14/testsuite/single/tests/operators/
v22.2b14/testsuite/u/
v22.2b14/tmp/
int glob;

#define CANT_BIND(f) ASSERT(catch(bind(f, previous_object())))
#define CAN_BIND(f) ASSERT(bind(f, previous_object()))

void do_tests() {
    CANT_BIND((: do_tests :));
    CANT_BIND((: glob :));
    CANT_BIND((: glob + 1 :));
    CANT_BIND((: do_tests() :));
    CAN_BIND((: $1 + $2 :));
    ASSERT(functionp(bind( (: $1 :), this_object())));
    ASSERT(evaluate(bind( (: $1 + $2 :), this_object()), 3, 4) == 7);
}