6

As of today, when I run pdflatexon the MWE below I'm getting this error:

/usr/local/texlive/2019/texmf-dist/tex/latex/logreq/logreq.sty:235: Incomplete 
\if; all text was ignored after line 6.
<inserted text> 
                \fi 
l.235 \input{logreq.def}

Source:

\RequirePackage{snapshot}   
\documentclass{article}
\usepackage{biblatex}

\begin{document}
Hello.
\end{document}

I was not getting the error yesterday; today I ran my daily package update using the TeX Live Utility (TeX Live 2019). So it seems that some package updated today causes the error.

If I comment out either \RequirePackage{snapshot} or \usepackage{biblatex}, I get no error.

Here's more of the log:

(/usr/local/texlive/2019/texmf-dist/tex/latex/biblatex/biblatex.sty
Package: biblatex 2019/08/31 v3.13a programmable bibliographies (PK/MW)

(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2019/07/25 v0.30 Utility functions of pdfTeX for LuaTeX (HO
)

(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/local/texlive/2019/texmf-dist/tex/latex/etoolbox/etoolbox.sty
Package: etoolbox 2019/09/09 v2.5g e-TeX tools for LaTeX (JAW)
\etb@tempcnta=\count88
)
(/usr/local/texlive/2019/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/local/texlive/2019/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)

(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)

(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
)))
(/usr/local/texlive/2019/texmf-dist/tex/latex/logreq/logreq.sty
Package: logreq 2010/08/04 v1.0 xml request logger
\lrq@indent=\count89

(/usr/local/texlive/2019/texmf-dist/tex/latex/logreq/logreq.def
File: logreq.def 2010/08/04 v1.0 logreq spec v1.0
)
/usr/local/texlive/2019/texmf-dist/tex/latex/logreq/logreq.sty:235: Incomplete 
\if; all text was ignored after line 6.
<inserted text> 
                \fi 
l.235 \input{logreq.def}
murray
  • 7,944
  • Can you upload the full log to a text-sharing website such as https://pastebin.com/ or https://gist.github.com/, please? The MWE runs on my MikTeX system updated today, but MikTeX is usually a tad behind TeX live when it comes to package updates. A precise analysis of the differences between your package versions and mine might help us identify the culprit. – moewe Sep 19 '19 at 20:30
  • In https://tug.org/pipermail/tex-live-commits/2019-September/date.html I can see that snapshot got updated yesterday, so the update there is probably the issue. – moewe Sep 19 '19 at 20:31
  • Seems that the snapshot update was a major rewrite, it's too late where I am to go through the changes (and even if it were a bit earlier, I would probably be the wrong person to go through the changes anyway). You may want to contact the author of snapshot about this – moewe Sep 19 '19 at 20:36
  • @moewe: But the date on snapshot.sty on my system is 2012/08/06 v2.13 ! – murray Sep 19 '19 at 20:36
  • That is indeed the version the update from yesterday installs (see https://tug.org/pipermail/tex-live-commits/2019-September/010839.html) the version on my system (where things work) identifies as 2002/03/05 v1.14. In the meantime I got the newer snapshot from CTAN and can verify that it causes the error you describe. The issues lies specifically with snapshot not being happy about logreq's \lrq@rcsid command to provide the file info. – moewe Sep 19 '19 at 20:45
  • snapshot maintainer is the American Mathematical Society. I just emailed tech-support@ams.org about this. – murray Sep 19 '19 at 20:51
  • I verified that the error is caused by the updated snapshot by restoring the previous version, after which the error disappears. – murray Sep 19 '19 at 20:53

1 Answers1

9

The snapshot package doesn't like the header of logreq.def, namely

\ProvidesFile{logreq.def}
[\lrq@rcsid $Id: logreq.def,v 1.0 2010/08/04 16:12:57 lehman stable $
 logreq spec v\LogreqDTDVersion]

The macros in the optional argument confuse \snap@providesfile and the tests it performs.

A workaround is to modify the definition of \snap@providesfile so that it fully expands the optional argument.

\RequirePackage{snapshot}
\makeatletter
\def\snap@providesfile#1[#2]{%
  \wlog{File: #1 #2}%
  \if\expandafter\snap@graphic@test\expanded{#2}@@\@nil
    \snap@record@graphic#1\relax #2 (type ??)\@nil
  \else
    \expandafter\xdef\csname ver@#1\endcsname{#2}%
  \fi
  \endgroup
}
\makeatother

\documentclass{article}

\usepackage{biblatex}

\begin{document}
Hello.
\end{document}
egreg
  • 1,121,712