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
clim-desktop-cvs@common-lisp.net