[mcclim-devel] accepting-values: prompts not clickable, no redraw, improper output recording?

Clemens Fruhwirth clemens at endorphin.org
Mon Jan 9 10:14:26 UTC 2006


Clemens Fruhwirth <clemens at endorphin.org> wrote:

> Clemens Fruhwirth <clemens at endorphin.org> wrote:
> 
> > The attached test case does produce strange results for accepting-values
> > calls. 
> 
> After a fair amount of source reading: Not a bug.

I changed my feelings regarding this issue. As even McCLIM makes
incorrect use of its own facilities, I decided that it's better that
accepting-values gives at least an annoying warning if it detects an
incorrect usage pattern. This is easy to do, see the serial-checking
patch below.

Regarding McCLIM's own incorrect use of accepting-values, see
commands-accepting-values-fix.diff. The partial command parser must
generate :query-identifier for all accept statements, because it does
not generate unique prompts. This is bug becomes visible when using

(define-foobar-command (com-foobar :menu t :name t) 
 ((x 'integer) (y 'integer)) ())

When the command is invoked via menu or via a partial command, the two
integer arguments cause two identical prompts, namely "Enter an
integer". The problem with this is that accepting-values uses :prompt
when :query-identifier is missing, and as the command parser hasn't
supplied unique prompts, the query-identifiers are non-unique too. 

Non-unique query-identifiers in accepting-values cause strange screen
corruption. I really don't like that and when this happens to a new
user - as it happend to me - the user has little clue where to start
searching for a remedy and might even be tempted not to search at all
because this looks like a toolkit bug.

So, we better spend some time on checking usage patterns.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20060109/b1faac1e/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dialog-sanity-check.lisp
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20060109/b1faac1e/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: commands-accepting-value-use-fix.lisp
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20060109/b1faac1e/attachment-0002.ksh>


More information about the mcclim-devel mailing list