summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2016-12-24 07:21:16 +0100
committerRicardo Wurmus <rekado@elephly.net>2016-12-24 07:21:16 +0100
commite33a7cecfa52959cf4f88132dc01f28fc0eb900c (patch)
tree7207944540b8e79b12ef60128428b45f96d6e867
parent4e987026148fe65c323afbc93cd560c07bf06b3f (diff)
cl-support: Add definitions for CLISP.
-rw-r--r--cl-support/cl-definitions.lisp44
-rw-r--r--cl-support/cl-init.lisp5
-rw-r--r--cl-support/cl-types.lisp4
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)