diff options
| author | Paul Eggert | 2016-08-21 04:25:24 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-08-21 04:26:53 -0700 |
| commit | 1f7302563ae03e20e0a2f90a950c164f8bc17941 (patch) | |
| tree | 28806818138913e060af655464eecd7f60d68f75 | |
| parent | 886b9ed80c88b8f729ea9760f904b8c0ef63664f (diff) | |
| download | emacs-1f7302563ae03e20e0a2f90a950c164f8bc17941.tar.gz emacs-1f7302563ae03e20e0a2f90a950c164f8bc17941.zip | |
Update from gnulib
This incorporates:
2016-08-17 maint: preprocessor changes to support z/OS
2016-08-17 string: rename to avoid '__string'
* doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
Copy from gnulib.
| -rw-r--r-- | doc/misc/texinfo.tex | 425 | ||||
| -rw-r--r-- | lib/alloca.in.h | 2 | ||||
| -rw-r--r-- | lib/string.in.h | 16 |
3 files changed, 249 insertions, 194 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 5a1f728da48..5e260ed8f9c 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-08-03.13} | 6 | \def\texinfoversion{2016-08-16.20} |
| 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, |
| @@ -1108,9 +1108,14 @@ where each line of input produces a line of output.} | |||
| 1108 | % For LuaTeX | 1108 | % For LuaTeX |
| 1109 | % | 1109 | % |
| 1110 | 1110 | ||
| 1111 | \newif\iftxiuseunicodedestname | ||
| 1112 | \txiuseunicodedestnamefalse % For pdfTeX etc. | ||
| 1113 | |||
| 1111 | \ifx\luatexversion\thisisundefined | 1114 | \ifx\luatexversion\thisisundefined |
| 1112 | \else | 1115 | \else |
| 1113 | % Escape PDF strings UTF-8 to UTF-16 | 1116 | % Use Unicode destination names |
| 1117 | \txiuseunicodedestnametrue | ||
| 1118 | % Escape PDF strings with converting UTF-16 from UTF-8 | ||
| 1114 | \begingroup | 1119 | \begingroup |
| 1115 | \catcode`\%=12 | 1120 | \catcode`\%=12 |
| 1116 | \directlua{ | 1121 | \directlua{ |
| @@ -1138,7 +1143,24 @@ where each line of input produces a line of output.} | |||
| 1138 | end | 1143 | end |
| 1139 | } | 1144 | } |
| 1140 | \endgroup | 1145 | \endgroup |
| 1141 | \def\pdfescapestring#1{\directlua{UTF16oct('\luaescapestring{#1}')}} | 1146 | \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}} |
| 1147 | % Escape PDF strings without converting | ||
| 1148 | \begingroup | ||
| 1149 | \directlua{ | ||
| 1150 | function PDFescstr(str) | ||
| 1151 | for c in string.bytes(str) do | ||
| 1152 | if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then | ||
| 1153 | tex.sprint( | ||
| 1154 | string.format(string.char(0x5c) .. string.char(0x25) .. '03o', | ||
| 1155 | c)) | ||
| 1156 | else | ||
| 1157 | tex.sprint(string.char(c)) | ||
| 1158 | end | ||
| 1159 | end | ||
| 1160 | end | ||
| 1161 | } | ||
| 1162 | \endgroup | ||
| 1163 | \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}} | ||
| 1142 | \ifnum\luatexversion>84 | 1164 | \ifnum\luatexversion>84 |
| 1143 | % For LuaTeX >= 0.85 | 1165 | % For LuaTeX >= 0.85 |
| 1144 | \def\pdfdest{\pdfextension dest} | 1166 | \def\pdfdest{\pdfextension dest} |
| @@ -1199,6 +1221,14 @@ where each line of input produces a line of output.} | |||
| 1199 | \xdef#1{\pdfescapestring{#1}}% | 1221 | \xdef#1{\pdfescapestring{#1}}% |
| 1200 | \fi | 1222 | \fi |
| 1201 | } | 1223 | } |
| 1224 | \def\txiescapepdfutfsixteen#1{% | ||
| 1225 | \ifx\pdfescapestrutfsixteen\thisisundefined | ||
| 1226 | % No UTF-16 converting macro available. | ||
| 1227 | \txiescapepdf{#1}% | ||
| 1228 | \else | ||
| 1229 | \xdef#1{\pdfescapestrutfsixteen{#1}}% | ||
| 1230 | \fi | ||
| 1231 | } | ||
| 1202 | 1232 | ||
| 1203 | \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images | 1233 | \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images |
| 1204 | with PDF output, and none of those formats could be found. (.eps cannot | 1234 | with PDF output, and none of those formats could be found. (.eps cannot |
| @@ -1308,19 +1338,77 @@ output) for that.)} | |||
| 1308 | \pdfrefximage \pdflastximage | 1338 | \pdfrefximage \pdflastximage |
| 1309 | \fi} | 1339 | \fi} |
| 1310 | % | 1340 | % |
| 1311 | \def\pdfmkdest#1{{% | 1341 | \def\setpdfdestname#1{{% |
| 1312 | % We have to set dummies so commands such as @code, and characters | 1342 | % We have to set dummies so commands such as @code, and characters |
| 1313 | % such as \, aren't expanded when present in a section title. | 1343 | % such as \, aren't expanded when present in a section title. |
| 1314 | \indexnofonts | 1344 | \indexnofonts |
| 1315 | \makevalueexpandable | 1345 | \makevalueexpandable |
| 1316 | \turnoffactive | 1346 | \turnoffactive |
| 1317 | % Use ASCII approximations in destination names. | 1347 | \iftxiuseunicodedestname |
| 1318 | \passthroughcharsfalse | 1348 | \ifx \declaredencoding \latone |
| 1349 | % Pass through Latin-1 characters. | ||
| 1350 | % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode. | ||
| 1351 | \else | ||
| 1352 | \ifx \declaredencoding \utfeight | ||
| 1353 | % Pass through Unicode characters. | ||
| 1354 | \else | ||
| 1355 | % Use ASCII approximations in destination names. | ||
| 1356 | \passthroughcharsfalse | ||
| 1357 | \fi | ||
| 1358 | \fi | ||
| 1359 | \else | ||
| 1360 | % Use ASCII approximations in destination names. | ||
| 1361 | \passthroughcharsfalse | ||
| 1362 | \fi | ||
| 1319 | \def\pdfdestname{#1}% | 1363 | \def\pdfdestname{#1}% |
| 1320 | \txiescapepdf\pdfdestname | 1364 | \txiescapepdf\pdfdestname |
| 1321 | \safewhatsit{\pdfdest name{\pdfdestname} xyz}% | ||
| 1322 | }} | 1365 | }} |
| 1323 | % | 1366 | % |
| 1367 | \def\setpdfoutlinetext#1{{% | ||
| 1368 | \indexnofonts | ||
| 1369 | \makevalueexpandable | ||
| 1370 | \turnoffactive | ||
| 1371 | \ifx \declaredencoding \latone | ||
| 1372 | % The PDF format can use an extended form of Latin-1 in bookmark | ||
| 1373 | % strings. See Appendix D of the PDF Reference, Sixth Edition, for | ||
| 1374 | % the "PDFDocEncoding". | ||
| 1375 | \passthroughcharstrue | ||
| 1376 | % Pass through Latin-1 characters. | ||
| 1377 | % LuaTeX: Convert to Unicode | ||
| 1378 | % pdfTeX: Use Latin-1 as PDFDocEncoding | ||
| 1379 | \def\pdfoutlinetext{#1}% | ||
| 1380 | \else | ||
| 1381 | \ifx \declaredencoding \utfeight | ||
| 1382 | \ifx\luatexversion\thisisundefined | ||
| 1383 | % For pdfTeX with UTF-8. | ||
| 1384 | % TODO: the PDF format can use UTF-16 in bookmark strings, | ||
| 1385 | % but the code for this isn't done yet. | ||
| 1386 | % Use ASCII approximations. | ||
| 1387 | \passthroughcharsfalse | ||
| 1388 | \def\pdfoutlinetext{#1}% | ||
| 1389 | \else | ||
| 1390 | % For LuaTeX with UTF-8. | ||
| 1391 | % Pass through Unicode characters for title texts. | ||
| 1392 | \passthroughcharstrue | ||
| 1393 | \def\pdfoutlinetext{#1}% | ||
| 1394 | \fi | ||
| 1395 | \else | ||
| 1396 | % For non-Latin-1 or non-UTF-8 encodings. | ||
| 1397 | % Use ASCII approximations. | ||
| 1398 | \passthroughcharsfalse | ||
| 1399 | \def\pdfoutlinetext{#1}% | ||
| 1400 | \fi | ||
| 1401 | \fi | ||
| 1402 | % LuaTeX: Convert to UTF-16 | ||
| 1403 | % pdfTeX: Use Latin-1 as PDFDocEncoding | ||
| 1404 | \txiescapepdfutfsixteen\pdfoutlinetext | ||
| 1405 | }} | ||
| 1406 | % | ||
| 1407 | \def\pdfmkdest#1{% | ||
| 1408 | \setpdfdestname{#1}% | ||
| 1409 | \safewhatsit{\pdfdest name{\pdfdestname} xyz}% | ||
| 1410 | } | ||
| 1411 | % | ||
| 1324 | % used to mark target names; must be expandable. | 1412 | % used to mark target names; must be expandable. |
| 1325 | \def\pdfmkpgn#1{#1} | 1413 | \def\pdfmkpgn#1{#1} |
| 1326 | % | 1414 | % |
| @@ -1348,36 +1436,13 @@ output) for that.)} | |||
| 1348 | % page number. We could generate a destination for the section | 1436 | % page number. We could generate a destination for the section |
| 1349 | % text in the case where a section has no node, but it doesn't | 1437 | % text in the case where a section has no node, but it doesn't |
| 1350 | % seem worth the trouble, since most documents are normally structured. | 1438 | % seem worth the trouble, since most documents are normally structured. |
| 1351 | { | 1439 | \setpdfoutlinetext{#1} |
| 1352 | \ifx\luatexversion\thisisundefined \else | 1440 | \setpdfdestname{#3} |
| 1353 | \turnoffactive % LuaTeX can use Unicode strings for PDF | 1441 | \ifx\pdfdestname\empty |
| 1354 | \fi | 1442 | \def\pdfdestname{#4}% |
| 1355 | \edef\pdfoutlinedest{#3}% | 1443 | \fi |
| 1356 | \ifx\pdfoutlinedest\empty | 1444 | % |
| 1357 | \def\pdfoutlinedest{#4}% | 1445 | \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}% |
| 1358 | \else | ||
| 1359 | \txiescapepdf\pdfoutlinedest | ||
| 1360 | \fi | ||
| 1361 | % | ||
| 1362 | % Also escape PDF chars in the display string. | ||
| 1363 | \bgroup | ||
| 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 | ||
| 1378 | % | ||
| 1379 | \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% | ||
| 1380 | } | ||
| 1381 | } | 1446 | } |
| 1382 | % | 1447 | % |
| 1383 | \def\pdfmakeoutlines{% | 1448 | \def\pdfmakeoutlines{% |
| @@ -1535,7 +1600,6 @@ output) for that.)} | |||
| 1535 | % | 1600 | % |
| 1536 | % For XeTeX | 1601 | % For XeTeX |
| 1537 | % | 1602 | % |
| 1538 | \newif\iftxiuseunicodedestname | ||
| 1539 | \ifx\XeTeXrevision\thisisundefined | 1603 | \ifx\XeTeXrevision\thisisundefined |
| 1540 | \else | 1604 | \else |
| 1541 | % | 1605 | % |
| @@ -1608,44 +1672,51 @@ output) for that.)} | |||
| 1608 | \def\pdfdest name#1 xyz{% | 1672 | \def\pdfdest name#1 xyz{% |
| 1609 | \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}% | 1673 | \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}% |
| 1610 | } | 1674 | } |
| 1611 | \def\pdfmkdest#1{{% | 1675 | % |
| 1676 | \def\setpdfdestname#1{{% | ||
| 1612 | % We have to set dummies so commands such as @code, and characters | 1677 | % We have to set dummies so commands such as @code, and characters |
| 1613 | % such as \, aren't expanded when present in a section title. | 1678 | % such as \, aren't expanded when present in a section title. |
| 1614 | \indexnofonts | 1679 | \indexnofonts |
| 1680 | \makevalueexpandable | ||
| 1681 | \turnoffactive | ||
| 1615 | \iftxiuseunicodedestname | 1682 | \iftxiuseunicodedestname |
| 1616 | \def\pdfdestname{#1}% Pass through Unicode characters. | 1683 | % Pass through Unicode characters. |
| 1617 | \else | 1684 | \else |
| 1618 | \edef\pdfdestname{#1}% Replace Unicode characters with ASCII. | 1685 | % Use ASCII approximations in destination names. |
| 1686 | \passthroughcharsfalse | ||
| 1619 | \fi | 1687 | \fi |
| 1620 | \turnoffactive | 1688 | \def\pdfdestname{#1}% |
| 1621 | \makevalueexpandable | ||
| 1622 | \txiescapepdf\pdfdestname | 1689 | \txiescapepdf\pdfdestname |
| 1623 | \safewhatsit{\pdfdest name{\pdfdestname} xyz}% | ||
| 1624 | }} | 1690 | }} |
| 1625 | % | 1691 | % |
| 1692 | \def\setpdfoutlinetext#1{{% | ||
| 1693 | \turnoffactive | ||
| 1694 | % Always use Unicode characters in title texts. | ||
| 1695 | \def\pdfoutlinetext{#1}% | ||
| 1696 | % For XeTeX, xdvipdfmx converts to UTF-16. | ||
| 1697 | % So we do not convert. | ||
| 1698 | \txiescapepdf\pdfoutlinetext | ||
| 1699 | }} | ||
| 1700 | % | ||
| 1701 | \def\pdfmkdest#1{% | ||
| 1702 | \setpdfdestname{#1}% | ||
| 1703 | \safewhatsit{\pdfdest name{\pdfdestname} xyz}% | ||
| 1704 | } | ||
| 1705 | % | ||
| 1626 | % by default, use black for everything. | 1706 | % by default, use black for everything. |
| 1627 | \def\urlcolor{\rgbBlack} | 1707 | \def\urlcolor{\rgbBlack} |
| 1628 | \def\linkcolor{\rgbBlack} | 1708 | \def\linkcolor{\rgbBlack} |
| 1629 | \def\endlink{\setcolor{\maincolor}\pdfendlink} | 1709 | \def\endlink{\setcolor{\maincolor}\pdfendlink} |
| 1630 | % | 1710 | % |
| 1631 | \def\dopdfoutline#1#2#3#4{% | 1711 | \def\dopdfoutline#1#2#3#4{% |
| 1632 | \iftxiuseunicodedestname | 1712 | \setpdfoutlinetext{#1} |
| 1633 | \def\pdfoutlinedest{#3}% Pass through Unicode characters. | 1713 | \setpdfdestname{#3} |
| 1634 | \else | 1714 | \ifx\pdfdestname\empty |
| 1635 | \edef\pdfoutlinedest{#3}% Replace Unicode characters with ASCII. | 1715 | \def\pdfdestname{#4}% |
| 1636 | \fi | 1716 | \fi |
| 1637 | \ifx\pdfoutlinedest\empty | 1717 | % |
| 1638 | \def\pdfoutlinedest{#4}% | 1718 | \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A |
| 1639 | \fi | 1719 | << /S /GoTo /D (\pdfdestname) >> >> }% |
| 1640 | { | ||
| 1641 | \turnoffactive | ||
| 1642 | \txiescapepdf\pdfoutlinedest | ||
| 1643 | \edef\pdfoutlinetext{#1}% | ||
| 1644 | \txiescapepdf\pdfoutlinetext | ||
| 1645 | % | ||
| 1646 | \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A | ||
| 1647 | << /S /GoTo /D (\pdfoutlinedest) >> >> }% | ||
| 1648 | } | ||
| 1649 | } | 1720 | } |
| 1650 | % | 1721 | % |
| 1651 | \def\pdfmakeoutlines{% | 1722 | \def\pdfmakeoutlines{% |
| @@ -4842,8 +4913,8 @@ end | |||
| 4842 | \definedummyletter\ % | 4913 | \definedummyletter\ % |
| 4843 | % | 4914 | % |
| 4844 | % For texindex which always views { and } as separators. | 4915 | % For texindex which always views { and } as separators. |
| 4845 | \def\{{\lbracechar}% | 4916 | \def\{{\lbracechar{}}% |
| 4846 | \def\}{\rbracechar}% | 4917 | \def\}{\rbracechar{}}% |
| 4847 | % | 4918 | % |
| 4848 | % Do the redefinitions. | 4919 | % Do the redefinitions. |
| 4849 | \definedummies | 4920 | \definedummies |
| @@ -4927,6 +4998,7 @@ end | |||
| 4927 | \definedummyword\TeX | 4998 | \definedummyword\TeX |
| 4928 | % | 4999 | % |
| 4929 | % Assorted special characters. | 5000 | % Assorted special characters. |
| 5001 | \definedummyword\atchar | ||
| 4930 | \definedummyword\arrow | 5002 | \definedummyword\arrow |
| 4931 | \definedummyword\bullet | 5003 | \definedummyword\bullet |
| 4932 | \definedummyword\comma | 5004 | \definedummyword\comma |
| @@ -5143,37 +5215,40 @@ end | |||
| 5143 | \def\LaTeX{LaTeX}% | 5215 | \def\LaTeX{LaTeX}% |
| 5144 | \def\TeX{TeX}% | 5216 | \def\TeX{TeX}% |
| 5145 | % | 5217 | % |
| 5146 | % Assorted special characters. | 5218 | % Assorted special characters. \defglyph gives the control sequence a |
| 5147 | % (The following {} will end up in the sort string, but that's ok.) | 5219 | % definition that removes the {} that follows its use. |
| 5148 | \def\arrow{->}% | 5220 | \defglyph\atchar{@}% |
| 5149 | \def\bullet{bullet}% | 5221 | \defglyph\arrow{->}% |
| 5150 | \def\comma{,}% | 5222 | \defglyph\bullet{bullet}% |
| 5151 | \def\copyright{copyright}% | 5223 | \defglyph\comma{,}% |
| 5152 | \def\dots{...}% | 5224 | \defglyph\copyright{copyright}% |
| 5153 | \def\enddots{...}% | 5225 | \defglyph\dots{...}% |
| 5154 | \def\equiv{==}% | 5226 | \defglyph\enddots{...}% |
| 5155 | \def\error{error}% | 5227 | \defglyph\equiv{==}% |
| 5156 | \def\euro{euro}% | 5228 | \defglyph\error{error}% |
| 5157 | \def\expansion{==>}% | 5229 | \defglyph\euro{euro}% |
| 5158 | \def\geq{>=}% | 5230 | \defglyph\expansion{==>}% |
| 5159 | \def\guillemetleft{<<}% | 5231 | \defglyph\geq{>=}% |
| 5160 | \def\guillemetright{>>}% | 5232 | \defglyph\guillemetleft{<<}% |
| 5161 | \def\guilsinglleft{<}% | 5233 | \defglyph\guillemetright{>>}% |
| 5162 | \def\guilsinglright{>}% | 5234 | \defglyph\guilsinglleft{<}% |
| 5163 | \def\leq{<=}% | 5235 | \defglyph\guilsinglright{>}% |
| 5164 | \def\minus{-}% | 5236 | \defglyph\leq{<=}% |
| 5165 | \def\point{.}% | 5237 | \defglyph\lbracechar{\{}% |
| 5166 | \def\pounds{pounds}% | 5238 | \defglyph\minus{-}% |
| 5167 | \def\print{-|}% | 5239 | \defglyph\point{.}% |
| 5168 | \def\quotedblbase{"}% | 5240 | \defglyph\pounds{pounds}% |
| 5169 | \def\quotedblleft{"}% | 5241 | \defglyph\print{-|}% |
| 5170 | \def\quotedblright{"}% | 5242 | \defglyph\quotedblbase{"}% |
| 5171 | \def\quoteleft{`}% | 5243 | \defglyph\quotedblleft{"}% |
| 5172 | \def\quoteright{'}% | 5244 | \defglyph\quotedblright{"}% |
| 5173 | \def\quotesinglbase{,}% | 5245 | \defglyph\quoteleft{`}% |
| 5174 | \def\registeredsymbol{R}% | 5246 | \defglyph\quoteright{'}% |
| 5175 | \def\result{=>}% | 5247 | \defglyph\quotesinglbase{,}% |
| 5176 | \def\textdegree{o}% | 5248 | \defglyph\rbracechar{\}}% |
| 5249 | \defglyph\registeredsymbol{R}% | ||
| 5250 | \defglyph\result{=>}% | ||
| 5251 | \defglyph\textdegree{o}% | ||
| 5177 | % | 5252 | % |
| 5178 | % We need to get rid of all macros, leaving only the arguments (if present). | 5253 | % We need to get rid of all macros, leaving only the arguments (if present). |
| 5179 | % Of course this is not nearly correct, but it is the best we can do for now. | 5254 | % Of course this is not nearly correct, but it is the best we can do for now. |
| @@ -5188,6 +5263,7 @@ end | |||
| 5188 | \macrolist | 5263 | \macrolist |
| 5189 | \let\value\indexnofontsvalue | 5264 | \let\value\indexnofontsvalue |
| 5190 | } | 5265 | } |
| 5266 | \def\defglyph#1#2{\def#1##1{#2}} % see above | ||
| 5191 | 5267 | ||
| 5192 | 5268 | ||
| 5193 | 5269 | ||
| @@ -5465,7 +5541,7 @@ end | |||
| 5465 | \let\indexlbrace\{ % Likewise, set these sequences for braces | 5541 | \let\indexlbrace\{ % Likewise, set these sequences for braces |
| 5466 | \let\indexrbrace\} % used in the sort key. | 5542 | \let\indexrbrace\} % used in the sort key. |
| 5467 | \begindoublecolumns | 5543 | \begindoublecolumns |
| 5468 | \let\entryorphanpenalty=\indexorphanpenalty | 5544 | \let\entrywidowpenalty=\indexwidowpenalty |
| 5469 | % | 5545 | % |
| 5470 | % Read input from the index file line by line. | 5546 | % Read input from the index file line by line. |
| 5471 | \loopdo | 5547 | \loopdo |
| @@ -5566,6 +5642,12 @@ end | |||
| 5566 | \def\entry{% | 5642 | \def\entry{% |
| 5567 | \begingroup | 5643 | \begingroup |
| 5568 | % | 5644 | % |
| 5645 | % For pdfTeX and XeTeX. | ||
| 5646 | % The redefinition of \domark stops marks being added in \pdflink to | ||
| 5647 | % preserve coloured links across page boundaries. Otherwise the marks | ||
| 5648 | % would get in the way of \lastbox in \insertindexentrybox. | ||
| 5649 | \let\domark\relax | ||
| 5650 | % | ||
| 5569 | % Start a new paragraph if necessary, so our assignments below can't | 5651 | % Start a new paragraph if necessary, so our assignments below can't |
| 5570 | % affect previous text. | 5652 | % affect previous text. |
| 5571 | \par | 5653 | \par |
| @@ -5579,10 +5661,6 @@ end | |||
| 5579 | \def\*{\unskip\space\ignorespaces}% | 5661 | \def\*{\unskip\space\ignorespaces}% |
| 5580 | \def\entrybreak{\hfil\break}% An undocumented command | 5662 | \def\entrybreak{\hfil\break}% An undocumented command |
| 5581 | % | 5663 | % |
| 5582 | % A bit of stretch before each entry for the benefit of balancing | ||
| 5583 | % columns. | ||
| 5584 | \vskip 0pt plus0.5pt | ||
| 5585 | % | ||
| 5586 | % Swallow the left brace of the text (first parameter): | 5664 | % Swallow the left brace of the text (first parameter): |
| 5587 | \afterassignment\doentry | 5665 | \afterassignment\doentry |
| 5588 | \let\temp = | 5666 | \let\temp = |
| @@ -5616,20 +5694,13 @@ end | |||
| 5616 | % | 5694 | % |
| 5617 | \ifpdf | 5695 | \ifpdf |
| 5618 | \pdfgettoks#1.% | 5696 | \pdfgettoks#1.% |
| 5619 | \bgroup\let\domark\relax | 5697 | \hskip\skip\thinshrinkable\the\toksA |
| 5620 | \hskip\skip\thinshrinkable\the\toksA | ||
| 5621 | \egroup | ||
| 5622 | % The redefinion of \domark stops marks being added in \pdflink to | ||
| 5623 | % preserve coloured links across page boundaries. Otherwise the marks | ||
| 5624 | % would get in the way of \lastbox in \insertindexentrybox. | ||
| 5625 | \else | 5698 | \else |
| 5626 | \ifx\XeTeXrevision\thisisundefined | 5699 | \ifx\XeTeXrevision\thisisundefined |
| 5627 | \hskip\skip\thinshrinkable #1% | 5700 | \hskip\skip\thinshrinkable #1% |
| 5628 | \else | 5701 | \else |
| 5629 | \pdfgettoks#1.% | 5702 | \pdfgettoks#1.% |
| 5630 | \bgroup\let\domark\relax | 5703 | \hskip\skip\thinshrinkable\the\toksA |
| 5631 | \hskip\skip\thinshrinkable\the\toksA | ||
| 5632 | \egroup | ||
| 5633 | \fi | 5704 | \fi |
| 5634 | \fi | 5705 | \fi |
| 5635 | \fi | 5706 | \fi |
| @@ -5638,11 +5709,10 @@ end | |||
| 5638 | \global\setbox\entryindexbox=\vbox{\unhbox\boxA}% | 5709 | \global\setbox\entryindexbox=\vbox{\unhbox\boxA}% |
| 5639 | \else | 5710 | \else |
| 5640 | \global\setbox\entryindexbox=\vbox\bgroup | 5711 | \global\setbox\entryindexbox=\vbox\bgroup |
| 5641 | \prevdepth=\entrylinedepth | ||
| 5642 | \noindent | ||
| 5643 | % We want the text of the entries to be aligned to the left, and the | 5712 | % We want the text of the entries to be aligned to the left, and the |
| 5644 | % page numbers to be aligned to the right. | 5713 | % page numbers to be aligned to the right. |
| 5645 | % | 5714 | % |
| 5715 | \parindent = 0pt | ||
| 5646 | \advance\leftskip by 0pt plus 1fil | 5716 | \advance\leftskip by 0pt plus 1fil |
| 5647 | \advance\leftskip by 0pt plus -1fill | 5717 | \advance\leftskip by 0pt plus -1fill |
| 5648 | \rightskip = 0pt plus -1fil | 5718 | \rightskip = 0pt plus -1fil |
| @@ -5651,8 +5721,6 @@ end | |||
| 5651 | % if the list of page numbers is long, to be aligned to the right. | 5721 | % if the list of page numbers is long, to be aligned to the right. |
| 5652 | \parfillskip=0pt plus -1fill | 5722 | \parfillskip=0pt plus -1fill |
| 5653 | % | 5723 | % |
| 5654 | \hangindent=1em | ||
| 5655 | % | ||
| 5656 | \advance\rightskip by \entryrightmargin | 5724 | \advance\rightskip by \entryrightmargin |
| 5657 | % Determine how far we can stretch into the margin. | 5725 | % Determine how far we can stretch into the margin. |
| 5658 | % This allows, e.g., "Appendix H GNU Free Documentation License" to | 5726 | % This allows, e.g., "Appendix H GNU Free Documentation License" to |
| @@ -5672,17 +5740,21 @@ end | |||
| 5672 | \ifdim\dimen@ > 0.8\dimen@ii % due to long index text | 5740 | \ifdim\dimen@ > 0.8\dimen@ii % due to long index text |
| 5673 | \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly | 5741 | \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly |
| 5674 | \dimen@ii = \hsize | 5742 | \dimen@ii = \hsize |
| 5675 | \advance \dimen@ii by -1em | ||
| 5676 | \ifnum\dimen@>\dimen@ii | 5743 | \ifnum\dimen@>\dimen@ii |
| 5677 | % If the entry is too long, use the whole line | 5744 | % If the entry is too long, use the whole line |
| 5678 | \dimen@ = \dimen@ii | 5745 | \dimen@ = \dimen@ii |
| 5679 | \fi | 5746 | \fi |
| 5680 | \advance\leftskip by 0pt plus 1fill % ragged right | 5747 | \advance\leftskip by 0pt plus 1fill % ragged right |
| 5681 | \advance \dimen@ by 1\rightskip | 5748 | \advance \dimen@ by 1\rightskip |
| 5682 | \parshape = 2 0pt \dimen@ 1em \dimen@ii | 5749 | \parshape = 2 0pt \dimen@ 0em \dimen@ii |
| 5683 | % Ideally we'd add a finite glue at the end of the first line only, but | 5750 | % Ideally we'd add a finite glue at the end of the first line only, |
| 5684 | % TeX doesn't seem to provide a way to do such a thing. | 5751 | % instead of using \parshape with explicit line lengths, but TeX |
| 5752 | % doesn't seem to provide a way to do such a thing. | ||
| 5753 | % | ||
| 5754 | \leftskip = 1em | ||
| 5755 | \parindent = -1em | ||
| 5685 | \fi\fi | 5756 | \fi\fi |
| 5757 | \indent % start paragraph | ||
| 5686 | \unhbox\boxA | 5758 | \unhbox\boxA |
| 5687 | % | 5759 | % |
| 5688 | % Do not prefer a separate line ending with a hyphen to fewer lines. | 5760 | % Do not prefer a separate line ending with a hyphen to fewer lines. |
| @@ -5700,7 +5772,7 @@ end | |||
| 5700 | \endgroup | 5772 | \endgroup |
| 5701 | % delay text of entry until after penalty | 5773 | % delay text of entry until after penalty |
| 5702 | \bgroup\aftergroup\insertindexentrybox | 5774 | \bgroup\aftergroup\insertindexentrybox |
| 5703 | \entryorphanpenalty | 5775 | \entrywidowpenalty |
| 5704 | }} | 5776 | }} |
| 5705 | 5777 | ||
| 5706 | \newskip\thinshrinkable | 5778 | \newskip\thinshrinkable |
| @@ -5708,40 +5780,43 @@ end | |||
| 5708 | 5780 | ||
| 5709 | \newbox\entryindexbox | 5781 | \newbox\entryindexbox |
| 5710 | \def\insertindexentrybox{% | 5782 | \def\insertindexentrybox{% |
| 5711 | \copy\entryindexbox | 5783 | \ourunvbox\entryindexbox |
| 5712 | % The following gets the depth of the last box. This is for even | 5784 | } |
| 5713 | % line spacing when entries span several lines. | 5785 | |
| 5714 | \setbox\dummybox\vbox{% | 5786 | % Use \lastbox to take apart vbox box by box, and add each sub-box |
| 5715 | \unvbox\entryindexbox | 5787 | % to the current vertical list. |
| 5716 | \nointerlineskip | 5788 | \def\ourunvbox#1{% |
| 5717 | \lastbox | 5789 | \bgroup % for local binding of \delayedbox |
| 5718 | \global\entrylinedepth=\prevdepth | 5790 | % Remove the last box from box #1 |
| 5791 | \global\setbox#1=\vbox{% | ||
| 5792 | \unvbox#1% | ||
| 5793 | \unskip % remove any glue | ||
| 5794 | \unpenalty | ||
| 5795 | \global\setbox\interbox=\lastbox | ||
| 5719 | }% | 5796 | }% |
| 5720 | % Note that we couldn't simply \unvbox\entryindexbox followed by | 5797 | \setbox\delayedbox=\box\interbox |
| 5721 | % \nointerlineskip\lastbox to remove the last box and then reinstate it, | 5798 | \ifdim\ht#1=0pt\else |
| 5722 | % because this resets how far the box has been \moveleft'ed to 0. \unvbox | 5799 | \ourunvbox#1 % Repeat on what's left of the box |
| 5723 | % doesn't affect \prevdepth either. | 5800 | \nobreak |
| 5801 | \fi | ||
| 5802 | \box\delayedbox | ||
| 5803 | \egroup | ||
| 5724 | } | 5804 | } |
| 5725 | \newdimen\entrylinedepth | 5805 | \newbox\delayedbox |
| 5806 | \newbox\interbox | ||
| 5726 | 5807 | ||
| 5727 | % Default is no penalty | 5808 | % Default is no penalty |
| 5728 | \let\entryorphanpenalty\egroup | 5809 | \let\entrywidowpenalty\egroup |
| 5729 | 5810 | ||
| 5730 | % Used from \printindex. \firsttoken should be the first token | 5811 | % Used from \printindex. \firsttoken should be the first token |
| 5731 | % after the \entry. If it's not another \entry, we are at the last | 5812 | % after the \entry. If it's not another \entry, we are at the last |
| 5732 | % line of a group of index entries, so insert a penalty to discourage | 5813 | % line of a group of index entries, so insert a penalty to discourage |
| 5733 | % orphaned index entries. | 5814 | % widowed index entries. |
| 5734 | \long\def\indexorphanpenalty{% | 5815 | \long\def\indexwidowpenalty{% |
| 5735 | \def\isentry{\entry}% | 5816 | \def\isentry{\entry}% |
| 5736 | \ifx\firsttoken\isentry | 5817 | \ifx\firsttoken\isentry |
| 5737 | \else | 5818 | \else |
| 5738 | \unskip\penalty 9000 | 5819 | \penalty 9000 |
| 5739 | % The \unskip here stops breaking before the glue. It relies on the | ||
| 5740 | % \vskip above being there, otherwise there is an error | ||
| 5741 | % "You can't use `\unskip' in vertical mode". There has to be glue | ||
| 5742 | % in the current vertical list that hasn't been added to the | ||
| 5743 | % "current page". See Chapter 24 of the TeXbook. This contradicts | ||
| 5744 | % Section 8.3.7 in "TeX by Topic," though. | ||
| 5745 | \fi | 5820 | \fi |
| 5746 | \egroup % now comes the box added with \aftergroup | 5821 | \egroup % now comes the box added with \aftergroup |
| 5747 | } | 5822 | } |
| @@ -5781,8 +5856,6 @@ end | |||
| 5781 | 5856 | ||
| 5782 | \newbox\partialpage | 5857 | \newbox\partialpage |
| 5783 | \newdimen\doublecolumnhsize | 5858 | \newdimen\doublecolumnhsize |
| 5784 | \newdimen\doublecolumntopgap | ||
| 5785 | \doublecolumntopgap = 0pt | ||
| 5786 | 5859 | ||
| 5787 | % Use inside an output routine to save \topmark and \firstmark | 5860 | % Use inside an output routine to save \topmark and \firstmark |
| 5788 | \def\savemarks{% | 5861 | \def\savemarks{% |
| @@ -5865,12 +5938,10 @@ end | |||
| 5865 | % | 5938 | % |
| 5866 | % Double the \vsize as well. (We don't need a separate register here, | 5939 | % Double the \vsize as well. (We don't need a separate register here, |
| 5867 | % since nobody clobbers \vsize.) | 5940 | % since nobody clobbers \vsize.) |
| 5868 | \global\doublecolumntopgap = \topskip | ||
| 5869 | \global\advance\doublecolumntopgap by -1\baselineskip | ||
| 5870 | \advance\vsize by -1\doublecolumntopgap | ||
| 5871 | \vsize = 2\vsize | 5941 | \vsize = 2\vsize |
| 5872 | \topskip=0pt | 5942 | % |
| 5873 | \global\entrylinedepth=0pt\relax | 5943 | % For the benefit of balancing columns |
| 5944 | \advance\baselineskip by 0pt plus 0.5pt | ||
| 5874 | } | 5945 | } |
| 5875 | 5946 | ||
| 5876 | % The double-column output routine for all double-column pages except | 5947 | % The double-column output routine for all double-column pages except |
| @@ -5900,9 +5971,7 @@ end | |||
| 5900 | % | 5971 | % |
| 5901 | \hsize = \doublecolumnhsize | 5972 | \hsize = \doublecolumnhsize |
| 5902 | \wd0=\hsize \wd2=\hsize | 5973 | \wd0=\hsize \wd2=\hsize |
| 5903 | \vbox{% | 5974 | \hbox to\txipagewidth{\box0\hfil\box2}% |
| 5904 | \vskip\doublecolumntopgap | ||
| 5905 | \hbox to\txipagewidth{\box0\hfil\box2}}% | ||
| 5906 | } | 5975 | } |
| 5907 | 5976 | ||
| 5908 | 5977 | ||
| @@ -5982,10 +6051,6 @@ end | |||
| 5982 | \loop | 6051 | \loop |
| 5983 | \global\setbox3 = \copy0 | 6052 | \global\setbox3 = \copy0 |
| 5984 | \global\setbox1 = \vsplit3 to \dimen@ | 6053 | \global\setbox1 = \vsplit3 to \dimen@ |
| 5985 | % Remove glue from bottom of columns to compare | ||
| 5986 | % apparent heights. | ||
| 5987 | \global\setbox1 = \vbox{\unvbox1\unpenalty\unskip}% | ||
| 5988 | \global\setbox3 = \vbox{\unvbox3\unpenalty\unskip}% | ||
| 5989 | \ifdim\ht1<\ht3 | 6054 | \ifdim\ht1<\ht3 |
| 5990 | \global\advance\dimen@ by 1pt | 6055 | \global\advance\dimen@ by 1pt |
| 5991 | \repeat | 6056 | \repeat |
| @@ -5998,8 +6063,8 @@ end | |||
| 5998 | % Just split the last of the double column material roughly in half. | 6063 | % Just split the last of the double column material roughly in half. |
| 5999 | \setbox2=\box0 | 6064 | \setbox2=\box0 |
| 6000 | \setbox0 = \vsplit2 to \dimen@ii | 6065 | \setbox0 = \vsplit2 to \dimen@ii |
| 6001 | \setbox0=\vbox to\dimen@ii{\unvbox0}% | 6066 | \setbox0=\vbox to \dimen@ii {\unvbox0\vfill}% |
| 6002 | \setbox2=\vbox to\dimen@ii{\unvbox2}% | 6067 | \setbox2=\vbox to \dimen@ii {\unvbox2\vfill}% |
| 6003 | \else | 6068 | \else |
| 6004 | % Compare the heights of the two columns. | 6069 | % Compare the heights of the two columns. |
| 6005 | \ifdim4\ht1>5\ht3 | 6070 | \ifdim4\ht1>5\ht3 |
| @@ -6009,8 +6074,8 @@ end | |||
| 6009 | \setbox0=\vbox to \ht1 {\unvbox1\vfill}% | 6074 | \setbox0=\vbox to \ht1 {\unvbox1\vfill}% |
| 6010 | \else | 6075 | \else |
| 6011 | % Make column bottoms flush with each other. | 6076 | % Make column bottoms flush with each other. |
| 6012 | \setbox0=\vbox to\dimen@{\unvbox1}% | 6077 | \setbox2=\vbox to\ht1{\unvbox3\unskip}% |
| 6013 | \setbox2=\vbox to\dimen@{\unvbox3}% | 6078 | \setbox0=\vbox to\ht1{\unvbox1\unskip}% |
| 6014 | \fi | 6079 | \fi |
| 6015 | \fi | 6080 | \fi |
| 6016 | \fi | 6081 | \fi |
| @@ -8846,32 +8911,26 @@ end | |||
| 8846 | % For pdfTeX and LuaTeX | 8911 | % For pdfTeX and LuaTeX |
| 8847 | {\indexnofonts | 8912 | {\indexnofonts |
| 8848 | \makevalueexpandable | 8913 | \makevalueexpandable |
| 8849 | % | ||
| 8850 | % This (wrongly) does not take account of leading or trailing | ||
| 8851 | % spaces in #1, which should be ignored. | ||
| 8852 | \ifx\luatexversion\thisisundefined | ||
| 8853 | \edef\pdfxrefdest{#1}% pdfTeX: Replace Unicode characters with ASCII. | ||
| 8854 | \else | ||
| 8855 | \def\pdfxrefdest{#1}% LuaTeX: Pass through Unicode characters. | ||
| 8856 | \fi | ||
| 8857 | \turnoffactive | 8914 | \turnoffactive |
| 8858 | % This expands tokens, so do it after making catcode changes, so _ | 8915 | % This expands tokens, so do it after making catcode changes, so _ |
| 8859 | % etc. don't get their TeX definitions. This ignores all spaces in | 8916 | % etc. don't get their TeX definitions. This ignores all spaces in |
| 8860 | % #4, including (wrongly) those in the middle of the filename. | 8917 | % #4, including (wrongly) those in the middle of the filename. |
| 8861 | \getfilename{#4}% | 8918 | \getfilename{#4}% |
| 8862 | % | 8919 | % |
| 8863 | \ifx\pdfxrefdest\empty | 8920 | % This (wrongly) does not take account of leading or trailing |
| 8864 | \def\pdfxrefdest{Top}% no empty targets | 8921 | % spaces in #1, which should be ignored. |
| 8865 | \else | 8922 | \setpdfdestname{#1}% |
| 8866 | \txiescapepdf\pdfxrefdest % escape PDF special chars | 8923 | % |
| 8924 | \ifx\pdfdestname\empty | ||
| 8925 | \def\pdfdestname{Top}% no empty targets | ||
| 8867 | \fi | 8926 | \fi |
| 8868 | % | 8927 | % |
| 8869 | \leavevmode | 8928 | \leavevmode |
| 8870 | \startlink attr{/Border [0 0 0]}% | 8929 | \startlink attr{/Border [0 0 0]}% |
| 8871 | \ifnum\filenamelength>0 | 8930 | \ifnum\filenamelength>0 |
| 8872 | goto file{\the\filename.pdf} name{\pdfxrefdest}% | 8931 | goto file{\the\filename.pdf} name{\pdfdestname}% |
| 8873 | \else | 8932 | \else |
| 8874 | goto name{\pdfmkpgn{\pdfxrefdest}}% | 8933 | goto name{\pdfmkpgn{\pdfdestname}}% |
| 8875 | \fi | 8934 | \fi |
| 8876 | }% | 8935 | }% |
| 8877 | \setcolor{\linkcolor}% | 8936 | \setcolor{\linkcolor}% |
| @@ -8881,24 +8940,18 @@ end | |||
| 8881 | % For XeTeX | 8940 | % For XeTeX |
| 8882 | {\indexnofonts | 8941 | {\indexnofonts |
| 8883 | \makevalueexpandable | 8942 | \makevalueexpandable |
| 8884 | % | ||
| 8885 | % This (wrongly) does not take account of leading or trailing | ||
| 8886 | % spaces in #1, which should be ignored. | ||
| 8887 | \iftxiuseunicodedestname | ||
| 8888 | \def\pdfxrefdest{#1}% Pass through Unicode characters. | ||
| 8889 | \else | ||
| 8890 | \edef\pdfxrefdest{#1}% Replace Unicode characters with ASCII. | ||
| 8891 | \fi | ||
| 8892 | \turnoffactive | 8943 | \turnoffactive |
| 8893 | % This expands tokens, so do it after making catcode changes, so _ | 8944 | % This expands tokens, so do it after making catcode changes, so _ |
| 8894 | % etc. don't get their TeX definitions. This ignores all spaces in | 8945 | % etc. don't get their TeX definitions. This ignores all spaces in |
| 8895 | % #4, including (wrongly) those in the middle of the filename. | 8946 | % #4, including (wrongly) those in the middle of the filename. |
| 8896 | \getfilename{#4}% | 8947 | \getfilename{#4}% |
| 8897 | % | 8948 | % |
| 8898 | \ifx\pdfxrefdest\empty | 8949 | % This (wrongly) does not take account of leading or trailing |
| 8899 | \def\pdfxrefdest{Top}% no empty targets | 8950 | % spaces in #1, which should be ignored. |
| 8900 | \else | 8951 | \setpdfdestname{#1}% |
| 8901 | \txiescapepdf\pdfxrefdest % escape PDF special chars | 8952 | % |
| 8953 | \ifx\pdfdestname\empty | ||
| 8954 | \def\pdfdestname{Top}% no empty targets | ||
| 8902 | \fi | 8955 | \fi |
| 8903 | % | 8956 | % |
| 8904 | \leavevmode | 8957 | \leavevmode |
| @@ -8912,10 +8965,10 @@ end | |||
| 8912 | % this command line option is no longer necessary | 8965 | % this command line option is no longer necessary |
| 8913 | % because we can use the `dvipdfmx:config' special. | 8966 | % because we can use the `dvipdfmx:config' special. |
| 8914 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | 8967 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A |
| 8915 | << /S /GoToR /F (\the\filename.pdf) /D (\pdfxrefdest) >> >>}% | 8968 | << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% |
| 8916 | \else | 8969 | \else |
| 8917 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A | 8970 | \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A |
| 8918 | << /S /GoTo /D (\pdfxrefdest) >> >>}% | 8971 | << /S /GoTo /D (\pdfdestname) >> >>}% |
| 8919 | \fi | 8972 | \fi |
| 8920 | }% | 8973 | }% |
| 8921 | \setcolor{\linkcolor}% | 8974 | \setcolor{\linkcolor}% |
| @@ -9975,7 +10028,7 @@ directory should work if nowhere else does.} | |||
| 9975 | \ifx \declaredencoding \ascii | 10028 | \ifx \declaredencoding \ascii |
| 9976 | \else | 10029 | \else |
| 9977 | \message{Warning: XeTeX with non-UTF-8 encodings cannot handle % | 10030 | \message{Warning: XeTeX with non-UTF-8 encodings cannot handle % |
| 9978 | non-ASCII characters in auxiallity files.}% | 10031 | non-ASCII characters in auxiliary files.}% |
| 9979 | \fi | 10032 | \fi |
| 9980 | \fi | 10033 | \fi |
| 9981 | \fi | 10034 | \fi |
diff --git a/lib/alloca.in.h b/lib/alloca.in.h index d457ebb4761..6a25ecdb7b7 100644 --- a/lib/alloca.in.h +++ b/lib/alloca.in.h | |||
| @@ -51,6 +51,8 @@ extern "C" | |||
| 51 | void *_alloca (unsigned short); | 51 | void *_alloca (unsigned short); |
| 52 | # pragma intrinsic (_alloca) | 52 | # pragma intrinsic (_alloca) |
| 53 | # define alloca _alloca | 53 | # define alloca _alloca |
| 54 | # elif defined __MVS__ | ||
| 55 | # include <stdlib.h> | ||
| 54 | # else | 56 | # else |
| 55 | # include <stddef.h> | 57 | # include <stddef.h> |
| 56 | # ifdef __cplusplus | 58 | # ifdef __cplusplus |
diff --git a/lib/string.in.h b/lib/string.in.h index 7fb00c1c539..b3213c4c1ab 100644 --- a/lib/string.in.h +++ b/lib/string.in.h | |||
| @@ -416,15 +416,15 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - " | |||
| 416 | # undef strndup | 416 | # undef strndup |
| 417 | # define strndup rpl_strndup | 417 | # define strndup rpl_strndup |
| 418 | # endif | 418 | # endif |
| 419 | _GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n) | 419 | _GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n) |
| 420 | _GL_ARG_NONNULL ((1))); | 420 | _GL_ARG_NONNULL ((1))); |
| 421 | _GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n)); | 421 | _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); |
| 422 | # else | 422 | # else |
| 423 | # if ! @HAVE_DECL_STRNDUP@ | 423 | # if ! @HAVE_DECL_STRNDUP@ |
| 424 | _GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n) | 424 | _GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n) |
| 425 | _GL_ARG_NONNULL ((1))); | 425 | _GL_ARG_NONNULL ((1))); |
| 426 | # endif | 426 | # endif |
| 427 | _GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n)); | 427 | _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); |
| 428 | # endif | 428 | # endif |
| 429 | _GL_CXXALIASWARN (strndup); | 429 | _GL_CXXALIASWARN (strndup); |
| 430 | #elif defined GNULIB_POSIXCHECK | 430 | #elif defined GNULIB_POSIXCHECK |
| @@ -444,17 +444,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - " | |||
| 444 | # undef strnlen | 444 | # undef strnlen |
| 445 | # define strnlen rpl_strnlen | 445 | # define strnlen rpl_strnlen |
| 446 | # endif | 446 | # endif |
| 447 | _GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen) | 447 | _GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen) |
| 448 | _GL_ATTRIBUTE_PURE | 448 | _GL_ATTRIBUTE_PURE |
| 449 | _GL_ARG_NONNULL ((1))); | 449 | _GL_ARG_NONNULL ((1))); |
| 450 | _GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)); | 450 | _GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)); |
| 451 | # else | 451 | # else |
| 452 | # if ! @HAVE_DECL_STRNLEN@ | 452 | # if ! @HAVE_DECL_STRNLEN@ |
| 453 | _GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen) | 453 | _GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen) |
| 454 | _GL_ATTRIBUTE_PURE | 454 | _GL_ATTRIBUTE_PURE |
| 455 | _GL_ARG_NONNULL ((1))); | 455 | _GL_ARG_NONNULL ((1))); |
| 456 | # endif | 456 | # endif |
| 457 | _GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)); | 457 | _GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)); |
| 458 | # endif | 458 | # endif |
| 459 | _GL_CXXALIASWARN (strnlen); | 459 | _GL_CXXALIASWARN (strnlen); |
| 460 | #elif defined GNULIB_POSIXCHECK | 460 | #elif defined GNULIB_POSIXCHECK |