[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Sun May 6 15:40:04 UTC 2012


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

Modified Files:
	ChangeLog swank-backend.lisp 
Log Message:
* swank-backend.lisp (with-struct): Undo damage.
* swank-sbcl.lisp (with-definition-source): New macro.

--- /project/slime/cvsroot/slime/ChangeLog	2012/05/06 08:51:26	1.2330
+++ /project/slime/cvsroot/slime/ChangeLog	2012/05/06 15:40:04	1.2331
@@ -1,5 +1,10 @@
 2012-05-06  Helmut Eller  <heller at common-lisp.net>
 
+	* swank-backend.lisp (with-struct): Undo damage.
+	* swank-sbcl.lisp (with-definition-source): New macro.
+
+2012-05-06  Helmut Eller  <heller at common-lisp.net>
+
 	* swank.lisp, swank-rpc.lisp: iso-8859-1 is not same as
 	latin-1-unix.
 
--- /project/slime/cvsroot/slime/swank-backend.lisp	2012/05/03 14:12:22	1.218
+++ /project/slime/cvsroot/slime/swank-backend.lisp	2012/05/06 15:40:04	1.219
@@ -1,4 +1,4 @@
-;;; -*- Mode: lisp; indent-tabs-mode: nil; outline-regexp: ";;;;;*" -*-
+;;; -*- indent-tabs-mode: nil; outline-regexp: ";;;;;*" -*-
 ;;;
 ;;; slime-backend.lisp --- SLIME backend interface.
 ;;;
@@ -239,12 +239,12 @@
 
 (defmacro with-struct ((conc-name &rest names) obj &body body)
   "Like with-slots but works only for structs."
+  (check-type conc-name symbol)
   (flet ((reader (slot)
-           ;; Use read-from-string instead of intern so that
-           ;; conc-name can be a string such as ext:struct- and not
-           ;; cause errors and not force interning ext::struct-
-           (read-from-string
-            (concatenate 'string (string conc-name) (string slot)))))
+           (intern (concatenate 'string
+                                (symbol-name conc-name)
+                                (symbol-name slot))
+                   (symbol-package conc-name))))
     (let ((tmp (gensym "OO-")))
       ` (let ((,tmp ,obj))
           (symbol-macrolet





More information about the slime-cvs mailing list