Discussion:
Problem with latex package rev. 47330
(too old to reply)
Vladimir Lomov
2018-04-08 01:45:25 UTC
Permalink
Hello,
today I updated my TeX Live 2018 installation (it is pretest and will be
freezed shortly) but my usual document fails to typeset (pdflatex). I
restore the latex package to rev. 43813, rebuild formats and the same
document is typeset fine.

Sorry, right now I don't have time (before the TeX Live freeze) to make
small example, only my current document.

---
WBR, Vladimir Lomov
--
The only time a dog gets complimented is when he doesn't do anything.
-- C. Schulz
Norbert Preining
2018-04-08 02:38:25 UTC
Permalink
Maybe encoding question? AFAIR did the default change to UTF8.
Post by Vladimir Lomov
Hello,
today I updated my TeX Live 2018 installation (it is pretest and will be
freezed shortly) but my usual document fails to typeset (pdflatex). I
restore the latex package to rev. 43813, rebuild formats and the same
document is typeset fine.
Sorry, right now I don't have time (before the TeX Live freeze) to make
small example, only my current document.
---
WBR, Vladimir Lomov
--
PREINING Norbert http://www.preining.info
Accelia Inc. + JAIST + TeX Live + Debian Developer
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Vladimir Lomov
2018-04-08 03:03:36 UTC
Permalink
Hello,
Post by Norbert Preining
Maybe encoding question? AFAIR did the default change to UTF8.
All my files uses UTF-8 (by default :).
Post by Norbert Preining
Post by Vladimir Lomov
Hello,
today I updated my TeX Live 2018 installation (it is pretest and will be
freezed shortly) but my usual document fails to typeset (pdflatex). I
restore the latex package to rev. 43813, rebuild formats and the same
document is typeset fine.
Sorry, right now I don't have time (before the TeX Live freeze) to make
small example, only my current document.
Sigh, seems I need how to prepare small example.

P.S. Thanks for backup option :).

---
WBR, Vladimir Lomov
--
If a child annoys you, quiet him by brushing his hair. If this doesn't
work, use the other side of the brush on the other end of the child.
Vladimir Lomov
2018-04-08 03:48:38 UTC
Permalink
Hello,
Post by Vladimir Lomov
Hello,
Post by Norbert Preining
Maybe encoding question? AFAIR did the default change to UTF8.
All my files uses UTF-8 (by default :).
Post by Norbert Preining
Post by Vladimir Lomov
Hello,
today I updated my TeX Live 2018 installation (it is pretest and will be
freezed shortly) but my usual document fails to typeset (pdflatex). I
restore the latex package to rev. 43813, rebuild formats and the same
document is typeset fine.
Sorry, right now I don't have time (before the TeX Live freeze) to make
small example, only my current document.
Sigh, seems I need how to prepare small example.
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.

P.S. The error from pdflatex was very misleading:

! Missing = inserted for \ifnum.
<to be read again>
2
l.4

? h
I was expecting to see `<', `=', or `>'. Didn't.

---
WBR, Vladimir Lomov
--
"We maintain that the very foundation of our way of life is what we call
free enterprise," said Cash McCall, "but when one of our citizens
show enough free enterprise to pile up a little of that profit, we do
our best to make him feel that he ought to be ashamed of himself."
-- Cameron Hawley
Joseph Wright
2018-04-08 06:46:51 UTC
Permalink
Post by Vladimir Lomov
Hello,
Post by Vladimir Lomov
Hello,
Post by Norbert Preining
Maybe encoding question? AFAIR did the default change to UTF8.
All my files uses UTF-8 (by default :).
Post by Norbert Preining
Post by Vladimir Lomov
Hello,
today I updated my TeX Live 2018 installation (it is pretest and will be
freezed shortly) but my usual document fails to typeset (pdflatex). I
restore the latex package to rev. 43813, rebuild formats and the same
document is typeset fine.
Sorry, right now I don't have time (before the TeX Live freeze) to make
small example, only my current document.
Sigh, seems I need how to prepare small example.
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.
I'll raise with the team: the issue is that space between "[" and the
start of the date, which has never been documented as supported that I
know of.

Joseph
Denis Bitouzé
2018-04-08 08:46:44 UTC
Permalink
Post by Vladimir Lomov
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.
I'll raise with the team: the issue is that space between "[" and the start of
the date, which has never been documented as supported that I know of.
Is there a workaround or restoring the latex package to rev. 43813 is
currently the only way to fix this problem?
--
Denis
Joseph Wright
2018-04-08 09:13:45 UTC
Permalink
Post by Denis Bitouzé
Post by Vladimir Lomov
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.
I'll raise with the team: the issue is that space between "[" and the start of
the date, which has never been documented as supported that I know of.
Is there a workaround or restoring the latex package to rev. 43813 is
currently the only way to fix this problem?
As I've said, I think the underlying problem is that a space had never
really be officially supported between "[" and the start of the date
information. So 'fix the .sty file' is quite workable.

