diff options
author | Albert Krewinkel <albert@zeitkraut.de> | 2021-11-17 08:47:30 +0100 |
---|---|---|
committer | Albert Krewinkel <albert@zeitkraut.de> | 2021-11-17 10:03:04 +0100 |
commit | cd91f72843359c5305842fa8afbec4a2d72629fa (patch) | |
tree | fbce914ef589cd7173d36bd572466bbfd36ab803 /doc | |
parent | 3ac7deadce6cf2fbf6aaa3c7bacebaacb5c68214 (diff) | |
download | pandoc-cd91f72843359c5305842fa8afbec4a2d72629fa.tar.gz |
Lua: set `lpeg`, `re` as globals; allow shared lib access via require
The `lpeg` and `re` modules are loaded into globals of the respective
name, but they are not necessarily registered as loaded packages. This
ensures that
- the built-in library versions are preferred when setting the globals,
- a shared library is used if pandoc has been compiled without `lpeg`,
and
- the `require` mechanism can be used to load the shared library if
available, falling back to the internal version if possible and
necessary.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/lua-filters.md | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/doc/lua-filters.md b/doc/lua-filters.md index 38790ca5d..9fc90a13f 100644 --- a/doc/lua-filters.md +++ b/doc/lua-filters.md @@ -253,17 +253,26 @@ variables. `lpeg` : This variable holds the `lpeg` module, a package based on - Parsing Expression Grammars (PEG). It provides excellent + Parsing Expression Grammars (PEG). It provides excellent parsing utilities and is documented on the official [LPeg - homepage]. Pandoc will try to load the module through the - normal package mechanism, and fall back to a built-in version - if necessary. + homepage]. Pandoc uses a built-int version of the library, + unless it has been configured by the package maintainer to + rely on a system-wide installation. + + Note that the result of `require 'lpeg'` is not necessarily + equal to this value; the `require` mechanism prefers the + system's lpeg library over the built-in version. `re` -: Contains the LPeg.re module, which is built on top of LPeg and - offers an implementation of a [regex engine]. Pandoc will try - to load the module through the normal package mechanism, and - fall back to a built-in version if necessary. +: Contains the LPeg.re module, which is built on top of LPeg + and offers an implementation of a [regex engine]. Pandoc + uses a built-in version of the library, unless it has been + configured by the package maintainer to rely on a system-wide + installation. + + Note that the result of `require 're` is not necessarily + equal to this value; the `require` mechanism prefers the + system's lpeg library over the built-in version. [LPeg homepage]: http://www.inf.puc-rio.br/~roberto/lpeg/ [regex engine]: http://www.inf.puc-rio.br/~roberto/lpeg/re.html |