texlive[69863] branches/branch2023.final: texlogfilter (branch)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 14 22:32:19 CET 2024


Revision: 69863
          https://tug.org/svn/texlive?view=revision&revision=69863
Author:   karl
Date:     2024-02-14 22:32:18 +0100 (Wed, 14 Feb 2024)
Log Message:
-----------
texlogfilter (branch) (14feb24)

Modified Paths:
--------------
    branches/branch2023.final/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter
    branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.1
    branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf
    branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/README
    branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html
    branches/branch2023.final/Master/texmf-dist/scripts/texlogfilter/texlogfilter

Modified: branches/branch2023.final/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter
===================================================================
--- branches/branch2023.final/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter	2024-02-14 21:31:49 UTC (rev 69862)
+++ branches/branch2023.final/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter	2024-02-14 21:32:18 UTC (rev 69863)
@@ -16,7 +16,7 @@
 use Term::ANSIColor;
 
 my $name = "texlogfilter";
-my $version = "1.1";
+my $version = "1.2";
 
 # options
 my @userfilters;
@@ -192,7 +192,7 @@
     # try to show usefull lines following some warnings or errors (starting with
     # whitespaces or package name)
     if ($currentpackage ne ""){
-        if (/(s+|\($currentpackage\))/){print $_;}
+        if (/^(\s{2}|\($currentpackage\))/){$nextlines = 1;}
         else {$currentpackage = ""; }
     }
 
@@ -200,7 +200,7 @@
     if ($nextlines > 0) { $nextlines--; print $_; }
 
     # find errors
-    elsif (/^(!\s+|.*?:\d+:\s+)?(Class|Package) (\w+ )?Error/i)         { if ($3){$currentpackage=$3}  handle_error(0, "nofilename"); }
+    elsif (/^(!\s+|.*?:\d+:\s+)?(Class|Package)\s+(\S+)?\s*Error/i)     { if ($3){$currentpackage=$3}; handle_error(0, "nofilename"); }
     elsif (/^(!\s+)?LaTeX (?:Error)/i)                                  { handle_error(); }
     elsif (/^(!|.*?:\d+:) Undefined control sequence\./i)               { chomp; handle_error(4); }
     elsif (/^(!|.*?:\d+:) Use of (.*) doesn't match its definition\./i) { handle_error(3); }
@@ -209,13 +209,16 @@
     elsif (/^No pages of output/i)                                      { handle_error(); }
 
     # find warning
-    elsif (/^(!\s+)?(Class|Package) (\w+ )?Warning/i)                   { if ($3){$currentpackage=$3}  handle_warning(0, "nofilename"); }
+    elsif (/^(!\s+)?(Class|Package)\s+(\S+)?\s*Warning/i)               { if ($3){$currentpackage=$3}; handle_warning(0, "nofilename"); }
     elsif (/^(!\s+)?(LaTeX|\* LaTeX) Warning: (Citation|Reference)/i)   { if ($showrefmsg) {handle_warning();} }
+    elsif (/^(!\s+)?(LaTeX|\* LaTeX) Font Warning/i)                    { $currentpackage="Font"; handle_warning(); }
     elsif (/^(!\s+)?(LaTeX|\* LaTeX) Warning/i)                         { handle_warning(); }
     elsif (/Runaway argument\?/i)                                       { handle_warning(1); }
     elsif (/(overfull|underfull|badbox)/i)                              { if ($showboxmsg){handle_warning(1);} }
 
     # find infos
+    elsif (/^(!\s+)?(Class|Package)\s+(\S+)?\s*Info/i)                  { if ($showinfomsg){ if ($3){$currentpackage=$3}; handle_info(); } }
+    elsif (/^(!\s+)?(LaTeX|\* LaTeX) Font Info/i)                       { if ($showinfomsg){ $currentpackage="Font"; handle_info(); } }
     elsif (/^(LaTeX) (\w+ )?Info/i)                                     { if ($showinfomsg){handle_info();} }
     elsif (/^(LaTeX)/i)                                                 { handle_info(); }
     elsif (/^Document Class/i)                                          { handle_info(); }
@@ -338,10 +341,13 @@
 
 =over
 
-=item * 2022, march, version 1.1 : add --info and --no-info options.
+=item * 2024, February, version 1.2 : fix duplicate or missing lines; handle
+package and class names with hyphen ; add info and warning patterns for fonts.
 
-=item * 2021, november, version 1.0 : initial version.
+=item * 2022, March, version 1.1 : add --info and --no-info options.
 
+=item * 2021, November, version 1.0 : initial version.
+
 =back
 
 =cut

Modified: branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.1
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.1	2024-02-14 21:31:49 UTC (rev 69862)
+++ branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.1	2024-02-14 21:32:18 UTC (rev 69863)
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -15,29 +16,12 @@
 .ft R
 .fi
 ..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
 .ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
 .    ds C` ""
 .    ds C' ""
 'br\}
 .el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
 .    ds C`
 .    ds C'
 'br\}
@@ -68,87 +52,25 @@
 .    \}
 .\}
 .rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
 .IX Title "TEXLOGFILTER 1"
