summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/kpathsea/ChangeLog11
-rw-r--r--Build/source/texk/kpathsea/NEWS3
-rw-r--r--Build/source/texk/kpathsea/doc/kpathsea.info237
-rw-r--r--Build/source/texk/kpathsea/doc/kpathsea.texi54
-rw-r--r--Build/source/texk/kpathsea/kpsewhich.c26
-rw-r--r--Build/source/texk/web2c/cwebdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/cwebdir/ctwill-mini.ch3
7 files changed, 226 insertions, 112 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog
index 6c09d3e1393..9babe798062 100644
--- a/Build/source/texk/kpathsea/ChangeLog
+++ b/Build/source/texk/kpathsea/ChangeLog
@@ -1,3 +1,14 @@
+2025-01-15 Karl Berry <karl@freefriends.org>
+
+ * kpsewhich.c (main): output blank line for search files that are
+ not found, if more than one search file is specified.
+ Suggestion from Norbert and Deyan, thread starting at
+ https://tug.org/pipermail/texhax/2024-July/026506.html
+ (USAGE): mention this.
+ * doc/kpathsea.texi (Invoking kpsewhich): mention this,
+ and the exit status.
+ (kpsewhich examples): new node.
+
2024-11-06 Karl Berry <karl@freefriends.org>
* tex-file.c (kpathsea_name_ok): don't allow writing to the
diff --git a/Build/source/texk/kpathsea/NEWS b/Build/source/texk/kpathsea/NEWS
index 799df460360..f5c18e5afc0 100644
--- a/Build/source/texk/kpathsea/NEWS
+++ b/Build/source/texk/kpathsea/NEWS
@@ -1,6 +1,9 @@
$Id$
This file records noteworthy changes. (Public domain.)
+* kpsewhich outputs a blank line when a given file cannot be found,
+ if more than one file to search for is specified.
+
* A file named ".tex" can no longer be written from TeX; previously this
was allowed as a special case. (The LaTeX 2024-11-01 release changes
their build process so as not to write it from TeX.)
diff --git a/Build/source/texk/kpathsea/doc/kpathsea.info b/Build/source/texk/kpathsea/doc/kpathsea.info
index 6011858e461..e4b8db2b9bc 100644
--- a/Build/source/texk/kpathsea/doc/kpathsea.info
+++ b/Build/source/texk/kpathsea/doc/kpathsea.info
@@ -1,9 +1,9 @@
-This is kpathsea.info, produced by makeinfo version 7.1.1 from
+This is kpathsea.info, produced by makeinfo version 7.2 from
kpathsea.texi.
This file documents the Kpathsea library for path searching.
- Copyright © 1996-2024 Karl Berry & Olaf Weber.
+ Copyright © 1996-2025 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -37,7 +37,7 @@ Kpathsea library
****************
This manual documents the Kpathsea library for path searching. It
-corresponds to version 6.4.0, released in November 2024.
+corresponds to version 6.4.0, released in January 2025.
* Menu:
@@ -62,7 +62,7 @@ File: kpathsea.info, Node: Introduction, Next: unixtex.ftp, Prev: Top, Up: T
**************
This manual corresponds to version 6.4.0 of the Kpathsea library,
-released in November 2024.
+released in January 2025.
The library's fundamental purpose is to return a filename from a list
of directories specified by the user, similar to what shells do when
@@ -72,9 +72,9 @@ looking up program names to execute.
this library:
• Dviljk (see the ‘dvilj’ man page)
- • Dvipsk (*note (dvips)::)
- • GNU font utilities (*note (fontu)::)
- • Web2c (*note (web2c)::)
+ • Dvipsk (*note (dvips)Top::)
+ • GNU font utilities (*note (fontu)Top::)
+ • Web2c (*note (web2c)Top::)
• Xdvik (see the ‘xdvi’ man page)
Other software that we do not maintain also uses it.
@@ -82,7 +82,7 @@ Other software that we do not maintain also uses it.
Kpathsea is now maintained as part of the TeX Live distribution
(<https://tug.org/texlive>), which includes several more Kpathsea-using
programs. For information on configuration, building, installing, and
-more, *note (tlbuild)::.
+more, *note (tlbuild)Top::.
The library is still actively maintained. If you have comments or
suggestions, please send along (*note Reporting bugs::).
@@ -1219,23 +1219,55 @@ in administrative scripts. It is used heavily in the distributed
can start with either ‘-’ or ‘--’, and any unambiguous abbreviation is
accepted.
+ Kpsewhich looks up each non-option argument on the command line as a
+filename, and outputs (by default) the first file found to standard
+output. If a file is not found, and more than FILENAME is given, a
+blank line is output for that file. See examples below.
+
+ The exit status is zero if all files were found, nonzero otherwise.
+
* Menu:
+* kpsewhich examples:: Simple examples of running kpsewhich.
* Path searching options:: Changing the mode, resolution, etc.
* Specially-recognized files:: Default formats for texmf.cnf, etc.
* Auxiliary tasks:: Path and variable expansion, etc.
* Standard options:: ‘--help’ and ‘--version’.

-File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, Up: Invoking kpsewhich
+File: kpathsea.info, Node: kpsewhich examples, Next: Path searching options, Up: Invoking kpsewhich
-5.6.1 Path searching options
-----------------------------
+5.6.1 ‘kpsewhich’ examples
+--------------------------
+
+Some examples of running ‘kpsewhich’ with a typical TeX tree. A basic
+successful search (exit status 0):
+
+ $ kpsewhich plain.tex
+ /usr/local/texlive/2024/texmf-dist/tex/plain/base/plain.tex
+
+ Searching for multiple files, one of which is not found (exit status
+is 1 for this):
+
+ $ kpsewhich plain.tex foobar plain.mf
+ /usr/local/texlive/2024/texmf-dist/tex/plain/base/plain.tex
+
+ /usr/local/texlive/2024/texmf-dist/metafont/base/plain.mf
+
+ Using ‘--all’ to see all files by the same name (exit status 0):
-Kpsewhich looks up each non-option argument on the command line as a
-filename, and returns the first file found.
+ $ kpsewhich --all language.dat
+ /usr/local/texlive/2024/texmf-dist/tex/generic/config/language.dat
+ /usr/local/texlive/2024/texmf-dist/lambda/generic/config/language.dat
- Various options alter the path searching behavior:
+
+File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, Prev: kpsewhich examples, Up: Invoking kpsewhich
+
+5.6.2 Path searching options
+----------------------------
+
+Various options alter the path searching behavior. Options apply to all
+lookups.
‘--all’
Report all matches found, one per line. By default, if there is
@@ -1243,6 +1275,11 @@ filename, and returns the first file found.
at random). Exception: with the glyph formats (‘pk’, ‘gf’), this
option has no effect and only the first match is returned.
+ With both ‘-all’ and multiple input files, there's no easy way to
+ discern which matches belong to which files; you have to check the
+ basename of the output. This could be improved, if there is any
+ demand.
+
‘--casefold-search’
‘--no-casefold-search’
Explicitly enable or disable the fallback to a case-insensitive
@@ -1475,7 +1512,7 @@ filename, and returns the first file found.

