From 9a9c138d9cc228537780f83d4de825b3adfe6aa5 Mon Sep 17 00:00:00 2001
From: Albert Krewinkel <albert@zeitkraut.de>
Date: Sat, 9 Feb 2019 09:52:51 +0100
Subject: [PATCH] data/pandoc.lua: re-export all bundled modules

All Lua modules bundled with pandoc, i.e., `pandoc.List`,
`pandoc.mediabag`, `pandoc.utils`, and `text` are re-exported from the
`pandoc` module. They are assigned to the fields `List`, `mediabag`,
`utils`, and `text`, respectively.
---
 data/init.lua      |  2 --
 data/pandoc.lua    | 18 +++++++++++-------
 doc/lua-filters.md | 11 +++++++++--
 3 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/data/init.lua b/data/init.lua
index ed39dd294..96813a7d1 100644
--- a/data/init.lua
+++ b/data/init.lua
@@ -3,5 +3,3 @@
 -- default modules.
 
 pandoc = require 'pandoc'
-pandoc.mediabag = require 'pandoc.mediabag'
-pandoc.utils = require 'pandoc.utils'
diff --git a/data/pandoc.lua b/data/pandoc.lua
index 2dd8e448e..b69070e81 100644
--- a/data/pandoc.lua
+++ b/data/pandoc.lua
@@ -1,7 +1,7 @@
 --[[
 pandoc.lua
 
-Copyright © 2017–2018 Albert Krewinkel
+Copyright © 2017–2019 Albert Krewinkel
 
 Permission to use, copy, modify, and/or distribute this software for any purpose
 with or without fee is hereby granted, provided that the above copyright notice
@@ -20,16 +20,20 @@ THIS SOFTWARE.
 -- Lua functions for pandoc scripts.
 --
 -- @author Albert Krewinkel
--- @copyright © 2017–2018 Albert Krewinkel
+-- @copyright © 2017–2019 Albert Krewinkel
 -- @license MIT
 local M = {}
 
--- Other modules used here; those are also re-exported.
-local List = require 'pandoc.List'
-local utils = require 'pandoc.utils'
+-- Re-export bundled modules
+M.List = require 'pandoc.List'
+M.mediabag = require 'pandoc.mediabag'
+M.utils = require 'pandoc.utils'
+M.text = require 'text'
+
+-- Local names for modules which this module depends on.
+local List = M.List
+local utils = M.utils
 
-M.List = List
-M.utils = utils
 
 ------------------------------------------------------------------------
 -- Accessor objects
diff --git a/doc/lua-filters.md b/doc/lua-filters.md
index aab4a0b11..01d2b1a87 100644
--- a/doc/lua-filters.md
+++ b/doc/lua-filters.md
@@ -1360,8 +1360,8 @@ to a string via `tostring`.
 # Module text
 
 UTF-8 aware text manipulation functions, implemented in Haskell.
-These are available to any lua filter. However, the module must
-be explicitly loaded:
+The module is made available as part of the `pandoc` module via
+`pandoc.text`. The text module can also be loaded explicitly:
 
 ``` {.lua}
 -- uppercase all regular text in a document:
@@ -2392,6 +2392,13 @@ The `pandoc.mediabag` module allows accessing pandoc's media
 storage. The "media bag" is used when pandoc is called with the
 `--extract-media` or `--standalone`/`-s` option.
 
+The module is loaded as part of module `pandoc` and can either be
+accessed via the `pandoc.mediabag` field, or explicitly required,
+e.g.:
+
+
+    local mb = require 'pandoc.mediabag'
+
 ### insert {#mediabag-insert}
 
 `insert (filepath, mime_type, contents)`