From e33a7cecfa52959cf4f88132dc01f28fc0eb900c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 24 Dec 2016 07:21:16 +0100 Subject: cl-support: Add definitions for CLISP. --- cl-support/cl-definitions.lisp | 44 ++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'cl-support/cl-definitions.lisp') 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) -- cgit v1.2.3