File: kpathsea.info, Node: Specially-recognized files, Next: Auxiliary tasks, Prev: Path searching options, Up: Invoking kpsewhich
-5.6.2 Specially-recognized files for ‘kpsewhich’
+5.6.3 Specially-recognized files for ‘kpsewhich’
------------------------------------------------
‘kpsewhich’ recognizes a few special filenames on the command line and
@@ -1525,7 +1562,7 @@ various information about the above configuration files (among others).

File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Specially-recognized files, Up: Invoking kpsewhich
-5.6.3 Auxiliary tasks
+5.6.4 Auxiliary tasks
---------------------
Kpsewhich provides some features in addition to path lookup as such:
@@ -1619,7 +1656,7 @@ Kpsewhich provides some features in addition to path lookup as such:

File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich
-5.6.4 Standard options
+5.6.5 Standard options
----------------------
Kpsewhich accepts the standard GNU options:
@@ -2084,7 +2121,7 @@ fonts equivalent.
Fontmaps are implemented in the file ‘kpathsea/fontmap.c’. The
Fontname distribution has much more information on font naming (*note
-(fontname)::).
+(fontname)Top::).

File: kpathsea.info, Node: Fallback font, Prev: Fontmap, Up: Glyph lookup
@@ -3154,48 +3191,48 @@ Index
* Menu:
* --all: Path searching options.
- (line 12)
+ (line 10)
* --casefold-search: Path searching options.
- (line 19)
+ (line 22)
* --cnf-line: Path searching options.
- (line 28)
+ (line 31)
* --cnf-line, source for path: Path sources. (line 9)
* --color=tty: ls-R. (line 25)
* --debug=NUM: Auxiliary tasks. (line 9)
* --dpi=NUM: Path searching options.
- (line 49)
+ (line 52)
* --engine=NAME: Path searching options.
- (line 53)
+ (line 56)
* --expand-braces=STRING: Auxiliary tasks. (line 12)
* --expand-path=STRING: Auxiliary tasks. (line 16)
* --expand-var=STRING: Auxiliary tasks. (line 34)
* --format=NAME: Path searching options.
- (line 70)
+ (line 73)
* --help: Standard options. (line 8)
* --help-formats: Auxiliary tasks. (line 42)
* --interactive: Path searching options.
- (line 152)
+ (line 155)
* --mktex=FILETYPE: Path searching options.
- (line 157)
+ (line 160)
* --mode=STRING: Path searching options.
- (line 163)
+ (line 166)
* --must-exist: Path searching options.
- (line 168)
+ (line 171)
* --no-casefold-search: Path searching options.
- (line 19)
+ (line 22)
* --no-mktex=FILETYPE: Path searching options.
- (line 157)
+ (line 160)
* --path=STRING: Path searching options.
- (line 173)
+ (line 176)
* --progname=NAME: Path searching options.
- (line 181)
+ (line 184)
* --safe-extended-in-name=NAME: Auxiliary tasks. (line 48)
* --safe-extended-out-name=NAME: Auxiliary tasks. (line 48)
* --safe-in-name=NAME: Auxiliary tasks. (line 54)
* --safe-out-name=NAME: Auxiliary tasks. (line 54)
* --show-path=NAME: Auxiliary tasks. (line 60)
* --subdir=STRING: Path searching options.
- (line 186)
+ (line 189)
* --var-brace-value=VARIABLE: Auxiliary tasks. (line 66)
* --var-value=VARIABLE: Auxiliary tasks. (line 80)
* --version: Standard options. (line 11)
@@ -3209,7 +3246,7 @@ Index
* -1 debugging value: Debugging. (line 23)
* -A option to ls: ls-R. (line 39)
* -D NUM: Path searching options.
- (line 49)
+ (line 52)
* -iname, find predicate: Casefolding examples.
(line 78)
* -L option to ls: ls-R. (line 44)
@@ -3366,7 +3403,7 @@ Index
* all: Suppressing warnings.
(line 13)
* all matches, finding: Path searching options.
- (line 12)
+ (line 10)
* alphabetical order, not: Subdirectory expansion.
(line 6)
* announcement mailing list: Mailing lists. (line 6)
@@ -3514,7 +3551,7 @@ Index
* ENCFONTS: Supported file formats.
(line 61)
* engine name: Path searching options.
- (line 53)
+ (line 56)
* environment variable, source for path: Path sources. (line 12)
* environment variables for TeX: Supported file formats.
(line 6)
@@ -3525,6 +3562,7 @@ Index
* error message macros: Calling sequence. (line 22)
* examples, of casefolding searches: Casefolding examples.
(line 6)
+* examples, of running kpsewhich: kpsewhich examples. (line 6)
* excessive startup time: Slow path searching. (line 6)
* expand.c: Brace expansion. (line 26)
* expanding symlinks: Calling sequence. (line 31)
@@ -3625,7 +3663,7 @@ Index
(line 84)
* input lines, reading: Calling sequence. (line 91)
* interactive query: Path searching options.
- (line 152)
+ (line 155)
* interface, not frozen: Introduction. (line 29)
* introduction: Introduction. (line 6)
* kdebug:: Debugging. (line 105)
@@ -3679,6 +3717,7 @@ Index
* kpse->invocation_short_name: Calling sequence. (line 22)
* kpse->program_name: Calling sequence. (line 22)
* kpsewhich: Invoking kpsewhich. (line 6)
+* kpsewhich examples: kpsewhich examples. (line 6)
* Kpsewhich, and debugging: Debugging. (line 31)
* last-resort font: Fallback font. (line 6)
* lcircle10: Fontmap. (line 19)
@@ -3865,7 +3904,7 @@ Index
* reporting bugs: Reporting bugs. (line 6)
* resident.c: Calling sequence. (line 47)
* resolution, setting: Path searching options.
- (line 49)
+ (line 52)
* resolutions, last-resort: Fallback font. (line 6)
* restricted mode, for output files: Safe filenames. (line 15)
* retrieving TeX: unixtex.ftp. (line 6)
@@ -4121,69 +4160,69 @@ Index
* XDVISIZES: Fallback font. (line 6)
* zuhn, david: History. (line 50)
-