That said, we'll almost certainly adjust here to deal with the problem
(it comes about from some defensive code that's been added to avoid a
separate issue!). For me

\makeatletter
\def\@***@t@r#1#2{%
\ifnum\expandafter\@***@version\expandafter#1//00\@nil<%
\expandafter\@***@version\expandafter#2//00\@nil
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}
\def\@***@version#1{\@***@version@0#1\@nil}
\def\@***@version@#1/#2/#3#4#5\@nil{%
\@***@version@dash#1-#2-#3#4\@nil
}
\makeatother

looks viable to keep the new defensive behaviour and allow for a space:
depending on views from the rest of the team this might go in today.

(I'll log an issue for this shortly.)

Joseph
Denis Bitouzé
2018-04-08 10:17:18 UTC
Permalink
Post by Joseph Wright
Post by Denis Bitouzé
Post by Vladimir Lomov
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.
I'll raise with the team: the issue is that space between "[" and the start of
the date, which has never been documented as supported that I know of.
Is there a workaround or restoring the latex package to rev. 43813 is
currently the only way to fix this problem?
As I've said, I think the underlying problem is that a space had never
really be officially supported between "[" and the start of the date
information. So 'fix the .sty file' is quite workable.
Sorry to not have read this thread more carefully. In fact, I sent this
message because, since the this morning TL 2018's update, I'm facing the
same error message as Vladimir:

┌────
│ ! Missing = inserted for \ifnum.
│ <to be read again>
│ 2
│ l.18 \usepackage
│ {geometry}
│ ? h
│ I was expecting to see `<', `=', or `>'. Didn't.
└────

but even without spurious spaces, for instance with the following MCE:

--8<---------------cut here---------------start------------->8---
\documentclass{article}
\usepackage[noDcommand]{kpfonts}
\usepackage{geometry}
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---

Here is the `pdftex' version used:

┌────
│ $ pdflatex 1 ↵
│ This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)
│ restricted \write18 enabled.
└────

Here is my file list:

┌────
│ *File List*
│ book.cls 2014/09/29 v1.4h Standard LaTeX document class
│ bk10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
│ kpfonts.sty 2010/08/20 v3.31
│ textcomp.sty 2017/04/05 v2.0i Standard LaTeX package
│ ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
│ ts1enc.dfu 2018/04/05 v1.2c UTF-8 support for inputenc
│ amsmath.sty 2017/09/02 v2.17a AMS math features
│ amstext.sty 2000/06/29 v2.01 AMS text
│ amsgen.sty 1999/11/30 v2.0 generic functions
│ amsbsy.sty 1999/11/29 v1.2d Bold Symbols
│ amsopn.sty 2016/03/08 v2.02 operator names
│ geometry.sty 2018/03/24 v5.7 Page Geometry
│ keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
│ ifpdf.sty 2017/03/15 v3.2 Provides the ifpdf switch
│ ifvtex.sty 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
│ ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional
│ omljkp.fd 2006/08/15 v1.0
│ omsjkp.fd 2006/08/15 v1.0
│ omxjkp.fd 2006/08/15 v1.0
│ ujkpexa.fd 2006/08/15 v1.0
│ ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
│ ot1jkp.fd 2007/08/30 Fontinst v1.928 font definitions for OT1/jkp.
└────
Post by Joseph Wright
That said, we'll almost certainly adjust here to deal with the problem (it comes
about from some defensive code that's been added to avoid a separate
issue!). For me
\makeatletter
\else
\fi}
}
\makeatother
depending on views from the rest of the team this might go in today.
This fails:

┌────
│ ! Undefined control sequence.
│ <argument> 01\@nil
│ 994
│ l.25 [1994/12/01]
│ % LaTeX date must be December 1994 or later
└────

with the MCE:

--8<---------------cut here---------------start------------->8---
\documentclass{article}
\makeatletter
\def\@***@t@r#1#2{%
\ifnum\expandafter\@***@version\expandafter#1//00\@nil<%
\expandafter\@***@version\expandafter#2//00\@nil
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}
\def\@***@version#1{\@***@version@0#1\@nil}
\def\@***@version@#1/#2/#3#4#5\@nil{%
\@***@version@dash#1-#2-#3#4\@nil
}
\makeatother
\usepackage[noDcommand]{kpfonts}
\usepackage{geometry}
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
--
Denis
Joseph Wright
2018-04-08 10:26:15 UTC
Permalink
Post by Denis Bitouzé
Post by Joseph Wright
Post by Denis Bitouzé
Post by Vladimir Lomov
Seems that parsing of '\ProvidesPackage' and related commands was
changed. I made small example that shows the problem (I made several
small packages and they have '\ProvidesPackage' similar to one in
example). I attached example file and example style.
I'll raise with the team: the issue is that space between "[" and the start of
the date, which has never been documented as supported that I know of.
Is there a workaround or restoring the latex package to rev. 43813 is
currently the only way to fix this problem?
As I've said, I think the underlying problem is that a space had never
really be officially supported between "[" and the start of the date
information. So 'fix the .sty file' is quite workable.
Sorry to not have read this thread more carefully. In fact, I sent this
message because, since the this morning TL 2018's update, I'm facing the
┌────
│ ! Missing = inserted for \ifnum.
│ <to be read again>
│ 2
│ l.18 \usepackage
│ {geometry}
│ ? h
│ I was expecting to see `<', `=', or `>'. Didn't.
└────
--8<---------------cut here---------------start------------->8---
\documentclass{article}
\usepackage[noDcommand]{kpfonts}
\usepackage{geometry}
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
kpfonts has a space after "[" in the package code: it's one of only two
packages that do in TeX Live.
Post by Denis Bitouzé
--8<---------------cut here---------------start------------->8---
\documentclass{article}
\makeatletter
\else
\fi}
}
\makeatother
\usepackage[noDcommand]{kpfonts}
\usepackage{geometry}
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
Did say I'd not tested it fully: I'll work on it.

Joseph
Joseph Wright
2018-04-08 10:40:21 UTC
Permalink
Should have been

\def\@***@version#1{\@***@version@0#1}

Joseph
Denis Bitouzé
2018-04-08 13:19:48 UTC
Permalink
Post by Joseph Wright
Should have been
That works on my previous MCE but still fails in other context:

┌────
│ ! Package biblatex Error: Outdated 'etoolbox' package.

│ See the biblatex package documentation for explanation.
│ Type H <return> for immediate help.
│ ...

│ l.54 \endinput}

│ ? h
│ Upgrade to etoolbox v2.1 (2010/11/29) or later.
│ I found: '2018/02/11 v2.5e e-TeX tools for LaTeX (JAW)'.
│ This is a fatal error. I'm aborting now
└────

with the following MCE:

--8<---------------cut here---------------start------------->8---
\documentclass{article}
\makeatletter
\def\@***@t@r#1#2{%
\ifnum\expandafter\@***@version\expandafter#1//00\@nil<%
\expandafter\@***@version\expandafter#2//00\@nil
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}
\def\@***@version#1{\@***@version@0#1}
\def\@***@version@#1/#2/#3#4#5\@nil{%
\@***@version@dash#1-#2-#3#4\@nil
}
\makeatother
\usepackage{biblatex}%
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
--
Denis
David Carlisle
2018-04-08 13:25:01 UTC
Permalink
Your test file works with the version we actually checked in to the sources, see

https://github.com/latex3/latex2e/issues/33

David
Post by Denis Bitouzé
Post by Joseph Wright
Should have been
┌────
│ ! Package biblatex Error: Outdated 'etoolbox' package.

│ See the biblatex package documentation for explanation.
│ Type H <return> for immediate help.
│ ...

│ l.54 \endinput}

│ ? h
│ Upgrade to etoolbox v2.1 (2010/11/29) or later.
│ I found: '2018/02/11 v2.5e e-TeX tools for LaTeX (JAW)'.
│ This is a fatal error. I'm aborting now
└────
--8<---------------cut here---------------start------------->8---
\documentclass{article}
\makeatletter
\else
\fi}
}
\makeatother
\usepackage{biblatex}%
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
--
Denis
Denis Bitouzé
2018-04-08 13:28:54 UTC
Permalink
Post by David Carlisle
Your test file works with the version we actually checked in to the sources, see
https://github.com/latex3/latex2e/issues/33
Indeed: thanks!
--
Denis
Denis Bitouzé
2018-04-08 19:13:05 UTC
Permalink
Post by David Carlisle
Your test file works with the version we actually checked in to the sources, see
https://github.com/latex3/latex2e/issues/33
Does this fix be in TL 2018?
--
Denis
Joseph Wright
2018-04-08 13:26:48 UTC
Permalink
Post by Denis Bitouzé
Post by Joseph Wright
Should have been
┌────
│ ! Package biblatex Error: Outdated 'etoolbox' package.

│ See the biblatex package documentation for explanation.
│ Type H <return> for immediate help.
│ ...

│ l.54 \endinput}

│ ? h
│ Upgrade to etoolbox v2.1 (2010/11/29) or later.
│ I found: '2018/02/11 v2.5e e-TeX tools for LaTeX (JAW)'.
│ This is a fatal error. I'm aborting now
└────
--8<---------------cut here---------------start------------->8---
\documentclass{article}
\makeatletter
\else
\fi}
}
\makeatother
\usepackage{biblatex}%
\begin{document}
Foo.
\end{document}
--8<---------------cut here---------------end--------------->8---
There's a stray \expandafter in the above, sorry

\def\@***@t@r#1#2{%
\ifnum\expandafter\@***@version#1//00\@nil<%
\expandafter\@***@version#2//00\@nil
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}

Joseph
Loading...