[bknr-cvs] r2486 - in branches/trunk-reorg/thirdparty/slime: . contrib contrib/CVS

hhubner at common-lisp.net hhubner at common-lisp.net
Wed Feb 13 19:40:27 UTC 2008


Author: hhubner
Date: Wed Feb 13 14:40:19 2008
New Revision: 2486

Modified:
   branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries
   branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog
   branches/trunk-reorg/thirdparty/slime/contrib/slime-c-p-c.el
   branches/trunk-reorg/thirdparty/slime/contrib/slime-xref-browser.el
   branches/trunk-reorg/thirdparty/slime/slime.el
   branches/trunk-reorg/thirdparty/slime/swank-backend.lisp
   branches/trunk-reorg/thirdparty/slime/swank-loader.lisp
   branches/trunk-reorg/thirdparty/slime/swank.asd
   branches/trunk-reorg/thirdparty/slime/swank.lisp
Log:
update and add marcos patch to allow for repeated loading of the swank system

Modified: branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/CVS/Entries	Wed Feb 13 14:40:19 2008
@@ -4,34 +4,34 @@
 /slime-asdf.el/1.3/Thu Oct 11 14:10:25 2007//
 /slime-autodoc.el/1.7/Thu Feb  7 07:59:35 2008//
 /slime-banner.el/1.4/Thu Oct 11 14:10:25 2007//
-/slime-c-p-c.el/1.8/Thu Oct 11 14:10:25 2007//
 /slime-editing-commands.el/1.6/Thu Feb  7 07:59:35 2008//
 /slime-fuzzy.el/1.6/Thu Feb  7 07:59:35 2008//
 /slime-highlight-edits.el/1.3/Thu Oct 11 14:10:25 2007//
-/slime-indentation.el/1.1/Sun Feb  3 18:45:14 2008//
-/slime-motd.el/1.1/Sun Feb  3 18:39:23 2008//
 /slime-parse.el/1.10/Thu Feb  7 07:59:35 2008//
 /slime-presentation-streams.el/1.2/Thu Oct 11 14:10:25 2007//
 /slime-presentations.el/1.12/Thu Feb  7 07:59:35 2008//
 /slime-references.el/1.4/Thu Oct 11 14:10:25 2007//
-/slime-scheme.el/1.1/Thu Feb  7 08:07:31 2008//
 /slime-scratch.el/1.4/Thu Oct 11 14:10:25 2007//
 /slime-tramp.el/1.2/Thu Oct 11 14:10:25 2007//
 /slime-typeout-frame.el/1.6/Thu Feb  7 07:59:35 2008//
-/slime-xref-browser.el/1.1/Thu Oct 11 14:10:25 2007//
 /swank-arglists.lisp/1.20/Thu Feb  7 08:07:31 2008//
 /swank-asdf.lisp/1.1/Thu Oct 11 14:10:25 2007//
 /swank-c-p-c.lisp/1.2/Thu Oct 11 14:10:25 2007//
 /swank-fuzzy.lisp/1.7/Thu Feb  7 07:59:35 2008//
-/swank-goo.goo/1.1/Thu Feb  7 08:07:32 2008//
-/swank-indentation.lisp/1.1/Sun Feb  3 18:45:14 2008//
-/swank-kawa.scm/1.1/Thu Feb  7 08:07:32 2008//
 /swank-listener-hooks.lisp/1.1/Thu Oct 11 14:10:25 2007//
-/swank-motd.lisp/1.1/Sun Feb  3 18:39:23 2008//
 /swank-presentation-streams.lisp/1.5/Thu Feb  7 08:07:32 2008//
 /swank-presentations.lisp/1.4/Thu Oct 11 14:10:25 2007//
-/ChangeLog/1.89/Mon Feb 11 14:20:11 2008//
 /slime-fancy-inspector.el/1.3/Mon Feb 11 14:20:11 2008//
 /slime-fancy.el/1.5/Mon Feb 11 14:20:11 2008//
 /swank-fancy-inspector.lisp/1.11/Mon Feb 11 14:20:11 2008//