Tag Table:
-Node: Top1481
-Node: Introduction2264
-Node: History4356
-Node: unixtex.ftp8976
-Node: Security10458
-Node: Global font cache and security13171
-Node: TeX directory structure15162
-Node: Path searching19337
-Node: Searching overview20295
-Node: Path sources24202
-Node: Config files25472
-Node: Path expansion30520
-Node: Default expansion31489
-Node: Variable expansion33611
-Node: Tilde expansion35080
-Node: Brace expansion36128
-Node: KPSE_DOT expansion37123
-Node: Subdirectory expansion37648
-Node: Casefolding search40088
-Node: Casefolding rationale40865
-Node: Casefolding examples42223
-Node: Filename database47445
-Node: ls-R48459
-Node: Filename aliases52331
-Node: Database format53573
-Node: Invoking kpsewhich54622
-Node: Path searching options55605
-Node: Specially-recognized files65607
-Node: Auxiliary tasks67082
-Node: Standard options71226
-Node: TeX support71594
-Node: Supported file formats72952
-Node: File lookup81703
-Node: Glyph lookup83508
-Node: Basic glyph lookup84656
-Node: Fontmap85564
-Node: Fallback font88172
-Node: Suppressing warnings89108
-Node: mktex scripts90271
-Node: mktex configuration91514
-Node: mktex script names97607
-Node: mktex script arguments99290
-Node: Programming100205
-Node: Programming overview100848
-Node: Calling sequence103759
-Node: Safe filenames109096
-Ref: openout_any109255
-Node: Program-specific files113064
-Node: Programming with config files114117
-Node: Reporting bugs115764
-Node: Bug checklist116442
-Node: Mailing lists119999
-Node: Debugging120676
-Node: Logging125933
-Node: Common problems127840
-Node: Unable to find files128317
-Node: Slow path searching130773
-Node: Unable to generate fonts132168
-Node: TeX or Metafont failing134704
-Node: Index135906
+Node: Top1479
+Node: Introduction2261
+Node: History4364
+Node: unixtex.ftp8984
+Node: Security10466
+Node: Global font cache and security13179
+Node: TeX directory structure15170
+Node: Path searching19345
+Node: Searching overview20303
+Node: Path sources24210
+Node: Config files25480
+Node: Path expansion30528
+Node: Default expansion31497
+Node: Variable expansion33619
+Node: Tilde expansion35088
+Node: Brace expansion36136
+Node: KPSE_DOT expansion37131
+Node: Subdirectory expansion37656
+Node: Casefolding search40096
+Node: Casefolding rationale40873
+Node: Casefolding examples42231
+Node: Filename database47453
+Node: ls-R48467
+Node: Filename aliases52339
+Node: Database format53581
+Node: Invoking kpsewhich54630
+Node: kpsewhich examples56021
+Node: Path searching options56909
+Node: Specially-recognized files67083
+Node: Auxiliary tasks68558
+Node: Standard options72702
+Node: TeX support73070
+Node: Supported file formats74428
+Node: File lookup83179
+Node: Glyph lookup84984
+Node: Basic glyph lookup86132
+Node: Fontmap87040
+Node: Fallback font89651
+Node: Suppressing warnings90587
+Node: mktex scripts91750
+Node: mktex configuration92993
+Node: mktex script names99086
+Node: mktex script arguments100769
+Node: Programming101684
+Node: Programming overview102327
+Node: Calling sequence105238
+Node: Safe filenames110575
+Ref: openout_any110734
+Node: Program-specific files114543
+Node: Programming with config files115596
+Node: Reporting bugs117243
+Node: Bug checklist117921
+Node: Mailing lists121478
+Node: Debugging122155
+Node: Logging127412
+Node: Common problems129319
+Node: Unable to find files129796
+Node: Slow path searching132252
+Node: Unable to generate fonts133647
+Node: TeX or Metafont failing136183
+Node: Index137385

