[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