-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This rebases overtop of the head of CFFI, and also adds a commit I needed for ECL #2
Conversation
Add specialized lookup for the default table case. This should be faster that the previous EQUAL hash table scheme.
In Mac OS Big Sur, system dynamic libraries are no longer present on the filesystem and reside in the dynamic linker cache. This change searches for the framework directory instead of the dynamic library underneath the framework directory. https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes Fixes lp#1906982.
defun-like semantics were meant for defcallback, but it's no longer used there. This allows for empty structure/union definitions, e.g. (defcstruct foo "empty").
* This is the (current) default path for arm64 homebrew libraries. Try this before the rest.
This reverts commit b3e6b3f. Osicat fails to compile. lp#1922428
the process is: foo.h -> foo.spec -> foo.lisp foo.spec -> foo.lisp works as expected, but foo.h -> foo.spec is only executed when the spec file is entirely missing.
When a foreign function is not found by find-foreign-function (either because the function doesn't exist, or because the library is not loaded), nil is returned, so %%foreign-funcall is called with nil as a function, which ultimately leads to a null-pointer exception. Better to signal an error on the lisp side.
It remains compatible with existing code, but accepts additional formats for bindings: 1) (name slot-name) - just like WITH-SLOTS; 2) (name :pointer slot-name) - a pointer version.
Report a bad package designator in (IN-PACKAGE :FOO) as The name :FOO does not designate any package. instead of The value NIL is not of type PACKAGE
I was tempted to load libffi.so and libffi32.so, to make this future-proof, but I didn't dare to be so bold :-)
* build all branches * test more implementations (but only SBCL and CCL are mandatory) * libffi-dev is now installed by cl-travis * disable TEST-STATIC-PROGRAM because it fails due to sbcl.o not being build with -fPIE * print unexpected failures at the end of the test run
Where variadic arguments are not just passed normally. Closes cffi#297
This allows the groveler to correctly handle cstruct definitions that include arrays
The docs should prevent confusion with the Python CFFI project.
Hey, I could merge it, but it's probably best to keep your own fork with any patches you might need. I use vanilla cffi in my day-to-day, since the patches I wrote are not backwards compatible and I don't use cl-tree-sitter on a regular basis. Another option is to have a tree-sitter branch instead of doing things on master. GitHub does not notify me of pull requests to forks, so it's by chance that I noticed this one. |
Thanks, I'll try to get sel to maintain a different fork of CFFI (GrammaTech/sel#26). |
Please feel free to drop the last ECL commit at your discretion.
I needed this rebase to get CFFI to load with a Mac M1.