The process of compiling function calls results in VLISP creating a loadable module containing in-line copies of some AutoLISP built-in functions. In-line compilation of built-in functions increases the efficiency of the resulting code, but may change the behavior of some tricky AutoLISP programs.
For example, if your program contains an in-line copy of a built-in function, and that function is subsequently redefined, your program does not use the new function definition. A copy of the old definition is part of the program's load module, and that version is called directly. You must recompile your program to pick up the new function definition.
If you include both direct and indirect calls to the same function, your program could end up using different versions for different function calls. This is one reason why combining direct and indirect calls within a single program is not recommended.
When using multiple-file applications in conjunction with direct linking, it is highly recommended that you use the VLISP built-in project management system along with its functions to optimize code automatically. The project management system provides a greater degree of control over compilation and linking of program files than does the vlisp-compile function. See for details.