Function Entry: VL-CATCH-ALL-APPLY
← Prev | ↑ Chapter | Next → | Index | Symbols
Function Entry: VL-CATCH-ALL-APPLY
Name
vl-catch-all-apply
Class
Visual LISP Function
Syntax
(vl-catch-all-apply function arg-list)
Arguments and Values
function: function designatorarg-list: list of arguments
The argument list is optional in practice
Autodesk's documentation gives arg-list as required. Both engines
accept it omitted, and treat the missing list as an empty one. This is
a documentation error, not a vendor divergence.
Measured, not inferred:
- BricsCAD V26 — the
vle-extension.lspthat ships inside the application and is loaded by the engine at startup calls(vl-catch-all-apply 'vl-load-com). An engine that rejected the form could not load its own file. - AutoCAD 2022 — probe run
20260817T070448Z, a realaccoreconsole.exeon MS-Windows:(vl-catch-all-apply (lambda () 42))returned42, while the same call on a function that requires an argument produced the engine's own arity error ("nombre d'arguments insuffisants"), which is what an EMPTY argument list produces.
The probe is probes/sources/probe-vl-catch-all-apply.lsp; it carries a
two-argument control case, so a future answer cannot be read as evidence
unless the control also passes.
Writing (vl-catch-all-apply 'f nil) remains clearer, and is what this
specification's own examples use — but the one-argument form is not a
portability hazard.
clautolisp
Accepts the one-argument form in every dialect, treating the missing list as empty.
Under –strict it emits [vl-catch-all-apply-arity]. Not because the
engines disagree — they do not — but because neither documents the
tolerance, and –strict means the documented portable subset. Two
engines accepting a form today is not a promise that a future version
will. –autocad and –bricscad ask for a specific engine's measured
behaviour and stay silent; –clautolisp and –lax silence it as they
do every diagnostic of this kind.
Description
Calls function with arg-list, trapping errors and returning a catch-all error object instead of unwinding directly into the caller.
Return Values
- normal function result on success
- catch-all error object on failure
Side Effects
Side effects are those of the invoked function up to the point of failure or success.
Compatibility
Part of the Visual LISP error-handling layer.
Availability
- AutoCAD 2026: documented (per Autodesk reference page).
- BricsCAD V26: presumed compatible (no contradicting page found).
- Status: AutoCAD documented; BricsCAD presumed-both pending Phase 4 verification.
Source Notes
- [About Catching Errors and Continuing Program Execution (AutoLISP)](https://help.autodesk.com/cloudhelp/2026/ENU/AutoCAD-AutoLISP/files/GUID-9DDAD8C4-FB10-4C15-B59E-F6E05C1F9672.htm)
- [Error-Handling Functions Reference (AutoLISP)](https://help.autodesk.com/cloudhelp/2024/HUN/AutoCAD-AutoLISP-Reference/files/GUID-D114F1C4-DE8E-422D-8F3F-C43707B8212B.htm)
- Status: documented.