diff options
| author | John Wiegley | 2016-02-22 11:33:54 -0800 |
|---|---|---|
| committer | John Wiegley | 2016-02-22 11:33:54 -0800 |
| commit | 81ef756e6aea369ec78f19b3609f01ceddc5851f (patch) | |
| tree | 183251df6d3bf87ccc1216cf187e141488dd7c82 /doc/misc | |
| parent | 23d463d40cca1b68ef4f74a303b748e0649c506c (diff) | |
| parent | a9c48d5c9e3cb5952aab1c6e8821677d49068a74 (diff) | |
| download | emacs-81ef756e6aea369ec78f19b3609f01ceddc5851f.tar.gz emacs-81ef756e6aea369ec78f19b3609f01ceddc5851f.zip | |
Merge from origin/emacs-25
a9c48d5 Additional fixes for file notification
6bd9d69 Fix documentation of 'global-disable-point-adjustment'
8c22ac9 ; Spelling fix
2975784 Set file modes of pinentry socket for extra safety
2667b3e Clarify GnuPG version compatibility chapter
5e34c36 Revert "Change the default socket location for pinentry"
e19c1c3 Kill off xref--display-history
5698947 Keep the xref buffer visible until the user quits it explicitly
e34fbde Change the default socket location for pinentry
5f89658 Mention how to enable pinentry feature
db51224 Sync with gnulib
aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
2d8b2fd Restore point when writing semantic table to disk
27d3430 Mention pinentry.el in epa manual
5baa001 Fix Bug#22736
7261355 Grammar fix in doc string
d0f3b18 Naming fix for consistency
74ec92d Prefer customized value for GnuPG executable
ea0b604 Fix memory reservation on MS-Windows
c5f72aa Update NextStep readme and add wish list.
6de26a7 Report also result in `file-notify--test-event-handler'
5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
1cb1268 Fix todo-mode item date editing bugs
1e996cf Fix "[:upper:]" for non-ASCII characters
896f993 Allow customising the article mode cursor behavior
24c1c1d Use pop-to-buffer-same-window in woman.el
2a75f64 New filenotify test for bug#22736
c9bccf7 Report critical battery errors
d675db9 Make eww message toggling message clearer
5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
fa8fd65 ; Improve character-folding entries in NEWS
3722a69 Fix bugs in window resizing code
289d5c6 Fix decoding DOS EOL in a unibyte buffer
2abcb06 Correct c-parse-state cache manipulation error.
14aec91 Take advantage of new GnuPG version check function
e80c2a7 Make GnuPG version check robuster
15a9464 Fix x-load-color-file pointer signedness
132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
78ab6f1 Follow convention for greek letter constants.
106b5bb Add Stefan-Boltzmann constant to calc units table.
b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw. (Bug#22669)
2d40f7d Fix soffice UserInstallation-URL for Windows
b1a3ebe Fix display of <pre> elements
57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
7a0628d ; * admin/make-tarball.txt: Mention cleaning.
Diffstat (limited to 'doc/misc')
| -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% |