summaryrefslogtreecommitdiff
path: root/Sacla/stand-in.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Sacla/stand-in.lisp')
-rw-r--r--Sacla/stand-in.lisp44
1 files changed, 44 insertions, 0 deletions
diff --git a/Sacla/stand-in.lisp b/Sacla/stand-in.lisp
new file mode 100644
index 0000000..425ae9d
--- /dev/null
+++ b/Sacla/stand-in.lisp
@@ -0,0 +1,44 @@
+;; Copyright (C) 2002-2004, Yuji Minejima <ggb01164@nifty.ne.jp>
+;; ALL RIGHTS RESERVED.
+;;
+;; $Id: stand-in.lisp,v 1.1 2004/07/22 07:47:14 yuji Exp $
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions
+;; are met:
+;;
+;; * Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;; * Redistributions in binary form must reproduce the above copyright
+;; notice, this list of conditions and the following disclaimer in
+;; the documentation and/or other materials provided with the
+;; distribution.
+;;
+;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;;; Commentary:
+;; Supply a customized DEFUN which forces replacement of function definitions
+;; even if the target symbol is in the COMMON-LISP package.
+
+(defpackage "STAND-IN"
+ (:shadow "DEFUN")
+ (:use "COMMON-LISP"))
+
+(in-package "STAND-IN")
+
+#+clisp
+(defmacro defun (&rest args)
+ `(handler-bind ((system::simple-package-error (invoke-restart 'continue)))
+ (cl:defun ,@args)))
+#+cmu
+(error "stand-in::defun is not define for cmucl.")