Subject: Re: condtion handling question
From: (Rob Warnock)
Date: Tue, 03 Dec 2002 05:23:13 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Kent M Pitman <> wrote:
| Peter Seibel <> writes:
| > >>>>> "Kalle" == Kalle Olavi Niemitalo <> writes:
| > Kalle>   (multiple-value-call #'values (funcall fn) warning)
| > 
| > Duh. Thanks.
| I recommend instead:
|  (values (multiple-value-list (funcall fn)) warning)
| The problem is otherwise that if fn has a variable number of
| return values, you'll confuse it.

One thing that would help with Kalle's version would be to change
the protocol for SAFE-FUNCALL (or whatever the name was) to swap
the position of the warning/error return value with the function's

	(multiple-value-call #'values warning (funcall fn))

thus removing the ambiguity. The first value is then *always*
an error-p, and the remaining however-many values (if any) come
from the called function.


Rob Warnock, PP-ASEL-IA		<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607