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

Luke Gorrie lgorrie at common-lisp.net
Thu Jun 17 10:10:48 UTC 2004


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

Modified Files:
	swank-lispworks.lisp 
Log Message:
(dspec-stream-position): Remove `with-standard-io-syntax' so that we
can read files with custom read syntax.
Bind *READ-EVAL* to T instead of NIL (at the suggestion of Alain
Picard).

Date: Thu Jun 17 03:10:48 2004
Author: lgorrie

Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.43 slime/swank-lispworks.lisp:1.44
--- slime/swank-lispworks.lisp:1.43	Wed Jun 16 15:04:01 2004
+++ slime/swank-lispworks.lisp	Thu Jun 17 03:10:48 2004
@@ -348,31 +348,30 @@
 
 #-(or lispworks-4.1 lispworks-4.2)      ; no dspec:parse-form-dspec prior to 4.3
 (defun dspec-stream-position (stream dspec)
-  (with-standard-io-syntax
-   (let ((*read-eval* nil))
-     (loop (let* ((pos (file-position stream))
-                  (form (read stream nil '#1=#:eof)))
-             (when (eq form '#1#)
-               (return nil))
-             (labels ((check-dspec (form)
-                        (when (consp form)
-                          (let ((operator (car form)))
-                            (case operator
-                              ((progn)
-                                (mapcar #'check-dspec
-                                        (cdr form)))
-                              ((eval-when locally macrolet symbol-macrolet)
-                                (mapcar #'check-dspec
-                                        (cddr form)))
-                              ((in-package)
-                               (let ((package (find-package (second form))))
-                                 (when package
-                                   (setq *package* package))))
-                              (otherwise
-                               (let ((form-dspec (dspec:parse-form-dspec form)))
-                                 (when (dspec:dspec-equal dspec form-dspec)
-                                   (return pos)))))))))
-               (check-dspec form)))))))
+  (let ((*read-eval* t))
+    (loop (let* ((pos (file-position stream))
+                 (form (read stream nil '#1=#:eof)))
+            (when (eq form '#1#)
+              (return nil))
+            (labels ((check-dspec (form)
+                       (when (consp form)
+                         (let ((operator (car form)))
+                           (case operator
+                             ((progn)
+                              (mapcar #'check-dspec
+                                      (cdr form)))
+                             ((eval-when locally macrolet symbol-macrolet)
+                              (mapcar #'check-dspec
+                                      (cddr form)))
+                             ((in-package)
+                              (let ((package (find-package (second form))))
+                                (when package
+                                  (setq *package* package))))
+                             (otherwise
+                              (let ((form-dspec (dspec:parse-form-dspec form)))
+                                (when (dspec:dspec-equal dspec form-dspec)
+                                  (return pos)))))))))
+              (check-dspec form))))))
 
 (defun emacs-buffer-location-p (location)
   (and (consp location)





More information about the slime-cvs mailing list