[slime-cvs] CVS update: slime/ChangeLog slime/slime.el slime/swank-backend.lisp slime/swank-openmcl.lisp

Marco Baringer mbaringer at common-lisp.net
Sat Jan 31 15:07:35 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv31808

Modified Files:
	ChangeLog slime.el swank-backend.lisp swank-openmcl.lisp 
Log Message:
see ChangeLog

Date: Sat Jan 31 10:07:35 2004
Author: mbaringer

Index: slime/ChangeLog
diff -u slime/ChangeLog:1.239 slime/ChangeLog:1.240
--- slime/ChangeLog:1.239	Sat Jan 31 06:57:35 2004
+++ slime/ChangeLog	Sat Jan 31 10:07:35 2004
@@ -1,3 +1,18 @@
+2004-01-31  Marco Baringer  <mb at bese.it>
+
+	* swank-openmcl.lisp: remove defslimefun-unimplemented forms.
+	(call-with-compilation-hooks, compile-system-for-emacs): Implement
+	them.
+	(compile-file-for-emacs, compile-string-for-emacs): Use
+	with-compilation-hooks.
+	(list-callers): Define with defimplementation and not defslimefun.
+
+	* swank-backend.lisp (compile-system-for-emacs): Declare method
+	as part of the interface.
+
+	* slime.el (slime-find-asd): Handle files whose directory does
+	not contain an asdf system definition.
+	
 2004-01-31 Helmut Eller  <e9626484 at stud3.tuwien.ac.at>
 
 	* Merge stateless-emacs branch into main trunk.  We use now signal


Index: slime/slime.el
diff -u slime/slime.el:1.199 slime/slime.el:1.200
--- slime/slime.el:1.199	Sat Jan 31 06:50:25 2004
+++ slime/slime.el	Sat Jan 31 10:07:35 2004
@@ -2254,9 +2254,11 @@
 
 (defun slime-find-asd ()
   (if (buffer-file-name)
-      (file-name-sans-extension
-       (car (directory-files
-             (file-name-directory (buffer-file-name)) nil "\.asd$")))
+      (let ((asdf-systems-in-directory (directory-files
+                                        (file-name-directory (buffer-file-name)) nil "\.asd$")))
+        (if asdf-systems-in-directory
+            (file-name-sans-extension (car asdf-systems-in-directory))
+            ""))
     ""))
 
 (defun slime-load-system (&optional system-name)


Index: slime/swank-backend.lisp
diff -u slime/swank-backend.lisp:1.25 slime/swank-backend.lisp:1.26
--- slime/swank-backend.lisp:1.25	Sat Jan 31 06:50:25 2004
+++ slime/swank-backend.lisp	Sat Jan 31 10:07:35 2004
@@ -207,6 +207,11 @@
 Additionally, if POSITION is supplied, it must be added to source
 positions reported in compiler conditions.")
 
+(definterface compile-system-for-emacs (system-name)
+  "Compile and load SYSTEM-NAME, During compilation compiler
+  conditions must be trapped and resignalled as
+  COMPILER-CONDITION ala compile-string-for-emacs.")
+
 (definterface compile-file-for-emacs (filename load-p)
    "Compile FILENAME signalling COMPILE-CONDITIONs.
 If LOAD-P is true, load the file after compilation.")


Index: slime/swank-openmcl.lisp
diff -u slime/swank-openmcl.lisp:1.57 slime/swank-openmcl.lisp:1.58
--- slime/swank-openmcl.lisp:1.57	Sat Jan 31 06:50:25 2004
+++ slime/swank-openmcl.lisp	Sat Jan 31 10:07:35 2004
@@ -186,14 +186,24 @@
   "Return a temporary file name to compile strings into."
   (ccl:%get-cstring (#_tmpnam (ccl:%null-ptr))))
 
-(defimplementation compile-file-for-emacs (filename load-p)
+(defimplementation call-with-compilation-hooks (function)
   (handler-bind ((ccl::compiler-warning #'handle-compiler-warning))
+    (funcall function)))
+
+(defimplementation compile-file-for-emacs (filename load-p)
+  (with-compilation-hooks ()
     (let ((*buffer-name* nil)
           (*buffer-offset* nil))
       (compile-file filename :load load-p))))
 
+(defimplementation compile-system-for-emacs (system-name)
+  (with-compilation-hooks ()
+    (let ((*buffer-name* nil)
+          (*buffer-offset* nil))
+      (asdf:oos 'asdf:load-op system-name))))
+
 (defimplementation compile-string-for-emacs (string &key buffer position)
-  (handler-bind ((ccl::compiler-warning #'handle-compiler-warning))
+  (with-compilation-hooks ()
     (let ((*buffer-name* buffer)
           (*buffer-offset* position)
           (*package* *buffer-package*)
@@ -482,9 +492,6 @@
 
 ;;; Utilities
 
-(defslimefun-unimplemented describe-setf-function (symbol-name))
-(defslimefun-unimplemented describe-type (symbol-name))
-
 (defslimefun describe-class (symbol-name)
   (print-description-to-string (find-class (from-string symbol-name) nil)))
 
@@ -517,7 +524,7 @@
 
 ;;; XREF
 
-(defslimefun list-callers (symbol-name)
+(defimplementation list-callers (symbol-name)
   (let ((callers (ccl::callers (from-string symbol-name))))
     (group-xrefs 
      (mapcan (lambda (caller)
@@ -532,16 +539,7 @@
                           (find-source-locations caller (to-string caller))))))
              callers))))
 
-(defslimefun-unimplemented list-callees (symbol-name))
-
-(defslimefun-unimplemented who-calls (symbol-name))
-(defslimefun-unimplemented who-references (symbol-name package-name))
-(defslimefun-unimplemented who-binds (symbol-name package-name))
-(defslimefun-unimplemented who-sets (symbol-name package-name))
-(defslimefun-unimplemented who-macroexpands (symbol-name package-name))
-
 ;;; Macroexpansion
-(defslimefun-unimplemented swank-macroexpand-all (string))
 
 (defvar *value2tag* (make-hash-table))
 





More information about the slime-cvs mailing list