diff --git a/documentation/index.html b/documentation/index.html index 5451b29fb67696a9baee12b42563f1e4e91d652a..a3b59b56a4e98f4d8f79c1f034763e8ad0816e4f 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -112,8 +112,6 @@ combination for which the following are supported:</p> version 0.10.0 or newer; callbacks and <code>foreign-funcall</code> must be supported </li> <li><a href="http://www.cliki.net/trivial-garbage">trivial-garbage</a> -<li><a href="http://common-lisp.net/project/cl-utilities/">cl-utilities</a> -</li> <li><a href="http://www.cliki.net/asdf">ASDF</a></li> <li><a href="http://repo.or.cz/w/lisp-unit.git">lisp-unit</a>, <i>(Optional)</i> necessary to run <code>gsll-tests</code> @@ -155,11 +153,10 @@ Then in Lisp, load the system: <ul> <li><code>gsll get_git git://repo.or.cz/gsll.git</code></li> <li><code>trivial-garbage get_darcs http://common-lisp.net/~loliveira/darcs/trivial-garbage</code></li> - <li><code>cl-utilities get_cvs_clnet</code></li> </ul> <p>and add <ul> - <li><code>gsll cffi trivial-garbage cl-utilities</code></li> + <li><code>gsll cffi trivial-garbage</code></li> </ul> <p> to <code>dependencies</code> and execute @@ -169,7 +166,7 @@ from within the clbuild directory: </ul> <h3>With Debian or Ubuntu</h3> <ul> - <li><code>sudo aptitude install libgsl0-dev cl-cffi cl-utilities</code></li> + <li><code>sudo aptitude install libgsl0-dev cl-cffi</code></li> <li><code>git clone git://repo.or.cz/gsll.git</code></li> <li><code>darcs get http://common-lisp.net/~loliveira/darcs/trivial-garbage</code></li> <li><code>clc-register-user-package trivial-garbage/trivial-garbage.asd</code></li> @@ -388,7 +385,7 @@ and arrays used internally or for function return. <!-- Created: Feb 25 2005 --> <!-- hhmts start --> <small> -Time-stamp: <2009-03-31 22:41:54EDT index.html> +Time-stamp: <2009-04-04 09:58:19EDT index.html> </small> <!-- hhmts end --> </div> diff --git a/gsll.asd b/gsll.asd index e1a96030185fae6a3ac82a6eb03a946b4ad3ec1d..da8150f298a9a68e3aae8fd167d312d308c701a8 100644 --- a/gsll.asd +++ b/gsll.asd @@ -1,6 +1,6 @@ ;; Definition of GSLL system ;; Liam Healy -;; Time-stamp: <2009-04-02 22:34:36EDT gsll.asd> +;; Time-stamp: <2009-04-04 09:55:40EDT gsll.asd> ;; $Id$ (asdf:defsystem "gsll" @@ -9,7 +9,7 @@ :version "0" :author "Liam M. Healy" :licence "LLGPL v3, FDL" - :depends-on (cffi trivial-garbage cl-utilities) + :depends-on (cffi trivial-garbage) :components ((:module init :components diff --git a/init/callback.lisp b/init/callback.lisp index a6ec6d2efc86ba838251a0718bdc4bde428fbac0..85fc3f0367d2aa263ccccd3169de91af7b5b15af 100644 --- a/init/callback.lisp +++ b/init/callback.lisp @@ -1,6 +1,6 @@ ;; Foreign callback functions. ;; Liam Healy -;; Time-stamp: <2009-04-02 22:32:19EDT callback.lisp> +;; Time-stamp: <2009-04-04 09:55:41EDT callback.lisp> ;; $Id$ (in-package :gsl) @@ -126,9 +126,6 @@ ;;;; Using callback specification in function arugments ;;;;**************************************************************************** -(defun callback-arg-p (arglist callbacks &optional key) - (member (parse-callback-static callbacks 'foreign-argument) arglist :key key)) - (defun callback-replace-arg (replacement list callbacks) "Replace in the list the symbol representing the foreign callback argument." (if callbacks diff --git a/init/init.lisp b/init/init.lisp index 01ad46714ebf9d71be89a06383ec9a9e47f1eb79..9c62f13db453d66c00573ca5164be605907564de 100644 --- a/init/init.lisp +++ b/init/init.lisp @@ -1,6 +1,6 @@ ;; Load GSL ;; Liam Healy Sat Mar 4 2006 - 18:53 -;; Time-stamp: <2009-01-27 21:32:59EST init.lisp> +;; Time-stamp: <2009-04-04 09:55:29EDT init.lisp> ;; $Id$ (defpackage gsll @@ -38,21 +38,3 @@ #+sbcl (eval-when (:compile-toplevel :load-toplevel :execute) (pushnew :native *features*)) - -#+openmcl -(eval-when (:compile-toplevel :load-toplevel :execute) - (pushnew :callback-toplevel-only *features*)) - -;;; CFFI currently doesn't allow uninterned callback names for CCL; -;;; patch here. This patch can be removed once the fix in CFFI: -;;; http://common-lisp.net/pipermail/cffi-devel/2009-January/003046.html -;;; makes it into a released version. -#-openmcl (import 'cl-utilities:with-unique-names :gsll) - -#+openmcl -(defmacro gsll::with-unique-names ((&rest bindings) &body body) - `(cl-utilities:with-unique-names - (,@bindings) - (let ,(mapcar (lambda (symb) `(,symb (intern (symbol-name ,symb)))) - bindings) - ,@body))) diff --git a/init/interface.lisp b/init/interface.lisp index 13f200ad222ae4eb32b683e36569dde76f94858c..b1aea9902d66b43b65ecfe564c0b36c0a3a66cef 100644 --- a/init/interface.lisp +++ b/init/interface.lisp @@ -1,6 +1,6 @@ ;; Macros to interface GSL functions, including definitions necessary for defmfun. ;; Liam Healy -;; Time-stamp: <2009-03-31 22:51:22EDT interface.lisp> +;; Time-stamp: <2009-04-04 12:02:28EDT interface.lisp> ;; $Id$ (in-package :gsl) @@ -141,8 +141,8 @@ ;; Insufficient version number handled by binding a special of ;; the same name to the condition. It would be nice to signal ;; the error, but it least this will provide some information. - `(defparameter ,cl-symbol - (make-condition + `(define-symbol-macro ,cl-symbol + (error 'obsolete-gsl-version :name ',cl-symbol :gsl-name ,gsl-symbol :gsl-version ',gsl-version )))) diff --git a/init/mobject.lisp b/init/mobject.lisp index b596f7b324902e1786c3c1cbfa1590cca50f5606..df2c5574425e0835ae671c151dc2f1ee62300506 100644 --- a/init/mobject.lisp +++ b/init/mobject.lisp @@ -1,6 +1,6 @@ ;; Definition of GSL objects and ways to use them. ;; Liam Healy, Sun Dec 3 2006 - 10:21 -;; Time-stamp: <2009-04-01 21:36:13EDT mobject.lisp> +;; Time-stamp: <2009-04-04 09:51:08EDT mobject.lisp> ;;; GSL objects are represented in GSLL as and instance of a 'mobject. ;;; The macro demobject takes care of defining the appropriate @@ -45,7 +45,6 @@ ;;; allocator ;;; allocate-inputs ;;; freer -;;; class-slots-instance ;;; callbacks ;;; See callbacks.lisp ;;; superclasses @@ -58,7 +57,7 @@ (class prefix allocation-args description &key documentation initialize-suffix initialize-name initialize-args arglists-function inputs gsl-version allocator allocate-inputs freer - class-slots-instance callbacks + callbacks (superclasses (if callbacks '(callback-included) '(mobject))) singular) "Define the class, the allocate, initialize-instance and @@ -105,8 +104,7 @@ (make-reinitialize-instance class cl-initialize-args initialize-name prefix initialize-suffix initialize-args inputs - (and (not (callback-arg-p class-slots-instance callbacks)) - callbacks) + callbacks superclasses)) (export '(,maker ,class)) ,@(when callbacks `((record-callbacks-for-class ',class ',callbacks))) @@ -114,7 +112,7 @@ ,(mobject-maker maker arglists class cl-alloc-args cl-initialize-args description documentation initialize-args initializerp settingp - singular class-slots-instance callbacks)) + singular callbacks)) `(progn (export ',maker) (defun ,maker (&rest args) @@ -182,7 +180,7 @@ (defun mobject-maker (maker arglists class cl-alloc-args cl-initialize-args description documentation initialize-args initializerp settingp - singular class-slots-instance callbacks) + singular callbacks) "Make the defun form that makes the mobject." (when callbacks (setf cl-initialize-args (append cl-initialize-args '((scalarsp t))))) @@ -194,8 +192,6 @@ (singularize singular `(,@cl-alloc-args - ,@(callback-replace-arg - 'functions class-slots-instance callbacks) ,@(when initargs (append (list @@ -211,22 +207,9 @@ (make-instance ',class ,@(when callbacks `(:callbacks ',callbacks)) - ,@(symbol-keyword-symbol - (callback-remove-arg class-slots-instance callbacks)) - ,@(when (callback-arg-p class-slots-instance callbacks) - (symbol-keyword-symbol 'functions)) ,@(if arglists (second arglists) (symbol-keyword-symbol cl-alloc-args singular))))) - ;; There is callback slot variable - ,@(when (callback-arg-p class-slots-instance callbacks) - (with-unique-names (cbs) - `((let ((,cbs ,(make-cbstruct-object class))) - (setf (slot-value - object - ',(parse-callback-static callbacks 'foreign-argument)) - ,cbs) - (tg:finalize object (lambda () (foreign-free ,cbs))))))) ;; There is an initialization step ,@(when initializerp (if (or initialize-args arglists) ; with arguments