[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