End Tag Table
diff --git a/Build/source/texk/kpathsea/doc/kpathsea.texi b/Build/source/texk/kpathsea/doc/kpathsea.texi
index 4e2e42c0395..a7c866627e4 100644
--- a/Build/source/texk/kpathsea/doc/kpathsea.texi
+++ b/Build/source/texk/kpathsea/doc/kpathsea.texi
@@ -3,12 +3,12 @@
@settitle Kpathsea: A library for path searching
@set version 6.4.0
-@set month-year November 2024
+@set month-year January 2025
@copying
This file documents the Kpathsea library for path searching.
-Copyright @copyright{} 1996--2024 Karl Berry & Olaf Weber.
+Copyright @copyright{} 1996--2025 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -1516,7 +1516,15 @@ The options and filename(s) to look up can be intermixed.
Options can start with either @samp{-} or @samp{--}, and any unambiguous
abbreviation is accepted.
+Kpsewhich looks up each non-option argument on the command line as a
+filename, and outputs (by default) the first file found to standard
+output. If a file is not found, and more than @var{filename} is given,
+a blank line is output for that file. See examples below.
+
+The exit status is zero if all files were found, nonzero otherwise.
+
@menu
+* kpsewhich examples:: Simple examples of running kpsewhich.
* Path searching options:: Changing the mode, resolution, etc.
* Specially-recognized files:: Default formats for texmf.cnf, etc.
* Auxiliary tasks:: Path and variable expansion, etc.
@@ -1524,15 +1532,45 @@ abbreviation is accepted.
@end menu
+@node kpsewhich examples
+@subsection @code{kpsewhich} examples
+
+@cindex @code{kpsewhich} examples
+@cindex examples, of running @code{kpsewhich}
+
+Some examples of running @code{kpsewhich} with a typical @TeX{} tree.
+A basic successful search (exit status 0):
+
+@example
+$ kpsewhich plain.tex
+/usr/local/texlive/2024/texmf-dist/tex/plain/base/plain.tex
+@end example
+
+Searching for multiple files, one of which is not found (exit status
+is 1 for this):
+
+@example
+$ kpsewhich plain.tex foobar plain.mf
+/usr/local/texlive/2024/texmf-dist/tex/plain/base/plain.tex
+
+/usr/local/texlive/2024/texmf-dist/metafont/base/plain.mf
+@end example
+
+Using @code{--all} to see all files by the same name (exit status 0):
+
+@example
+$ kpsewhich --all language.dat
+/usr/local/texlive/2024/texmf-dist/tex/generic/config/language.dat
+/usr/local/texlive/2024/texmf-dist/lambda/generic/config/language.dat
+@end example
+
@node Path searching options
@subsection Path searching options
@cindex path searching options
-Kpsewhich looks up each non-option argument on the command line as a
-filename, and returns the first file found.
-
-Various options alter the path searching behavior:
+Various options alter the path searching behavior. Options apply to
+all lookups.
@table @samp
@item --all
@@ -1543,6 +1581,10 @@ than one match, just one will be reported (chosen effectively at
random). Exception: with the glyph formats (@code{pk}, @code{gf}),
this option has no effect and only the first match is returned.
+With both @code{-all} and multiple input files, there's no easy way to
+discern which matches belong to which files; you have to check the
+basename of the output. This could be improved, if there is any demand.
+
@item --casefold-search
@itemx --no-casefold-search
@opindex --casefold-search
diff --git a/Build/source/texk/kpathsea/kpsewhich.c b/Build/source/texk/kpathsea/kpsewhich.c
index 96ca5d1ed85..cb55fd8f9d2 100644
--- a/Build/source/texk/kpathsea/kpsewhich.c
+++ b/Build/source/texk/kpathsea/kpsewhich.c
@@ -1,7 +1,7 @@
/* kpsewhich -- standalone path lookup and variable expansion for Kpathsea.
Ideas from Thomas Esser, Pierre MacKay, and many others.
- Copyright 1995-2024 Karl Berry & Olaf Weber.
+ Copyright 1995-2025 Karl Berry & Olaf Weber.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -477,13 +477,18 @@ Standalone path lookup and expansion for the Kpathsea library.\n\
The default is to look up each FILENAME in turn and report its\n\
first match (if any) to standard output.\n\
\n\
+If multiple FILENAMEs are given and a given file is not found, a blank\n\
+line is written to standard output.\n\
+\n\
When looking up format (.fmt/.base/.mem) files, it is usually necessary\n\
to also use -engine, or nothing will be returned; in particular,\n\
-engine=/ will return matching format files for any engine.\n\
\n\
+The exit status is 0 if all files are found, nonzero otherwise.\n\
+\n\
-all output all matches, one per line (no effect with pk/gf).\n\
[-no]-casefold-search fall back to case-insensitive search if no exact match.\n\
--cnf-line=STRING parse STRING as a configuration file line.\n\
+-cnf-line=STRING handle STRING as a configuration file line.\n\
-debug=NUM set debugging flags.\n\
-D, -dpi=NUM use a base resolution of NUM; default 600.\n\
-engine=STRING set engine name to STRING.\n\
@@ -501,13 +506,13 @@ to also use -engine, or nothing will be returned; in particular,\n\
-progname=STRING set program name to STRING.\n\
-safe-in-name=STRING check if STRING is ok to open for input.\n\
-safe-out-name=STRING check if STRING is ok to open for output.\n\
--safe-extended-in-name=STRING also check TEXMF[SYS]VAR].\n\
--safe-extended-out-name=STRING also check TEXMF[SYS]VAR].\n\
+-safe-extended-in-name=STRING also check TEXMF[SYS]VAR.\n\
+-safe-extended-out-name=STRING also check TEXMF[SYS]VAR.\n\
-show-path=TYPE output search path for file type TYPE\n\
(list shown by -help-formats).\n\
-subdir=STRING only output matches whose directory ends with STRING.\n\
--var-brace-value=STRING output brace-expanded value of variable $STRING.\n\
--var-value=STRING output variable-expanded value of variable $STRING.\n\
+-var-brace-value=STRING output brace-expanded value of variable STRING.\n\
+-var-value=STRING output variable-expanded value of variable STRING.\n\
-version display version information number and exit.\n \
"
@@ -951,7 +956,14 @@ main (int argc, string *argv)
/* Usual case: look up each given filename. */
for (; optind < argc; optind++) {
- unfound += lookup (kpse, argv[optind]);
+ unsigned status = lookup (kpse, argv[optind]);
+ unfound += status;
+ if (status == 1 && optind + 1 < argc) {
+ /* If not found, and more than one input file is specified,
+ output blank line so the return strings can be matched
+ up with the input strings. */
+ puts ("");
+ }
}
if (interactive) {
diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog
index d72945bbc35..259cf462d84 100644
--- a/Build/source/texk/web2c/cwebdir/ChangeLog
+++ b/Build/source/texk/web2c/cwebdir/ChangeLog
@@ -1,3 +1,7 @@
+2025-01-15 Andreas Scherer <https://ascherer.github.io>
+
+ * ctwill-mini.ch: Don't mess with /PageLabels in CTWILL output.
+
2025-01-14 Andreas Scherer <https://ascherer.github.io>
* texinputs/pdfctwimac.tex: Switch on PDF outlines.
diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
index 0222450aeaf..8984909571b 100644
--- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
+++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch
@@ -25,6 +25,9 @@ Section 1.
\pdfpageheight=\pageheight \advance\pdfpageheight by 5cm
\ifpdflua \pdfhorigin=1cm \pdfvorigin=1cm
\else \global\hoffset=-1.54cm \global\voffset=-1.54cm \fi
+ \def\startpdf{\def\pagemode{/PageMode /UseOutlines}
+ \ifpdflua\pdfcatalog{\pagemode}
+ \else\special{pdf: docview << \pagemode >>}\fi}
\fi
@** Introduction.