-.TH TEXLOGFILTER 1 "2022-03-18" "texlogfilter" "Julien Labbe"
+.TH TEXLOGFILTER 1 2024-02-13 texlogfilter "Julien Labbe"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
-.SH "texlogfilter"
+.SH texlogfilter
 .IX Header "texlogfilter"
-.SS "\s-1NAME\s0"
+.SS NAME
 .IX Subsection "NAME"
 texlogfilter \- filter latex engines output or log file
-.SS "\s-1SYNOPSIS\s0"
+.SS SYNOPSIS
 .IX Subsection "SYNOPSIS"
 .Vb 1
 \&    texlogfilter [options] file.log
 .Ve
-.SS "\s-1DESCRIPTION\s0"
+.SS DESCRIPTION
 .IX Subsection "DESCRIPTION"
 Filter latex engines output or log file. For latex, pdflatex, lualatex or
 xelatex output or log file.
@@ -158,7 +80,7 @@
 .Vb 1
 \&    latex file.tex < /dev/null | texlogfilter
 .Ve
-.SS "\s-1OPTIONS\s0"
+.SS OPTIONS
 .IX Subsection "OPTIONS"
 .Vb 2
 \&    \-\-help                 : print this help and exit
@@ -191,21 +113,21 @@
 \&    \-\-skips\-color=string
 \&    \-\-user\-color=string    : colors used for errors, warnings, informations and skipped lines
 .Ve
-.SS "\s-1ALTERNATIVES\s0"
+.SS ALTERNATIVES
 .IX Subsection "ALTERNATIVES"
