[slime-devel] Removing some allegro warnings

Gary King gwking at metabang.com
Mon Aug 7 14:47:22 UTC 2006


The patch below wraps #'excl:without-redefinition-warnings around a  
number of forms that cause allegro to complain... Any comments?

Index: swank-allegro.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-allegro.lisp,v
retrieving revision 1.89
diff -u -w -r1.89 swank-allegro.lisp
--- swank-allegro.lisp	28 Jul 2006 15:04:53 -0000	1.89
+++ swank-allegro.lisp	7 Aug 2006 14:32:44 -0000
@@ -28,8 +28,9 @@
;;;; TCP Server
+(excl:without-redefinition-warnings
(defimplementation preferred-communication-style ()
-  :spawn)
+    :spawn))
(defimplementation create-socket (host port)
    (socket:make-socket :connect :passive :local-port port
@@ -64,40 +65,48 @@
    (setf (stream-external-format stream)
          (find-external-format external-format)))
+(excl:without-redefinition-warnings
(defimplementation format-sldb-condition (c)
-  (princ-to-string c))
+    (princ-to-string c)))
+(excl:without-redefinition-warnings
(defimplementation condition-references (c)
    (declare (ignore c))
-  '())
+    '()))
+(excl:without-redefinition-warnings
(defimplementation call-with-syntax-hooks (fn)
-  (funcall fn))
+    (funcall fn)))
;;;; Unix signals
+(excl:without-redefinition-warnings
(defimplementation call-without-interrupts (fn)
-  (excl:without-interrupts (funcall fn)))
+    (excl:without-interrupts (funcall fn))))
(defimplementation getpid ()
    (excl::getpid))
+(excl:without-redefinition-warnings
(defimplementation lisp-implementation-type-name ()
-  "allegro")
+    "allegro"))
+(excl:without-redefinition-warnings
(defimplementation set-default-directory (directory)
    (let* ((dir (namestring (truename (merge-pathnames directory)))))
      (setf *default-pathname-defaults* (pathname (excl:chdir dir)))
-    dir))
+      dir)))
+(excl:without-redefinition-warnings
(defimplementation default-directory ()
-  (namestring (excl:current-directory)))
+    (namestring (excl:current-directory))))
;;;; Misc
+(excl:without-redefinition-warnings
(defimplementation arglist (symbol)
    (handler-case (excl:arglist symbol)
-    (simple-error () :not-available)))
+      (simple-error () :not-available))))
(defimplementation macroexpand-all (form)
    (excl::walk form))
@@ -129,8 +138,9 @@
      (:class
       (describe (find-class symbol)))))
+(excl:without-redefinition-warnings
(defimplementation make-stream-interactive (stream)
-  (setf (interactive-stream-p stream) t))
+    (setf (interactive-stream-p stream) t)))
;;;; Debugger
@@ -578,14 +588,15 @@
               (when doc
                 `("Documentation:" (:newline) ,doc))))))
-(defmethod inspect-for-emacs ((o t) (inspector acl-inspector))
-  inspector
-  (values "A value." (allegro-inspect o)))
-
+#+(or)
(defmethod inspect-for-emacs ((o function) (inspector acl-inspector))
    inspector
    (values "A function." (allegro-inspect o)))
+(defmethod inspect-for-emacs ((o t) (inspector acl-inspector))
+  inspector
+  (values "A value." (allegro-inspect o)))
+
(defmethod inspect-for-emacs ((o standard-object) (inspector acl- 
inspector))
    inspector
    (values (format nil "~A is a standard-object." o) (allegro- 
inspect o)))
@@ -613,8 +624,9 @@
;;;; Multithreading
+(excl:without-redefinition-warnings
(defimplementation initialize-multiprocessing ()
-  (mp:start-scheduler))
+    (mp:start-scheduler)))
(defimplementation spawn (fn &key name)
    (mp:process-run-function name fn))
@@ -632,21 +644,26 @@
    (find id mp:*all-processes*
          :key (lambda (p) (getf (mp:process-property-list p) 'id))))
+(excl:without-redefinition-warnings
(defimplementation thread-name (thread)
-  (mp:process-name thread))
+    (mp:process-name thread)))
+(excl:without-redefinition-warnings
(defimplementation thread-status (thread)
    (format nil "~A ~D" (mp:process-whostate thread)
-          (mp:process-priority thread)))
+            (mp:process-priority thread))))
+(excl:without-redefinition-warnings
(defimplementation make-lock (&key name)
-  (mp:make-process-lock :name name))
+    (mp:make-process-lock :name name)))
+(excl:without-redefinition-warnings
(defimplementation call-with-lock-held (lock function)
-  (mp:with-process-lock (lock) (funcall function)))
+    (mp:with-process-lock (lock) (funcall function))))
+(excl:without-redefinition-warnings
(defimplementation current-thread ()
-  mp:*current-process*)
+    mp:*current-process*))
(defimplementation all-threads ()
    (copy-list mp:*all-processes*))
@@ -654,8 +671,9 @@
(defimplementation interrupt-thread (thread fn)
    (mp:process-interrupt thread fn))
+(excl:without-redefinition-warnings
(defimplementation kill-thread (thread)
-  (mp:process-kill thread))
+    (mp:process-kill thread)))
(defvar *mailbox-lock* (mp:make-process-lock :name "mailbox lock"))
@@ -751,8 +769,10 @@
;;;; Weak hashtables
+(excl:without-redefinition-warnings
(defimplementation make-weak-key-hash-table (&rest args)
-  (apply #'make-hash-table :weak-keys t args))
+    (apply #'make-hash-table :weak-keys t args)))
+(excl:without-redefinition-warnings
(defimplementation make-weak-value-hash-table (&rest args)
-  (apply #'make-hash-table :values :weak args))
+    (apply #'make-hash-table :values :weak args)))

thanks,
-- 
Gary Warren King
metabang.com [http://www.metabang.com/]
(413) 885 9127 * (206) 338-4052 [Fax]
gwking on #lisp (occasionally)





More information about the slime-devel mailing list