Using the function values
it is possible to return zero (or several) values from a function.
values
returns all it's arguments. Thus a function having (values)
as it's last form will not return anything, while a function ending with (values val1 val2 val3)
will return three values. When calling a function returning several values, only the first one (the primary return value) is available in the normal way, while the other ones may be captured using e.g. multiple-value-bind
See the section on Return Values in the Hyperspec for further details
If you want to limit the output from a function that you can not modify, you can call it like this:
(progn
(function-returning-much-data)
(values))