[LON-CAPA-cvs] cvs: loncom / LONCAPA.pm /lonnet/perl lonnet.pm /xml londefdef.pm
raeburn
raeburn at source.lon-capa.org
Thu Aug 6 20:09:31 EDT 2026
raeburn Fri Aug 7 00:09:31 2026 EDT
Modified files:
/loncom/xml londefdef.pm
/loncom LONCAPA.pm
/loncom/lonnet/perl lonnet.pm
Log:
- [utf8x]{inputenc} and recent hyperref packages are incompatible.
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.479 loncom/xml/londefdef.pm:1.480
--- loncom/xml/londefdef.pm:1.479 Fri Feb 6 20:30:07 2026
+++ loncom/xml/londefdef.pm Fri Aug 7 00:09:30 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.479 2026/02/06 20:30:07 raeburn Exp $
+# $Id: londefdef.pm,v 1.480 2026/08/07 00:09:30 raeburn Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -4632,6 +4632,12 @@
sub latex_header {
my ($mode,$pdfforms) = @_;
my $currentstring = '';
+ my $hyperrefyear = '';
+ if (($env{'form.pdfFormFields'} eq 'yes') || ($pdfforms eq 'yes')) {
+ if ($Apache::lonnet::hyperref =~ /^(\d+)\-\d+\-\d+$/) {
+ $hyperrefyear = $1;
+ }
+ }
$currentstring .=
"\n% &Apache::lonxml::londefdef \n" .
@@ -4650,8 +4656,16 @@
'\usepackage{picins}'."\n".
'\usepackage[T1]{fontenc}'."\n".
'\usepackage{lmodern}'."\n".
- '\usepackage[postscript]{ucs}'."\n".
- '\usepackage[utf8x]{inputenc}'."\n".
+ '\usepackage[postscript]{ucs}'."\n";
+ if ((($env{'form.pdfFormFields'} eq 'yes') || ($pdfforms eq 'yes')) &&
+ ($hyperrefyear > 2022)) {
+ $currentstring .=
+ '\usepackage[utf8]{inputenc}'."\n";
+ } else {
+ $currentstring .=
+ '\usepackage[utf8x]{inputenc}'."\n";
+ }
+ $currentstring .=
'\usepackage{pifont}'."\n".
'\usepackage{latexsym}'."\n".
'\usepackage{epsfig}'."\n".
Index: loncom/LONCAPA.pm
diff -u loncom/LONCAPA.pm:1.37 loncom/LONCAPA.pm:1.38
--- loncom/LONCAPA.pm:1.37 Thu Aug 6 21:45:47 2026
+++ loncom/LONCAPA.pm Fri Aug 7 00:09:31 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Base routines
#
-# $Id: LONCAPA.pm,v 1.37 2026/08/06 21:45:47 raeburn Exp $
+# $Id: LONCAPA.pm,v 1.38 2026/08/07 00:09:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -181,6 +181,38 @@
return $year;
}
+# Return the version date of hyperref.sty available on this server.
+
+sub hyperref_versiondate {
+ my ($kpse,$hyperrefsty,$versiondate);
+ $kpse = can_run('kpsewhich');
+ if ($kpse ne '') {
+ my @args = ($kpse,'hyperref.sty');
+ if (open(my $pipe,'-|', at args)) {
+ $hyperrefsty = <$pipe>;
+ chomp($hyperrefsty);
+ close($pipe);
+ }
+ if ($hyperrefsty ne '') {
+ if (open(my $fh,'<',$hyperrefsty)) {
+ my $getnextline;
+ while (my $line=<$fh>) {
+ if ($line =~ /^\Q\ProvidesPackage{hyperref}\E/) {
+ $getnextline = 1;
+ } elsif ($getnextline) {
+ if ($line =~ /^\s*\[(\d+\-\d+\-\d+)\s+v/) {
+ $versiondate = $1;
+ }
+ last;
+ }
+ }
+ close($fh);
+ }
+ }
+ }
+ return $versiondate;
+}
+
#----------------------------------------------------------------------
#
# some of these subs need a bit of documentation
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1546 loncom/lonnet/perl/lonnet.pm:1.1547
--- loncom/lonnet/perl/lonnet.pm:1.1546 Thu Aug 6 21:45:46 2026
+++ loncom/lonnet/perl/lonnet.pm Fri Aug 7 00:09:31 2026
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.1546 2026/08/06 21:45:46 raeburn Exp $
+# $Id: lonnet.pm,v 1.1547 2026/08/07 00:09:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -79,7 +79,7 @@
use vars qw(%perlvar %spareid %pr %prp $memcache %packagetab $tmpdir $deftex
$_64bit %env %protocol %loncaparevs %serverhomeIDs %needsrelease
- %managerstab $passwdmin $texlive);
+ %managerstab $passwdmin $texlive $hyperref);
my (%badServerCache, $memcache, %courselogs, %accesshash, %domainrolehash,
%userrolehash, $processmarker, $dumpcount, %coursedombuf,
@@ -16869,6 +16869,11 @@
$texlive = LONCAPA::texlive_year();
}
+# ------------ get hyperref.sty version
+{
+ $hyperref = LONCAPA::hyperref_versiondate();
+}
+
$memcache=new Cache::Memcached({'servers' => ['127.0.0.1:11211'],
'compress_threshold'=> 20_000,
});
More information about the LON-CAPA-cvs
mailing list