[climacs-cvs] CVS esa

thenriksen thenriksen at common-lisp.net
Tue May 16 14:45:59 UTC 2006


Update of /project/climacs/cvsroot/esa
In directory clnet:/tmp/cvs-serv518

Modified Files:
	esa-command-parser.lisp 
Log Message:
Fixed handling of *unsupplied-argument-marker* for commands with >1
arguments. 

Previously, every argument would be treated as if it was
*unsupplied-argument-marker* if just a single one was. Was this on
purpose? It looked like a slight oversight regarding the behavior of
DO.


--- /project/climacs/cvsroot/esa/esa-command-parser.lisp	2006/05/10 09:52:05	1.1
+++ /project/climacs/cvsroot/esa/esa-command-parser.lisp	2006/05/16 14:45:58	1.2
@@ -108,11 +108,13 @@
           (let (result)
             ;; only required args for now.
             (do ((required-args required-args (cdr required-args))
-                 (arg (car required-args) (car required-args))
+                 (arg (car required-args) (cadr required-args))
                  (command-args command-args (cdr command-args))
-                 (command-arg (car command-args) (car command-args)))
+                 (command-arg (car command-args) (cadr command-args)))
                 ((null required-args) (cons command-name (nreverse result)))
               (destructuring-bind (name ptype &rest args) arg
-                (push (esa-parse-one-arg stream name ptype args command-arg) 
+                (push (if (eq command-arg *unsupplied-argument-marker*)
+                          (esa-parse-one-arg stream name ptype args command-arg)
+                          command-arg)
                       result)
                 (maybe-clear-input)))))))))




More information about the Climacs-cvs mailing list