diff options
| author | John Wiegley | 2016-03-11 13:33:32 -0800 |
|---|---|---|
| committer | John Wiegley | 2016-03-11 13:33:32 -0800 |
| commit | 63efcc268635dea78c6bd80749eae4ee2c72d717 (patch) | |
| tree | 888b43de0eb148cf46a129a15f08a80caa8a5dfe /doc | |
| parent | b4fbd69b66a927ad8ff479bee6ca57e977d7e649 (diff) | |
| parent | facb5e20ce186e47506860bde982e35020fedce5 (diff) | |
| download | emacs-63efcc268635dea78c6bd80749eae4ee2c72d717.tar.gz emacs-63efcc268635dea78c6bd80749eae4ee2c72d717.zip | |
Merge from origin/emacs-25
facb5e2 Update Emacs manual section related to character folding
4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984)
f8df21b Update admin/notes/unicode
950be68 Add symref-filepattern entries for c?perl-mode
8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
985dacf ; NEWS update for the last change in etags
741a6f8 Sync with gnulib
7352c6c Rework C source files to avoid ^(
a589e9a By default, etags produces unqualified Perl tag names
72c7438 Indent methods with keyword names correctly
28532a9 Propertize character literals and special global variables
differently
a7d6f39 ; Fix last change in NEWS
83b2a20 Change how /etc/NEWS presents character folding
b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
off by default""
711ca36 Properly handle lambda as read function (bug 22961)
1b9d616 Propertize operator symbol names with symbol syntax class
9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
366ec77 Allow using the left shift operator without spaces on both sides
02bf7cc Properly handle unquoting in wdired (bug 22938)
16cf469 ; Spelling fix and tighten up comment
f50bc04 Allow splat operator before percent literal
991c801 Don't apply the return value of goto-char as syntax class
6e63b3e Guard against nested percent literals
066f3bc Recognize iuwu-mod after an escaped newline
6f7a57c Fix symbolic mode string conversion for s and t
50b9826 Update 'ucs-names' database
993b2fb Improve doc string of 'shell-command'
b71c717 Make the code in movemail_strftime more general
cc057e4 Speed up redisplay of binary files with long series of nulls
e51b27e Remove the highlighting support for quoting 'like this' inside
Lisp docstrings
b1abce1 Restore leading space in movemail pop output
98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
dc9d837 Don't misindent computed property generator methods
7923112 Fix mbox files produced by movemail on MS-Windows
c45a1ca doc string file descriptor exhaustion fix
265141b Fix Bug#22814
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/emacs/search.texi | 21 | ||||
| -rw-r--r-- | doc/man/etags.1 | 6 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 658 |
3 files changed, 296 insertions, 389 deletions
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 10c1f73b331..459e8446937 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1265,14 +1265,14 @@ character sequences}. | |||
| 1265 | 1265 | ||
| 1266 | @kindex M-s ' @r{(Incremental Search)} | 1266 | @kindex M-s ' @r{(Incremental Search)} |
| 1267 | @findex isearch-toggle-character-fold | 1267 | @findex isearch-toggle-character-fold |
| 1268 | Generally, search commands in Emacs by default perform character | 1268 | Generally, search commands in Emacs do not by default perform |
| 1269 | folding, thus matching equivalent character sequences. You can | 1269 | character folding in order to match equivalent character sequences. |
| 1270 | disable this behavior by customizing the variable | 1270 | You can enable this behavior by customizing the variable |
| 1271 | @code{search-default-mode} to @code{nil}. @xref{Search | 1271 | @code{search-default-mode} to @code{character-fold-to-regexp}. |
| 1272 | Customizations}. Within an incremental search, typing @kbd{M-s '} | 1272 | @xref{Search Customizations}. Within an incremental search, typing |
| 1273 | (@code{isearch-toggle-character-fold}) toggles character folding, but | 1273 | @kbd{M-s '} (@code{isearch-toggle-character-fold}) toggles character |
| 1274 | only for that search. (Replace commands have a different default, | 1274 | folding, but only for that search. (Replace commands have a different |
| 1275 | controlled by a separate option; see @ref{Replacement and Lax | 1275 | default, controlled by a separate option; see @ref{Replacement and Lax |
| 1276 | Matches}.) | 1276 | Matches}.) |
| 1277 | 1277 | ||
| 1278 | Like with case folding, typing an explicit variant of a character, | 1278 | Like with case folding, typing an explicit variant of a character, |
| @@ -1806,9 +1806,8 @@ do literal searches without character folding, but with case folding | |||
| 1806 | and lax-whitespace matches as determined by @code{case-fold-search} | 1806 | and lax-whitespace matches as determined by @code{case-fold-search} |
| 1807 | and @code{search-whitespace-regexp}, respectively (@pxref{Lax | 1807 | and @code{search-whitespace-regexp}, respectively (@pxref{Lax |
| 1808 | Search}). If the value is @code{t}, incremental search defaults to | 1808 | Search}). If the value is @code{t}, incremental search defaults to |
| 1809 | regexp searches. The default value specifies a function that causes | 1809 | regexp searches. The default value specifies a function that only |
| 1810 | the default search mode to perform character folding in addition to | 1810 | performs case folding and lax-whitespace matching. |
| 1811 | case folding and lax-whitespace matching. | ||
| 1812 | 1811 | ||
| 1813 | @vindex search-highlight | 1812 | @vindex search-highlight |
| 1814 | The current match of an on-going incremental search is highlighted | 1813 | The current match of an on-going incremental search is highlighted |
diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 87353a1cedc..d5fdc5f943a 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 | |||
| @@ -139,10 +139,10 @@ May be used (only once) in place of a file name on the command line. | |||
| 139 | \fBetags\fP will read from standard input and mark the produced tags | 139 | \fBetags\fP will read from standard input and mark the produced tags |
| 140 | as belonging to the file \fBFILE\fP. | 140 | as belonging to the file \fBFILE\fP. |
| 141 | .TP | 141 | .TP |
| 142 | \fB\-\-class\-qualify\fP | 142 | \fB \-Q, \-\-class\-qualify\fP |
| 143 | Qualify tag names with their class name in C++, ObjC, and Java. | 143 | Qualify tag names with their class name in C++, ObjC, Java, and Perl. |
| 144 | This produces tag names of the form \fIclass\fP\fB::\fP\fImember\fP | 144 | This produces tag names of the form \fIclass\fP\fB::\fP\fImember\fP |
| 145 | for C++, | 145 | for C++ and Perl, |
| 146 | \fIclass\fP\fB(\fP\fIcategory\fP\fB)\fP for Objective C, and \fIclass\fP\fB.\fP\fImember\fP for Java. | 146 | \fIclass\fP\fB(\fP\fIcategory\fP\fB)\fP for Objective C, and \fIclass\fP\fB.\fP\fImember\fP for Java. |
| 147 | For Objective C, this also produces class methods qualified with | 147 | For Objective C, this also produces class methods qualified with |
| 148 | their arguments, as in \fIfoo\fP\fB:\fP\fIbar\fP\fB:\fP\fIbaz\fP\fB:\fP\fImore\fP. | 148 | their arguments, as in \fIfoo\fP\fB:\fP\fIbar\fP\fB:\fP\fIbaz\fP\fB:\fP\fImore\fP. |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 08baf5da257..d04e2ddd3b3 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-02-16.15} | 6 | \def\texinfoversion{2016-03-06.18} |
| 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, |
| @@ -1525,7 +1525,7 @@ output) for that.)} | |||
| 1525 | \def\pdfmkdest#1{{% | 1525 | \def\pdfmkdest#1{{% |
| 1526 | % We have to set dummies so commands such as @code, and characters | 1526 | % We have to set dummies so commands such as @code, and characters |
| 1527 | % such as \, aren't expanded when present in a section title. | 1527 | % such as \, aren't expanded when present in a section title. |
| 1528 | \indexnofonts | 1528 | \indexnofonts % For avoiding UTF-16 convert issue of xdvipdfmx 20150315. |
| 1529 | \makevalueexpandable | 1529 | \makevalueexpandable |
| 1530 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. | 1530 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. |
| 1531 | % Therefore \txiescapepdf is not necessary. | 1531 | % Therefore \txiescapepdf is not necessary. |
| @@ -1574,7 +1574,7 @@ output) for that.)} | |||
| 1574 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. | 1574 | % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. |
| 1575 | % Therefore, the encoding and the language may not be considered. | 1575 | % Therefore, the encoding and the language may not be considered. |
| 1576 | % | 1576 | % |
| 1577 | \indexnofonts | 1577 | \indexnofonts % For avoiding UTF-16 convert issue of xdvipdfmx 20150315. |
| 1578 | \setupdatafile | 1578 | \setupdatafile |
| 1579 | % We can have normal brace characters in the PDF outlines, unlike | 1579 | % We can have normal brace characters in the PDF outlines, unlike |
| 1580 | % Texinfo index files. So set that up. | 1580 | % Texinfo index files. So set that up. |
| @@ -1591,16 +1591,11 @@ output) for that.)} | |||
| 1591 | ] | 1591 | ] |
| 1592 | 1592 | ||
| 1593 | \special{pdf:docview << /PageMode /UseOutlines >> } | 1593 | \special{pdf:docview << /PageMode /UseOutlines >> } |
| 1594 | \openin 1 uptex.tex % upTeX has UTF8-UTF16 cmap | 1594 | % ``\special{pdf:tounicode ...}'' is not necessary |
| 1595 | \ifeof 1 | 1595 | % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. |
| 1596 | % upTeX does not exist. To use UTF8-UCS2 cmap. | 1596 | % However, due to UTF-16 convert issue of xdvipdfmx 20150315, |
| 1597 | % In this case, non-BMP characters (over U+FFFF) can not be used. | 1597 | % ``\special{pdf:dest ...}'' can not handle non-ASCII strings. |
| 1598 | \special{pdf:tounicode UTF8-UCS2} | 1598 | % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). |
| 1599 | \else | ||
| 1600 | % upTeX exists. To use UTF8-UTF16 cmap. | ||
| 1601 | % Non-BMP characters (over U+FFFF) can be used. | ||
| 1602 | \special{pdf:tounicode UTF8-UTF16} | ||
| 1603 | \fi | ||
| 1604 | \fi | 1599 | \fi |
| 1605 | 1600 | ||
| 1606 | % | 1601 | % |
| @@ -3477,13 +3472,16 @@ end | |||
| 3477 | \newif\ifseenauthor | 3472 | \newif\ifseenauthor |
| 3478 | \newif\iffinishedtitlepage | 3473 | \newif\iffinishedtitlepage |
| 3479 | 3474 | ||
| 3480 | % Do an implicit @contents or @shortcontents after @end titlepage if the | 3475 | % @setcontentsaftertitlepage used to do an implicit @contents or |
| 3481 | % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. | 3476 | % @shortcontents after @end titlepage, but it is now obsolete. |
| 3482 | % | 3477 | \def\setcontentsaftertitlepage{% |
| 3483 | \newif\ifsetcontentsaftertitlepage | 3478 | \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo |
| 3484 | \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue | 3479 | command; move your @contents command if you want the contents |
| 3485 | \newif\ifsetshortcontentsaftertitlepage | 3480 | after the title page.}}% |
| 3486 | \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue | 3481 | \def\setshortcontentsaftertitlepage{% |
| 3482 | \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo | ||
| 3483 | command; move your @shortcontents and @contents commands if you | ||
| 3484 | want the contents after the title page.}}% | ||
| 3487 | 3485 | ||
| 3488 | \parseargdef\shorttitlepage{% | 3486 | \parseargdef\shorttitlepage{% |
| 3489 | \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% | 3487 | \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% |
| @@ -3525,20 +3523,6 @@ end | |||
| 3525 | % Need this before the \...aftertitlepage checks so that if they are | 3523 | % Need this before the \...aftertitlepage checks so that if they are |
| 3526 | % in effect the toc pages will come out with page numbers. | 3524 | % in effect the toc pages will come out with page numbers. |
| 3527 | \HEADINGSon | 3525 | \HEADINGSon |
| 3528 | % | ||
| 3529 | % If they want short, they certainly want long too. | ||
| 3530 | \ifsetshortcontentsaftertitlepage | ||
| 3531 | \shortcontents | ||
| 3532 | \contents | ||
| 3533 | \global\let\shortcontents = \relax | ||
| 3534 | \global\let\contents = \relax | ||
| 3535 | \fi | ||
| 3536 | % | ||
| 3537 | \ifsetcontentsaftertitlepage | ||
| 3538 | \contents | ||
| 3539 | \global\let\contents = \relax | ||
| 3540 | \global\let\shortcontents = \relax | ||
| 3541 | \fi | ||
| 3542 | } | 3526 | } |
| 3543 | 3527 | ||
| 3544 | \def\finishtitlepage{% | 3528 | \def\finishtitlepage{% |
| @@ -6371,30 +6355,6 @@ end | |||
| 6371 | } | 6355 | } |
| 6372 | 6356 | ||
| 6373 | 6357 | ||
| 6374 | % I don't think this chapter style is supported any more, so I'm not | ||
| 6375 | % updating it with the new noderef stuff. We'll see. --karl, 11aug03. | ||
| 6376 | % | ||
| 6377 | \parseargdef\setchapterstyle{\csname CHAPF#1\endcsname} | ||
| 6378 | % | ||
| 6379 | \def\unnchfopen #1{% | ||
| 6380 | \chapoddpage | ||
| 6381 | \vbox{\chapfonts \raggedtitlesettings #1\par}% | ||
| 6382 | \nobreak\bigskip\nobreak | ||
| 6383 | } | ||
| 6384 | \def\chfopen #1#2{\chapoddpage {\chapfonts | ||
| 6385 | \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% | ||
| 6386 | \par\penalty 5000 % | ||
| 6387 | } | ||
| 6388 | \def\centerchfopen #1{% | ||
| 6389 | \chapoddpage | ||
| 6390 | \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% | ||
| 6391 | \nobreak\bigskip \nobreak | ||
| 6392 | } | ||
| 6393 | \def\CHAPFopen{% | ||
| 6394 | \global\let\chapmacro=\chfopen | ||
| 6395 | \global\let\centerchapmacro=\centerchfopen} | ||
| 6396 | |||
| 6397 | |||
| 6398 | % Section titles. These macros combine the section number parts and | 6358 | % Section titles. These macros combine the section number parts and |
| 6399 | % call the generic \sectionheading to do the printing. | 6359 | % call the generic \sectionheading to do the printing. |
| 6400 | % | 6360 | % |
| @@ -7839,7 +7799,7 @@ end | |||
| 7839 | % Argument is macro body with arguments substituted | 7799 | % Argument is macro body with arguments substituted |
| 7840 | \def\scanmacro#1{% | 7800 | \def\scanmacro#1{% |
| 7841 | \newlinechar`\^^M | 7801 | \newlinechar`\^^M |
| 7842 | \def\xprocessmacroarg{\eatspaces}% | 7802 | \def\xeatspaces{\eatspaces}% |
| 7843 | % | 7803 | % |
| 7844 | % Process the macro body under the current catcode regime. | 7804 | % Process the macro body under the current catcode regime. |
| 7845 | \scantokens{#1\texinfoc}\aftermacro% | 7805 | \scantokens{#1\texinfoc}\aftermacro% |
| @@ -7935,7 +7895,7 @@ end | |||
| 7935 | \catcode`\_=\other | 7895 | \catcode`\_=\other |
| 7936 | \catcode`\|=\other | 7896 | \catcode`\|=\other |
| 7937 | \catcode`\~=\other | 7897 | \catcode`\~=\other |
| 7938 | \ifx\declaredencoding\ascii \else \setcharscatcodeothernonglobal \fi | 7898 | \passthroughcharstrue |
| 7939 | } | 7899 | } |
| 7940 | 7900 | ||
| 7941 | \def\scanargctxt{% used for copying and captions, not macros. | 7901 | \def\scanargctxt{% used for copying and captions, not macros. |
| @@ -8069,7 +8029,7 @@ end | |||
| 8069 | \paramno=0\def\paramlist{}% | 8029 | \paramno=0\def\paramlist{}% |
| 8070 | \let\hash\relax | 8030 | \let\hash\relax |
| 8071 | % \hash is redefined to `#' later to get it into definitions | 8031 | % \hash is redefined to `#' later to get it into definitions |
| 8072 | \let\processmacroarg\relax | 8032 | \let\xeatspaces\relax |
| 8073 | \parsemargdefxxx#1,;,% | 8033 | \parsemargdefxxx#1,;,% |
| 8074 | \ifnum\paramno<10\relax\else | 8034 | \ifnum\paramno<10\relax\else |
| 8075 | \paramno0\relax | 8035 | \paramno0\relax |
| @@ -8081,7 +8041,7 @@ end | |||
| 8081 | \else \let\next=\parsemargdefxxx | 8041 | \else \let\next=\parsemargdefxxx |
| 8082 | \advance\paramno by 1 | 8042 | \advance\paramno by 1 |
| 8083 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname | 8043 | \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname |
| 8084 | {\processmacroarg{\hash\the\paramno}}% | 8044 | {\xeatspaces{\hash\the\paramno}}% |
| 8085 | \edef\paramlist{\paramlist\hash\the\paramno,}% | 8045 | \edef\paramlist{\paramlist\hash\the\paramno,}% |
| 8086 | \fi\next} | 8046 | \fi\next} |
| 8087 | 8047 | ||
| @@ -8307,16 +8267,9 @@ end | |||
| 8307 | %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% | 8267 | %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% |
| 8308 | 8268 | ||
| 8309 | 8269 | ||
| 8310 | |||
| 8311 | % Remove following spaces at the expansion stage. | ||
| 8312 | % This works because spaces are discarded before each argument when TeX is | ||
| 8313 | % getting the arguments for a macro. | ||
| 8314 | % This must not be immediately followed by a }. | ||
| 8315 | \long\def\gobblespaces#1{#1} | ||
| 8316 | |||
| 8317 | % This defines a Texinfo @macro or @rmacro, called by \parsemacbody. | 8270 | % This defines a Texinfo @macro or @rmacro, called by \parsemacbody. |
| 8318 | % \macrobody has the body of the macro in it, with placeholders for | 8271 | % \macrobody has the body of the macro in it, with placeholders for |
| 8319 | % its parameters, looking like "\processmacroarg{\hash 1}". | 8272 | % its parameters, looking like "\xeatspaces{\hash 1}". |
| 8320 | % \paramno is the number of parameters | 8273 | % \paramno is the number of parameters |
| 8321 | % \paramlist is a TeX parameter text, e.g. "#1,#2,#3," | 8274 | % \paramlist is a TeX parameter text, e.g. "#1,#2,#3," |
| 8322 | % There are eight cases: recursive and nonrecursive macros of zero, one, | 8275 | % There are eight cases: recursive and nonrecursive macros of zero, one, |
| @@ -8327,14 +8280,13 @@ end | |||
| 8327 | \def\defmacro{% | 8280 | \def\defmacro{% |
| 8328 | \let\hash=##% convert placeholders to macro parameter chars | 8281 | \let\hash=##% convert placeholders to macro parameter chars |
| 8329 | \ifnum\paramno=1 | 8282 | \ifnum\paramno=1 |
| 8330 | \def\processmacroarg{\gobblespaces}% | 8283 | \def\xeatspaces##1{##1}% |
| 8331 | % This removes the pair of braces around the argument. We don't | 8284 | % This removes the pair of braces around the argument. We don't |
| 8332 | % use \eatspaces, because this can cause ends of lines to be lost | 8285 | % use \eatspaces, because this can cause ends of lines to be lost |
| 8333 | % when the argument to \eatspaces is read, leading to line-based | 8286 | % when the argument to \eatspaces is read, leading to line-based |
| 8334 | % commands like "@itemize" not being read correctly. | 8287 | % commands like "@itemize" not being read correctly. |
| 8335 | \else | 8288 | \else |
| 8336 | \def\processmacroarg{\xprocessmacroarg}% | 8289 | \let\xeatspaces\relax % suppress expansion |
| 8337 | \let\xprocessmacroarg\relax | ||
| 8338 | \fi | 8290 | \fi |
| 8339 | \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 8291 | \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 8340 | \ifcase\paramno | 8292 | \ifcase\paramno |
| @@ -8347,12 +8299,9 @@ end | |||
| 8347 | \noexpand\braceorline | 8299 | \noexpand\braceorline |
| 8348 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% | 8300 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% |
| 8349 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% | 8301 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% |
| 8350 | \expandafter\noexpand\csname\the\macname @@@@\endcsname{% | 8302 | \egroup |
| 8351 | \noexpand\gobblespaces##1\empty}% | 8303 | \noexpand\scanmacro{\macrobody}% |
| 8352 | % The \empty is for \gobblespaces in case #1 is empty | 8304 | }% |
| 8353 | }% | ||
| 8354 | \expandafter\xdef\csname\the\macname @@@@\endcsname##1{% | ||
| 8355 | \egroup\noexpand\scanmacro{\macrobody}}% | ||
| 8356 | \else | 8305 | \else |
| 8357 | \ifnum\paramno<10\relax % at most 9 | 8306 | \ifnum\paramno<10\relax % at most 9 |
| 8358 | % See non-recursive section below for comments | 8307 | % See non-recursive section below for comments |
| @@ -8391,11 +8340,6 @@ end | |||
| 8391 | \noexpand\braceorline | 8340 | \noexpand\braceorline |
| 8392 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% | 8341 | \expandafter\noexpand\csname\the\macname @@@\endcsname}% |
| 8393 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% | 8342 | \expandafter\xdef\csname\the\macname @@@\endcsname##1{% |
| 8394 | \expandafter\noexpand\csname\the\macname @@@@\endcsname{% | ||
| 8395 | \noexpand\gobblespaces##1\empty}% | ||
| 8396 | % The \empty is for \gobblespaces in case #1 is empty | ||
| 8397 | }% | ||
| 8398 | \expandafter\xdef\csname\the\macname @@@@\endcsname##1{% | ||
| 8399 | \egroup | 8343 | \egroup |
| 8400 | \noexpand\scanmacro{\macrobody}% | 8344 | \noexpand\scanmacro{\macrobody}% |
| 8401 | }% | 8345 | }% |
| @@ -9049,9 +8993,6 @@ end | |||
| 9049 | % now. --karl, 15jan04. | 8993 | % now. --karl, 15jan04. |
| 9050 | \catcode`\\=\other | 8994 | \catcode`\\=\other |
| 9051 | % | 8995 | % |
| 9052 | % Make the characters 128-255 be printing characters. | ||
| 9053 | {\setcharscatcodeothernonglobal}% | ||
| 9054 | % | ||
| 9055 | % @ is our escape character in .aux files, and we need braces. | 8996 | % @ is our escape character in .aux files, and we need braces. |
| 9056 | \catcode`\{=1 | 8997 | \catcode`\{=1 |
| 9057 | \catcode`\}=2 | 8998 | \catcode`\}=2 |
| @@ -9815,109 +9756,119 @@ directory should work if nowhere else does.} | |||
| 9815 | % macros containing the character definitions. | 9756 | % macros containing the character definitions. |
| 9816 | \setnonasciicharscatcode\active | 9757 | \setnonasciicharscatcode\active |
| 9817 | % | 9758 | % |
| 9759 | |||
| 9760 | \def\gdefchar#1#2{% | ||
| 9761 | \gdef#1{% | ||
| 9762 | \ifpassthroughchars | ||
| 9763 | \string#1% | ||
| 9764 | \else | ||
| 9765 | #2% | ||
| 9766 | \fi | ||
| 9767 | }} | ||
| 9768 | |||
| 9818 | % Latin1 (ISO-8859-1) character definitions. | 9769 | % Latin1 (ISO-8859-1) character definitions. |
| 9819 | \def\latonechardefs{% | 9770 | \def\latonechardefs{% |
| 9820 | \gdef^^a0{\tie} | 9771 | \gdefchar^^a0{\tie} |
| 9821 | \gdef^^a1{\exclamdown} | 9772 | \gdefchar^^a1{\exclamdown} |
| 9822 | \gdef^^a2{{\tcfont \char162}} % cent | 9773 | \gdefchar^^a2{{\tcfont \char162}} % cent |
| 9823 | \gdef^^a3{\pounds} | 9774 | \gdefchar^^a3{\pounds} |
| 9824 | \gdef^^a4{{\tcfont \char164}} % currency | 9775 | \gdefchar^^a4{{\tcfont \char164}} % currency |
| 9825 | \gdef^^a5{{\tcfont \char165}} % yen | 9776 | \gdefchar^^a5{{\tcfont \char165}} % yen |
| 9826 | \gdef^^a6{{\tcfont \char166}} % broken bar | 9777 | \gdefchar^^a6{{\tcfont \char166}} % broken bar |
| 9827 | \gdef^^a7{\S} | 9778 | \gdefchar^^a7{\S} |
| 9828 | \gdef^^a8{\"{}} | 9779 | \gdefchar^^a8{\"{}} |
| 9829 | \gdef^^a9{\copyright} | 9780 | \gdefchar^^a9{\copyright} |
| 9830 | \gdef^^aa{\ordf} | 9781 | \gdefchar^^aa{\ordf} |
| 9831 | \gdef^^ab{\guillemetleft} | 9782 | \gdefchar^^ab{\guillemetleft} |
| 9832 | \gdef^^ac{\ensuremath\lnot} | 9783 | \gdefchar^^ac{\ensuremath\lnot} |
| 9833 | \gdef^^ad{\-} | 9784 | \gdefchar^^ad{\-} |
| 9834 | \gdef^^ae{\registeredsymbol} | 9785 | \gdefchar^^ae{\registeredsymbol} |
| 9835 | \gdef^^af{\={}} | 9786 | \gdefchar^^af{\={}} |
| 9836 | % | 9787 | % |
| 9837 | \gdef^^b0{\textdegree} | 9788 | \gdefchar^^b0{\textdegree} |
| 9838 | \gdef^^b1{$\pm$} | 9789 | \gdefchar^^b1{$\pm$} |
| 9839 | \gdef^^b2{$^2$} | 9790 | \gdefchar^^b2{$^2$} |
| 9840 | \gdef^^b3{$^3$} | 9791 | \gdefchar^^b3{$^3$} |
| 9841 | \gdef^^b4{\'{}} | 9792 | \gdefchar^^b4{\'{}} |
| 9842 | \gdef^^b5{$\mu$} | 9793 | \gdefchar^^b5{$\mu$} |
| 9843 | \gdef^^b6{\P} | 9794 | \gdefchar^^b6{\P} |
| 9844 | \gdef^^b7{\ensuremath\cdot} | 9795 | \gdefchar^^b7{\ensuremath\cdot} |
| 9845 | \gdef^^b8{\cedilla\ } | 9796 | \gdefchar^^b8{\cedilla\ } |
| 9846 | \gdef^^b9{$^1$} | 9797 | \gdefchar^^b9{$^1$} |
| 9847 | \gdef^^ba{\ordm} | 9798 | \gdefchar^^ba{\ordm} |
| 9848 | \gdef^^bb{\guillemetright} | 9799 | \gdefchar^^bb{\guillemetright} |
| 9849 | \gdef^^bc{$1\over4$} | 9800 | \gdefchar^^bc{$1\over4$} |
| 9850 | \gdef^^bd{$1\over2$} | 9801 | \gdefchar^^bd{$1\over2$} |
| 9851 | \gdef^^be{$3\over4$} | 9802 | \gdefchar^^be{$3\over4$} |
| 9852 | \gdef^^bf{\questiondown} | 9803 | \gdefchar^^bf{\questiondown} |
| 9853 | % | 9804 | % |
| 9854 | \gdef^^c0{\`A} | 9805 | \gdefchar^^c0{\`A} |
| 9855 | \gdef^^c1{\'A} | 9806 | \gdefchar^^c1{\'A} |
| 9856 | \gdef^^c2{\^A} | 9807 | \gdefchar^^c2{\^A} |
| 9857 | \gdef^^c3{\~A} | 9808 | \gdefchar^^c3{\~A} |
| 9858 | \gdef^^c4{\"A} | 9809 | \gdefchar^^c4{\"A} |
| 9859 | \gdef^^c5{\ringaccent A} | 9810 | \gdefchar^^c5{\ringaccent A} |
| 9860 | \gdef^^c6{\AE} | 9811 | \gdefchar^^c6{\AE} |
| 9861 | \gdef^^c7{\cedilla C} | 9812 | \gdefchar^^c7{\cedilla C} |
| 9862 | \gdef^^c8{\`E} | 9813 | \gdefchar^^c8{\`E} |
| 9863 | \gdef^^c9{\'E} | 9814 | \gdefchar^^c9{\'E} |
| 9864 | \gdef^^ca{\^E} | 9815 | \gdefchar^^ca{\^E} |
| 9865 | \gdef^^cb{\"E} | 9816 | \gdefchar^^cb{\"E} |
| 9866 | \gdef^^cc{\`I} | 9817 | \gdefchar^^cc{\`I} |
| 9867 | \gdef^^cd{\'I} | 9818 | \gdefchar^^cd{\'I} |
| 9868 | \gdef^^ce{\^I} | 9819 | \gdefchar^^ce{\^I} |
| 9869 | \gdef^^cf{\"I} | 9820 | \gdefchar^^cf{\"I} |
| 9870 | % | 9821 | % |
| 9871 | \gdef^^d0{\DH} | 9822 | \gdefchar^^d0{\DH} |
| 9872 | \gdef^^d1{\~N} | 9823 | \gdefchar^^d1{\~N} |
| 9873 | \gdef^^d2{\`O} | 9824 | \gdefchar^^d2{\`O} |
| 9874 | \gdef^^d3{\'O} | 9825 | \gdefchar^^d3{\'O} |
| 9875 | \gdef^^d4{\^O} | 9826 | \gdefchar^^d4{\^O} |
| 9876 | \gdef^^d5{\~O} | 9827 | \gdefchar^^d5{\~O} |
| 9877 | \gdef^^d6{\"O} | 9828 | \gdefchar^^d6{\"O} |
| 9878 | \gdef^^d7{$\times$} | 9829 | \gdefchar^^d7{$\times$} |
| 9879 | \gdef^^d8{\O} | 9830 | \gdefchar^^d8{\O} |
| 9880 | \gdef^^d9{\`U} | 9831 | \gdefchar^^d9{\`U} |
| 9881 | \gdef^^da{\'U} | 9832 | \gdefchar^^da{\'U} |
| 9882 | \gdef^^db{\^U} | 9833 | \gdefchar^^db{\^U} |
| 9883 | \gdef^^dc{\"U} | 9834 | \gdefchar^^dc{\"U} |
| 9884 | \gdef^^dd{\'Y} | 9835 | \gdefchar^^dd{\'Y} |
| 9885 | \gdef^^de{\TH} | 9836 | \gdefchar^^de{\TH} |
| 9886 | \gdef^^df{\ss} | 9837 | \gdefchar^^df{\ss} |
| 9887 | % | 9838 | % |
| 9888 | \gdef^^e0{\`a} | 9839 | \gdefchar^^e0{\`a} |
| 9889 | \gdef^^e1{\'a} | 9840 | \gdefchar^^e1{\'a} |
| 9890 | \gdef^^e2{\^a} | 9841 | \gdefchar^^e2{\^a} |
| 9891 | \gdef^^e3{\~a} | 9842 | \gdefchar^^e3{\~a} |
| 9892 | \gdef^^e4{\"a} | 9843 | \gdefchar^^e4{\"a} |
| 9893 | \gdef^^e5{\ringaccent a} | 9844 | \gdefchar^^e5{\ringaccent a} |
| 9894 | \gdef^^e6{\ae} | 9845 | \gdefchar^^e6{\ae} |
| 9895 | \gdef^^e7{\cedilla c} | 9846 | \gdefchar^^e7{\cedilla c} |
| 9896 | \gdef^^e8{\`e} | 9847 | \gdefchar^^e8{\`e} |
| 9897 | \gdef^^e9{\'e} | 9848 | \gdefchar^^e9{\'e} |
| 9898 | \gdef^^ea{\^e} | 9849 | \gdefchar^^ea{\^e} |
| 9899 | \gdef^^eb{\"e} | 9850 | \gdefchar^^eb{\"e} |
| 9900 | \gdef^^ec{\`{\dotless i}} | 9851 | \gdefchar^^ec{\`{\dotless i}} |
| 9901 | \gdef^^ed{\'{\dotless i}} | 9852 | \gdefchar^^ed{\'{\dotless i}} |
| 9902 | \gdef^^ee{\^{\dotless i}} | 9853 | \gdefchar^^ee{\^{\dotless i}} |
| 9903 | \gdef^^ef{\"{\dotless i}} | 9854 | \gdefchar^^ef{\"{\dotless i}} |
| 9904 | % | 9855 | % |
| 9905 | \gdef^^f0{\dh} | 9856 | \gdefchar^^f0{\dh} |
| 9906 | \gdef^^f1{\~n} | 9857 | \gdefchar^^f1{\~n} |
| 9907 | \gdef^^f2{\`o} | 9858 | \gdefchar^^f2{\`o} |
| 9908 | \gdef^^f3{\'o} | 9859 | \gdefchar^^f3{\'o} |
| 9909 | \gdef^^f4{\^o} | 9860 | \gdefchar^^f4{\^o} |
| 9910 | \gdef^^f5{\~o} | 9861 | \gdefchar^^f5{\~o} |
| 9911 | \gdef^^f6{\"o} | 9862 | \gdefchar^^f6{\"o} |
| 9912 | \gdef^^f7{$\div$} | 9863 | \gdefchar^^f7{$\div$} |
| 9913 | \gdef^^f8{\o} | 9864 | \gdefchar^^f8{\o} |
| 9914 | \gdef^^f9{\`u} | 9865 | \gdefchar^^f9{\`u} |
| 9915 | \gdef^^fa{\'u} | 9866 | \gdefchar^^fa{\'u} |
| 9916 | \gdef^^fb{\^u} | 9867 | \gdefchar^^fb{\^u} |
| 9917 | \gdef^^fc{\"u} | 9868 | \gdefchar^^fc{\"u} |
| 9918 | \gdef^^fd{\'y} | 9869 | \gdefchar^^fd{\'y} |
| 9919 | \gdef^^fe{\th} | 9870 | \gdefchar^^fe{\th} |
| 9920 | \gdef^^ff{\"y} | 9871 | \gdefchar^^ff{\"y} |
| 9921 | } | 9872 | } |
| 9922 | 9873 | ||
| 9923 | % Latin9 (ISO-8859-15) encoding character definitions. | 9874 | % Latin9 (ISO-8859-15) encoding character definitions. |
| @@ -9925,119 +9876,119 @@ directory should work if nowhere else does.} | |||
| 9925 | % Encoding is almost identical to Latin1. | 9876 | % Encoding is almost identical to Latin1. |
| 9926 | \latonechardefs | 9877 | \latonechardefs |
| 9927 | % | 9878 | % |
| 9928 | \gdef^^a4{\euro} | 9879 | \gdefchar^^a4{\euro} |
| 9929 | \gdef^^a6{\v S} | 9880 | \gdefchar^^a6{\v S} |
| 9930 | \gdef^^a8{\v s} | 9881 | \gdefchar^^a8{\v s} |
| 9931 | \gdef^^b4{\v Z} | 9882 | \gdefchar^^b4{\v Z} |
| 9932 | \gdef^^b8{\v z} | 9883 | \gdefchar^^b8{\v z} |
| 9933 | \gdef^^bc{\OE} | 9884 | \gdefchar^^bc{\OE} |
| 9934 | \gdef^^bd{\oe} | 9885 | \gdefchar^^bd{\oe} |
| 9935 | \gdef^^be{\"Y} | 9886 | \gdefchar^^be{\"Y} |
| 9936 | } | 9887 | } |
| 9937 | 9888 | ||
| 9938 | % Latin2 (ISO-8859-2) character definitions. | 9889 | % Latin2 (ISO-8859-2) character definitions. |
| 9939 | \def\lattwochardefs{% | 9890 | \def\lattwochardefs{% |
| 9940 | \gdef^^a0{\tie} | 9891 | \gdefchar^^a0{\tie} |
| 9941 | \gdef^^a1{\ogonek{A}} | 9892 | \gdefchar^^a1{\ogonek{A}} |
| 9942 | \gdef^^a2{\u{}} | 9893 | \gdefchar^^a2{\u{}} |
| 9943 | \gdef^^a3{\L} | 9894 | \gdefchar^^a3{\L} |
| 9944 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | 9895 | \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} |
| 9945 | \gdef^^a5{\v L} | 9896 | \gdefchar^^a5{\v L} |
| 9946 | \gdef^^a6{\'S} | 9897 | \gdefchar^^a6{\'S} |
| 9947 | \gdef^^a7{\S} | 9898 | \gdefchar^^a7{\S} |
| 9948 | \gdef^^a8{\"{}} | 9899 | \gdefchar^^a8{\"{}} |
| 9949 | \gdef^^a9{\v S} | 9900 | \gdefchar^^a9{\v S} |
| 9950 | \gdef^^aa{\cedilla S} | 9901 | \gdefchar^^aa{\cedilla S} |
| 9951 | \gdef^^ab{\v T} | 9902 | \gdefchar^^ab{\v T} |
| 9952 | \gdef^^ac{\'Z} | 9903 | \gdefchar^^ac{\'Z} |
| 9953 | \gdef^^ad{\-} | 9904 | \gdefchar^^ad{\-} |
| 9954 | \gdef^^ae{\v Z} | 9905 | \gdefchar^^ae{\v Z} |
| 9955 | \gdef^^af{\dotaccent Z} | 9906 | \gdefchar^^af{\dotaccent Z} |
| 9956 | % | 9907 | % |
| 9957 | \gdef^^b0{\textdegree} | 9908 | \gdefchar^^b0{\textdegree} |
| 9958 | \gdef^^b1{\ogonek{a}} | 9909 | \gdefchar^^b1{\ogonek{a}} |
| 9959 | \gdef^^b2{\ogonek{ }} | 9910 | \gdefchar^^b2{\ogonek{ }} |
| 9960 | \gdef^^b3{\l} | 9911 | \gdefchar^^b3{\l} |
| 9961 | \gdef^^b4{\'{}} | 9912 | \gdefchar^^b4{\'{}} |
| 9962 | \gdef^^b5{\v l} | 9913 | \gdefchar^^b5{\v l} |
| 9963 | \gdef^^b6{\'s} | 9914 | \gdefchar^^b6{\'s} |
| 9964 | \gdef^^b7{\v{}} | 9915 | \gdefchar^^b7{\v{}} |
| 9965 | \gdef^^b8{\cedilla\ } | 9916 | \gdefchar^^b8{\cedilla\ } |
| 9966 | \gdef^^b9{\v s} | 9917 | \gdefchar^^b9{\v s} |
| 9967 | \gdef^^ba{\cedilla s} | 9918 | \gdefchar^^ba{\cedilla s} |
| 9968 | \gdef^^bb{\v t} | 9919 | \gdefchar^^bb{\v t} |
| 9969 | \gdef^^bc{\'z} | 9920 | \gdefchar^^bc{\'z} |
| 9970 | \gdef^^bd{\H{}} | 9921 | \gdefchar^^bd{\H{}} |
| 9971 | \gdef^^be{\v z} | 9922 | \gdefchar^^be{\v z} |
| 9972 | \gdef^^bf{\dotaccent z} | 9923 | \gdefchar^^bf{\dotaccent z} |
| 9973 | % | 9924 | % |
| 9974 | \gdef^^c0{\'R} | 9925 | \gdefchar^^c0{\'R} |
| 9975 | \gdef^^c1{\'A} | 9926 | \gdefchar^^c1{\'A} |
| 9976 | \gdef^^c2{\^A} | 9927 | \gdefchar^^c2{\^A} |
| 9977 | \gdef^^c3{\u A} | 9928 | \gdefchar^^c3{\u A} |
| 9978 | \gdef^^c4{\"A} | 9929 | \gdefchar^^c4{\"A} |
| 9979 | \gdef^^c5{\'L} | 9930 | \gdefchar^^c5{\'L} |
| 9980 | \gdef^^c6{\'C} | 9931 | \gdefchar^^c6{\'C} |
| 9981 | \gdef^^c7{\cedilla C} | 9932 | \gdefchar^^c7{\cedilla C} |
| 9982 | \gdef^^c8{\v C} | 9933 | \gdefchar^^c8{\v C} |
| 9983 | \gdef^^c9{\'E} | 9934 | \gdefchar^^c9{\'E} |
| 9984 | \gdef^^ca{\ogonek{E}} | 9935 | \gdefchar^^ca{\ogonek{E}} |
| 9985 | \gdef^^cb{\"E} | 9936 | \gdefchar^^cb{\"E} |
| 9986 | \gdef^^cc{\v E} | 9937 | \gdefchar^^cc{\v E} |
| 9987 | \gdef^^cd{\'I} | 9938 | \gdefchar^^cd{\'I} |
| 9988 | \gdef^^ce{\^I} | 9939 | \gdefchar^^ce{\^I} |
| 9989 | \gdef^^cf{\v D} | 9940 | \gdefchar^^cf{\v D} |
| 9990 | % | 9941 | % |
| 9991 | \gdef^^d0{\DH} | 9942 | \gdefchar^^d0{\DH} |
| 9992 | \gdef^^d1{\'N} | 9943 | \gdefchar^^d1{\'N} |
| 9993 | \gdef^^d2{\v N} | 9944 | \gdefchar^^d2{\v N} |
| 9994 | \gdef^^d3{\'O} | 9945 | \gdefchar^^d3{\'O} |
| 9995 | \gdef^^d4{\^O} | 9946 | \gdefchar^^d4{\^O} |
| 9996 | \gdef^^d5{\H O} | 9947 | \gdefchar^^d5{\H O} |
| 9997 | \gdef^^d6{\"O} | 9948 | \gdefchar^^d6{\"O} |
| 9998 | \gdef^^d7{$\times$} | 9949 | \gdefchar^^d7{$\times$} |
| 9999 | \gdef^^d8{\v R} | 9950 | \gdefchar^^d8{\v R} |
| 10000 | \gdef^^d9{\ringaccent U} | 9951 | \gdefchar^^d9{\ringaccent U} |
| 10001 | \gdef^^da{\'U} | 9952 | \gdefchar^^da{\'U} |
| 10002 | \gdef^^db{\H U} | 9953 | \gdefchar^^db{\H U} |
| 10003 | \gdef^^dc{\"U} | 9954 | \gdefchar^^dc{\"U} |
| 10004 | \gdef^^dd{\'Y} | 9955 | \gdefchar^^dd{\'Y} |
| 10005 | \gdef^^de{\cedilla T} | 9956 | \gdefchar^^de{\cedilla T} |
| 10006 | \gdef^^df{\ss} | 9957 | \gdefchar^^df{\ss} |
| 10007 | % | 9958 | % |
| 10008 | \gdef^^e0{\'r} | 9959 | \gdefchar^^e0{\'r} |
| 10009 | \gdef^^e1{\'a} | 9960 | \gdefchar^^e1{\'a} |
| 10010 | \gdef^^e2{\^a} | 9961 | \gdefchar^^e2{\^a} |
| 10011 | \gdef^^e3{\u a} | 9962 | \gdefchar^^e3{\u a} |
| 10012 | \gdef^^e4{\"a} | 9963 | \gdefchar^^e4{\"a} |
| 10013 | \gdef^^e5{\'l} | 9964 | \gdefchar^^e5{\'l} |
| 10014 | \gdef^^e6{\'c} | 9965 | \gdefchar^^e6{\'c} |
| 10015 | \gdef^^e7{\cedilla c} | 9966 | \gdefchar^^e7{\cedilla c} |
| 10016 | \gdef^^e8{\v c} | 9967 | \gdefchar^^e8{\v c} |
| 10017 | \gdef^^e9{\'e} | 9968 | \gdefchar^^e9{\'e} |
| 10018 | \gdef^^ea{\ogonek{e}} | 9969 | \gdefchar^^ea{\ogonek{e}} |
| 10019 | \gdef^^eb{\"e} | 9970 | \gdefchar^^eb{\"e} |
| 10020 | \gdef^^ec{\v e} | 9971 | \gdefchar^^ec{\v e} |
| 10021 | \gdef^^ed{\'{\dotless{i}}} | 9972 | \gdefchar^^ed{\'{\dotless{i}}} |
| 10022 | \gdef^^ee{\^{\dotless{i}}} | 9973 | \gdefchar^^ee{\^{\dotless{i}}} |
| 10023 | \gdef^^ef{\v d} | 9974 | \gdefchar^^ef{\v d} |
| 10024 | % | 9975 | % |
| 10025 | \gdef^^f0{\dh} | 9976 | \gdefchar^^f0{\dh} |
| 10026 | \gdef^^f1{\'n} | 9977 | \gdefchar^^f1{\'n} |
| 10027 | \gdef^^f2{\v n} | 9978 | \gdefchar^^f2{\v n} |
| 10028 | \gdef^^f3{\'o} | 9979 | \gdefchar^^f3{\'o} |
| 10029 | \gdef^^f4{\^o} | 9980 | \gdefchar^^f4{\^o} |
| 10030 | \gdef^^f5{\H o} | 9981 | \gdefchar^^f5{\H o} |
| 10031 | \gdef^^f6{\"o} | 9982 | \gdefchar^^f6{\"o} |
| 10032 | \gdef^^f7{$\div$} | 9983 | \gdefchar^^f7{$\div$} |
| 10033 | \gdef^^f8{\v r} | 9984 | \gdefchar^^f8{\v r} |
| 10034 | \gdef^^f9{\ringaccent u} | 9985 | \gdefchar^^f9{\ringaccent u} |
| 10035 | \gdef^^fa{\'u} | 9986 | \gdefchar^^fa{\'u} |
| 10036 | \gdef^^fb{\H u} | 9987 | \gdefchar^^fb{\H u} |
| 10037 | \gdef^^fc{\"u} | 9988 | \gdefchar^^fc{\"u} |
| 10038 | \gdef^^fd{\'y} | 9989 | \gdefchar^^fd{\'y} |
| 10039 | \gdef^^fe{\cedilla t} | 9990 | \gdefchar^^fe{\cedilla t} |
| 10040 | \gdef^^ff{\dotaccent{}} | 9991 | \gdefchar^^ff{\dotaccent{}} |
| 10041 | } | 9992 | } |
| 10042 | 9993 | ||
| 10043 | % UTF-8 character definitions. | 9994 | % UTF-8 character definitions. |
| @@ -10067,35 +10018,56 @@ directory should work if nowhere else does.} | |||
| 10067 | \fi | 10018 | \fi |
| 10068 | } | 10019 | } |
| 10069 | 10020 | ||
| 10021 | % Give non-ASCII bytes the active definitions for processing UTF-8 sequences | ||
| 10070 | \begingroup | 10022 | \begingroup |
| 10071 | \catcode`\~13 | 10023 | \catcode`\~13 |
| 10024 | \catcode`\$12 | ||
| 10072 | \catcode`\"12 | 10025 | \catcode`\"12 |
| 10073 | 10026 | ||
| 10027 | % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp | ||
| 10028 | % substituting ~ and $ with a character token of that value. | ||
| 10074 | \def\UTFviiiLoop{% | 10029 | \def\UTFviiiLoop{% |
| 10075 | \global\catcode\countUTFx\active | 10030 | \global\catcode\countUTFx\active |
| 10076 | \uccode`\~\countUTFx | 10031 | \uccode`\~\countUTFx |
| 10032 | \uccode`\$\countUTFx | ||
| 10077 | \uppercase\expandafter{\UTFviiiTmp}% | 10033 | \uppercase\expandafter{\UTFviiiTmp}% |
| 10078 | \advance\countUTFx by 1 | 10034 | \advance\countUTFx by 1 |
| 10079 | \ifnum\countUTFx < \countUTFy | 10035 | \ifnum\countUTFx < \countUTFy |
| 10080 | \expandafter\UTFviiiLoop | 10036 | \expandafter\UTFviiiLoop |
| 10081 | \fi} | 10037 | \fi} |
| 10082 | 10038 | ||
| 10039 | % For bytes other than the first in a UTF-8 sequence. Not expected to | ||
| 10040 | % be expanded except when writing to auxiliary files. | ||
| 10041 | \countUTFx = "80 | ||
| 10042 | \countUTFy = "C2 | ||
| 10043 | \def\UTFviiiTmp{% | ||
| 10044 | \gdef~{ | ||
| 10045 | \ifpassthroughchars $\fi}}% | ||
| 10046 | \UTFviiiLoop | ||
| 10047 | |||
| 10083 | \countUTFx = "C2 | 10048 | \countUTFx = "C2 |
| 10084 | \countUTFy = "E0 | 10049 | \countUTFy = "E0 |
| 10085 | \def\UTFviiiTmp{% | 10050 | \def\UTFviiiTmp{% |
| 10086 | \xdef~{\noexpand\UTFviiiTwoOctets\string~}} | 10051 | \gdef~{% |
| 10052 | \ifpassthroughchars $% | ||
| 10053 | \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% | ||
| 10087 | \UTFviiiLoop | 10054 | \UTFviiiLoop |
| 10088 | 10055 | ||
| 10089 | \countUTFx = "E0 | 10056 | \countUTFx = "E0 |
| 10090 | \countUTFy = "F0 | 10057 | \countUTFy = "F0 |
| 10091 | \def\UTFviiiTmp{% | 10058 | \def\UTFviiiTmp{% |
| 10092 | \xdef~{\noexpand\UTFviiiThreeOctets\string~}} | 10059 | \gdef~{% |
| 10060 | \ifpassthroughchars $% | ||
| 10061 | \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% | ||
| 10093 | \UTFviiiLoop | 10062 | \UTFviiiLoop |
| 10094 | 10063 | ||
| 10095 | \countUTFx = "F0 | 10064 | \countUTFx = "F0 |
| 10096 | \countUTFy = "F4 | 10065 | \countUTFy = "F4 |
| 10097 | \def\UTFviiiTmp{% | 10066 | \def\UTFviiiTmp{% |
| 10098 | \xdef~{\noexpand\UTFviiiFourOctets\string~}} | 10067 | \gdef~{% |
| 10068 | \ifpassthroughchars $% | ||
| 10069 | \else\expandafter\UTFviiiFourOctets\expandafter$\fi | ||
| 10070 | }}% | ||
| 10099 | \UTFviiiLoop | 10071 | \UTFviiiLoop |
| 10100 | \endgroup | 10072 | \endgroup |
| 10101 | 10073 | ||
| @@ -10134,9 +10106,10 @@ directory should work if nowhere else does.} | |||
| 10134 | \catcode`\~=13 | 10106 | \catcode`\~=13 |
| 10135 | \gdef\DeclareUnicodeCharacterUTFviii#1#2{% | 10107 | \gdef\DeclareUnicodeCharacterUTFviii#1#2{% |
| 10136 | \countUTFz = "#1\relax | 10108 | \countUTFz = "#1\relax |
| 10137 | %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% | ||
| 10138 | \begingroup | 10109 | \begingroup |
| 10139 | \parseXMLCharref | 10110 | \parseXMLCharref |
| 10111 | % | ||
| 10112 | % Access definitions of characters given UTF-8 sequences | ||
| 10140 | \def\UTFviiiTwoOctets##1##2{% | 10113 | \def\UTFviiiTwoOctets##1##2{% |
| 10141 | \csname u8:##1\string ##2\endcsname}% | 10114 | \csname u8:##1\string ##2\endcsname}% |
| 10142 | \def\UTFviiiThreeOctets##1##2##3{% | 10115 | \def\UTFviiiThreeOctets##1##2##3{% |
| @@ -10154,7 +10127,8 @@ directory should work if nowhere else does.} | |||
| 10154 | % define an additional control sequence for this code point. | 10127 | % define an additional control sequence for this code point. |
| 10155 | \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp | 10128 | \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp |
| 10156 | \endgroup} | 10129 | \endgroup} |
| 10157 | 10130 | % | |
| 10131 | % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp. | ||
| 10158 | \gdef\parseXMLCharref{% | 10132 | \gdef\parseXMLCharref{% |
| 10159 | \ifnum\countUTFz < "A0\relax | 10133 | \ifnum\countUTFz < "A0\relax |
| 10160 | \errhelp = \EMsimple | 10134 | \errhelp = \EMsimple |
| @@ -10184,6 +10158,7 @@ directory should work if nowhere else does.} | |||
| 10184 | \uccode `#1\countUTFx | 10158 | \uccode `#1\countUTFx |
| 10185 | \countUTFz = \countUTFy} | 10159 | \countUTFz = \countUTFy} |
| 10186 | 10160 | ||
| 10161 | % Used to set \UTFviiiTmp to a UTF-8 byte sequence | ||
| 10187 | \gdef\parseUTFviiiB#1#2#3#4{% | 10162 | \gdef\parseUTFviiiB#1#2#3#4{% |
| 10188 | \advance\countUTFz by "#10\relax | 10163 | \advance\countUTFz by "#10\relax |
| 10189 | \uccode `#3\countUTFz | 10164 | \uccode `#3\countUTFz |
| @@ -10937,84 +10912,17 @@ directory should work if nowhere else does.} | |||
| 10937 | \unicodechardefs | 10912 | \unicodechardefs |
| 10938 | } | 10913 | } |
| 10939 | 10914 | ||
| 10940 | % Native Unicode (XeTeX and LuaTeX) catcode other non global definitions | ||
| 10941 | \def\nativeunicodecharscatcodeothernonglobal{% | ||
| 10942 | \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeOther | ||
| 10943 | \unicodechardefs | ||
| 10944 | } | ||
| 10945 | |||
| 10946 | % Catcode (non-ASCII or native Unicode) are set to \other (non-global | ||
| 10947 | % assignments). | ||
| 10948 | \def\setcharscatcodeothernonglobal{% | ||
| 10949 | \iftxiusebytewiseio | ||
| 10950 | \setnonasciicharscatcodenonglobal\other | ||
| 10951 | \else | ||
| 10952 | \nativeunicodecharscatcodeothernonglobal | ||
| 10953 | \fi | ||
| 10954 | } | ||
| 10955 | |||
| 10956 | % US-ASCII character definitions. | 10915 | % US-ASCII character definitions. |
| 10957 | \def\asciichardefs{% nothing need be done | 10916 | \def\asciichardefs{% nothing need be done |
| 10958 | \relax | 10917 | \relax |
| 10959 | } | 10918 | } |
| 10960 | 10919 | ||
| 10961 | % Redefine the active definitions of non-ASCII characters to expand to | 10920 | % Whether the active definitions of non-ASCII characters expand to |
| 10962 | % non-active tokens with the same character code. | 10921 | % non-active tokens with the same character code. This is used to |
| 10963 | \def\nonasciistringdefs{% | 10922 | % write characters literally, instead of using active definitions for |
| 10964 | \setnonasciicharscatcode\active | ||
| 10965 | \def\defstringchar##1{\def##1{\string##1}}% | ||
| 10966 | % | ||
| 10967 | \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83% | ||
| 10968 | \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87% | ||
| 10969 | \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b% | ||
| 10970 | \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f% | ||
| 10971 | % | ||
| 10972 | \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93% | ||
| 10973 | \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97% | ||
| 10974 | \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b% | ||
| 10975 | \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f% | ||
| 10976 | % | ||
| 10977 | \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3% | ||
| 10978 | \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7% | ||
| 10979 | \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab% | ||
| 10980 | \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af% | ||
| 10981 | % | ||
| 10982 | \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3% | ||
| 10983 | \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7% | ||
| 10984 | \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb% | ||
| 10985 | \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf% | ||
| 10986 | % | ||
| 10987 | \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3% | ||
| 10988 | \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7% | ||
| 10989 | \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb% | ||
| 10990 | \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf% | ||
| 10991 | % | ||
| 10992 | \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3% | ||
| 10993 | \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7% | ||
| 10994 | \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db% | ||
| 10995 | \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df% | ||
| 10996 | % | ||
| 10997 | \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3% | ||
| 10998 | \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7% | ||
| 10999 | \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb% | ||
| 11000 | \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef% | ||
| 11001 | % | ||
| 11002 | \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3% | ||
| 11003 | \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7% | ||
| 11004 | \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb% | ||
| 11005 | \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff% | ||
| 11006 | } | ||
| 11007 | |||
| 11008 | % Write characters literally, instead of using active definitions for | ||
| 11009 | % printing the correct glyphs. | 10923 | % printing the correct glyphs. |
| 11010 | \def\passthroughcharacters{% | 10924 | \newif\ifpassthroughchars |
| 11011 | \iftxiusebytewiseio | 10925 | \passthroughcharsfalse |
| 11012 | \nonasciistringdefs | ||
| 11013 | \else | ||
| 11014 | \passthroughcharstrue | ||
| 11015 | \fi | ||
| 11016 | } | ||
| 11017 | |||
| 11018 | 10926 | ||
| 11019 | % define all the unicode characters we know about, for the sake of @U. | 10927 | % define all the unicode characters we know about, for the sake of @U. |
| 11020 | \iftxinativeunicodecapable | 10928 | \iftxinativeunicodecapable |
| @@ -11370,7 +11278,7 @@ directory should work if nowhere else does.} | |||
| 11370 | % | 11278 | % |
| 11371 | {@catcode`- = @active | 11279 | {@catcode`- = @active |
| 11372 | @gdef@normalturnoffactive{% | 11280 | @gdef@normalturnoffactive{% |
| 11373 | @passthroughcharacters | 11281 | @passthroughcharstrue |
| 11374 | @let-=@normaldash | 11282 | @let-=@normaldash |
| 11375 | @let"=@normaldoublequote | 11283 | @let"=@normaldoublequote |
| 11376 | @let$=@normaldollar %$ font-lock fix | 11284 | @let$=@normaldollar %$ font-lock fix |