1:32:24emaczenHow do cffi:defcvar cffi:defcfun and cffi:defcstruct work and how does C expose variables, functions and structs so that we can interface?
1:33:39Bikein the shared library. usually the lisp uses something like dlsym
1:43:22emaczenWould the information I am looking for be in the cffi-sys interface specification?
1:50:19luisThat's a bit of a broad question. Can you be more specific?
1:51:10jcowanWell, the spec is not a wretched hive of scum and villainy, if that's what you mean.
2:04:02Bikei don't know what information you're looking for
2:20:41p_lemaczen: usually whatever the operating environment has for dynamic symbol resolution, which gives back pointer, which is wrapper appropriately for the Lisp code
2:43:31emaczenI wish to know how defcvar defcstruct and defcfun work
2:44:06emaczenAnd what system facilities on the C side let them work
7:41:04meepdeewis there an easy way to bind cursor position within BIND-BUTTON for trivial-gamekit?
7:43:42meepdeewor rather, just access the value. Or in a case like this does one just store those coords anytime the mouse had moved previously and reuse that value?
7:44:47phoemeepdeew: #lispgames might be able to answer better
10:26:38knoboI suddenly realized that often I do (let ((key (getf var :key)) when I could have done (destructuring-bind (&key key &allow-other-keys) var..
10:30:09pjbWhat you should have done if you do it often, is (defmacro with-key ((key-var plist) &body body) `(let ((,key-var (getf ,plist ,(intern (symbol-name key-var) "KEYWORD")))) ,@body)) and write (with-key (key var) …)
11:42:54knoboThe former is shorter if I only bind one value. And often more to the point.