[slime-cvs] CVS slime

CVS User sboukarev sboukarev at common-lisp.net
Fri Feb 26 21:02:59 UTC 2010


Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv24891

Modified Files:
	ChangeLog swank-loader.lisp 
Log Message:
* swank-loader.lisp (ecl-version-string): Check length of
the result of ext:lisp-implementation-vcs-id before doing subseq.
On CVS it returns "unknown".


--- /project/slime/cvsroot/slime/ChangeLog	2010/02/25 22:35:50	1.2000
+++ /project/slime/cvsroot/slime/ChangeLog	2010/02/26 21:02:59	1.2001
@@ -1,3 +1,9 @@
+2010-02-26  Stas Boukarev  <stassats at gmail.com>
+
+	* swank-loader.lisp (ecl-version-string): Check length of
+	the result of ext:lisp-implementation-vcs-id before doing subseq.
+	On CVS it returns "unknown".
+
 2010-02-25  Stas Boukarev  <stassats at gmail.com>
 
 	* swank-loader.lisp (ecl-version-string): In
--- /project/slime/cvsroot/slime/swank-loader.lisp	2010/02/25 22:35:50	1.102
+++ /project/slime/cvsroot/slime/swank-loader.lisp	2010/02/26 21:02:59	1.103
@@ -59,18 +59,16 @@
     :sparc64 :sparc :hppa64 :hppa
     :pentium3 :pentium4))
 
+(defun q (s) (read-from-string s))
+
 #+ecl
 (defun ecl-version-string ()
-  #+#.(cl:if (cl:and
-              (cl:find-package :ext)
-              (cl:find-symbol "LISP-IMPLEMENTATION-VCS-ID" :ext)) '(:and) '(:or))
-  (format nil "~A-~A"
-          (lisp-implementation-version) 
-          (subseq (ext:lisp-implementation-vcs-id) 0 8))
-  #-#.(cl:if (cl:and
-              (cl:find-package :ext)
-              (cl:find-symbol "LISP-IMPLEMENTATION-VCS-ID" :ext)) '(:and) '(:or))
-  (lisp-implementation-version))
+  (format nil "~A~@[-~A~]"
+          (lisp-implementation-version)
+          (when (find-symbol "LISP-IMPLEMENTATION-VCS-ID" :ext)
+            (let ((vcs-id (funcall (q "ext:lisp-implementation-vcs-id"))))
+              (when (>= (length vcs-id) 8)
+                (subseq vcs-id 0 8))))))
 
 (defun lisp-version-string ()
   #+(or clozure cmu) (substitute-if #\_ (lambda (x) (find x " /"))
@@ -233,8 +231,6 @@
 (defun contrib-dir (base-dir)
   (append-dir base-dir "contrib"))
 
-(defun q (s) (read-from-string s))
-
 (defun load-swank (&key (src-dir *source-directory*)
                         (fasl-dir *fasl-directory*))
   (compile-files (src-files *swank-files* src-dir) fasl-dir t)





More information about the slime-cvs mailing list