From: Andreas F. <ant...@us...> - 2004-06-01 17:02:32
|
Update of /cvsroot/sbcl/sbcl/contrib/sb-grovel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv689/contrib/sb-grovel Modified Files: def-to-lisp.lisp Log Message: 0.8.11.77: sb-grovel & sb-posix symbol export changes ... sb-grovel no longer quietly exports every constant ... instead, I restored the old default of not exporting the symbol (and, additionally:) unless asked to ... sb-posix now exports all groveled-for constants and structure/class accessors ... (implicitly:) sb-bsd-sockets now does no more export its constants. This corresponds to the behavior before 0.8.11.65. Index: def-to-lisp.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/contrib/sb-grovel/def-to-lisp.lisp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- def-to-lisp.lisp 27 May 2004 13:58:16 -0000 1.12 +++ def-to-lisp.lisp 1 Jun 2004 17:02:23 -0000 1.13 @@ -78,15 +78,12 @@ (format nil "sizeof(~A)" type))) (printf ")") (dolist (def definitions) - (destructuring-bind (type lispname cname &optional doc dont-export) def + (destructuring-bind (type lispname cname &optional doc export) def (case type (:integer (as-c "#ifdef" cname) (printf "(cl:defconstant ~A %d \"~A\")" lispname doc cname) - ;; XXX: do this? - (unless dont-export - (printf "(cl:export '~A)" lispname)) (as-c "#else") (printf "(sb-int:style-warn \"Couldn't grovel for ~A (unknown to the C compiler).\")" cname) (as-c "#endif")) @@ -103,11 +100,13 @@ (printf "(sb-grovel::define-foreign-routine (\"~A\" ~A)" f-cname lispname) (printf "~{ ~W~^\\n~})" definition))) (:structure + ;; FIXME: structure slots should be auto-exportable as well. (c-for-structure lispname cname)) (otherwise ;; should we really not sprechen espagnol, monsieurs? - (error "Unknown grovel keyword encountered: ~A" type)) - ))) + (error "Unknown grovel keyword encountered: ~A" type))) + (when export + (printf "(cl:export '~A)" lispname)))) (as-c "return 0;") (as-c "}"))) |