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@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@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@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@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