Update of /project/mcclim/cvsroot/mcclim In directory common-lisp.net:/tmp/cvs-serv4901
Modified Files: commands.lisp Log Message: According to the CLIM Spec, Chapter 26, accepting-values must be supplied with accept forms that either have unique query-identifiers or unique prompts (query-identifier is derived from prompt if query-id is missing).
When the partial command parser is called for commands that have two arguments with the same type, two identical prompts are generated. That is not allowed.
Fix by generating a unique query-identifier via gensym in accept-form-for-argument-partial.
Date: Fri Jan 13 10:26:21 2006 Author: cfruhwirth
Index: mcclim/commands.lisp diff -u mcclim/commands.lisp:1.56 mcclim/commands.lisp:1.57 --- mcclim/commands.lisp:1.56 Thu Dec 1 12:10:54 2005 +++ mcclim/commands.lisp Fri Jan 13 10:26:21 2006 @@ -639,6 +639,7 @@ ,command-arg)) else if (member key accept-keys :test #'eq) append `(,key ,val)))) + (setq args (append args `(:query-identifier ',(gensym "COMMAND-PROMPT-ID")))) (if (member :default args :test #'eq) `(accept ,ptype :stream ,stream ,@args) `(if (eq ,original-command-arg *unsupplied-argument-marker*)