aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-06-13 10:04:11 -0700
committerPaul Eggert2016-06-13 10:05:00 -0700
commit37887dd0f078ca02487251ec71ff04e21c7c3ab0 (patch)
tree6a312c486a47bccb32b8f2b690c449ad952cbcf9
parentab182c624868fcc0ed97597db669911099d4bd28 (diff)
downloademacs-37887dd0f078ca02487251ec71ff04e21c7c3ab0.tar.gz
emacs-37887dd0f078ca02487251ec71ff04e21c7c3ab0.zip
Update texinfo.tex
* doc/misc/texinfo.tex: Update from gnulib.
-rw-r--r--doc/misc/texinfo.tex84
1 files changed, 63 insertions, 21 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 85846f4da41..e60dd170190 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2016-05-28.16} 6\def\texinfoversion{2016-06-07.21}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -1192,6 +1192,7 @@ where each line of input produces a line of output.}
1192 \ifx\pdfescapestring\thisisundefined 1192 \ifx\pdfescapestring\thisisundefined
1193 % No primitive available; should we give a warning or log? 1193 % No primitive available; should we give a warning or log?
1194 % Many times it won't matter. 1194 % Many times it won't matter.
1195 \xdef#1{#1}%
1195 \else 1196 \else
1196 % The expandable \pdfescapestring primitive escapes parentheses, 1197 % The expandable \pdfescapestring primitive escapes parentheses,
1197 % backslashes, and other special chars. 1198 % backslashes, and other special chars.
@@ -1311,8 +1312,10 @@ output) for that.)}
1311 % We have to set dummies so commands such as @code, and characters 1312 % We have to set dummies so commands such as @code, and characters
1312 % such as \, aren't expanded when present in a section title. 1313 % such as \, aren't expanded when present in a section title.
1313 \indexnofonts 1314 \indexnofonts
1314 \turnoffactive
1315 \makevalueexpandable 1315 \makevalueexpandable
1316 \turnoffactive
1317 % Use ASCII approximations in destination names.
1318 \passthroughcharsfalse
1316 \def\pdfdestname{#1}% 1319 \def\pdfdestname{#1}%
1317 \txiescapepdf\pdfdestname 1320 \txiescapepdf\pdfdestname
1318 \safewhatsit{\pdfdest name{\pdfdestname} xyz}% 1321 \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
@@ -1357,8 +1360,21 @@ output) for that.)}
1357 \fi 1360 \fi
1358 % 1361 %
1359 % Also escape PDF chars in the display string. 1362 % Also escape PDF chars in the display string.
1360 \edef\pdfoutlinetext{#1}% 1363 \bgroup
1361 \txiescapepdf\pdfoutlinetext 1364 \ifx \declaredencoding \latone
1365 % The PDF format can use an extended form of Latin-1 in bookmark
1366 % strings. See Appendix D of the PDF Reference, Sixth Edition, for
1367 % the "PDFDocEncoding".
1368 \passthroughcharstrue
1369 \fi
1370 \ifx \declaredencoding \utfeight
1371 % TODO: the PDF format can use UTF-16 in bookmark strings, but the
1372 % code for this isn't done yet.
1373 \fi
1374 \globaldefs=1
1375 \edef\pdfoutlinetext{#1}%
1376 \txiescapepdf\pdfoutlinetext
1377 \egroup
1362 % 1378 %
1363 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% 1379 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
1364 } 1380 }
@@ -10250,7 +10266,7 @@ directory should work if nowhere else does.}
10250 \countUTFx = "80 10266 \countUTFx = "80
10251 \countUTFy = "C2 10267 \countUTFy = "C2
10252 \def\UTFviiiTmp{% 10268 \def\UTFviiiTmp{%
10253 \gdef~{ 10269 \gdef~{%
10254 \ifpassthroughchars $\fi}}% 10270 \ifpassthroughchars $\fi}}%
10255 \UTFviiiLoop 10271 \UTFviiiLoop
10256 10272
@@ -10301,6 +10317,15 @@ directory should work if nowhere else does.}
10301 \fi 10317 \fi
10302} 10318}
10303 10319
10320% These macros are used here to construct the name of a control
10321% sequence to be defined.
10322\def\UTFviiiTwoOctetsName#1#2{%
10323 \csname u8:#1\string #2\endcsname}%
10324\def\UTFviiiThreeOctetsName#1#2#3{%
10325 \csname u8:#1\string #2\string #3\endcsname}%
10326\def\UTFviiiFourOctetsName#1#2#3#4{%
10327 \csname u8:#1\string #2\string #3\string #4\endcsname}%
10328
10304% For UTF-8 byte sequence (TeX, e-TeX and pdfTeX) 10329% For UTF-8 byte sequence (TeX, e-TeX and pdfTeX)
10305% Definition macro to replace the Unicode character 10330% Definition macro to replace the Unicode character
10306% Definition macro that is used by @U command 10331% Definition macro that is used by @U command
@@ -10317,17 +10342,18 @@ directory should work if nowhere else does.}
10317 \countUTFz = "#1\relax 10342 \countUTFz = "#1\relax
10318 \begingroup 10343 \begingroup
10319 \parseXMLCharref 10344 \parseXMLCharref
10345
10346 % Give \u8:... its definition. The sequence of seven \expandafter's
10347 % expands after the \gdef three times, e.g.
10320 % 10348 %
10321 % Access definitions of characters given UTF-8 sequences 10349 % 1. \UTFviiTwoOctetsName B1 B2
10322 \def\UTFviiiTwoOctets##1##2{% 10350 % 2. \csname u8:B1 \string B2 \endcsname
10323 \csname u8:##1\string ##2\endcsname}% 10351 % 3. \u8: B1 B2 (a single control sequence token)
10324 \def\UTFviiiThreeOctets##1##2##3{% 10352 %
10325 \csname u8:##1\string ##2\string ##3\endcsname}% 10353 \expandafter\expandafter
10326 \def\UTFviiiFourOctets##1##2##3##4{% 10354 \expandafter\expandafter
10327 \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% 10355 \expandafter\expandafter
10328 \expandafter\expandafter\expandafter\expandafter 10356 \expandafter\gdef \UTFviiiTmp{#2}%
10329 \expandafter\expandafter\expandafter
10330 \gdef\UTFviiiTmp{#2}%
10331 % 10357 %
10332 \expandafter\ifx\csname uni:#1\endcsname \relax \else 10358 \expandafter\ifx\csname uni:#1\endcsname \relax \else
10333 \message{Internal error, already defined: #1}% 10359 \message{Internal error, already defined: #1}%
@@ -10337,37 +10363,53 @@ directory should work if nowhere else does.}
10337 \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp 10363 \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
10338 \endgroup} 10364 \endgroup}
10339 % 10365 %
10340 % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp. 10366 % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
10367 % to the corresponding UTF-8 sequence.
10341 \gdef\parseXMLCharref{% 10368 \gdef\parseXMLCharref{%
10342 \ifnum\countUTFz < "A0\relax 10369 \ifnum\countUTFz < "A0\relax
10343 \errhelp = \EMsimple 10370 \errhelp = \EMsimple
10344 \errmessage{Cannot define Unicode char value < 00A0}% 10371 \errmessage{Cannot define Unicode char value < 00A0}%
10345 \else\ifnum\countUTFz < "800\relax 10372 \else\ifnum\countUTFz < "800\relax
10346 \parseUTFviiiA,% 10373 \parseUTFviiiA,%
10347 \parseUTFviiiB C\UTFviiiTwoOctets.,% 10374 \parseUTFviiiB C\UTFviiiTwoOctetsName.,%
10348 \else\ifnum\countUTFz < "10000\relax 10375 \else\ifnum\countUTFz < "10000\relax
10349 \parseUTFviiiA;% 10376 \parseUTFviiiA;%
10350 \parseUTFviiiA,% 10377 \parseUTFviiiA,%
10351 \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% 10378 \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}%
10352 \else 10379 \else
10353 \parseUTFviiiA;% 10380 \parseUTFviiiA;%
10354 \parseUTFviiiA,% 10381 \parseUTFviiiA,%
10355 \parseUTFviiiA!% 10382 \parseUTFviiiA!%
10356 \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% 10383 \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}%
10357 \fi\fi\fi 10384 \fi\fi\fi
10358 } 10385 }
10359 10386
10387 % Extract a byte from the end of the UTF-8 representation of \countUTFx.
10388 % It must be a non-initial byte in the sequence.
10389 % Change \uccode of #1 for it to be used in \parseUTFviiiB as one
10390 % of the bytes.
10360 \gdef\parseUTFviiiA#1{% 10391 \gdef\parseUTFviiiA#1{%
10361 \countUTFx = \countUTFz 10392 \countUTFx = \countUTFz
10362 \divide\countUTFz by 64 10393 \divide\countUTFz by 64
10363 \countUTFy = \countUTFz 10394 \countUTFy = \countUTFz % Save to be the future value of \countUTFz.
10364 \multiply\countUTFz by 64 10395 \multiply\countUTFz by 64
10396
10397 % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract
10398 % in order to get the last five bits.
10365 \advance\countUTFx by -\countUTFz 10399 \advance\countUTFx by -\countUTFz
10400
10401 % Convert this to the byte in the UTF-8 sequence.
10366 \advance\countUTFx by 128 10402 \advance\countUTFx by 128
10367 \uccode `#1\countUTFx 10403 \uccode `#1\countUTFx
10368 \countUTFz = \countUTFy} 10404 \countUTFz = \countUTFy}
10369 10405
10370 % Used to set \UTFviiiTmp to a UTF-8 byte sequence 10406 % Used to put a UTF-8 byte sequence into \UTFviiiTmp
10407 % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8
10408 % sequence.
10409 % #2 is one of the \UTFviii*OctetsName macros.
10410 % #3 is always a full stop (.)
10411 % #4 is a template for the other bytes in the sequence. The values for these
10412 % bytes is substituted in here with \uppercase using the \uccode's.
10371 \gdef\parseUTFviiiB#1#2#3#4{% 10413 \gdef\parseUTFviiiB#1#2#3#4{%
10372 \advance\countUTFz by "#10\relax 10414 \advance\countUTFz by "#10\relax
10373 \uccode `#3\countUTFz 10415 \uccode `#3\countUTFz