Restrictions in the use of some functions

Far Manager Macro System

Restrictions in the use of some functions


The following functions have certain restrictions on their use in macros:

  1. If a macro creates coroutines with coroutine.wrap(f), then the above listed functions will not work when called from the body of f function.
    This restriction does not exist if coroutines are created with coroutine.create(f).

  2. The above listed functions, when called directly or indirectly with pcall, will cause the immediate failure of pcall.
    This restriction does not exist if LuaJIT 2.x is used.

  3. The above listed functions will only work when called from a macro body (usually it is function action). That means those functions will not work when called from:

    • dialog procedures
    • function condition of a macro
    • event handlers
    • etc. etc.

The restrictions of p.3 do not exist, if the above listed functions are called via mf.postmacro or far.MacroPost.