[slime-cvs] CVS slime/contrib
heller
heller at common-lisp.net
Tue Sep 4 15:45:20 UTC 2007
Update of /project/slime/cvsroot/slime/contrib
In directory clnet:/tmp/cvs-serv29758/contrib
Modified Files:
ChangeLog swank-arglists.lisp
Log Message:
Abcl fixes.
--- /project/slime/cvsroot/slime/contrib/ChangeLog 2007/09/04 10:51:24 1.31
+++ /project/slime/cvsroot/slime/contrib/ChangeLog 2007/09/04 15:45:20 1.32
@@ -1,5 +1,10 @@
2007-09-04 Helmut Eller <heller at common-lisp.net>
+ * swank-arglists.lisp (parse-first-valid-form-spec): Rewrite it for
+ ABCL.
+
+2007-09-04 Helmut Eller <heller at common-lisp.net>
+
Some bug fixes for slime-complete-symbol*.
Patches by Mr. Madhu <enometh at meer.net>
--- /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2007/09/04 09:49:10 1.6
+++ /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2007/09/04 15:45:20 1.7
@@ -164,21 +164,17 @@
(values :function operator-designator)) ; functions, macros, special ops
(values type operator arguments)))) ; are all fbound.
-
(defun parse-first-valid-form-spec (raw-specs &optional arg-indices reader)
"Returns the first parsed form spec in RAW-SPECS that can
successfully be parsed. Additionally returns its respective index
in ARG-INDICES (or NIL.), and all newly interned symbols as tertiary
return value."
- (block traversal
- (mapc #'(lambda (raw-spec index)
- (multiple-value-bind (spec symbols) (parse-form-spec raw-spec reader)
- (when spec (return-from traversal
- (values spec index symbols)))))
- raw-specs
- (append arg-indices '#1=(nil . #1#)))
- nil)) ; found nothing
-
+ (do ((raw raw-specs (cdr raw))
+ (arg arg-indices (cdr arg)))
+ ((null raw) nil)
+ (let ((raw-spec (car raw)) (index (car arg)))
+ (multiple-value-bind (spec symbols) (parse-form-spec raw-spec reader)
+ (when spec (return (values spec index symbols)))))))
(defun read-form-spec (spec &optional reader)
"Turns the ``raw form spec'' SPEC into a proper Common Lisp
More information about the slime-cvs
mailing list