[clim-desktop-cvs] CVS clim-desktop

thenriksen thenriksen at common-lisp.net
Wed Mar 15 10:53:40 UTC 2006


Update of /project/clim-desktop/cvsroot/clim-desktop
In directory clnet:/tmp/cvs-serv14050

Modified Files:
	swine-cmds.lisp 
Log Message:
Fixed bug where having a keyword symbol as the first element of a list
would cause an error when trying to look up its arglist.


--- /project/clim-desktop/cvsroot/clim-desktop/swine-cmds.lisp	2006/02/22 10:47:29	1.3
+++ /project/clim-desktop/cvsroot/clim-desktop/swine-cmds.lisp	2006/03/15 10:53:40	1.4
@@ -177,8 +177,17 @@
       (when name
         (with-slots (package) (syntax (buffer (current-window)))
           (let ((function-symbol (let* ((pos2 (position #\: name :from-end t))
-                                        (pos1 (if (and pos2 (char= (elt name (1- pos2)) #\:)) (1- pos2) pos2) ))
-                                   (handler-case (if pos2 (find-symbol (subseq name (1+ pos2)) (subseq name 0 pos1))
+                                        (pos1 (if (and pos2
+                                                       ;; If the first
+                                                       ;; element of
+                                                       ;; the list is
+                                                       ;; a keyword
+                                                       ;; symbol, pos2
+                                                       ;; might be 0.
+                                                       (plusp pos2)
+                                                       (char= (elt name (1- pos2)) #\:))
+                                                  (1- pos2) pos2)))
+                                   (handler-case (if pos1 (find-symbol (subseq name (1+ pos2)) (subseq name 0 pos1))
                                                      (find-symbol name (or package *package*)))
                                      (package-error (e)
                                        ;; The specified symbol is in




More information about the Clim-desktop-cvs mailing list