VLX namespace family: verification 2026-08-09

← Prev | ↑ Chapter | Next → | Index | Symbols

VLX namespace family: verification 2026-08-09

The whole VLX namespace family was probed on four engine/platform combinations, resolving the "presumed compatible pending Phase 4 verification" status the individual entries used to carry.

Availability

All thirteen names are present as SUBRs on AutoCAD 2022 and on BricsCAD V25 and V26: vl-doc-export, vl-doc-import, vl-doc-ref, vl-doc-set, vl-arx-import, vl-list-exported-functions, vl-list-loaded-vlx, vl-vlx-loaded-p, vl-unload-vlx, vl-acad-defun, vl-acad-undefun, vl-bb-ref, vl-bb-set.

This matches the Bricsys DevRef VLX NameSpace Support page: the feature has been supported since BricsCAD V18.2 (DEScoder v2.7+) for DES-encrypted LISP files, and these functions are listed as supported.

Behavior outside a namespace module

Called from the document namespace — i.e. from plainly loaded source, with no separate-namespace module involved — (vl-doc-export 'f) is an inert success: it returns T on both CADs (the symbol on clautolisp) and changes nothing. Portable code may therefore call it unconditionally.

DES namespace semantics

Verified on BricsCAD V25 by loading a DESCoder -namespace .des whose source exports one function with vl-doc-export and defines another without exporting it:

  • the non-exported function is invisible — its symbol evaluates to nil in the document namespace;
  • the exported function is callable, and reports as a SUBR;
  • (vl-list-loaded-vlx) reports the module under its file base name ("v8ns" for v8ns.des);
  • (vl-list-exported-functions nil) lists the exported name.

A .des encoded without -namespace defines everything globally. These are the AutoCAD separate-namespace VLX semantics exactly, reached through a different packaging tool.

VLX namespace compatibility

Per the Bricsys DevRef, the DES data format and its options storage are backward and forward compatible. The consequence matters more than the compatibility itself: a namespace-enabled .des loaded on a pre-V18.2 engine loads with "no NameSpaces available", and its isolation silently degrades to global visibility — no error, no diagnostic. Hence the normative rule above.