Sam Steingold wrote:
> 1. telling the users that DEFAULT-FOREIGN-LANGUAGE is for compilation
> units and should _never_ be used at top-level (except by gurus :-).
Actually, that's possibly the core of the problem.
I was thinking of something along the lines of:
LISPOBJ(foreign_language,":STDC",ffi) # Do Not Touch This or CLISP users may kill you!
-- Or possibly NIL
and reset it to that value for every Lisp session.
Sadly, one cannot say (defconstant *foreign-language* :STDC) and then rebind it.
*FOREIGN-LANGUAGE* and its interaction with PARSE-C-TYPE is still not worked out reliably yet.
>3. when the type is non-constant, we should require :LANGUAGE argument
> anyway, whether by using separate forms or requiring it explicitly,
> and I prefer the latter.
How do you detect that "you"'re within non-constant state missing language?
Or in constant-state with :language coming from default?
However, I start to see a shed of light pointing to an end of this dark tunnel...