Subject: [clisp-list] SYMBOL-VALUE of 'FFI::*VARIABLE-LIST*

From: Edi Weitz <[email-masked]>
Date: Fri Dec 13 04:53:02 2002

Is the following a bug or correct behaviour? I would have thought that
BOUNDP shouldn't return T because the symbol is only FBOUNDP by being
a symbol-macro.

I was also surprised to see something like a global symbol-macro. I
thought these do only exist within the scope of a SYMBOL-MACROLET.

Thanks,
Edi.

  [1]> (describe 'FFI::*VARIABLE-LIST*)

  FFI::*VARIABLE-LIST* is the symbol FFI::*VARIABLE-LIST*, lies in #<PACKAGE FFI>, is accessible in 1 package FFI, a variable (macro: (FFI::FFI-MODULE-VARIABLE-LIST SYSTEM::*FFI-MODULE*)), value:
  #<SYMBOL-MACRO (FFI::FFI-MODULE-VARIABLE-LIST SYSTEM::*FFI-MODULE*)>.
  For more information, evaluate (MACROEXPAND-1 'FFI::*VARIABLE-LIST*).

   #<PACKAGE FFI> is the package named FFI.
   It imports the external symbols of 2 packages COMMON-LISP, EXT and exports 58 symbols to 1 package REGEXP.

   #<SYMBOL-MACRO (FFI::FFI-MODULE-VARIABLE-LIST SYSTEM::*FFI-MODULE*)> is a symbol macro handler.

  [2]> (boundp 'FFI::*VARIABLE-LIST*)
  T
  [3]> (symbol-value 'FFI::*VARIABLE-LIST*)

  *** - SYSTEM::%STRUCTURE-REF: NIL is not a structure of type FFI::FFI-MODULE
  1. Break [4]>