From: Wolfgang J. <wje...@us...> - 2003-02-22 10:01:57
|
Update of /cvsroot/maxima/maxima/src In directory sc8-pr-cvs1:/tmp/cvs-serv11075/src Modified Files: maxima.system maxima-package.lisp macsys.lisp init-cl.lisp cl-info.lisp Log Message: Mostly implementation dependent stuff for SBCL. Index: maxima.system =================================================================== RCS file: /cvsroot/maxima/maxima/src/maxima.system,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- maxima.system 23 Dec 2002 20:43:50 -0000 1.16 +++ maxima.system 22 Feb 2003 10:01:54 -0000 1.17 @@ -1,4 +1,7 @@ ; -*- Lisp -*- +#+sbcl +(or (find-package "USER") + (rename-package "COMMON-LISP-USER" "COMMON-LISP-USER" '("USER"))) (in-package :user) (pushnew :cl *features*) @@ -13,8 +16,9 @@ :source-extension "lisp" :binary-pathname #+clisp "binary-clisp" #+cmu (truename "binary-cmucl") + #+sbcl "binary-sbcl" #+gcl "binary-gcl" - #-(or clisp cmu gcl) "binary-unknownlisp" + #-(or clisp cmu sbcl gcl) "binary-unknownlisp" :components ((:module package :source-pathname "" :load-only t :components ((:file "maxima-package"))) Index: maxima-package.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/maxima-package.lisp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- maxima-package.lisp 20 Feb 2003 00:48:55 -0000 1.10 +++ maxima-package.lisp 22 Feb 2003 10:01:54 -0000 1.11 @@ -1,8 +1,12 @@ +#+sbcl +(or (find-package "LISP") + (rename-package "COMMON-LISP" "COMMON-LISP" '("LISP" "CL"))) + ;; SI is used for the regex info implementation. This line should be removed ;; when the info regex implementation no longer requires SI in all lisps. ;; jfa 12/12/2001 -;;(or (find-package "SI") (make-package "SI" :use '(COMMON-LISP))) +;;(or (find-package "SI") (make-package "SI" :use '(COMMON-LISP))) ;; Create the package CL-INFO that holds the info regex routines. For ;; GCL, we import the necessary symbols we need from SYSTEM, since GCL @@ -17,6 +21,7 @@ (:use "LISP" "SYSTEM") (:import-from "SYSTEM" "INFO" "*INFO-PATHS*") (:export "INFO" "*INFO-PATHS")) + (or (find-package "SLOOP") (make-package "SLOOP" :use '(LISP))) Index: macsys.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/macsys.lisp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- macsys.lisp 10 Oct 2002 14:06:32 -0000 1.17 +++ macsys.lisp 22 Feb 2003 10:01:54 -0000 1.18 @@ -66,6 +66,11 @@ (declare (ignore unused)) (ext:get-bytes-consed)) +#+sbcl +(defun used-area (&optional unused) + (declare (ignore unused)) + (sb-ext:get-bytes-consed)) + #+clisp (defun used-area (&optional unused) (declare (ignore unused)) @@ -74,7 +79,7 @@ (declare (ignore real1 real2 run1 run2 gc1 gc2 gccount)) (dpb space1 (byte 24 24) space2))) -#-(or lispm cmu clisp) +#-(or lispm cmu sbcl clisp) (defun used-area (&optional unused) (declare (ignore unused)) 0) @@ -168,7 +173,7 @@ (format t "~&Evaluation took ~$ seconds (~$ elapsed)" time-used etime-used ) #+lispm (format t "using ~A words." (f- area-after area-before)) - #+(or cmu clisp) + #+(or cmu sbcl clisp) (let ((total-bytes (- area-after area-before))) (cond ((> total-bytes 1024) (format t " using ~,3F KB." (/ total-bytes 1024.0)) @@ -386,7 +391,7 @@ (in-package "MAXIMA") (sloop do - (catch #+kcl si::*quit-tag* #+cmu 'continue #-(or kcl cmu) nil + (catch #+kcl si::*quit-tag* #+(or cmu sbcl) 'continue #-(or kcl cmu sbcl) nil (catch 'macsyma-quit (continue input-stream batch-flag)(bye))))))) @@ -482,6 +487,10 @@ #+cmu (defun $system (&rest args) (ext:run-program "/bin/sh" (list "-c" (apply '$sconcat args)))) + +#+sbcl +(defun $system (&rest args) + (sb-ext:run-program "/bin/sh" (list "-c" (apply '$sconcat args)) :output t)) (defun $room (&optional (arg nil arg-p)) (if arg-p Index: init-cl.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/init-cl.lisp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- init-cl.lisp 20 Feb 2003 00:48:55 -0000 1.19 +++ init-cl.lisp 22 Feb 2003 10:01:54 -0000 1.20 @@ -49,6 +49,10 @@ (defun maxima-getenv (envvar) (cdr (assoc envvar ext:*environment-list* :test #'string=))) +#+sbcl +(defun maxima-getenv (envvar) + (sb-ext:posix-getenv envvar)) + #+clisp (defun maxima-getenv (envvar) (ext:getenv envvar)) @@ -110,9 +114,10 @@ (let* ((ext #+gcl "o" #+cmu (c::backend-fasl-file-type c::*target-backend*) + #+sbcl "fasl" #+clisp "fas" #+allegro "fasl" - #-(or gcl cmu clisp allegro) + #-(or gcl cmu sbcl clisp allegro) "") (lisp-patterns (concatenate 'string "###.{" @@ -161,12 +166,12 @@ (catch 'to-lisp (set-pathnames) - #+(or cmu clisp allegro) + #+(or cmu sbcl clisp allegro) (progn (loop (with-simple-restart (macsyma-quit "Macsyma top-level") (macsyma-top-level input-string batch-flag)))) - #-(or cmu clisp allegro) + #-(or cmu sbcl clisp allegro) (catch 'macsyma-quit (macsyma-top-level input-string batch-flag))))) @@ -189,6 +194,10 @@ #+cmu (defun bye () (ext:quit)) + +#+sbcl +(defun bye () + (sb-ext:quit)) #+allegro (defun bye () Index: cl-info.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/cl-info.lisp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- cl-info.lisp 20 Feb 2003 00:48:55 -0000 1.11 +++ cl-info.lisp 22 Feb 2003 10:01:54 -0000 1.12 @@ -38,6 +38,8 @@ (*compile-verbose* nil) #+cmu (*compile-progress* nil) + #+sbcl + (sb-ext:*compile-progress* nil) ) (compile nil (nregex:regex-compile pat :case-sensitive case-sensitive)))) |