[fetter-devel] news

Attila Lendvai attila.lendvai at gmail.com
Tue May 1 18:41:04 UTC 2007


dear list,

after consulting with Rayiner, i've uploaded a darcs repo of Verrazano
and updated the website. the darcs repo contains a lot of changes that
i've made in an effort to generate an imagemagick binding.

once the cronjob picks it up you can take a look at the patches at:
http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi

unfortunately trivial-shell has a transient bug, until Gary pushes the
fix into the official repo the attached patch needs to be applied to
it locally:

darcs apply -i /tmp/trivial-shell.patch

i hope you will like the changes but feedback is very welcome, even in
the form of slapping me on the backhead for doing something wrong...
:)

the most notable change is that the gccxml output is echoed which
greatly helps troubleshooting. also the errors are now left alone to
reach the debugger as they are.

there's also a new name transforming mechanism which generates more
lisp-friendly names (camelCase is transformed to hyphens, symbols
starting with _ are not exported, etc).

another new thing is a "bindings" directory in the repo that contains
some pre-generated cffi bindings. users can use them without
installing gccxml. currently the binding files are not too mature, but
my vision is to have a standard set of binding files that the users
can use and contribute in the form of generator code sniplets.

and finally a quick outline of the darcs patch messages:

  * Updated testsuite to follow changes
  * Set up .boring file
  * Added a bindings directory with some pre-generated bindings for
everyone's pleasure
  * Fix CamelCase transformer not to insert hyphens if there's already
a hyphen before an uppercase char
  * Fix unique name generation so that the generated output is
deterministic (same unique ids for two generate runs)
  * Use defconstant instead of defparameter for #define integer stuff
in cffi backend
  * Added :const-char-pointer-is-string option (t by default) to be
able to disable const char * -> :string conversion
  * Added SYMBOL-EXPORT-FILTER to configuration, and a default
FILTER-SYMBOLS-STARTING-WITH-DASH
  * Added missing :cffi dependency to the .asd
  * Remove CVSROOT from the repo
  * Updated the vfun example (doesn't work yet, verrazano-support lags
behind cffi)
  * Update the cairo test suite
  * Added a postprocess-ir-node phase and used it to implement various
name transformations
  * Added a verrazano-user package
  * Added a print-object for named
  * Generate :string for const char *
  * Count generated arg names from 1
  * Do not pass backend-state all around, use a special
  * Style changes without other sideeffects
  * Renamed create-binding to generate-binding
  * Use a *parser-state* for the state, do not pass it all around
  * Drop the foo.binding stuff and introcude a functional interface
  * Turn configuration into a class, prepare to drop the foo.binding stuff
  * Even more style cleanups without other sideeffects
  * Added a restart to check out gccxml cvs in case it was not found
  * Fix: case does not need quoting
  * Do not pass cfg all around, use a *configuration*
  * Added a minimal set of anaphoric macros to the utils
  * Delete set-slot, rename slot-from-xml to set-slot-from-xml
  * Delete GET/SET-NOTE and use an ANNOTATION/(SETF ANNOTATION) instead
  * Some more style cleanups without other sideeffects
  * Added alexandria dependency
  * Rename once-only to with-only-one-visit
  * Fix parsing header files where the function arguments are not named
  * Add iterate dependency
  * Style cleanups with no other sideeffects
  * Use cl-ppcre instead of split-sequence
  * Drop the old error handling, let errors reach the debugger

  It made it really hard to see what's going on and wasn't helpful at all.
  Now the full state is visible in the debugger (hint: life is unnecessarily
  hard without Slime).

  * Fix add-edge-to-allocated, default offset was misparen'd
  * Use trivial-shell, check for the exec return code and echo what's
happening to *debug-io*
  * Fix cffi defpackage generation

  It's not wise to invoke asdf:load-op from a *package* that doesn't
use :cl -> none of the in-package
  declarations in the files will have any effects... :)

  * Fix long long int and long long unsigned int mapping in the cffi backend
  * Understand both :cffi and :cffi-backend as backend specification
  * Replace to (inpackage :verrazano)
  * Modernize stuff in verrazano-support, use uninterned symbols
  * Added system-relative-pathname to utils

-- 
 attila
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trivial-shell.patch
Type: text/x-patch
Size: 1492 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/fetter-devel/attachments/20070501/18370d3f/attachment.bin>


More information about the fetter-devel mailing list