diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2016-12-24 07:21:16 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2016-12-24 07:21:16 +0100 |
commit | e33a7cecfa52959cf4f88132dc01f28fc0eb900c (patch) | |
tree | 7207944540b8e79b12ef60128428b45f96d6e867 | |
parent | 4e987026148fe65c323afbc93cd560c07bf06b3f (diff) |
cl-support: Add definitions for CLISP.
-rw-r--r-- | cl-support/cl-definitions.lisp | 44 | ||||
-rw-r--r-- | cl-support/cl-init.lisp | 5 | ||||
-rw-r--r-- | cl-support/cl-types.lisp | 4 |
3 files changed, 31 insertions, 22 deletions
diff --git a/cl-support/cl-definitions.lisp b/cl-support/cl-definitions.lisp index 8727679..fe2706f 100644 --- a/cl-support/cl-definitions.lisp +++ b/cl-support/cl-definitions.lisp @@ -46,7 +46,7 @@ `(funcall ,fn ,@args) `(funcall (the system::procedure ,fn) ,@args))) -#+(or cmu allegro akcl lispworks mcl) +#+(or cmu allegro akcl lispworks mcl clisp) (define-mumble-macro mumble::funcall (fn . args) `(funcall (the function ,fn) ,@args)) @@ -54,7 +54,7 @@ (define-mumble-macro mumble::funcall (fn . args) `(funcall (the lisp:procedure ,fn) ,@args)) -#-(or lucid cmu allegro akcl mcl lispworks wcl) +#-(or lucid cmu allegro akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::funcall) @@ -120,7 +120,7 @@ ;;; Allegro has renamed this stuff as per ANSI CL. -#+allegro +#+(or allegro clisp) (eval-when (eval compile load) (setf (macro-function 'define-setf-method) (macro-function 'define-setf-expander)) @@ -190,7 +190,7 @@ ;;; IGNORE in Lucid seems to behave like what ANSI CL says IGNORABLE ;;; should do, but there doesn't seem to be any way to rename it. -#+(or lucid akcl lispworks wcl) +#+(or lucid akcl lispworks wcl clisp) (progn (proclaim '(declaration mumble::ignorable)) (define-mumble-import mumble::ignorable)) @@ -198,7 +198,7 @@ #+(or cmu mcl allegro) (define-mumble-import cl:ignorable) -#-(or lucid cmu allegro akcl mcl lispworks wcl) +#-(or lucid cmu allegro akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::ignorable) @@ -297,7 +297,7 @@ ;;; CMUCL doesn't complain about function redefinitions, but Lucid does. -#+(or cmu akcl mcl lispworks wcl) +#+(or cmu akcl mcl lispworks wcl clisp) (define-mumble-macro mumble::redefine (pattern . value) `(mumble::define ,pattern ,@value)) @@ -311,11 +311,11 @@ `(let ((excl:*redefinition-warnings* nil)) (mumble::define ,pattern ,@value))) -#-(or cmu lucid allegro akcl mcl lispworks wcl) +#-(or cmu lucid allegro akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::redefine) -#+(or cmu akcl mcl lispworks wcl) +#+(or cmu akcl mcl lispworks wcl clisp) (define-mumble-macro mumble::redefine-syntax (pattern . body) `(mumble::define-syntax ,pattern ,@body)) @@ -331,7 +331,7 @@ (let ((excl:*redefinition-warnings* nil)) (mumble::define-syntax ,pattern ,@body)))) -#-(or cmu lucid allegro akcl mcl lispworks wcl) +#-(or cmu lucid allegro akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::redefine-syntax) @@ -490,10 +490,10 @@ (define-mumble-function mumble::gensym (&optional (prefix "G")) (gensym prefix)) -#+(or cmu allegro mcl lispworks) +#+(or cmu allegro mcl lispworks clisp) (define-mumble-import gensym) -#-(or lucid akcl wcl cmu allegro mcl lispworks) +#-(or lucid akcl wcl cmu allegro mcl lispworks clisp) (missing-mumble-definition mumble::gensym) (define-mumble-function mumble::gensym? (x) @@ -923,12 +923,12 @@ #+(or cmu mcl allegro lispworks) (define-mumble-import with-compilation-unit) -#+(or akcl wcl) +#+(or akcl wcl clisp) (define-mumble-macro mumble::with-compilation-unit (options &body body) (declare (ignore options)) `(progn ,@body)) -#-(or lucid allegro cmu akcl mcl lispworks wcl) +#-(or lucid allegro cmu akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::with-compilation-unit) @@ -1212,6 +1212,9 @@ (define-mumble-function mumble::getenv (string) (lisp:getenv string)) +#+clisp +(define-mumble-function mumble::getenv (string) + (ext:getenv string)) ;;; Hmmm. The Mac doesn't have environment variables, so we'll have to ;;; roll our own. @@ -1224,7 +1227,7 @@ ) -#-(or lucid allegro cmu akcl mcl lispworks wcl) +#-(or lucid allegro cmu akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::getenv) @@ -1261,8 +1264,11 @@ #+wcl (define-mumble-synonym mumble::exit lisp:quit) +#+clisp +(define-mumble-synonym mumble::exit ext:exit) + -#-(or lucid allegro cmu akcl mcl lispworks wcl) +#-(or lucid allegro cmu akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::exit) @@ -1276,7 +1282,7 @@ ;;; CMUCL's loader rebinds *readtable* when loading file, so can't ;;; setq it here; hack the default readtable instead. -#+(or cmu mcl allegro lispworks) +#+(or cmu mcl allegro lispworks clisp) (defparameter *mumble-readtable* *readtable*) #+(or lucid akcl wcl) @@ -1285,7 +1291,7 @@ (setq *readtable* *mumble-readtable*) ) -#-(or lucid allegro cmu akcl mcl lispworks wcl) +#-(or lucid allegro cmu akcl mcl lispworks wcl clisp) (missing-mumble-definition *mumble-readtable*) @@ -1335,7 +1341,7 @@ #+cmu (define-mumble-function mumble::gc-messages (onoff) (setf extensions:*gc-verbose* onoff)) -#+(or lispworks akcl wcl mcl) +#+(or lispworks akcl wcl mcl clisp) (define-mumble-function mumble::gc-messages (onoff) onoff) ; can't figure out if they have a hook or not #+lucid @@ -1344,7 +1350,7 @@ onoff) -#-(or lucid cmu allegro akcl mcl lispworks wcl) +#-(or lucid cmu allegro akcl mcl lispworks wcl clisp) (missing-mumble-definition mumble::gc-messages) diff --git a/cl-support/cl-init.lisp b/cl-support/cl-init.lisp index 4d78cde..f81a4af 100644 --- a/cl-support/cl-init.lisp +++ b/cl-support/cl-init.lisp @@ -90,6 +90,8 @@ ".wfasl" #+wcl ".o" + #+clisp + ".o" #-(or lucid allegro cmu akcl mcl lispworks wcl) (error "Don't know how to initialize *LISP-BINARY-FILE-TYPE*.") ) @@ -103,7 +105,8 @@ #+mcl "mcl" #+lispworks "lispworks" #+wcl "wcl" - #-(or lucid allegro cmu akcl mcl lispworks wcl) + #+clisp "clisp" + #-(or lucid allegro cmu akcl mcl lispworks wcl clisp) (error "Don't know how to initialize *LISP-IMPLEMENTATION-NAME*.") ) diff --git a/cl-support/cl-types.lisp b/cl-support/cl-types.lisp index 6fb625e..1cb10f1 100644 --- a/cl-support/cl-types.lisp +++ b/cl-support/cl-types.lisp @@ -11,11 +11,11 @@ #+lucid (define-mumble-type mumble::procedure () 'system::procedure) -#+(or cmu akcl allegro mcl lispworks) +#+(or cmu akcl allegro mcl lispworks clisp) (define-mumble-type mumble::procedure () 'function) #+wcl (define-mumble-type mumble::procedure () 'lisp:procedure) -#-(or lucid cmu akcl allegro mcl lispworks wcl) +#-(or lucid cmu akcl allegro mcl lispworks wcl clisp) (missing-mumble-definition procedure) (define-mumble-type mumble::pair () 'cons) |