diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/misc/epa.texi | 76 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 4 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 137 |
3 files changed, 164 insertions, 53 deletions
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 527b44fb180..cb177c41f49 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi | |||
| @@ -42,7 +42,7 @@ modify this GNU manual.'' | |||
| 42 | 42 | ||
| 43 | @contents | 43 | @contents |
| 44 | 44 | ||
| 45 | @node Top | 45 | @node Top, Overview, (dir), (dir) |
| 46 | @top EasyPG Assistant user's manual | 46 | @top EasyPG Assistant user's manual |
| 47 | 47 | ||
| 48 | EasyPG Assistant is an Emacs user interface to GNU Privacy Guard | 48 | EasyPG Assistant is an Emacs user interface to GNU Privacy Guard |
| @@ -61,6 +61,7 @@ called EasyPG Library. | |||
| 61 | * Quick start:: | 61 | * Quick start:: |
| 62 | * Commands:: | 62 | * Commands:: |
| 63 | * Caching Passphrases:: | 63 | * Caching Passphrases:: |
| 64 | * GnuPG version compatibility:: | ||
| 64 | * Bug Reports:: | 65 | * Bug Reports:: |
| 65 | * GNU Free Documentation License:: The license for this documentation. | 66 | * GNU Free Documentation License:: The license for this documentation. |
| 66 | * Key Index:: | 67 | * Key Index:: |
| @@ -68,7 +69,7 @@ called EasyPG Library. | |||
| 68 | * Variable Index:: | 69 | * Variable Index:: |
| 69 | @end menu | 70 | @end menu |
| 70 | 71 | ||
| 71 | @node Overview | 72 | @node Overview, Quick start, Top, Top |
| 72 | @chapter Overview | 73 | @chapter Overview |
| 73 | 74 | ||
| 74 | EasyPG Assistant provides the following features. | 75 | EasyPG Assistant provides the following features. |
| @@ -82,7 +83,7 @@ EasyPG Assistant provides the following features. | |||
| 82 | @item Automatic encryption/decryption of *.gpg files. | 83 | @item Automatic encryption/decryption of *.gpg files. |
| 83 | @end itemize | 84 | @end itemize |
| 84 | 85 | ||
| 85 | @node Quick start | 86 | @node Quick start, Commands, Overview, Top |
| 86 | @chapter Quick start | 87 | @chapter Quick start |
| 87 | 88 | ||
| 88 | EasyPG Assistant commands are prefixed by @samp{epa-}. For example, | 89 | EasyPG Assistant commands are prefixed by @samp{epa-}. For example, |
| @@ -99,7 +100,7 @@ EasyPG Assistant provides several cryptographic features which can be | |||
| 99 | integrated into other Emacs functionalities. For example, automatic | 100 | integrated into other Emacs functionalities. For example, automatic |
| 100 | encryption/decryption of @file{*.gpg} files. | 101 | encryption/decryption of @file{*.gpg} files. |
| 101 | 102 | ||
| 102 | @node Commands | 103 | @node Commands, GnuPG version compatibility, Quick start, Top |
| 103 | @chapter Commands | 104 | @chapter Commands |
| 104 | 105 | ||
| 105 | This chapter introduces various commands for typical use cases. | 106 | This chapter introduces various commands for typical use cases. |
| @@ -113,7 +114,7 @@ This chapter introduces various commands for typical use cases. | |||
| 113 | * Encrypting/decrypting gpg files:: | 114 | * Encrypting/decrypting gpg files:: |
| 114 | @end menu | 115 | @end menu |
| 115 | 116 | ||
| 116 | @node Key management | 117 | @node Key management, Cryptographic operations on regions, Commands, Commands |
| 117 | @section Key management | 118 | @section Key management |
| 118 | Probably the first step of using EasyPG Assistant is to browse your | 119 | Probably the first step of using EasyPG Assistant is to browse your |
| 119 | keyring. @kbd{M-x epa-list-keys} is corresponding to @samp{gpg | 120 | keyring. @kbd{M-x epa-list-keys} is corresponding to @samp{gpg |
| @@ -196,7 +197,7 @@ Delete selected keys. If @var{allow-secret} is non-@code{nil}, it | |||
| 196 | also delete the secret keys. | 197 | also delete the secret keys. |
| 197 | @end deffn | 198 | @end deffn |
| 198 | 199 | ||
| 199 | @node Cryptographic operations on regions | 200 | @node Cryptographic operations on regions, Cryptographic operations on files, Key management, Commands |
| 200 | @section Cryptographic operations on regions | 201 | @section Cryptographic operations on regions |
| 201 | 202 | ||
| 202 | @deffn Command epa-decrypt-region start end | 203 | @deffn Command epa-decrypt-region start end |
| @@ -241,7 +242,7 @@ also ask you whether or not to sign the text before encryption and if | |||
| 241 | you answered yes, it will let you select the signing keys. | 242 | you answered yes, it will let you select the signing keys. |
| 242 | @end deffn | 243 | @end deffn |
| 243 | 244 | ||
| 244 | @node Cryptographic operations on files | 245 | @node Cryptographic operations on files, Dired integration, Cryptographic operations on regions, Commands |
| 245 | @section Cryptographic operations on files | 246 | @section Cryptographic operations on files |
| 246 | 247 | ||
| 247 | @deffn Command epa-decrypt-file file &optional output | 248 | @deffn Command epa-decrypt-file file &optional output |
| @@ -262,7 +263,7 @@ select signing keys, and then a signature type. | |||
| 262 | Encrypt @var{file}. It will let you select recipients. | 263 | Encrypt @var{file}. It will let you select recipients. |
| 263 | @end deffn | 264 | @end deffn |
| 264 | 265 | ||
| 265 | @node Dired integration | 266 | @node Dired integration, Mail-mode integration, Cryptographic operations on files, Commands |
| 266 | @section Dired integration | 267 | @section Dired integration |
| 267 | 268 | ||
| 268 | EasyPG Assistant extends Dired Mode for GNU Emacs to allow users to | 269 | EasyPG Assistant extends Dired Mode for GNU Emacs to allow users to |
| @@ -301,7 +302,7 @@ Encrypt marked files. | |||
| 301 | 302 | ||
| 302 | @end table | 303 | @end table |
| 303 | 304 | ||
| 304 | @node Mail-mode integration | 305 | @node Mail-mode integration, Encrypting/decrypting gpg files, Dired integration, Commands |
| 305 | @section Mail-mode integration | 306 | @section Mail-mode integration |
| 306 | 307 | ||
| 307 | EasyPG Assistant provides a minor mode @code{epa-mail-mode} to help | 308 | EasyPG Assistant provides a minor mode @code{epa-mail-mode} to help |
| @@ -353,7 +354,7 @@ use that option to ignore specific recipients for encryption purposes. | |||
| 353 | 354 | ||
| 354 | @end table | 355 | @end table |
| 355 | 356 | ||
| 356 | @node Encrypting/decrypting gpg files | 357 | @node Encrypting/decrypting gpg files, , Mail-mode integration, Commands |
| 357 | @section Encrypting/decrypting gpg files | 358 | @section Encrypting/decrypting gpg files |
| 358 | By default, every file whose name ends with @file{.gpg} will be | 359 | By default, every file whose name ends with @file{.gpg} will be |
| 359 | treated as encrypted. That is, when you open such a file, the | 360 | treated as encrypted. That is, when you open such a file, the |
| @@ -436,18 +437,51 @@ If non-@code{nil}, disable auto-saving when opening an encrypted file. | |||
| 436 | The default value is @code{t}. | 437 | The default value is @code{t}. |
| 437 | @end defvar | 438 | @end defvar |
| 438 | 439 | ||
| 439 | @node Caching Passphrases | 440 | @node GnuPG version compatibility, Caching Passphrases, Commands, Top |
| 441 | @chapter GnuPG version compatibility | ||
| 442 | |||
| 443 | As of February 2016, there are three active branches of GnuPG: 2.1, | ||
| 444 | 2.0, and 1.4. All those branches should work flawlessly with Emacs | ||
| 445 | with basic use-cases. They have, however, some incompatible | ||
| 446 | characteristics, which might be visible when used from Emacs. | ||
| 447 | |||
| 448 | @itemize | ||
| 449 | @item | ||
| 450 | The key store format used by GnuPG 2.1 is incompatible with 1.4. That | ||
| 451 | means, a key created with GnuPG 2.1 is not visible with 1.4. | ||
| 452 | |||
| 453 | @item | ||
| 454 | GnuPG 2.1 uses a fixed address for the Unix domain socket used to | ||
| 455 | communicate with gpg-agent. The @code{GPG_AGENT_INFO} environment | ||
| 456 | variable, which is used by GnuPG 2.0 and 1.4, is ignored. That means, | ||
| 457 | if your system has both GnuPG 2.1 and 1.4, the gpg command from GnuPG | ||
| 458 | 1.4 is not able to use gpg-agent provided by 2.1 (at least out of box).q | ||
| 459 | |||
| 460 | @item | ||
| 461 | GnuPG 2.1 (2.1.5 or later) has a mechanism to direct the Pinentry | ||
| 462 | password prompt to the Emacs minibuffer@footnote{To enable this | ||
| 463 | feature, add @samp{allow-emacs-pinentry} to | ||
| 464 | @file{~/.gnupg/gpg-agent.conf} and let gpg-agent reload the | ||
| 465 | configuration, with: @samp{gpgconf --reload gpg-agent}}, which would | ||
| 466 | be useful when you use Emacs remotely or from a text-only terminal. | ||
| 467 | That feature is not available in other versions, and more | ||
| 468 | specifically, with 2.0 (as of 2.0.29), there is no way to avoid the | ||
| 469 | graphical prompt. | ||
| 470 | @end itemize | ||
| 471 | |||
| 472 | @node Caching Passphrases, Bug Reports, GnuPG version compatibility, Top | ||
| 440 | @chapter Caching Passphrases | 473 | @chapter Caching Passphrases |
| 441 | 474 | ||
| 442 | Typing passphrases is an irritating task if you frequently open and | 475 | Typing passphrases is a troublesome task if you frequently open and |
| 443 | close the same file. GnuPG and EasyPG Assistant provide mechanisms to | 476 | close the same file. GnuPG and EasyPG Assistant provide mechanisms to |
| 444 | remember your passphrases. However, the configuration is a bit | 477 | remember your passphrases. However, the configuration is a bit |
| 445 | confusing since it depends on your GnuPG installation (GnuPG version 1 or | 478 | confusing since it depends on your GnuPG installation@xref{GnuPG |
| 446 | GnuPG version 2), encryption method (symmetric or public key), and whether or | 479 | version compatibility}, encryption method (symmetric or public key), |
| 447 | not you want to use gpg-agent. Here are some questions: | 480 | and whether or not you want to use gpg-agent. Here are some |
| 481 | questions: | ||
| 448 | 482 | ||
| 449 | @enumerate | 483 | @enumerate |
| 450 | @item Do you use GnuPG version 2 instead of GnuPG version 1? | 484 | @item Do you use GnuPG version 2.1 or 2.0 instead of GnuPG version 1.4? |
| 451 | @item Do you use symmetric encryption rather than public key encryption? | 485 | @item Do you use symmetric encryption rather than public key encryption? |
| 452 | @item Do you want to use gpg-agent? | 486 | @item Do you want to use gpg-agent? |
| 453 | @end enumerate | 487 | @end enumerate |
| @@ -473,7 +507,7 @@ To set up elisp passphrase cache, set | |||
| 473 | @code{epa-file-cache-passphrase-for-symmetric-encryption}. | 507 | @code{epa-file-cache-passphrase-for-symmetric-encryption}. |
| 474 | @xref{Encrypting/decrypting gpg files}. | 508 | @xref{Encrypting/decrypting gpg files}. |
| 475 | 509 | ||
| 476 | @node Bug Reports | 510 | @node Bug Reports, GNU Free Documentation License, Caching Passphrases, Top |
| 477 | @chapter Bug Reports | 511 | @chapter Bug Reports |
| 478 | 512 | ||
| 479 | Bugs and problems with EasyPG Assistant are actively worked on by the | 513 | Bugs and problems with EasyPG Assistant are actively worked on by the |
| @@ -495,19 +529,19 @@ Before reporting the bug, you should set @code{epg-debug} in the | |||
| 495 | of the @file{ *epg-debug*} buffer. Note that the first letter of the | 529 | of the @file{ *epg-debug*} buffer. Note that the first letter of the |
| 496 | buffer name is a whitespace. | 530 | buffer name is a whitespace. |
| 497 | 531 | ||
| 498 | @node GNU Free Documentation License | 532 | @node GNU Free Documentation License, Key Index, Bug Reports, Top |
| 499 | @appendix GNU Free Documentation License | 533 | @appendix GNU Free Documentation License |
| 500 | @include doclicense.texi | 534 | @include doclicense.texi |
| 501 | 535 | ||
| 502 | @node Key Index | 536 | @node Key Index, Function Index, GNU Free Documentation License, Top |
| 503 | @unnumbered Key Index | 537 | @unnumbered Key Index |
| 504 | @printindex ky | 538 | @printindex ky |
| 505 | 539 | ||
| 506 | @node Function Index | 540 | @node Function Index, Variable Index, Key Index, Top |
| 507 | @unnumbered Function Index | 541 | @unnumbered Function Index |
| 508 | @printindex fn | 542 | @printindex fn |
| 509 | 543 | ||
| 510 | @node Variable Index | 544 | @node Variable Index, , Function Index, Top |
| 511 | @unnumbered Variable Index | 545 | @unnumbered Variable Index |
| 512 | @printindex vr | 546 | @printindex vr |
| 513 | 547 | ||
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index fa7cd09123c..f8b61250bb9 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -11829,6 +11829,10 @@ A value of 0.7 (the default) means that they are allowed to take up | |||
| 11829 | this, and Emacs supports it, then the images will be rescaled down to | 11829 | this, and Emacs supports it, then the images will be rescaled down to |
| 11830 | fit these criteria. | 11830 | fit these criteria. |
| 11831 | 11831 | ||
| 11832 | @item gnus-article-show-cursor | ||
| 11833 | @vindex gnus-article-show-cursor | ||
| 11834 | If non-@code{nil}, display the cursor in the article buffer even when | ||
| 11835 | the article buffer isn't the current buffer. | ||
| 11832 | @end table | 11836 | @end table |
| 11833 | 11837 | ||
| 11834 | To use this, make sure that you have @code{w3m} and @code{curl} | 11838 | To use this, make sure that you have @code{w3m} and @code{curl} |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 71b97c070dc..08baf5da257 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-09.12} | 6 | \def\texinfoversion{2016-02-16.15} |
| 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, |
| @@ -310,7 +310,7 @@ | |||
| 310 | % Margin to add to right of even pages, to left of odd pages. | 310 | % Margin to add to right of even pages, to left of odd pages. |
| 311 | \newdimen\bindingoffset | 311 | \newdimen\bindingoffset |
| 312 | \newdimen\normaloffset | 312 | \newdimen\normaloffset |
| 313 | \newdimen\pagewidth \newdimen\pageheight | 313 | \newdimen\txipagewidth \newdimen\txipageheight |
| 314 | 314 | ||
| 315 | % Main output routine. | 315 | % Main output routine. |
| 316 | % | 316 | % |
| @@ -334,7 +334,7 @@ | |||
| 334 | % Common context changes for both heading and footing. | 334 | % Common context changes for both heading and footing. |
| 335 | % Do this outside of the \shipout so @code etc. will be expanded in | 335 | % Do this outside of the \shipout so @code etc. will be expanded in |
| 336 | % the headline as they should be, not taken literally (outputting ''code). | 336 | % the headline as they should be, not taken literally (outputting ''code). |
| 337 | \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} | 337 | \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} |
| 338 | % | 338 | % |
| 339 | % Retrieve the information for the headings from the marks in the page, | 339 | % Retrieve the information for the headings from the marks in the page, |
| 340 | % and call Plain TeX's \makeheadline and \makefootline, which use the | 340 | % and call Plain TeX's \makeheadline and \makefootline, which use the |
| @@ -433,7 +433,7 @@ | |||
| 433 | \newinsert\margin \dimen\margin=\maxdimen | 433 | \newinsert\margin \dimen\margin=\maxdimen |
| 434 | 434 | ||
| 435 | % Main part of page, including any footnotes | 435 | % Main part of page, including any footnotes |
| 436 | \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} | 436 | \def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}} |
| 437 | {\catcode`\@ =11 | 437 | {\catcode`\@ =11 |
| 438 | \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi | 438 | \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi |
| 439 | % marginal hacks, juha@viisa.uucp (Juha Takala) | 439 | % marginal hacks, juha@viisa.uucp (Juha Takala) |
| @@ -724,11 +724,11 @@ | |||
| 724 | % \dimen0 is the vertical size of the group's box. | 724 | % \dimen0 is the vertical size of the group's box. |
| 725 | \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox | 725 | \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox |
| 726 | % \dimen2 is how much space is left on the page (more or less). | 726 | % \dimen2 is how much space is left on the page (more or less). |
| 727 | \dimen2 = \pageheight \advance\dimen2 by -\pagetotal | 727 | \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal |
| 728 | % if the group doesn't fit on the current page, and it's a big big | 728 | % if the group doesn't fit on the current page, and it's a big big |
| 729 | % group, force a page break. | 729 | % group, force a page break. |
| 730 | \ifdim \dimen0 > \dimen2 | 730 | \ifdim \dimen0 > \dimen2 |
| 731 | \ifdim \pagetotal < \vfilllimit\pageheight | 731 | \ifdim \pagetotal < \vfilllimit\txipageheight |
| 732 | \page | 732 | \page |
| 733 | \fi | 733 | \fi |
| 734 | \fi | 734 | \fi |
| @@ -1100,6 +1100,64 @@ where each line of input produces a line of output.} | |||
| 1100 | \newif\ifpdf | 1100 | \newif\ifpdf |
| 1101 | \newif\ifpdfmakepagedest | 1101 | \newif\ifpdfmakepagedest |
| 1102 | 1102 | ||
| 1103 | % | ||
| 1104 | % For LuaTeX | ||
| 1105 | % | ||
| 1106 | |||
| 1107 | \ifx\luatexversion\thisisundefined | ||
| 1108 | \else | ||
| 1109 | % Escape PDF strings UTF-8 to UTF-16 | ||
| 1110 | \begingroup | ||
| 1111 | \catcode`\%=12 | ||
| 1112 | \directlua{ | ||
| 1113 | function UTF16oct(str) | ||
| 1114 | tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377') | ||
| 1115 | for c in string.utfvalues(str) do | ||
| 1116 | if c < 0x10000 then | ||
| 1117 | tex.sprint( | ||
| 1118 | string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. | ||
| 1119 | string.char(0x5c) .. string.char(0x25) .. '03o', | ||
| 1120 | (c / 256), (c % 256))) | ||
| 1121 | else | ||
| 1122 | c = c - 0x10000 | ||
| 1123 | local c_hi = c / 1024 + 0xd800 | ||
| 1124 | local c_lo = c % 1024 + 0xdc00 | ||
| 1125 | tex.sprint( | ||
| 1126 | string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. | ||
| 1127 | string.char(0x5c) .. string.char(0x25) .. '03o' .. | ||
| 1128 | string.char(0x5c) .. string.char(0x25) .. '03o' .. | ||
| 1129 | string.char(0x5c) .. string.char(0x25) .. '03o', | ||
| 1130 | (c_hi / 256), (c_hi % 256), | ||
| 1131 | (c_lo / 256), (c_lo % 256))) | ||
| 1132 | end | ||
| 1133 | end | ||
| 1134 | end | ||
| 1135 | } | ||
| 1136 | \endgroup | ||
| 1137 | \def\pdfescapestring#1{\directlua{UTF16oct('\luaescapestring{#1}')}} | ||
| 1138 | \ifnum\luatexversion>84 | ||
| 1139 | % For LuaTeX >= 0.85 | ||
| 1140 | \def\pdfdest{\pdfextension dest} | ||
| 1141 | \let\pdfoutput\outputmode | ||
| 1142 | \def\pdfliteral{\pdfextension literal} | ||
| 1143 | \def\pdfcatalog{\pdfextension catalog} | ||
| 1144 | \def\pdftexversion{\numexpr\pdffeedback version\relax} | ||
| 1145 | \let\pdfximage\saveimageresource | ||
| 1146 | \let\pdfrefximage\useimageresource | ||
| 1147 | \let\pdflastximage\lastsavedimageresourceindex | ||
| 1148 | \def\pdfendlink{\pdfextension endlink\relax} | ||
| 1149 | \def\pdfoutline{\pdfextension outline} | ||
| 1150 | \def\pdfstartlink{\pdfextension startlink} | ||
| 1151 | \def\pdffontattr{\pdfextension fontattr} | ||
| 1152 | \def\pdfobj{\pdfextension obj} | ||
| 1153 | \def\pdflastobj{\numexpr\pdffeedback lastobj\relax} | ||
| 1154 | \let\pdfpagewidth\pagewidth | ||
| 1155 | \let\pdfpageheight\pageheight | ||
| 1156 | \edef\pdfhorigin{\pdfvariable horigin} | ||
| 1157 | \edef\pdfvorigin{\pdfvariable vorigin} | ||
| 1158 | \fi | ||
| 1159 | \fi | ||
| 1160 | |||
| 1103 | % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 | 1161 | % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 |
| 1104 | % can be set). So we test for \relax and 0 as well as being undefined. | 1162 | % can be set). So we test for \relax and 0 as well as being undefined. |
| 1105 | \ifx\pdfoutput\thisisundefined | 1163 | \ifx\pdfoutput\thisisundefined |
| @@ -1283,18 +1341,23 @@ output) for that.)} | |||
| 1283 | % page number. We could generate a destination for the section | 1341 | % page number. We could generate a destination for the section |
| 1284 | % text in the case where a section has no node, but it doesn't | 1342 | % text in the case where a section has no node, but it doesn't |
| 1285 | % seem worth the trouble, since most documents are normally structured. | 1343 | % seem worth the trouble, since most documents are normally structured. |
| 1286 | \edef\pdfoutlinedest{#3}% | 1344 | { |
| 1287 | \ifx\pdfoutlinedest\empty | 1345 | \ifx\luatexversion\thisisundefined \else |
| 1288 | \def\pdfoutlinedest{#4}% | 1346 | \turnoffactive % LuaTeX can use Unicode strings for PDF |
| 1289 | \else | 1347 | \fi |
| 1290 | \txiescapepdf\pdfoutlinedest | 1348 | \edef\pdfoutlinedest{#3}% |
| 1291 | \fi | 1349 | \ifx\pdfoutlinedest\empty |
| 1292 | % | 1350 | \def\pdfoutlinedest{#4}% |
| 1293 | % Also escape PDF chars in the display string. | 1351 | \else |
| 1294 | \edef\pdfoutlinetext{#1}% | 1352 | \txiescapepdf\pdfoutlinedest |
| 1295 | \txiescapepdf\pdfoutlinetext | 1353 | \fi |
| 1296 | % | 1354 | % |
| 1297 | \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% | 1355 | % Also escape PDF chars in the display string. |
| 1356 | \edef\pdfoutlinetext{#1}% | ||
| 1357 | \txiescapepdf\pdfoutlinetext | ||
| 1358 | % | ||
| 1359 | \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% | ||
| 1360 | } | ||
| 1298 | } | 1361 | } |
| 1299 | % | 1362 | % |
| 1300 | \def\pdfmakeoutlines{% | 1363 | \def\pdfmakeoutlines{% |
| @@ -1528,7 +1591,16 @@ output) for that.)} | |||
| 1528 | ] | 1591 | ] |
| 1529 | 1592 | ||
| 1530 | \special{pdf:docview << /PageMode /UseOutlines >> } | 1593 | \special{pdf:docview << /PageMode /UseOutlines >> } |
| 1531 | \special{pdf:tounicode UTF8-UTF16 } | 1594 | \openin 1 uptex.tex % upTeX has UTF8-UTF16 cmap |
| 1595 | \ifeof 1 | ||
| 1596 | % upTeX does not exist. To use UTF8-UCS2 cmap. | ||
| 1597 | % In this case, non-BMP characters (over U+FFFF) can not be used. | ||
| 1598 | \special{pdf:tounicode UTF8-UCS2} | ||
| 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 | ||
| 1532 | \fi | 1604 | \fi |
| 1533 | 1605 | ||
| 1534 | % | 1606 | % |
| @@ -3570,7 +3642,7 @@ end | |||
| 3570 | % | 3642 | % |
| 3571 | % Leave some space for the footline. Hopefully ok to assume | 3643 | % Leave some space for the footline. Hopefully ok to assume |
| 3572 | % @evenfooting will not be used by itself. | 3644 | % @evenfooting will not be used by itself. |
| 3573 | \global\advance\pageheight by -12pt | 3645 | \global\advance\txipageheight by -12pt |
| 3574 | \global\advance\vsize by -12pt | 3646 | \global\advance\vsize by -12pt |
| 3575 | } | 3647 | } |
| 3576 | 3648 | ||
| @@ -3595,9 +3667,9 @@ end | |||
| 3595 | \def\oddheadingmarks{\headingmarks{odd}{heading}} | 3667 | \def\oddheadingmarks{\headingmarks{odd}{heading}} |
| 3596 | \def\evenfootingmarks{\headingmarks{even}{footing}} | 3668 | \def\evenfootingmarks{\headingmarks{even}{footing}} |
| 3597 | \def\oddfootingmarks{\headingmarks{odd}{footing}} | 3669 | \def\oddfootingmarks{\headingmarks{odd}{footing}} |
| 3598 | \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} | 3670 | \parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1} |
| 3599 | \headingmarks{odd}{heading}{#1} } | 3671 | \headingmarks{odd}{heading}{#1} } |
| 3600 | \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} | 3672 | \parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1} |
| 3601 | \headingmarks{odd}{footing}{#1} } | 3673 | \headingmarks{odd}{footing}{#1} } |
| 3602 | % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. | 3674 | % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. |
| 3603 | \def\headingmarks#1#2#3 {% | 3675 | \def\headingmarks#1#2#3 {% |
| @@ -3618,7 +3690,7 @@ end | |||
| 3618 | % By default, they are off at the start of a document, | 3690 | % By default, they are off at the start of a document, |
| 3619 | % and turned `on' after @end titlepage. | 3691 | % and turned `on' after @end titlepage. |
| 3620 | 3692 | ||
| 3621 | \def\headings #1 {\csname HEADINGS#1\endcsname} | 3693 | \parseargdef\headings{\csname HEADINGS#1\endcsname} |
| 3622 | 3694 | ||
| 3623 | \def\headingsoff{% non-global headings elimination | 3695 | \def\headingsoff{% non-global headings elimination |
| 3624 | \evenheadline={\hfil}\evenfootline={\hfil}% | 3696 | \evenheadline={\hfil}\evenfootline={\hfil}% |
| @@ -5642,7 +5714,7 @@ end | |||
| 5642 | \wd0=\hsize \wd2=\hsize | 5714 | \wd0=\hsize \wd2=\hsize |
| 5643 | \vbox{% | 5715 | \vbox{% |
| 5644 | \vskip\doublecolumntopgap | 5716 | \vskip\doublecolumntopgap |
| 5645 | \hbox to\pagewidth{\box0\hfil\box2}}% | 5717 | \hbox to\txipagewidth{\box0\hfil\box2}}% |
| 5646 | } | 5718 | } |
| 5647 | 5719 | ||
| 5648 | 5720 | ||
| @@ -5669,7 +5741,7 @@ end | |||
| 5669 | % goal. When TeX sees \eject from below which follows the final | 5741 | % goal. When TeX sees \eject from below which follows the final |
| 5670 | % section, it invokes the new output routine that we've set after | 5742 | % section, it invokes the new output routine that we've set after |
| 5671 | % \balancecolumns below; \onepageout will try to fit the two columns | 5743 | % \balancecolumns below; \onepageout will try to fit the two columns |
| 5672 | % and the final section into the vbox of \pageheight (see | 5744 | % and the final section into the vbox of \txipageheight (see |
| 5673 | % \pagebody), causing an overfull box. | 5745 | % \pagebody), causing an overfull box. |
| 5674 | % | 5746 | % |
| 5675 | % Note that glue won't work here, because glue does not exercise the | 5747 | % Note that glue won't work here, because glue does not exercise the |
| @@ -6153,7 +6225,7 @@ end | |||
| 6153 | \fi | 6225 | \fi |
| 6154 | } | 6226 | } |
| 6155 | 6227 | ||
| 6156 | \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} | 6228 | \parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname} |
| 6157 | 6229 | ||
| 6158 | \def\CHAPPAGoff{% | 6230 | \def\CHAPPAGoff{% |
| 6159 | \global\let\contentsalignmacro = \chappager | 6231 | \global\let\contentsalignmacro = \chappager |
| @@ -6302,7 +6374,7 @@ end | |||
| 6302 | % I don't think this chapter style is supported any more, so I'm not | 6374 | % I don't think this chapter style is supported any more, so I'm not |
| 6303 | % updating it with the new noderef stuff. We'll see. --karl, 11aug03. | 6375 | % updating it with the new noderef stuff. We'll see. --karl, 11aug03. |
| 6304 | % | 6376 | % |
| 6305 | \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} | 6377 | \parseargdef\setchapterstyle{\csname CHAPF#1\endcsname} |
| 6306 | % | 6378 | % |
| 6307 | \def\unnchfopen #1{% | 6379 | \def\unnchfopen #1{% |
| 6308 | \chapoddpage | 6380 | \chapoddpage |
| @@ -9043,7 +9115,7 @@ end | |||
| 9043 | % We want to typeset this text as a normal paragraph, even if the | 9115 | % We want to typeset this text as a normal paragraph, even if the |
| 9044 | % footnote reference occurs in (for example) a display environment. | 9116 | % footnote reference occurs in (for example) a display environment. |
| 9045 | % So reset some parameters. | 9117 | % So reset some parameters. |
| 9046 | \hsize=\pagewidth | 9118 | \hsize=\txipagewidth |
| 9047 | \interlinepenalty\interfootnotelinepenalty | 9119 | \interlinepenalty\interfootnotelinepenalty |
| 9048 | \splittopskip\ht\strutbox % top baseline for broken footnotes | 9120 | \splittopskip\ht\strutbox % top baseline for broken footnotes |
| 9049 | \splitmaxdepth\dp\strutbox | 9121 | \splitmaxdepth\dp\strutbox |
| @@ -11007,12 +11079,12 @@ directory should work if nowhere else does.} | |||
| 11007 | \advance\vsize by \topskip | 11079 | \advance\vsize by \topskip |
| 11008 | \outervsize = \vsize | 11080 | \outervsize = \vsize |
| 11009 | \advance\outervsize by 2\topandbottommargin | 11081 | \advance\outervsize by 2\topandbottommargin |
| 11010 | \pageheight = \vsize | 11082 | \txipageheight = \vsize |
| 11011 | % | 11083 | % |
| 11012 | \hsize = #2\relax | 11084 | \hsize = #2\relax |
| 11013 | \outerhsize = \hsize | 11085 | \outerhsize = \hsize |
| 11014 | \advance\outerhsize by 0.5in | 11086 | \advance\outerhsize by 0.5in |
| 11015 | \pagewidth = \hsize | 11087 | \txipagewidth = \hsize |
| 11016 | % | 11088 | % |
| 11017 | \normaloffset = #4\relax | 11089 | \normaloffset = #4\relax |
| 11018 | \bindingoffset = #5\relax | 11090 | \bindingoffset = #5\relax |
| @@ -11336,9 +11408,10 @@ directory should work if nowhere else does.} | |||
| 11336 | @global@let\ = @eatinput% | 11408 | @global@let\ = @eatinput% |
| 11337 | @catcode`@^^M=13% | 11409 | @catcode`@^^M=13% |
| 11338 | @def@c{@fixbackslash@c}% | 11410 | @def@c{@fixbackslash@c}% |
| 11411 | % Definition for the newline at the end of this file. | ||
| 11339 | @def ^^M{@let^^M@secondlinenl}% | 11412 | @def ^^M{@let^^M@secondlinenl}% |
| 11340 | @gdef @secondlinenl{@let^^M@thirdlinenl}% | 11413 | % Definition for a newline in the main Texinfo file. |
| 11341 | @gdef @thirdlinenl{@fixbackslash}% | 11414 | @gdef @secondlinenl{@fixbackslash}% |
| 11342 | }} | 11415 | }} |
| 11343 | 11416 | ||
| 11344 | {@catcode`@^=7 @catcode`@^^M=13% | 11417 | {@catcode`@^=7 @catcode`@^^M=13% |