-.IP "\(bu" 4
+.IP \(bu 4
 \&\fBtexlog-extract\fR : <https://www.ctan.org/pkg/texlog\-extract>
-.IP "\(bu" 4
+.IP \(bu 4
 \&\fBtexloganalyser\fR : <https://www.ctan.org/pkg/texloganalyser>
-.IP "\(bu" 4
+.IP \(bu 4
 \&\fBtexlogsieve\fR : <https://ctan.org/pkg/texlogsieve>
-.SS "\s-1AUTHOR\s0"
+.SS AUTHOR
 .IX Subsection "AUTHOR"
-Written by Julien Labbe\*'.
+Written by Julien Labbé.
 .PP
 Inspired from a script given by Martin Scharrer on Stack Exchange network (see
 <https://tex.stackexchange.com/a/10564>).
-.SS "\s-1LICENCE\s0"
+.SS LICENCE
 .IX Subsection "LICENCE"
 This work may be distributed and/or modified under the conditions of the LaTeX
 Project Public License, either version 1.3 of this license or (at your option)
@@ -212,20 +134,23 @@
 any later version. The latest version of this license is in
 <http://www.latex\-project.org/lppl.txt> and version 1.3 or later is part of all
 distributions of LaTeX version 2005/12/01 or later.
-.SS "\s-1VERSION\s0"
+.SS VERSION
 .IX Subsection "VERSION"
 1.1
-.SS "\s-1HISTORY\s0"
+.SS HISTORY
 .IX Subsection "HISTORY"
-.IP "\(bu" 4
-2022, march, version 1.1 : add \-\-info and \-\-no\-info options.
-.IP "\(bu" 4
-2021, november, version 1.0 : initial version.
-.SS "\s-1DOCUMENTATION\s0"
+.IP \(bu 4
+2024, February, version 1.2 : fix duplicate or missing lines; handle
+package and class names with hyphen ; add info and warning patterns for fonts.
+.IP \(bu 4
+2022, March, version 1.1 : add \-\-info and \-\-no\-info options.
+.IP \(bu 4
+2021, November, version 1.0 : initial version.
+.SS DOCUMENTATION
 .IX Subsection "DOCUMENTATION"
-The documentation is integrated, writtent in Plain Old Documentation (\s-1POD\s0)
+The documentation is integrated, writtent in Plain Old Documentation (POD)
 format. Exported versions are available, in the following files:
-.IP "\(bu" 4
-\&\fI\s-1README\s0\fR: created with perldoc.
-.IP "\(bu" 4
+.IP \(bu 4
+\&\fIREADME\fR: created with perldoc.
+.IP \(bu 4
 \&\fItexlogfilter.html\fR: created with pod2html.

Modified: branches/branch2023.final/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf
===================================================================
(Binary files differ)

Modified: branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/README
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/README	2024-02-14 21:31:49 UTC (rev 69862)
+++ branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/README	2024-02-14 21:32:18 UTC (rev 69863)
@@ -69,10 +69,14 @@
     1.1
 
   HISTORY
-    *   2022, march, version 1.1 : add --info and --no-info options.
+    *   2024, February, version 1.2 : fix duplicate or missing lines; handle
+        package and class names with hyphen ; add info and warning patterns
+        for fonts.
 
-    *   2021, november, version 1.0 : initial version.
+    *   2022, March, version 1.1 : add --info and --no-info options.
 
+    *   2021, November, version 1.0 : initial version.
+
   DOCUMENTATION
     The documentation is integrated, writtent in Plain Old Documentation
     (POD) format. Exported versions are available, in the following files:

Modified: branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html
===================================================================
--- branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html	2024-02-14 21:31:49 UTC (rev 69862)
+++ branches/branch2023.final/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html	2024-02-14 21:32:18 UTC (rev 69863)
@@ -19,7 +19,7 @@
 
 <h2 id="SYNOPSIS">SYNOPSIS</h2>
 
-<pre><code>    texlogfilter [options] file.log</code></pre>
+<pre><code>texlogfilter [options] file.log</code></pre>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -27,39 +27,39 @@
 
 <p>Without input file, standard input is used. Use on latex engine output with:</p>
 
-<pre><code>    latex file.tex < /dev/null | texlogfilter</code></pre>
+<pre><code>latex file.tex < /dev/null | texlogfilter</code></pre>
 
 <h2 id="OPTIONS">OPTIONS</h2>
 
-<pre><code>    --help                 : print this help and exit
-    --version              : print version and exit
+<pre><code>--help                 : print this help and exit
+--version              : print version and exit
 
-    --box                  : show box warnings
-    --no-box               : mask box warnings
+--box                  : show box warnings
+--no-box               : mask box warnings
 
-    --ref                  : show reference/citation warnings
-    --no-ref               : mask reference/citation warnings
+--ref                  : show reference/citation warnings
+--no-ref               : mask reference/citation warnings
 
-    --info                 : show latex info messages
-    --no-info              : mask latex info messages
+--info                 : show latex info messages
+--no-info              : mask latex info messages
 
-    --filename             : print current file name
-    --no-filename          : do not print current file name
-    --files-ext=string     : regex pattern used to match files extension (default: tex|sty|cls|bib)
+--filename             : print current file name
+--no-filename          : do not print current file name
+--files-ext=string     : regex pattern used to match files extension (default: tex|sty|cls|bib)
 
-    --skips                : indicate skipped lines
-    --no-skips             : mask skipped lines
-    --skip-marker=string   : marker used to indicate skipped lines (defaut: ...)
+--skips                : indicate skipped lines
+--no-skips             : mask skipped lines
+--skip-marker=string   : marker used to indicate skipped lines (defaut: ...)
 
-    --add-filter=string    : add user filter pattern (as perl regular expression)
+--add-filter=string    : add user filter pattern (as perl regular expression)
 
-    --full-log             : show full log (don't filter - only colorize latex engine output)
+--full-log             : show full log (don't filter - only colorize latex engine output)
 
-    --errors-color=string
-    --warnings-color=string
-    --infos-color=string
-    --skips-color=string
-    --user-color=string    : colors used for errors, warnings, informations and skipped lines</code></pre>
+--errors-color=string
+--warnings-color=string
+--infos-color=string
+--skips-color=string
+--user-color=string    : colors used for errors, warnings, informations and skipped lines</code></pre>
 
 <h2 id="ALTERNATIVES">ALTERNATIVES</h2>
 
@@ -94,12 +94,15 @@
 
 <ul>
 
-<li><p>2022, march, version 1.1 : add --info and --no-info options.</p>
+<li><p>2024, February, version 1.2 : fix duplicate or missing lines; handle package and class names with hyphen ; add info and warning patterns for fonts.</p>
 
 </li>
-<li><p>2021, november, version 1.0 : initial version.</p>
+<li><p>2022, March, version 1.1 : add --info and --no-info options.</p>
 
 </li>
+<li><p>2021, November, version 1.0 : initial version.</p>
+
+</li>
 </ul>
 
 <h2 id="DOCUMENTATION">DOCUMENTATION</h2>

Modified: branches/branch2023.final/Master/texmf-dist/scripts/texlogfilter/texlogfilter
===================================================================
--- branches/branch2023.final/Master/texmf-dist/scripts/texlogfilter/texlogfilter	2024-02-14 21:31:49 UTC (rev 69862)
+++ branches/branch2023.final/Master/texmf-dist/scripts/texlogfilter/texlogfilter	2024-02-14 21:32:18 UTC (rev 69863)
@@ -16,7 +16,7 @@
 use Term::ANSIColor;
 
 my $name = "texlogfilter";
-my $version = "1.1";
+my $version = "1.2";
 
 # options
 my @userfilters;
@@ -192,7 +192,7 @@
     # try to show usefull lines following some warnings or errors (starting with
     # whitespaces or package name)
     if ($currentpackage ne ""){
-        if (/(s+|\($currentpackage\))/){print $_;}
+        if (/^(\s{2}|\($currentpackage\))/){$nextlines = 1;}
         else {$currentpackage = ""; }
     }
 
@@ -200,7 +200,7 @@
     if ($nextlines > 0) { $nextlines--; print $_; }
 
     # find errors
-    elsif (/^(!\s+|.*?:\d+:\s+)?(Class|Package) (\w+ )?Error/i)         { if ($3){$currentpackage=$3}  handle_error(0, "nofilename"); }
+    elsif (/^(!\s+|.*?:\d+:\s+)?(Class|Package)\s+(\S+)?\s*Error/i)     { if ($3){$currentpackage=$3}; handle_error(0, "nofilename"); }
     elsif (/^(!\s+)?LaTeX (?:Error)/i)                                  { handle_error(); }
     elsif (/^(!|.*?:\d+:) Undefined control sequence\./i)               { chomp; handle_error(4); }
     elsif (/^(!|.*?:\d+:) Use of (.*) doesn't match its definition\./i) { handle_error(3); }
@@ -209,13 +209,16 @@
     elsif (/^No pages of output/i)                                      { handle_error(); }
 
     # find warning
-    elsif (/^(!\s+)?(Class|Package) (\w+ )?Warning/i)                   { if ($3){$currentpackage=$3}  handle_warning(0, "nofilename"); }
+    elsif (/^(!\s+)?(Class|Package)\s+(\S+)?\s*Warning/i)               { if ($3){$currentpackage=$3}; handle_warning(0, "nofilename"); }
     elsif (/^(!\s+)?(LaTeX|\* LaTeX) Warning: (Citation|Reference)/i)   { if ($showrefmsg) {handle_warning();} }
+    elsif (/^(!\s+)?(LaTeX|\* LaTeX) Font Warning/i)                    { $currentpackage="Font"; handle_warning(); }
     elsif (/^(!\s+)?(LaTeX|\* LaTeX) Warning/i)                         { handle_warning(); }
     elsif (/Runaway argument\?/i)                                       { handle_warning(1); }
     elsif (/(overfull|underfull|badbox)/i)                              { if ($showboxmsg){handle_warning(1);} }
 
     # find infos
+    elsif (/^(!\s+)?(Class|Package)\s+(\S+)?\s*Info/i)                  { if ($showinfomsg){ if ($3){$currentpackage=$3}; handle_info(); } }
+    elsif (/^(!\s+)?(LaTeX|\* LaTeX) Font Info/i)                       { if ($showinfomsg){ $currentpackage="Font"; handle_info(); } }
     elsif (/^(LaTeX) (\w+ )?Info/i)                                     { if ($showinfomsg){handle_info();} }
     elsif (/^(LaTeX)/i)                                                 { handle_info(); }
     elsif (/^Document Class/i)                                          { handle_info(); }
@@ -338,10 +341,13 @@
 
 =over
 
-=item * 2022, march, version 1.1 : add --info and --no-info options.
+=item * 2024, February, version 1.2 : fix duplicate or missing lines; handle
+package and class names with hyphen ; add info and warning patterns for fonts.
 
-=item * 2021, november, version 1.0 : initial version.
+=item * 2022, March, version 1.1 : add --info and --no-info options.
 
+=item * 2021, November, version 1.0 : initial version.
+
 =back
 
 =cut



More information about the tex-live-commits mailing list.