Skip to content
Snippets Groups Projects
Commit f0c7ecec authored by Liam Healy's avatar Liam Healy
Browse files

Define callbacks by returning the struct pointer, without setting specials

Macro defcbstruct and all the macros built on it now simply return the
C struct needed by GSL functions instead of binding a special whose
name is then passed to the GSL functions.  Specials can still be used
of course in the standard way like defparameter, but the results can
also be bound locally with a let or passed in directly.  The name of a
callback passed to defmcallback and to defcbstruct in all the macros
that expand both is now gensymmed (since it is used only long enough
to put in a slot of the cbstruct) instead of taken to be the name of
the CL function, in order to make clear the different objects.
Unfortunately, there is appears to be a bug in CFFI using defcallback
with an uninterned symbol in CCL, so I have put a workaround in.
However, there is still another error even with this workaround.
Thus test results are:
SBCL 64: TOTAL: 1248 assertions passed, 5 failed, 0 execution errors.
CCL 64: TOTAL: 1229 assertions passed, 2 failed, 6 execution errors.
parent 42cf5a7b
No related branches found
No related tags found
No related merge requests found
Showing
with 299 additions and 305 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment