[slime-cvs] CVS update: slime/swank-allegro.lisp

Helmut Eller heller at common-lisp.net
Wed Aug 18 21:19:28 UTC 2004


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

Modified Files:
	swank-allegro.lisp 
Log Message:
(swank-compile-string): Use #\; instead of #\: to separate the
position from the buffer-name.

Date: Wed Aug 18 14:19:27 2004
Author: heller

Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.49 slime/swank-allegro.lisp:1.50
--- slime/swank-allegro.lisp:1.49	Wed Aug  4 10:17:55 2004
+++ slime/swank-allegro.lisp	Wed Aug 18 14:19:27 2004
@@ -241,7 +241,7 @@
 
 (defimplementation swank-compile-string (string &key buffer position)
   ;; We store the source buffer in excl::*source-pathname* as a string
-  ;; of the form <buffername>:<start-offset>.  Quite ugly encoding, but
+  ;; of the form <buffername>;<start-offset>.  Quite ugly encoding, but
   ;; the fasl file is corrupted if we use some other datatype.
   (with-compilation-hooks ()
     (let ((*buffer-name* buffer)
@@ -252,7 +252,7 @@
                `(in-package ,(package-name *package*))
                `(eval-when (:compile-toplevel :load-toplevel)
                  (setq excl::*source-pathname*
-                  (format nil "~A:~D" ',buffer ',position)))
+                  (format nil "~A;~D" ',buffer ',position)))
                string)))))
 
 ;;;; Definition Finding
@@ -275,18 +275,21 @@
       ((member :top-level)
        (list :error (format nil "Defined at toplevel: ~A" (fspec->string fspec))))
       (string
-       (let ((pos (position #\: file)))
+       (let ((pos (position #\; file :from-end t)))
          (make-location
           (list :buffer (subseq file 0 pos))
           (list :position (parse-integer (subseq file (1+ pos)))))))
       (null 
        (list :error (format nil "Unknown source location for ~A" (fspec->string fspec)))))))
 
-(defun fspec->string (fspec &aux (*package* (find-package :keyword)))
+(defun fspec->string (fspec)
   (etypecase fspec
-    (symbol (prin1-to-string fspec))
-    (list (format nil "(method ~A)" 
-                  (prin1-to-string (second fspec))))))
+    (symbol (let ((*package* (find-package :keyword)))
+              (prin1-to-string fspec)))
+    (list (format nil "(~A ~A)"
+                  (prin1-to-string (first fspec))
+                  (let ((*package* (find-package :keyword)))
+                    (prin1-to-string (second fspec)))))))
 
 (defun fspec-definition-locations (fspec)
   (let ((defs (excl::find-multiple-definitions fspec)))





More information about the slime-cvs mailing list