[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: question on byte specifier format



I believe your problem is  missing quotes.  Try:

(defmacro VARIABLE-NO-NEW-LANDMARKS-P (var)
  `(ldb-test ',*NO-NEW-LANDMARKS* (variable-flags ,var)))

(defmacro VARIABLE-DISCRETE-P (var)
  `(ldb-test ',*DISCRETE* (variable-flags ,var)))



In implementations where byte specifiers are implemented as integers,
this will simply produce a quoted integer where you previously
produced an integer as an argment to ldb-test, but that should yield the same 
result.  As long as byte specifiers are implemented as types which
can be dumped to binary files, the above should work.


But of course byte specifiers need not be implemented as dumpable objects
(at least I don't think that is required).  Is there some reason why
you don't just have:

(defmacro VARIABLE-DISCRETE-P (var)
  `(ldb-test *DISCRETE* (variable-flags ,var)))


and let the COMPILER decide how to deal with the constant's value?
That should certainly be portable.

neil goldman