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(a)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(a)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(a)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(a)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