aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorJohn Wiegley2016-03-11 13:33:32 -0800
committerJohn Wiegley2016-03-11 13:33:32 -0800
commit63efcc268635dea78c6bd80749eae4ee2c72d717 (patch)
tree888b43de0eb148cf46a129a15f08a80caa8a5dfe /doc/misc
parentb4fbd69b66a927ad8ff479bee6ca57e977d7e649 (diff)
parentfacb5e20ce186e47506860bde982e35020fedce5 (diff)
downloademacs-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/misc')
-rw-r--r--doc/misc/texinfo.tex658
1 files changed, 283 insertions, 375 deletions
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