[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: [Axiom-developer] common-lisp and GCL-2.6.8pre *features
From: |
Stephen Wilson |
Subject: |
[Gcl-devel] Re: [Axiom-developer] common-lisp and GCL-2.6.8pre *features* |
Date: |
11 Aug 2007 21:45:40 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Gabriel Dos Reis <address@hidden> writes:
> Stephen Wilson <address@hidden> writes:
>
> | Gabriel Dos Reis <address@hidden> writes:
> | > >(member :common-lisp *features*)
> | >
> | > NIL
> | >
> | > >(member :gcl *features*)
> | >
> | > (:GCL :AKCL :COMMON :KCL)
> | >
> | > >#-:common-lisp foo
> | >
> | > Error: The variable FOO is unbound.
> | > Fast links are on: do (si::use-fast-links nil) for debugging
> | > Error signalled by EVAL.
> | > Broken at EVAL. Type :H for Help.
> | >
> | >
> | >
> | >
> | > I would have expected the system NOT to try to evaluate foo.
> |
> | >From the hyperspec:
> |
> | #- is like #+ except that it skips the expression if the test succeeds;
> that is,
> |
> | #-test expression == #+(not test) expression
> |
> |
> | In other words, "#-:common-lisp foo" means "evaluate foo iff
> | :common-lisp is not on *features*".
>
> So, do you agree there is a bug in GCL here?
No. :common-lisp is (as you pointed out for gcl-2.6.8pre) _not_ on
*features*. Thus:
#-:common-lisp ==> #+(not :common-lisp) ==> #+T
Thus,
#-:common-lisp foo
is asking GCL to evaluate 'foo in this case.
Steve