[mcclim-devel] Scigraph patches for SBCL

John Morrison john.nmi.morrison at gmail.com
Tue May 17 19:03:13 UTC 2011


Hi;

For what it's worth, I managed to get Scigraph's demos to run under
SBCL.  There are still bugs (when you click on certain elements of the
graphs, they keel over dead), but at least it is something.

Please find attached a "cvs diff" listing.  If this is not sufficient,
of if the patches are not up to the usual McCLIM standards of
excellence, please advise, and I will be more than happy to try and do
better.

Thanks for the software,

-jm

-- 
--- John Morrison
--- john.nmi.morrison at gmail.com
-------------- next part --------------
? sbcl.core
Index: scigraph.asd
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Apps/Scigraph/scigraph.asd,v
retrieving revision 1.1
diff -r1.1 scigraph.asd
11,55c11,63
< (defsystem :scigraph
<     :depends-on (:mcclim)
<     ;; The DWIM part of SCIGRAPH
<     :serial t
<     :components
<     (
<      (:file "dwim/package")
<      (:file "dwim/feature-case")
<      (:file "dwim/macros")
<      (:file "dwim/tv")
<      (:file "dwim/draw")
<      (:file "dwim/present")
<      (:file "dwim/extensions")
<      (:file "dwim/wholine")
<      (:file "dwim/export")
<      ;; The Scigraph part
<      (:file "scigraph/package")
<      (:file "scigraph/copy")
<      (:file "scigraph/dump")
<      (:file "scigraph/duplicate")
<      (:file "scigraph/random")
<      (:file "scigraph/menu-tools")
<      (:file "scigraph/basic-classes")
<      (:file "scigraph/draw")
<      (:file "scigraph/mouse")
<      (:file "scigraph/color")
<      (:file "scigraph/basic-graph")
<      (:file "scigraph/graph-mixins")
<      (:file "scigraph/axis")
<      (:file "scigraph/moving-object")
<      (:file "scigraph/symbol")
<      (:file "scigraph/graph-data")
<      (:file "scigraph/legend")
<      (:file "scigraph/graph-classes")
<      (:file "scigraph/present")
<      (:file "scigraph/annotations")
<      (:file "scigraph/annotated-graph")
<      (:file "scigraph/contour")
<      (:file "scigraph/equation")
<      (:file "scigraph/popup-accept")
<      (:file "scigraph/popup-accept-methods")
<      (:file "scigraph/duplicate-methods")
<      (:file "scigraph/frame")
<      (:file "scigraph/export")
<      (:file "scigraph/demo-frame")))
\ No newline at end of file
---
> ;;;
> ;;; 2011-05-17: In order to get this to load under SBCL, I entered
> ;;; :depends-on information as it appeared in the old mk-defsystem
> ;;; directives that came with the system.  I also used ASDF's :module
> ;;; facility to mirror the code structure.  This seemed to work.
> ;;; john.nmi.morrison at gmail.com
> ;;;
> 
> (defsystem scigraph
>   :depends-on (:mcclim)
>   :components ((:module "dwim"
> 			:components
> 			((:file "package")
> 			 (:file "feature-case" :depends-on ("package"))
> 			 (:file "macros" :depends-on ("feature-case"))
> 			 (:file "tv" :depends-on ("macros"))
> 			 (:file "draw" :depends-on ("tv"))
> 			 (:file "present" :depends-on ("draw"))
> 			 (:file "extensions" :depends-on ("present"))
> 			 (:file "wholine" :depends-on ("extensions"))
> 			 (:file "export" :depends-on ("wholine"))))
> 	       (:module scigraph
> 			:depends-on (dwim)
> 			:components
> 			((:file "package")
> 			 (:file "copy" :depends-on ("package"))
> 			 (:file "dump" :depends-on ("copy"))
> 			 (:file "duplicate" :depends-on ("dump"))
> 			 (:file "random" :depends-on ("duplicate"))
> 			 (:file "menu-tools" :depends-on ("random"))
> 			 (:file "basic-classes" :depends-on ("menu-tools"))
> 			 (:file "draw" :depends-on ("basic-classes"))
> 			 (:file "mouse" :depends-on ("draw"))
> 			 (:file "color" :depends-on ("mouse"))
> 			 (:file "basic-graph" :depends-on ("color"))
> 			 (:file "graph-mixins" :depends-on ("basic-graph"))
> 			 (:file "axis" :depends-on ("graph-mixins"))
> 			 (:file "moving-object" :depends-on ("axis"))
> 			 (:file "symbol" :depends-on ("moving-object"))
> 			 (:file "graph-data" :depends-on ("symbol"))
> 			 (:file "legend" :depends-on ("graph-data"))
> 			 (:file "graph-classes" :depends-on ("legend"))
> 			 (:file "present" :depends-on ("graph-classes"))
> 			 (:file "annotations" :depends-on ("present"))
> 			 (:file "annotated-graph" :depends-on ("annotations"))
> 			 (:file "contour" :depends-on ("annotated-graph"))
> 			 (:file "equation" :depends-on ("contour"))
> 			 (:file "popup-accept" :depends-on ("equation"))
> 			 (:file "popup-accept-methods" :depends-on ("popup-accept"))
> 			 (:file "duplicate-methods" :depends-on ("popup-accept-methods"))
> 			 (:file "frame" :depends-on ("duplicate-methods"))
> 			 (:file "export" :depends-on ("frame"))
> 			 (:file "demo-frame" :depends-on ("export"))))))
Index: dwim/present.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Apps/Scigraph/dwim/present.lisp,v
retrieving revision 1.4
diff -r1.4 present.lisp
255a256,266
> ;;
> ;; DWIM defines its own accepting-values macro in macros.lisp which
> ;; has an "if" form (enclosing a restart-case form) which returns
> ;; either :abort or t, neither of which is of type list, which the
> ;; following, enclosing values-list form wants.  SBCL is (now?) clever
> ;; enough to spot this and refuse to compile it.  Frankly, I am not
> ;; smart enough to figure out the original programmers' intentions, as
> ;; there appear to be no calls to this function within the code base.
> ;; So I just commented out the values-list, and propagate back the
> ;; return value as-is.  Sorry. -jm
> ;;
259c270,271
<   (values-list
---
>   (#-sbcl values-list
>    #+sbcl progn				; -jm
Index: dwim/tv.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Apps/Scigraph/dwim/tv.lisp,v
retrieving revision 1.10
diff -r1.10 tv.lisp
714c714
< 		 #+mcclim (clim:graft (port frame-manager))))
---
> 		 #+mcclim (clim:graft (clim:port frame-manager)))) ; get port from clim package. -jm
Index: scigraph/package.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Apps/Scigraph/scigraph/package.lisp,v
retrieving revision 1.4
diff -r1.4 package.lisp
42c42,44
<   (:use dwim-lisp tool statistics))
---
>   (:use dwim-lisp tool statistics)
>   #+mcclim(:shadow :point)			; Point already defined in McCLIM. -jm
>   )


More information about the mcclim-devel mailing list