+/ChangeLog/1.91/Wed Feb 13 19:38:01 2008//
+/slime-c-p-c.el/1.9/Wed Feb 13 19:38:01 2008//
+/slime-indentation.el/1.1/Wed Feb 13 19:38:02 2008//
+/slime-motd.el/1.1/Wed Feb 13 19:38:02 2008//
+/slime-scheme.el/1.1/Wed Feb 13 19:38:02 2008//
+/slime-xref-browser.el/1.2/Wed Feb 13 19:38:02 2008//
+/swank-goo.goo/1.1/Wed Feb 13 19:38:03 2008//
+/swank-indentation.lisp/1.1/Wed Feb 13 19:38:03 2008//
+/swank-kawa.scm/1.1/Wed Feb 13 19:38:03 2008//
+/swank-motd.lisp/1.1/Wed Feb 13 19:38:03 2008//
 D

Modified: branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/ChangeLog	Wed Feb 13 14:40:19 2008
@@ -1,3 +1,16 @@
+2008-02-13  Helmut Eller  <heller at common-lisp.net>
+
+	* slime-c-p-c.el (slime-c-p-c-init): Use slime-require instead of
+	a connected-hook.
+
+2008-02-13  Helmut Eller  <heller at common-lisp.net>
+
+	Track tree-widget change: :dynarg is now called :expander.
+
+	* slime-xref-browser.el (slime-expand-class-node)
+	(slime-browse-classes, slime-expand-xrefs, slime-browse-xrefs):
+	:dynargs is obsolete, it is now called :expander.
+
 2008-02-10  Helmut Eller  <heller at common-lisp.net>
 
 	Fix some bugs introduced by the recent reorganization.
@@ -10,7 +23,7 @@
 	* slime-fancy.el: slime-fancy-inspector-init no longer exists, so
 	don't call it.  Once loaded, it's also no longer possible to turn
 	the fancy inspector off.
-	
+
 2008-02-04  Marco Baringer  <mb at bese.it>
 
 	* swank-presentation-streams.lisp (presenting-object-1): Add

