summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-02-14 21:31:49 +0000
committerKarl Berry <karl@freefriends.org>2024-02-14 21:31:49 +0000
commite9ace8b62a7ad2329e967afc9c49e13599e6ce43 (patch)
tree5e44e31ec194250ca268a711ce6a3fba08dc572d
parenta4c1d1a1e418ee73c93150594d94bb80c5455ec8 (diff)
texlogfilter (14feb24)
git-svn-id: svn://tug.org/texlive/trunk@69862 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter18
-rw-r--r--Master/texmf-dist/doc/man/man1/texlogfilter.1135
-rw-r--r--Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdfbin25882 -> 24765 bytes
-rw-r--r--Master/texmf-dist/doc/support/texlogfilter/README8
-rw-r--r--Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html53
-rwxr-xr-xMaster/texmf-dist/scripts/texlogfilter/texlogfilter18
6 files changed, 88 insertions, 144 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter b/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter
index f960c9a3773..6a8b2462329 100755
--- a/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter
+++ b/Build/source/texk/texlive/linked_scripts/texlogfilter/texlogfilter
@@ -16,7 +16,7 @@ use Getopt::Long;
use Term::ANSIColor;
my $name = "texlogfilter";
-my $version = "1.1";
+my $version = "1.2";
# options
my @userfilters;
@@ -192,7 +192,7 @@ while (<>) {
# 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 @@ while (<>) {
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 @@ while (<>) {
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,9 +341,12 @@ distributions of LaTeX version 2005/12/01 or later.
=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
diff --git a/Master/texmf-dist/doc/man/man1/texlogfilter.1 b/Master/texmf-dist/doc/man/man1/texlogfilter.1
index aa7d15c8edf..95cfc473e62 100644
--- a/Master/texmf-dist/doc/man/man1/texlogfilter.1
+++ b/Master/texmf-dist/doc/man/man1/texlogfilter.1
@@ -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 @@ Without input file, standard input is used. Use on latex engine output with:
.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,41 +113,44 @@ Without input file, standard input is used. Use on latex engine output with:
\& \-\-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)
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.
diff --git a/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf b/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf
index a7d74203f82..ff501728d26 100644
--- a/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texlogfilter.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/texlogfilter/README b/Master/texmf-dist/doc/support/texlogfilter/README
index d7d707ab5aa..e8ceb46dc52 100644
--- a/Master/texmf-dist/doc/support/texlogfilter/README
+++ b/Master/texmf-dist/doc/support/texlogfilter/README
@@ -69,9 +69,13 @@ texlogfilter
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
diff --git a/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html b/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html
index 6cebc68729f..789edcbc84c 100644
--- a/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html
+++ b/Master/texmf-dist/doc/support/texlogfilter/texlogfilter.html
@@ -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 &lt; /dev/null | texlogfilter</code></pre>
+<pre><code>latex file.tex &lt; /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&#39;t filter - only colorize latex engine output)
+--full-log : show full log (don&#39;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,10 +94,13 @@
<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>
diff --git a/Master/texmf-dist/scripts/texlogfilter/texlogfilter b/Master/texmf-dist/scripts/texlogfilter/texlogfilter
index f960c9a3773..6a8b2462329 100755
--- a/Master/texmf-dist/scripts/texlogfilter/texlogfilter
+++ b/Master/texmf-dist/scripts/texlogfilter/texlogfilter
@@ -16,7 +16,7 @@ use Getopt::Long;
use Term::ANSIColor;
my $name = "texlogfilter";
-my $version = "1.1";
+my $version = "1.2";
# options
my @userfilters;
@@ -192,7 +192,7 @@ while (<>) {
# 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 @@ while (<>) {
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 @@ while (<>) {
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,9 +341,12 @@ distributions of LaTeX version 2005/12/01 or later.
=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