[latex3-commits] [latex2e-public] r1312 - build_page_insert callback

noreply at latex-project.org noreply at latex-project.org
Fri Dec 30 12:07:53 CET 2016


Author: carlisle
Date: 2016-12-30 12:07:52 +0100 (Fri, 30 Dec 2016)
New Revision: 1312

Modified:
   trunk/base/changes.txt
   trunk/base/ltluatex.dtx
Log:
build_page_insert callback

Modified: trunk/base/changes.txt
===================================================================
--- trunk/base/changes.txt	2016-12-29 18:44:14 UTC (rev 1311)
+++ trunk/base/changes.txt	2016-12-30 11:07:52 UTC (rev 1312)
@@ -4,6 +4,18 @@
 are not part of the distribution.
 =======================================================================
 
+2016-12-30  David Carlisle  <latex-bugs at latex-project.org>
+
+	* ltluatex.dtx: build_page_insert callback and documentation updates.
+
+2016-12-29  David Carlisle  <latex-bugs at latex-project.org>
+
+	* latexrelease.dtx: re-instate the old 2014 version of
+	ltxrelease.sty protected by \IncludeInRelease guards
+
+	* ltboxes.dtx, ltmath.dtx: undefine internal MakeRobust commands
+	for latexrelease
+
 2016-12-11  David Carlisle  <latex-bugs at latex-project.org>
 
 	* ltoutenc.dtx:  add TU encoding

Modified: trunk/base/ltluatex.dtx
===================================================================
--- trunk/base/ltluatex.dtx	2016-12-29 18:44:14 UTC (rev 1311)
+++ trunk/base/ltluatex.dtx	2016-12-30 11:07:52 UTC (rev 1312)
@@ -24,7 +24,7 @@
 \ProvidesFile{ltluatex.dtx}
 %</driver>
 %<*tex>
-[2016/12/03 v1.0q
+[2016/12/30 v1.1a
 %</tex>
 %<plain>  LuaTeX support for plain TeX (core)
 %<*tex>
@@ -1191,7 +1191,7 @@
 %    \end{macrocode}
 %
 % Now, list all predefined callbacks with their current type, based on the
-% Lua\TeX{} manual version~0.80. A full list of the currently-available
+% Lua\TeX{} manual version~1.01. A full list of the currently-available
 % callbacks can be obtained using
 %  \begin{verbatim}
 %    \directlua{
@@ -1206,7 +1206,7 @@
 %    \begin{macrocode}
 local callbacktypes = callbacktypes or {
 %    \end{macrocode}
-%   Section 4.1.1: file discovery callbacks.
+%   Section 8.2: file discovery callbacks.
 %    \begin{macrocode}
   find_read_file     = exclusive,
   find_write_file    = exclusive,
@@ -1224,7 +1224,7 @@
   find_type1_file    = data,
   find_image_file    = data,
 %    \end{macrocode}
-% Section 4.1.2: file reading callbacks.
+%
 %    \begin{macrocode}
   open_read_file     = exclusive,
   read_font_file     = exclusive,
@@ -1245,14 +1245,14 @@
   find_cidmap_file   = data,
   read_cidmap_file   = exclusive,
 %    \end{macrocode}
-% Section 4.1.3: data processing callbacks.
+% Section 8.3: data processing callbacks.
 % \changes{v1.0m}{2016/02/11}{token\_filter removed}
 %    \begin{macrocode}
   process_input_buffer  = data,
   process_output_buffer = data,
   process_jobname       = data,
 %    \end{macrocode}
-% Section 4.1.4: node list processing callbacks.
+% Section 8.4: node list processing callbacks.
 % \changes{v1.0m}{2016/02/11}
 % {process\_rule, [hv]pack\_quality  append\_to\_vlist\_filter added}
 % \changes{v1.0n}{2016/03/13}{insert\_local\_par added}
@@ -1260,6 +1260,7 @@
 %    \begin{macrocode}
   contribute_filter      = simple,
   buildpage_filter       = simple,
+  build_page_insert      = exclusive,
   pre_linebreak_filter   = list,
   linebreak_filter       = list,
   append_to_vlist_filter = list,
@@ -1276,7 +1277,7 @@
   insert_local_par       = simple,
   mlist_to_hlist         = list,
 %    \end{macrocode}
-% Section 4.1.5: information reporting callbacks.
+% Section 8.5: information reporting callbacks.
 % \changes{v1.0m}{2016/02/11}{show\_warning\_message added}
 % \changes{v1.0p}{2016/11/17}{call\_edit added}
 %    \begin{macrocode}
@@ -1293,12 +1294,12 @@
   stop_file            = simple,
   call_edit            = simple,
 %    \end{macrocode}
-% Section 4.1.6: PDF-related callbacks.
+% Section 8.6: PDF-related callbacks.
 %    \begin{macrocode}
   finish_pdffile = data,
   finish_pdfpage = data,
 %    \end{macrocode}
-% Section 4.1.7: font-related callbacks.
+% Section 8.7: font-related callbacks.
 %    \begin{macrocode}
   define_font = exclusive,
 %    \end{macrocode}
@@ -1333,6 +1334,33 @@
 % More precisely, the functions below are used to generate a specialized
 % function (closure) for a given callback, which is the actual handler.
 %
+%
+% The way the functions are combined together depends on
+% the type of the callback. There are currently 4 types of callback, depending
+% on the calling convention of the functions the callback can hold:
+% \begin{description}
+%   \item[simple] is for functions that don't return anything: they are called
+%     in order, all with the same argument;
+%   \item[data] is for functions receiving a piece of data of any type
+%     except node list head (and possibly other arguments) and returning it
+%     (possibly modified): the functions are called in order, and each is
+%     passed the return value of the previous (and the other arguments
+%     untouched, if any). The return value is that of the last function;
+%   \item[list] is a specialized variant of \emph{data} for functions
+%     filtering node lists. Such functions may return either the head of a
+%     modified node list, or the boolean values |true| or |false|. The
+%     functions are chained the same way as for \emph{data} except that for
+%     the following. If
+%     one function returns |false|, then |false| is immediately returned and
+%     the following functions are \emph{not} called. If one function returns
+%     |true|, then the same head is passed to the next function. If all
+%     functions return |true|, then |true| is returned, otherwise the return
+%     value of the last function not returning |true| is used.
+%   \item[exclusive] is for functions with more complex signatures; functions in
+%     this type of callback are \emph{not} combined: An error is raised if
+%     a second callback is registered..
+% \end{description}
+%
 % Handler for |data| callbacks.
 %    \begin{macrocode}
 local function data_handler(name)



More information about the latex3-commits mailing list