Modified: branches/trunk-reorg/thirdparty/slime/contrib/slime-c-p-c.el
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/slime-c-p-c.el	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/slime-c-p-c.el	Wed Feb 13 14:40:19 2008
@@ -13,7 +13,7 @@
 ;; Add this to your .emacs: 
 ;;
 ;;   (add-to-list 'load-path "<directory-of-this-file>")
-;;   (add-hook 'slime-load-hook (lambda () (require 'slime-c-p-c)))
+;;   (slime-setup '(slime-c-p-c ... possibly other packages ...))
 ;;
 
 
@@ -177,6 +177,7 @@
 (defvar slime-c-p-c-init-undo-stack nil)
 
 (defun slime-c-p-c-init ()
+  (slime-require :swank-arglists)
   ;; save current state for unload
   (push 
    `(progn
@@ -188,13 +189,9 @@
 	',(lookup-key slime-repl-mode-map "\C-c\C-s")))
    slime-c-p-c-init-undo-stack)
   (setq slime-complete-symbol-function 'slime-complete-symbol*)
-  (add-hook 'slime-connected-hook 'slime-c-p-c-on-connect)
   (define-key slime-mode-map "\C-c\C-s" 'slime-complete-form)
   (define-key slime-repl-mode-map "\C-c\C-s" 'slime-complete-form))
 
-(defun slime-c-p-c-on-connect ()
-  (slime-eval-async '(swank:swank-require :swank-arglists)))
-
 (defun slime-c-p-c-unload ()
   (while slime-c-p-c-init-undo-stack
     (eval (pop slime-c-p-c-init-undo-stack))))

Modified: branches/trunk-reorg/thirdparty/slime/contrib/slime-xref-browser.el
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/contrib/slime-xref-browser.el	(original)
+++ branches/trunk-reorg/thirdparty/slime/contrib/slime-xref-browser.el	Wed Feb 13 14:40:19 2008
@@ -8,7 +8,7 @@
 ;; Add this to your .emacs: 
 ;;
 ;;   (add-to-list 'load-path "<directory-of-this-file>")
-;;   (add-hook 'slime-load-hook (lambda () (require 'slime-xref-browser)))
+;;   (slime-setup '(slime-xref-browser ... possibly other packages ...))
 ;;
 
 

@@ -19,7 +19,7 @@
       (let ((name (widget-get widget :tag)))
 	(loop for kid in (slime-eval `(swank:mop :subclasses ,name))
 	      collect `(tree-widget :tag ,kid
-				    :dynargs slime-expand-class-node
+				    :expander slime-expand-class-node
 				    :has-children t)))))
 
 (defun slime-browse-classes (name)
@@ -29,7 +29,7 @@
    "*slime class browser*" (slime-current-package) "Class Browser"
    (lambda ()
      (widget-create 'tree-widget :tag name 
-                    :dynargs 'slime-expand-class-node 
+                    :expander 'slime-expand-class-node 
                     :has-echildren t))))
 
 (defvar slime-browser-map nil
@@ -84,7 +84,7 @@
               collect `(tree-widget :tag ,label
                                     :xref-type ,type
                                     :xref-dspec ,dspec
-                                    :dynargs slime-expand-xrefs
+                                    :expander slime-expand-xrefs
                                     :has-children t)))))
 
 (defun slime-browse-xrefs (name type)
@@ -99,6 +99,6 @@
    "*slime xref browser*" (slime-current-package) "Xref Browser"
    (lambda ()
      (widget-create 'tree-widget :tag name :xref-type type :xref-dspec name 
-                    :dynargs 'slime-expand-xrefs :has-echildren t))))
+                    :expander 'slime-expand-xrefs :has-echildren t))))
 
-(provide 'slime-xref-browser)
\ No newline at end of file
+(provide 'slime-xref-browser)

Modified: branches/trunk-reorg/thirdparty/slime/slime.el
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/slime.el	(original)
+++ branches/trunk-reorg/thirdparty/slime/slime.el	Wed Feb 13 14:40:19 2008
@@ -1432,6 +1432,7 @@
     (format "%S\n\n"
             `(progn
                (load ,(expand-file-name loader) :verbose t)
+               (funcall (read-from-string "swank-loader:load-swank"))
                (funcall (read-from-string "swank:start-server")
                         ,port-filename
                         :coding-system ,encoding)))))

Modified: branches/trunk-reorg/thirdparty/slime/swank-backend.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-backend.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-backend.lisp	Wed Feb 13 14:40:19 2008
@@ -10,7 +10,11 @@
 ;;; separately for each Lisp. Each is declared as a generic function
 ;;; for which swank-<implementation>.lisp provides methods.
 
-(defpackage :swank-backend
+;(cl:eval-when (:compile-toplevel :load-toplevel :execute)
+;  (cl:when (cl:find-package :swank-backend)
+;    (cl:delete-package :swank-backend)))
+
+(cl:defpackage :swank-backend
   (:use :common-lisp)
   (:export #:sldb-condition
            #:original-condition
@@ -39,7 +43,11 @@
            #:with-struct
            ))
 
-(defpackage :swank-mop
+(cl:eval-when (:compile-toplevel :load-toplevel :execute)
+  (cl:when (cl:find-package :swank-mop)
+    (cl:delete-package :swank-mop)))
+
+(cl:defpackage :swank-mop
   (:use)
   (:export
    ;; classes

Modified: branches/trunk-reorg/thirdparty/slime/swank-loader.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank-loader.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank-loader.lisp	Wed Feb 13 14:40:19 2008
@@ -18,11 +18,11 @@
 ;;   (defparameter swank-loader::*fasl-directory* "/tmp/fasl/")
 ;;   (load ".../swank-loader.lisp")
 
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (when (find-package :swank)
-    (delete-package :swank)
-    (delete-package :swank-io-package)
-    (delete-package :swank-backend)))
+;(cl:eval-when (:compile-toplevel :load-toplevel :execute)
+;  (cl:when (cl:find-package :swank)
+;    (cl:delete-package :swank-loader)
+;    (cl:delete-package :swank)
+;    (cl:delete-package :swank-backend)))
 
 (cl:defpackage :swank-loader
   (:use :cl)
@@ -139,7 +139,7 @@
     (ignore-errors (delete-file binary-pathname)))
   (abort))
 
-(defun compile-files-if-needed-serially (files fasl-directory load)
+(defun compile-files-if-needed-serially (files fasl-directory &key load force)
   "Compile each file in FILES if the source is newer than
 its corresponding binary, or the file preceding it was
 recompiled."
@@ -149,7 +149,8 @@
                                               fasl-directory)))
         (handler-case
             (progn
-              (when (or needs-recompile
+              (when (or force
+                        needs-recompile
                         (not (probe-file binary-pathname))
                         (file-newer-p source-pathname binary-pathname))
                 ;; need a to recompile source-pathname, so we'll
@@ -220,18 +221,17 @@
                    (source-directory *source-directory*)
                    (fasl-directory *fasl-directory*)
                    (contrib-fasl-directory 
-                    (append-dir fasl-directory "contrib")))
+                    (append-dir fasl-directory "contrib"))
+                   (force nil))
   (compile-files-if-needed-serially (swank-source-files source-directory)
-                                    fasl-directory t)
+                                    fasl-directory :load t :force force)
   (compile-files-if-needed-serially (contrib-source-files source-directory)
-                                    contrib-fasl-directory nil))
-
-(load-swank)
+                                    contrib-fasl-directory :load nil :force force)
 
-(setq swank::*swank-wire-protocol-version* (slime-version-string))
-(setq swank::*load-path* 
-      (append swank::*load-path* (list (contrib-src-dir *source-directory*))))
-(swank-backend::warn-unimplemented-interfaces)
-(load-site-init-file *source-directory*)
-(load-user-init-file)
-(swank:run-after-init-hook)
+  (setf (symbol-value (read-from-string "swank::*swank-wire-protocol-version*")) (slime-version-string))
+  (push (contrib-src-dir *source-directory*)
+        (symbol-value (read-from-string "swank::*load-path*")))
+  (funcall (read-from-string "swank-backend::warn-unimplemented-interfaces"))
+  (load-site-init-file *source-directory*)
+  (load-user-init-file)
+  (funcall (read-from-string "swank:run-after-init-hook")))

Modified: branches/trunk-reorg/thirdparty/slime/swank.asd
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank.asd	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank.asd	Wed Feb 13 14:40:19 2008
@@ -24,25 +24,32 @@
 
 (in-package :swank-loader)
 
-(defclass cl-script-file (asdf:source-file) ())
+(defclass swank-loader-file (asdf:source-file) ())
 
-(defmethod asdf:perform ((o asdf:compile-op) (f cl-script-file))
-  t)
-(defmethod asdf:perform ((o asdf:load-op) (f cl-script-file))
-  (mapcar #'load (asdf:input-files o f)))
-(defmethod asdf:output-files ((o asdf:compile-op) (f cl-script-file))
-  nil)
-(defmethod asdf:input-files ((o asdf:load-op) (c cl-script-file))
-  (list (asdf:component-pathname c)))
-(defmethod asdf:operation-done-p ((o asdf:compile-op) (c cl-script-file))
-  t)
-(defmethod asdf:source-file-type ((c cl-script-file) (s asdf:module))
+;; asdf:compile-op does nothing for swank.
+
+(defmethod asdf:perform ((o asdf:compile-op) (f swank-loader-file)) t)
+
+(defmethod asdf:operation-done-p ((o asdf:compile-op) (f swank-loader-file)) t)
+
+(defmethod asdf:output-files ((o asdf:compile-op) (f swank-loader-file)) '())
+
+;; asdf:load-op acutally loads it
+
+(defmethod asdf:perform ((o asdf:load-op) (f swank-loader-file))
+  (if (find-package :swank)
+      (warn "Attempting to load re-load swank into this image. Ignoring request.")
+      (progn
+        (load (merge-pathnames (asdf:component-pathname f)))
+        (funcall (read-from-string "swank-loader:load-swank")
+                 :source-directory (asdf:component-pathname (asdf:find-system :swank))))))
+
+(defmethod asdf:operation-done-p ((o asdf:load-op) (f swank-loader-file))
+  (find-package :swank))
+
+(defmethod asdf:source-file-type ((c swank-loader-file) (s asdf:module))
   "lisp")
 
 (asdf:defsystem :swank
-    :default-component-class cl-script-file
+    :default-component-class swank-loader-file
     :components ((:file "swank-loader")))
-
-(defparameter *source-directory*
-  (asdf:component-pathname (asdf:find-system :swank)))
-

Modified: branches/trunk-reorg/thirdparty/slime/swank.lisp
==============================================================================
--- branches/trunk-reorg/thirdparty/slime/swank.lisp	(original)
+++ branches/trunk-reorg/thirdparty/slime/swank.lisp	Wed Feb 13 14:40:19 2008
@@ -12,7 +12,11 @@
 ;;; them separately for each Lisp implementation. These extensions are
 ;;; available to us here via the `SWANK-BACKEND' package.
 
-(defpackage :swank
+;(cl:eval-when (:compile-toplevel :load-toplevel :execute)
+;  (cl:when (cl:find-package :swank)
+;    (cl:delete-package :swank)))
+
+(cl:defpackage :swank
   (:use :cl :swank-backend)
   (:export #:startup-multiprocessing
            #:start-server 



More information about the Bknr-cvs mailing list