15

There are a number of useful Perl scripts distributed with TeX and friends. Perl deprecated the use of unescaped literal characters in regular expressions in version 5.16 and now they're no longer permissible and will cause an error. Some of the Perl scripts in the TeX distributions suffered from this problem in the past but have now been fixed, but users are still picking up old versions that don't work with new versions of Perl.

Can we have a definitive list of all Perl scripts provided with TeX distributions that have fixed this issue (with version number) for easy reference whenever there's a new question that includes an error message like:

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE
  • 2
    This question should be in the primary site, not meta. – lhf Nov 13 '17 at 12:06
  • 1
    @lhf It was intended as a reference question, like Often referenced questions. Perhaps it should've been a separate answer on that question, but it didn't quite fit the format. – Nicola Talbot Nov 13 '17 at 13:35
11

Fixed

Fixed in Repository but Pending New Release

Not Yet Fixed

Deprecated

(There won't be any new versions of these.)

  • csvtools.pl (distributed with the obsolete csvtools package).
  • makeglos.pl (distributed with the obsolete glossary package).
  • makejmlrbook (distributed with jmlr). This no longer conforms to PMLR (formerly JMLR W&CP) guidelines. Production editors should use the newer makejmlrbookgui instead.
  • There were another few Biber warnings in version 2.7 that are only fixed in 2.8 (tex.stackexchange.com/q/395654/35864) – moewe Nov 11 '17 at 6:54
  • @moewe Thanks, updated. – Nicola Talbot Nov 11 '17 at 11:06
  • @DavidCarlisle Good idea, added not fixed and deprecated sections. – Nicola Talbot Nov 11 '17 at 11:06
  • Do you know texdef is not updated? Because Norbert said it was on 03/10 - tex.stackexchange.com/questions/388721/… - and he should know, I guess. I can't easily tell as I patched my copy - repeatedly, in fact. – cfr Nov 12 '17 at 0:19
  • @cfr The version that ships with TeX live 2017 (updated just seconds ago) does not seem to be updated. I just checked that I still get the error when calling texdef --help. – moewe Nov 12 '17 at 6:57
  • @moewe That's strange. texdef --help works fine for me with TL2017 and texdef --version shows texdef: Version 1.7b -- 2012/05/15. (I have Perl v5.18.4 installed.) However, there is a pair of unescaped {} (in $_[0] =~ s/\\[{}]//g) within subroutine remove_invalid_braces which might cause a problem. – Nicola Talbot Nov 12 '17 at 12:12
  • @cfr Perhaps Norbert could verify. Maybe move it up to the "fixed but not yet released" section if it's still pending. – Nicola Talbot Nov 12 '17 at 12:13
  • I'm using Perl v5.26.0 on Ubuntu 17.10, tlmgr says texdef is on version 1.7b. Since you are using Perl v5.18.4 maybe 'These have been deprecated since v5.16, with a deprecation message raised for some uses starting in v5.22. Unfortunately, the code added to raise the message was buggy and failed to warn in some cases where it should have.' (from your link above) explains it. – moewe Nov 12 '17 at 13:03
  • @moewe That could be it. (Perhaps I won't upgrade Perl just yet :-)) – Nicola Talbot Nov 12 '17 at 13:09
  • @moewe Though the warnings worked fine in the case of texdef - it carried on alarmingly for months and months before finally giving an error. Nicola: your perl is too old to break properly ;). – cfr Nov 12 '17 at 23:42
  • I got clarification from Norbert and updated the answer accordingly. Hope that is OK. Cc. @moewe – cfr Nov 13 '17 at 1:22
  • @cfr Thanks :-) – Nicola Talbot Nov 13 '17 at 13:13
  • 1
    On TeXLive 2016 (boo, I know), latexmk complains with, e.g. -C option, about "File::Glob::glob() will disappear in perl 5.30. Use File::Glob::bsd_glob() instead. at /Library/TeX/texbin/latexmk line 3253." Dunno if it is fixed already. – Oleg Lobachev Nov 23 '17 at 17:01
  • 1
    @OlegLobachev I saw a recent CTAN announcement with an update for latexmk with a reference to glob, so it's possible it's just been fixed. – Nicola Talbot Nov 23 '17 at 17:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .