[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