[mcclim-cvs] CVS update: mcclim/commands.lisp

Clemens Fruhwirth cfruhwirth at common-lisp.net
Fri Jan 13 09:26:22 UTC 2006


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 , at args)
 	    `(if (eq ,original-command-arg *unsupplied-argument-marker*)




More information about the Mcclim-cvs mailing list