summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/listings/listings.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/listings/listings.dtx')
-rw-r--r--Master/texmf-dist/source/latex/listings/listings.dtx209
1 files changed, 135 insertions, 74 deletions
diff --git a/Master/texmf-dist/source/latex/listings/listings.dtx b/Master/texmf-dist/source/latex/listings/listings.dtx
index 5b897a2968a..4756e7e2400 100644
--- a/Master/texmf-dist/source/latex/listings/listings.dtx
+++ b/Master/texmf-dist/source/latex/listings/listings.dtx
@@ -30,7 +30,7 @@
%
% The package has the LPPL maintenance status "maintained".
%
-% $Id: listings.dtx 201 2015-06-04 20:25:39Z j_hoffmann $
+% $Id$
%
% The Current Maintainer is Jobst Hoffmann <j.hoffmann(at)fh-aachen.de>.
%
@@ -119,7 +119,7 @@
% Hoffmann became the maintainer of the \packagename{listings}
% package in 2013; see the Preface for details.}~ %
% \textless\lstemail\textgreater}
-% \date{2015/06/04\enspace\enspace Version 1.6\ \box\abstractbox}
+% \date{2018/09/02\enspace\enspace Version 1.7\ \box\abstractbox}
% \def\lstemail{\href{mailto:j.hoffmann@fh-aachen.de}{\texttt{j.hoffmann(at)fh-aachen.de}}}
% \ifhyper
% \hypersetup{pdfsubject=Package guide,pdfauthor=Jobst Hoffmann <j.hoffmann(at)fh-aachen.de>}
@@ -1869,6 +1869,7 @@
% \lstthanks{Peter~Biechele}{peter.biechele@physik.uni-freiburg.de},
% \lstthanks{Beat~Birkhofer}{beat@birkhofer.ch},
% \lstthanks{Fr\'ed\'eric~Boulanger}{Frederic.Boulanger@supelec.fr},
+% \lstthanks{Byron~K.~Boulton}{bkboulton@berriehill.com},
% \lstthanks{Joachim~Breitner}{-},
% \lstthanks{Martin~Brodbeck}{Martin.Brodbeck@gmx.de},
% \lstthanks{Walter~E.~Brown}{WB@fnal.gov},
@@ -2037,6 +2038,7 @@
% \lstthanks{Kai~Wollenweber}{kai@ece.WPI.EDU},
% \lstthanks{Ulrich~G.~Wortmann}{uliw@erdw.ethz.ch},
% \lstthanks{Cameron~H.G.~Wright}{-},
+% \lstthanks{Joseph~Wright}{joseph.wright@morningstar2.co.uk},
% \lstthanks{Andrew~Zabolotny}{-}, and
% \lstthanks{Florian~Z\"ahringer}{-}.
% \end{quote}
@@ -2135,7 +2137,7 @@
% \ref{rListingsInsideArguments}.
%
% Another limitation is that this feature can't be used in cells of a
-% |tabular|-environment. See \section{uListingsArguments} for a
+% |tabular|-environment. See section \ref{uListingsArguments} for a
% workaround.
%
% See also section \ref{rShortInline} for commands to create short analogs
@@ -4203,7 +4205,10 @@
% make all\end{verbatim}
% or
% \begin{verbatim}
-% make listings-devel\end{verbatim}
+% make listings-devel.pdf\end{verbatim}
+% or
+% \begin{verbatim}
+% make pdf-devel\end{verbatim}
% gives the same result---it is called \texttt{listings-devel.pdf}.
%
% \makeatletter
@@ -4486,6 +4491,14 @@
%
% Either execute \meta{else} or the \meta{value} matching part.
%
+% This implementation of C. Heinz has a problem\label{gAmpersand}, if
+% the listing is part of a tabular environment as found out by
+% \lsthelper{Nasser~M.~Abbasi}{2016/05/25}{possible bug in listings
+% package}. \lsthelper{David~Carlisle}{2016/05/25}{%
+% http://tex.stackexchange.com/questions/311383/adding-frame-none-to-lstlisting-options-in-lstdefinestyle-gives-error-with-tabu}
+% gave a hint how to avoid this problem and so the separator |&| is
+% replaced by |:|.
+%
% \item[0.20] |\lstKV@TwoArg|\marg{value}\marg{subdefinition}
% \item[0.20] |\lstKV@ThreeArg|\marg{value}\marg{subdefinition}
% \item[0.20] |\lstKV@FourArg|\marg{value}\marg{subdefinition}
@@ -5616,7 +5629,7 @@
% \part{Implementation}
%
%
-% \CheckSum{12365}
+% \CheckSum{12368}
%^^A
%^^A Don't index TeX-primitives.
%^^A
@@ -5737,12 +5750,13 @@
% To distinguish procedure-like macros from data-macros, the name of procedure
% macros use upper case letters with each beginning word, e.g.~|\lst@AddTo|.
% A macro with suffix |@| is the main working-procedure for another definition,
-% for example |\lstinputlisting@| does the main work for |\lstinputlisting|.
+% for example |\lstMakeShortInline@| does the main work for |\lstMakeShortInline|.
%
% \paragraph{Preamble}
% All files generated from this \texttt{listings.dtx} will get a header.
% \begin{macrocode}
-%% Please read the software license in listings-1.3.dtx or listings-1.3.pdf.
+%<*kernel|misc>
+%% Please read the software license in listings.dtx or listings.pdf.
%%
%% (w)(c) 1996--2004 Carsten Heinz and/or any other author listed
%% elsewhere in this file.
@@ -5752,13 +5766,16 @@
%% Send comments and ideas on the package, error reports and additional
%% programming languages to Jobst Hoffmann at <j.hoffmann@fh-aachen.de>.
%%
+%</kernel|misc>
% \end{macrocode}
%
% \paragraph{Identification}
% All files will have same date and version.
% \begin{macrocode}
-\def\filedate{2015/06/04}
-\def\fileversion{1.6}
+%<*kernel|misc|doc>
+\def\filedate{2018/09/02}
+\def\fileversion{1.7}
+%</kernel|misc|doc>
% \end{macrocode}
% What we need and who we are.
% \begin{macrocode}
@@ -6407,7 +6424,7 @@
%
% \begin{macro}{\lst@InsideConvert}
% If \texttt{mathescape} is not on, we call (near the end of this definition) a
-% submacro similar to |\zap@space| to replaced single spaces by active spaces.
+% submacro similar to |\zap@space| to replace single spaces by active spaces.
% Otherwise we check whether the code contains a pair |$...$| and call the
% appropriate macro.
% \begin{macrocode}
@@ -6956,17 +6973,18 @@
% \end{macro}
%
% \begin{macro}{\lstKV@SwitchCases}
-% is implemented as a substring test.
+% is implemented as a substring test. The original version used an |&|,
+% which produced a bug---see p.~\pageref{gAmpersand}.
% \begin{macrocode}
\def\lstKV@SwitchCases#1#2#3{%
- \def\lst@temp##1\\#1&##2\\##3##4\@nil{%
+ \def\lst@temp##1\\#1:##2\\##3##4\@nil{%
\ifx\@empty##3%
#3%
\else
##2%
\fi
}%
- \lst@temp\\#2\\#1&\\\@empty\@nil}
+ \lst@temp\\#2\\#1:\\\@empty\@nil}
% \end{macrocode}
% \end{macro}
%
@@ -7159,7 +7177,7 @@
% \end{macro}
%
%
-% \subsection{Divers helpers}
+% \subsection{Diverse helpers}
%
% \begin{macro}{\lst@NormedDef}
% works like |\def| (without any parameters!) but normalizes the replacement
@@ -7681,7 +7699,7 @@
% This column format only inserts lost space by stretching (invisible)
% existing spaces; it does not insert lost space between identifiers
% and other characters where the original does not have a space. It
-% was suggested by \lsthelper{Andrei~Alexandrescu}{-}{2007-02-26}.
+% was suggested by \lsthelper{Andrei~Alexandrescu}{2007-02-26}{-}.
% \begin{macrocode}
\def\lst@column@spaceflexible{%
\lst@column@flexible
@@ -8297,7 +8315,7 @@
% \begin{macro}{\lst@ProcessSpace}
% We look whether spaces fix the column alignment or not. In the latter case
% we append a space; otherwise \ldots
-% \lsthelper{Andrei~Alexandrescu}{-}{2007/02/27} tested the |spaceflexible|
+% \lsthelper{Andrei~Alexandrescu}{2007/02/27}{-} tested the |spaceflexible|
% column setting and found a bug that resulted from |\lst@PrintToken| and
% |\lst@whitespacetrue| being out of order here.
% \begin{macrocode}
@@ -8443,13 +8461,20 @@
% \end{macro}
%
% \begin{macro}{\lst@CCPut}
-% The first argument gives the character class, then follow the codes.
+% The first argument gives the character class, then follow the
+% codes.
+%
+% \lsthelper{Joseph~Wright}{2016/04/04}{unguarded setting of |lccode|}
+% pointed to a bug which came up on TeX StackExchange
+% (|http://tex.stackexchange.com/questions/302437/textcase-lstings-and-tilde|). Other
+% than in |\lst@CCPutMacro| the |\lccode| settings weren't local and caused
+% the error.
% \begin{macrocode}
\def\lst@CCPut#1#2{%
\ifnum#2=\z@
\expandafter\@gobbletwo
\else
- \lccode`\~=#2\lccode`\/=#2\lowercase{\lst@CCPut@~{#1/}}%
+ \begingroup\lccode`\~=#2\lccode`\/=#2\lowercase{\endgroup\lst@CCPut@~{#1/}}%
\fi
\lst@CCPut#1}
\def\lst@CCPut@#1#2{\lst@lAddTo\lst@SelectStdCharTable{\def#1{#2}}}
@@ -8630,7 +8655,7 @@
% \begin{macrocode}
\lsthk@SelectCharTable
\lst@DeveloperSCT
- \lst@DefRange
+ \lst@DefRange
\ifx\lst@Backslash\relax\else
\lst@LetSaveDef{"5C}\lsts@backslash\lst@Backslash
\fi}
@@ -11293,7 +11318,7 @@
% To make the backslash belong to the control sequence, it is merged with
% the following token. This option was suggested by \lsthelper{Morten~H\o gholm}
% {2004/07/16}{defining new (colored) texcs}.
-% \lsthelper{Christian~Schneider}{-}{2006/09/08} pointed out that the original
+% \lsthelper{Christian~Schneider}{2006/09/08}{-} pointed out that the original
% implementation was broken when the identifier was preceded by an ``other''
% character. To fix this (and other bugs), we first output whatever is in the
% current token before merging.
@@ -12258,10 +12283,10 @@
\lst@Key{numbers}{none}{%
\let\lst@PlaceNumber\@empty
\lstKV@SwitchCases{#1}%
- {none&\\%
- left&\def\lst@PlaceNumber{\llap{\normalfont
+ {none:\\%
+ left:\def\lst@PlaceNumber{\llap{\normalfont
\lst@numberstyle{\thelstnumber}\kern\lst@numbersep}}\\%
- right&\def\lst@PlaceNumber{\rlap{\normalfont
+ right:\def\lst@PlaceNumber{\rlap{\normalfont
\kern\linewidth \kern\lst@numbersep
\lst@numberstyle{\thelstnumber}}}%
}{\PackageError{Listings}{Numbers #1 unknown}\@ehc}}
@@ -12297,8 +12322,8 @@
% \begin{macrocode}
\lst@Key{firstnumber}{auto}{%
\lstKV@SwitchCases{#1}%
- {auto&\let\lst@firstnumber\@undefined\\%
- last&\let\lst@firstnumber\c@lstnumber
+ {auto:\let\lst@firstnumber\@undefined\\%
+ last:\let\lst@firstnumber\c@lstnumber
}{\def\lst@firstnumber{#1\relax}}}
\lst@AddToHook{PreSet}{\let\lst@advancenumber\z@}
% \end{macrocode}
@@ -12383,10 +12408,15 @@
% the same identifier} found another bug which was due to the localization
% of |\lst@neglisting|. He also provided the following fix, replacing
% |\thelstlisting| with the |\ifx| \ldots\ |\fi| construction.
+% \lsthelper{Ivo~Pletikosi\'c}{2015/08/18}{listings + hyperref, lstmisc.sty}
+% reported another problem with the redefinition of |\thelstlisting|.
+% \lsthelper{Heiko~Oberdiek}{2001/11/08}%
+% {http://tex.stackexchange.com/questions/261437/renewing-the-thelstlisting-command-when-hyperref-is-on}
+% again provided a fix: |\thelstlisting| must be replaced by |\theHlstlisting|.
% \begin{macrocode}
\AtBeginDocument{%
\def\theHlstnumber{\ifx\lst@@caption\@empty \lst@neglisting
- \else \thelstlisting \fi
+ \else \theHlstlisting \fi
.\thelstnumber}}
% \end{macrocode}
% \end{macro}
@@ -12783,13 +12813,13 @@
\lst@Key{frame}\relax{%
\let\lst@xrulecolor\@empty
\lstKV@SwitchCases{#1}%
- {none&\let\lst@frame\@empty\\%
- leftline&\def\lst@frame{l}\\%
- topline&\def\lst@frame{t}\\%
- bottomline&\def\lst@frame{b}\\%
- lines&\def\lst@frame{tb}\\%
- single&\def\lst@frame{trbl}\\%
- shadowbox&\def\lst@frame{tRBl}%
+ {none:\let\lst@frame\@empty\\%
+ leftline:\def\lst@frame{l}\\%
+ topline:\def\lst@frame{t}\\%
+ bottomline:\def\lst@frame{b}\\%
+ lines:\def\lst@frame{tb}\\%
+ single:\def\lst@frame{trbl}\\%
+ shadowbox:\def\lst@frame{tRBl}%
\def\lst@xrulecolor{\lst@rulesepcolor}%
\def\lst@rulesep{\lst@frametextsep}%
}{\def\lst@frame{#1}}%
@@ -13318,7 +13348,7 @@
\lst@PrintToken
\lst@EnterMode\lst@makemode{\lst@makekeyfalse}%
\lst@Merge{\lst@ProcessOther\$\lst@ProcessOther(}}%
-% \end{macrocode}
+% \end{macrocode} ^^A $
% The closing parenthesis tests for the mode and either processes |)| as usual
% or outputs it right here (in keyword style if a keyword was between |$(| and
% |)|).
@@ -13343,7 +13373,7 @@
\else
\lst@ReplaceInput{$(}{\lst@ProcessOther\$\lst@ProcessOther(}%
\fi}
-% \end{macrocode}
+% \end{macrocode} ^^A $
% \end{macro}
%
% \begin{macrocode}
@@ -13401,10 +13431,10 @@
\lst@AddToHook{PreSet}{\def\lst@firstline{1\relax}%
\let\lst@linerange\@empty}
\lst@AddToHook{Init}
-{\ifx\lst@linerange\@empty
- \edef\lst@linerange{{\lst@firstline}-{\lst@lastline},}%
- \fi
- \lst@GetLineInterval}%
+ {\ifx\lst@linerange\@empty
+ \edef\lst@linerange{{\lst@firstline}-{\lst@lastline},}%
+ \fi%
+ \lst@GetLineInterval}%
\def\lst@GetLineInterval{\expandafter\lst@GLI\lst@linerange\@nil}
\def\lst@GLI#1,#2\@nil{\def\lst@linerange{#2}\lst@GLI@#1--\@nil}
\def\lst@GLI@#1-#2-#3\@nil{%
@@ -13446,28 +13476,30 @@
\fi
\fi
% \end{macrocode}
-% The following definition will be executed in the SelectCharTable hook
-% and here right now if we are already processing a listing.
+% The following definition will be executed in the
+% \hookname{SelectCharTable} hook and here right now if we are already
+% processing a listing.
% \begin{macrocode}
\global\def\lst@DefRange{\expandafter\lst@CArgX\lst@rangebegin\relax\lst@DefRangeB}%
\ifnum\lst@mode=\lst@Pmode \expandafter\lst@DefRange \fi}}
% \end{macrocode}
-% \lst@DefRange is not inserted via a hook anymore. Instead it is now called
-% directly from \lst@SelectCharTable. This was necessary to get rid of an
+% |\lst@DefRange| is not inserted via a hook anymore. Instead it is now called
+% directly from |\lst@SelectCharTable|. This was necessary to get rid of an
% interference with the escape-to-LaTeX-feature. The bug was reported by
% \lsthelper{Michael~Bachmann}{2004/07/21}{Keine label-Referenzierung
-% m\"oglich...}. Another chance is due to the same bug: \lst@DefRange is
+% m\"oglich...}. Another chance is due to the same bug: |\lst@DefRange| is
% redefined globally when the begin of code is found, see below. The bug was
% reported by \lsthelper{Tobias~Rapp}{2004/04/06}{undetected end of range if
-% listing crosses page break} \lsthelper{Markus~Luisser}{2004/08/13}{Bug mit
-% 'linerangemarker' in umgebrochenen listings}
+% listing crosses page break} and \lsthelper{Markus~Luisser}{2004/08/13}{Bug mit
+% 'linerangemarker' in umgebrochenen listings}.
% \begin{macrocode}
\lst@AddToHookExe{DeInit}{\global\let\lst@DefRange\@empty}
% \end{macrocode}
%
-% Actually defining the marker (via \lst@GLI@, \lst@DefRange, \lst@CArgX as
-% seen above) is similar to \lst@DefDelimB---except that we unfold the first
-% parameter and use different <execute>, <pre>, and <post> statements.
+% Actually defining the marker (via |\lst@GLI@|, |\lst@DefRange|,
+% |\lst@CArgX| as seen above) is similar to |\lst@DefDelimB|---except that
+% we unfold the first parameter and use different \meta{execute},
+% \meta{pre}, and \meta{post} statements.
% \begin{macrocode}
\def\lst@DefRangeB#1#2{\lst@DefRangeB@#1#2}
\def\lst@DefRangeB@#1#2#3#4{%
@@ -13488,9 +13520,10 @@
\@empty}
% \end{macrocode}
%
-% Modify labels and define |\lst@InitLstNumber| used above.
+% Modify labels and define |\lst@InitLstNumber| used above according to an
+% error reported by
% \lsthelper{Omair-Inam~Abdul-Matin}{2004/05/10}{experimental linerange
-% feature does not work with firstnumber}
+% feature does not work with firstnumber}.
% \begin{macrocode}
\def\lstpatch@labels{%
\gdef\lst@SetFirstNumber{%
@@ -13511,8 +13544,8 @@
\global\advance\c@lstnumber-\lst@advancelstnum
\fi%
% \end{macrocode}
-% \lstthanks{Byron~K.~Boulton}{bkboulton@berriehill.com}{2013/11/21}
-% reported, that the line numbers are off by one, if the are displayed when
+% \lsthelper{Byron~K.~Boulton}{2013/11/21}{line numbers off by one}
+% reported, that the line numbers are off by one, if they are displayed when
% a linerange is given by patterns and |includerangemarker=false| is
% set. Adding this test corrects this behaviour.
% \begin{macrocode}
@@ -13523,9 +13556,9 @@
% \end{macrocode}
%
% The end-marker is defined if and only if it's not empty. The definition is
-% similar to \lst@DefDelimE---with the above exceptions and except that we
-% define the re-entry point \lst@DefRangeE@@ as it is defined in the new
-% version of \lst@MProcessListing above.
+% similar to |\lst@DefDelimE|---with the above exceptions and except that we
+% define the re-entry point |\lst@DefRangeE@@| as it is defined in the new
+% version of |\lst@MProcessListing| above.
% \begin{macrocode}
\def\lst@DefRangeEnd{%
\ifx\lst@rangeend\@empty\else
@@ -13552,8 +13585,8 @@
\fi}
% \end{macrocode}
%
-% Eventually we shouldn't forget to install \lst@OnceAtEOL, which must
-% also be called in \lst@MSkipToFirst.
+% Eventually we shouldn't forget to install |\lst@OnceAtEOL|, which must
+% also be called in |\lst@MSkipToFirst|.
% \begin{macrocode}
\lst@AddToHook{EOL}{\lst@OnceAtEOL\global\let\lst@OnceAtEOL\@empty}
\gdef\lst@OnceAtEOL{}% Init
@@ -13578,7 +13611,7 @@
\fi}
% \end{macrocode}
%
-% Finally the service macro \lst@IfNumber:
+% Finally the service macro |\lst@IfNumber|:
% \begin{macrocode}
\def\lst@IfNumber#1{%
\ifx\@empty#1\@empty
@@ -13854,9 +13887,9 @@
% \begin{macrocode}
\lst@Key{float}\relax[\lst@floatplacement]{%
\lstKV@SwitchCases{#1}%
- {true&\let\lst@floatdefault\lst@floatplacement
+ {true:\let\lst@floatdefault\lst@floatplacement
\let\lst@float\lst@floatdefault\\%
- false&\let\lst@floatdefault\relax
+ false:\let\lst@floatdefault\relax
\let\lst@float\lst@floatdefault
}{\def\lst@next{\@ifstar{\let\lst@beginfloat\@dblfloat
\let\lst@endfloat\end@dblfloat
@@ -14244,7 +14277,7 @@
% Here is the replacement list.
% \begin{macrocode}
\def\lst@filenamerpl{_\textunderscore $\textdollar -\textendash}
-% \end{macrocode}
+% \end{macrocode} ^^A $
% \end{macro}
% \end{macro}
% \end{macro}
@@ -14321,7 +14354,7 @@
% floats adds a command to |\float@addtolists|, and then packages (such as
% the KOMA-script document classes) which wish to add things to all lists of
% floats can then use it, without needing to be aware of all of the possible
-% lists that could exist. Thanks to \lsthelper{Markus~Kohm}{-}{2007/02/25}
+% lists that could exist. Thanks to \lsthelper{Markus~Kohm}{2007/02/25}{-}
% for the suggestion.
%
% Unfortunately, \packagename{float} defines this with |\newcommand|; thus,
@@ -14362,21 +14395,21 @@
\lsthk@TextStyle
\@ifnextchar\bgroup{%
% \end{macrocode}
-% \lstthanks{Luc~Van~Eycken}{Luc.VanEycken@esat.kuleuven.be}{2014/01/22}
+% \lsthelper{Luc~Van~Eycken}{2014/01/22}{Luc.VanEycken@esat.kuleuven.be}
% reported, that the experimental implementation of |\lstinline| with
% braces instead of characters surrounding the source code resulted in an
% error if used in a tabular environment. He found that this error comes
% from the master counter (cf. appendix D (Dirty Tricks), item 5. (Brace
% hacks), of the TeXbook (p. 385-386)). Adding the following line at this
% point
-% \begin{verbatim}
+%\begin{verbatim}
% \ifnum`{=0}\fi%
-% \end{verbatim}
-% remedies the wrong behaviour. But \lstthanks{Qing Lee}{2014/06/28} pointed out,
-% that this breaks code like the one showed in \ref{uListingsArguments} on
-% \pageref{uListingsArguments} and proposed another
-% solution which in turn broke the code needed by Luc:
-% \begin{verbatim}
+%\end{verbatim}
+% remedies the wrong behaviour. But \lsthelper{Qing Lee}{2014/06/28}{-}
+% pointed out, that this breaks code like the one showed in
+% \ref{uListingsArguments} on \pageref{uListingsArguments} and proposed
+% another solution which in turn broke the code needed by Luc:
+%\begin{verbatim}
% % \renewcommand\lstinline[1][]{%
% % \leavevmode\bgroup % \hbox\bgroup --> \bgroup
% % \def\lst@boxpos{b}%
@@ -14387,7 +14420,7 @@
% % \ifnum`{=\z@}\fi%
% % \afterassignment\lst@InlineG \let\@let@token}{%
% % \ifnum`{=\z@}\fi\lstinline@}}
-% \end{verbatim}
+%\end{verbatim}
% So finally the old code comes back and the people, who need a
% |\lstinline| with braces, should use the workaround from section
% \ref{uListingsArguments} on page \pageref{uListingsArguments}.
@@ -15033,7 +15066,19 @@
% continued line numbering.
% \begin{macrocode}
\lstnewenvironment{lstlisting}[2][]
- {\lst@TestEOLChar{#2}%
+ {%
+% \end{macrocode}
+% There is a problem with vertical space as pointed out by
+% \lsthelper{Jean-Yves~Baudais}{2016/03/11}{some vertical space
+% problem}. A similar problem arises with a listing beginning at
+% the top of a |\paragraph| or at the beginning of an |example|
+% environment. Jean-Yves provided a solution---|\let\if@nobreak\iffalse|---as has
+% been discussed on |fr.comp.text.tex|. The problem vanishes also if there
+% is a top rule at the beginning of the listing or if |leavevmode|
+% introduces the listing, so
+% \begin{macrocode}
+ \leavevmode%
+ \lst@TestEOLChar{#2}%
\lstset{#1}%
\csname\@lst @SetFirstNumber\endcsname}
{\csname\@lst @SaveFirstNumber\endcsname}
@@ -15048,7 +15093,7 @@
%
% \begin{syntax}
% \item[0.19]
-% |\begin{lstsample}|\marg{point list}\marg{left}\marg{right}
+% |\begin{lstsample}|\oarg{point list}\marg{left}\marg{right}
%
% \leavevmode\hspace*{-\leftmargini}|\end{lstsample}|
%
@@ -15586,6 +15631,16 @@
% \end{macrocode}
%
% \paragraph{Commands for credits and helpers}
+% There are two commands for credits and helpers:
+% \begin{enumerate}
+% \item |\lstthanks| is used to put a name of a contributor into the
+% section ``Closing and credit''. It has two arguments: |#1| is the
+% name, |#2| the email address---the email addres is not shown.
+% \item |\lsthelper| must be used in the text to show the name of the
+% helper (argument |#1|), the date of the contribution (argument |#2|)
+% and a short text about the contribution (argument |#3|). Only the
+% first argument is printed.
+% \end{enumerate}
% \begin{macrocode}
\gdef\lst@emails{}
\newcommand*\lstthanks[2]
@@ -16651,6 +16706,12 @@
% \item new keys, multicharacter string delimiters, short inline listings, and more.
% \item[1.5] 2013/06/27
% \item new maintainership
+% \item[1.6] 2015/05/05
+% \item add discussion about using |\lstinline|\oarg{key=value list}\marg{source code}.
+% \item add section ``Bugs and workarounds''.
+% \item[1.7] 2018/09/02
+% \item some new or updated language definitions.
+% \item several error corrections.
% \end{itemize}
% \endgroup
%