diff options
| author | Stephen Leake | 2019-09-10 03:37:51 -0700 |
|---|---|---|
| committer | Stephen Leake | 2019-09-10 03:37:51 -0700 |
| commit | 3d442312889ef2d14c07282d0aff6199d00cc165 (patch) | |
| tree | 74034ca2dded6ed233d0701b4cb5c10a0b5e9034 /doc | |
| parent | ac1a2e260e8ece34500b5879f766b4e54ee57b94 (diff) | |
| parent | 74e9799bd89484b8d15bdd6597c68fc00d07e7f7 (diff) | |
| download | emacs-3d442312889ef2d14c07282d0aff6199d00cc165.tar.gz emacs-3d442312889ef2d14c07282d0aff6199d00cc165.zip | |
Merge commit '74e9799bd89484b8d15bdd6597c68fc00d07e7f7'
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/emacs/building.texi | 11 | ||||
| -rw-r--r-- | doc/emacs/custom.texi | 78 | ||||
| -rw-r--r-- | doc/emacs/maintaining.texi | 10 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 12 | ||||
| -rw-r--r-- | doc/lispref/customize.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/errors.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/files.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/hooks.texi | 3 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 8 | ||||
| -rw-r--r-- | doc/lispref/os.texi | 41 | ||||
| -rw-r--r-- | doc/lispref/processes.texi | 15 | ||||
| -rw-r--r-- | doc/lispref/windows.texi | 8 | ||||
| -rw-r--r-- | doc/misc/efaq.texi | 22 | ||||
| -rw-r--r-- | doc/misc/emacs-mime.texi | 2 | ||||
| -rw-r--r-- | doc/misc/ido.texi | 56 | ||||
| -rw-r--r-- | doc/misc/info.texi | 11 | ||||
| -rw-r--r-- | doc/misc/texinfo.tex | 220 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 110 | ||||
| -rw-r--r-- | doc/misc/url.texi | 3 |
19 files changed, 350 insertions, 274 deletions
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 990b82d10ed..f7809d4aa99 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -266,11 +266,12 @@ fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in | |||
| 266 | the fringe, pointing to the current error message. If the window has | 266 | the fringe, pointing to the current error message. If the window has |
| 267 | no left fringe, such as on a text terminal, these commands scroll the | 267 | no left fringe, such as on a text terminal, these commands scroll the |
| 268 | window so that the current message is at the top of the window. If | 268 | window so that the current message is at the top of the window. If |
| 269 | you change the variable @code{compilation-context-lines} to an integer | 269 | you change the variable @code{compilation-context-lines} to @code{t}, |
| 270 | value @var{n}, these commands scroll the window so that the current | 270 | a visible arrow is inserted before column zero instead. If you change |
| 271 | error message is @var{n} lines from the top, whether or not there is a | 271 | the variable to an integer value @var{n}, these commands scroll the |
| 272 | fringe; the default value, @code{nil}, gives the behavior described | 272 | window so that the current error message is @var{n} lines from the |
| 273 | above. | 273 | top, whether or not there is a fringe; the default value, @code{nil}, |
| 274 | gives the behavior described above. | ||
| 274 | 275 | ||
| 275 | @vindex compilation-error-regexp-alist | 276 | @vindex compilation-error-regexp-alist |
| 276 | @vindex grep-regexp-alist | 277 | @vindex grep-regexp-alist |
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 8fbc6c1ca08..0c2509e1cd6 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -2220,28 +2220,18 @@ as a function from Lisp programs. | |||
| 2220 | @cindex init file | 2220 | @cindex init file |
| 2221 | @cindex .emacs file | 2221 | @cindex .emacs file |
| 2222 | @cindex ~/.emacs file | 2222 | @cindex ~/.emacs file |
| 2223 | @cindex ~/.config/emacs file | 2223 | @cindex ~/.config/emacs/init.el file |
| 2224 | @cindex Emacs initialization file | 2224 | @cindex Emacs initialization file |
| 2225 | @cindex startup (init file) | 2225 | @cindex startup (init file) |
| 2226 | @cindex XDG_CONFIG_HOME | ||
| 2226 | 2227 | ||
| 2227 | When Emacs is started, it normally tries to load a Lisp program from | 2228 | When Emacs is started, it normally tries to load a Lisp program from |
| 2228 | an @dfn{initialization file}, or @dfn{init file} for short. This | 2229 | an @dfn{initialization file}, or @dfn{init file} for short. This |
| 2229 | file, if it exists, specifies how to initialize Emacs for you. Emacs | 2230 | file, if it exists, specifies how to initialize Emacs for you. |
| 2230 | looks for your init file using the filenames | 2231 | If the file @file{~/.config/emacs/init.el} exists, it is used as the |
| 2231 | @file{~/.config/emacs},. @file{~/.emacs}, @file{~/.config/emacs.el}, | 2232 | init file; otherwise Emacs may look at @file{~/.emacs.el}, |
| 2232 | @file{~/.emacs.el}, @file{~/.config/emacs.d/init.el} or | 2233 | @file{~/.emacs}, @file{~/.emacs.d/init.el}, or other locations. |
| 2233 | @file{~/.emacs.d/init.el}; you can choose to use any one of these | 2234 | @xref{Find Init}. |
| 2234 | names (@pxref{Find Init}). Here, @file{~/} stands for your home | ||
| 2235 | directory. | ||
| 2236 | |||
| 2237 | While the @file{~/.emacs} and @file{~/.emacs.d/init.el} locations | ||
| 2238 | are backward-compatible to older Emacs versions, and the rest of this | ||
| 2239 | chapter will use them to name your initialization file, it is better practice | ||
| 2240 | to group all of your dotfiles under @file{.config} so that if you have | ||
| 2241 | to troubleshoot a problem that might be due to a bad init file, or | ||
| 2242 | archive a collection of them, it can be done by renaming or | ||
| 2243 | copying that directory. Note that the @file{.config} versions | ||
| 2244 | don't have a leading dot on the basename part of the file. | ||
| 2245 | 2235 | ||
| 2246 | You can use the command line switch @samp{-q} to prevent loading | 2236 | You can use the command line switch @samp{-q} to prevent loading |
| 2247 | your init file, and @samp{-u} (or @samp{--user}) to specify a | 2237 | your init file, and @samp{-u} (or @samp{--user}) to specify a |
| @@ -2313,17 +2303,17 @@ function @code{setq} to set the variable @code{fill-column} | |||
| 2313 | 2303 | ||
| 2314 | You can set any Lisp variable with @code{setq}, but with certain | 2304 | You can set any Lisp variable with @code{setq}, but with certain |
| 2315 | variables @code{setq} won't do what you probably want in the | 2305 | variables @code{setq} won't do what you probably want in the |
| 2316 | @file{.emacs} file. Some variables automatically become buffer-local | 2306 | init file. Some variables automatically become buffer-local |
| 2317 | when set with @code{setq}; what you want in @file{.emacs} is to set | 2307 | when set with @code{setq}; what you want in the init file is to set |
| 2318 | the default value, using @code{setq-default}. Some customizable minor | 2308 | the default value, using @code{setq-default}. Some customizable minor |
| 2319 | mode variables do special things to enable the mode when you set them | 2309 | mode variables do special things to enable the mode when you set them |
| 2320 | with Customize, but ordinary @code{setq} won't do that; to enable the | 2310 | with Customize, but ordinary @code{setq} won't do that; to enable the |
| 2321 | mode in your @file{.emacs} file, call the minor mode command. The | 2311 | mode in your init file, call the minor mode command. The |
| 2322 | following section has examples of both of these methods. | 2312 | following section has examples of both of these methods. |
| 2323 | 2313 | ||
| 2324 | The second argument to @code{setq} is an expression for the new | 2314 | The second argument to @code{setq} is an expression for the new |
| 2325 | value of the variable. This can be a constant, a variable, or a | 2315 | value of the variable. This can be a constant, a variable, or a |
| 2326 | function call expression. In @file{.emacs}, constants are used most | 2316 | function call expression. In the init file, constants are used most |
| 2327 | of the time. They can be: | 2317 | of the time. They can be: |
| 2328 | 2318 | ||
| 2329 | @table @asis | 2319 | @table @asis |
| @@ -2646,25 +2636,49 @@ library. @xref{Hooks}. | |||
| 2646 | @node Find Init | 2636 | @node Find Init |
| 2647 | @subsection How Emacs Finds Your Init File | 2637 | @subsection How Emacs Finds Your Init File |
| 2648 | 2638 | ||
| 2649 | Normally Emacs uses your home directory to find | 2639 | Emacs normally finds your init file in a location under your home |
| 2650 | @file{~/.config/emacs} or @file{~/.emacs}; that's what @samp{~} means | 2640 | directory. @xref{Init File}. By default this location is |
| 2651 | in a file name. @xref{General Variables, HOME}. If none of | 2641 | @file{~/.config/emacs/init.el} where @file{~/} stands for your home directory. |
| 2652 | @file{~/.config/emacs}, @file{~/.emacs}, @file{~/.config/emacs.el} nor | 2642 | This default can be overridden as described below. |
| 2653 | @file{~/.emacs.el} is found, Emacs looks for | 2643 | |
| 2654 | @file{~/.config/emacs.d/init.el} or @file{~/.emacs.d/init.el} (these, | 2644 | If @env{XDG_CONFIG_HOME} is set in your environment, its |
| 2655 | like @file{~/.emacs.el}, can be byte-compiled). | 2645 | value replaces @file{~/.config} in the name of the default |
| 2646 | init file. | ||
| 2647 | |||
| 2648 | If the default init file's parent directory does not exist but the | ||
| 2649 | directory @file{~/.emacs.d} does exist, Emacs looks for your init file | ||
| 2650 | using the filenames @file{~/.emacs.el}, @file{~/.emacs}, or | ||
| 2651 | @file{~/.emacs.d/init.el}; you can choose to use any one of these | ||
| 2652 | names. (Note that only the locations directly in your home directory | ||
| 2653 | have a leading dot in the location's basename.) Although this is | ||
| 2654 | backward-compatible with older Emacs versions, modern POSIX platforms | ||
| 2655 | prefer putting your initialization files under @file{~/.config} so | ||
| 2656 | that troubleshooting a problem that might be due to a bad init file, | ||
| 2657 | or archiving a collection of init files, can be done by renaming that | ||
| 2658 | directory. To help older Emacs versions find configuration files in | ||
| 2659 | their current default locations, you can execute the following | ||
| 2660 | Emacs Lisp code: | ||
| 2661 | |||
| 2662 | @example | ||
| 2663 | (make-symbolic-link ".config/emacs" "~/.emacs.d") | ||
| 2664 | @end example | ||
| 2656 | 2665 | ||
| 2657 | However, if you run Emacs from a shell started by @code{su}, Emacs | 2666 | However, if you run Emacs from a shell started by @code{su} and |
| 2667 | @env{XDG_CONFIG_HOME} is not set in your environment, Emacs | ||
| 2658 | tries to find your own initialization files, not that of the user you are | 2668 | tries to find your own initialization files, not that of the user you are |
| 2659 | currently pretending to be. The idea is that you should get your own | 2669 | currently pretending to be. The idea is that you should get your own |
| 2660 | editor customizations even if you are running as the super user. | 2670 | editor customizations even if you are running as the super user. |
| 2661 | 2671 | ||
| 2662 | More precisely, Emacs first determines which user's init file to use. | 2672 | More precisely, Emacs first determines which user's init file to use. |
| 2663 | It gets your user name from the environment variables @env{LOGNAME} and | 2673 | It gets your user name from the environment variables @env{LOGNAME} and |
| 2664 | @env{USER}; if neither of those exists, it uses effective user-ID@. | 2674 | @env{USER}; if neither of those exists, it uses the effective user-ID@. |
| 2665 | If that user name matches the real user-ID, then Emacs uses @env{HOME}; | 2675 | If that user name matches the real user-ID, then Emacs uses @env{HOME}; |
| 2666 | otherwise, it looks up the home directory corresponding to that user | 2676 | otherwise, it looks up the home directory corresponding to that user |
| 2667 | name in the system's data base of users. | 2677 | name in the system's data base of users. |
| 2678 | |||
| 2679 | For brevity the rest of the Emacs documentation generally uses just | ||
| 2680 | the current default location @file{~/.config/emacs/init.el} for the | ||
| 2681 | init file. | ||
| 2668 | @c LocalWords: backtab | 2682 | @c LocalWords: backtab |
| 2669 | 2683 | ||
| 2670 | @node Init Non-ASCII | 2684 | @node Init Non-ASCII |
| @@ -2705,8 +2719,8 @@ Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}. | |||
| 2705 | @subsection The Early Init File | 2719 | @subsection The Early Init File |
| 2706 | @cindex early init file | 2720 | @cindex early init file |
| 2707 | 2721 | ||
| 2708 | Most customizations for Emacs should be put in the normal init file, | 2722 | Most customizations for Emacs should be put in the normal init file. |
| 2709 | @file{.config/emacs} or @file{~/.config/emacs.d/init.el}. However, it is sometimes desirable | 2723 | @xref{Init File}. However, it is sometimes desirable |
| 2710 | to have customizations that take effect during Emacs startup earlier than the | 2724 | to have customizations that take effect during Emacs startup earlier than the |
| 2711 | normal init file is processed. Such customizations can be put in the early | 2725 | normal init file is processed. Such customizations can be put in the early |
| 2712 | init file, @file{~/.config/emacs.d/early-init.el} or @file{~/.emacs.d/early-init.el}. This file is loaded before the | 2726 | init file, @file{~/.config/emacs.d/early-init.el} or @file{~/.emacs.d/early-init.el}. This file is loaded before the |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index c6fe29ed277..e92a959d99c 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -679,12 +679,12 @@ started editing (@pxref{Old Revisions}), type @kbd{C-c C-d} | |||
| 679 | (@code{log-edit-show-diff}). | 679 | (@code{log-edit-show-diff}). |
| 680 | 680 | ||
| 681 | @kindex C-c C-w @r{(Log Edit mode)} | 681 | @kindex C-c C-w @r{(Log Edit mode)} |
| 682 | @findex log-edit-generate-changelog | 682 | @findex log-edit-generate-changelog-from-diff |
| 683 | To help generate ChangeLog entries, type @kbd{C-c C-w} | 683 | To help generate ChangeLog entries, type @kbd{C-c C-w} |
| 684 | (@code{log-edit-generate-changelog}), to generate skeleton ChangeLog | 684 | (@code{log-edit-generate-changelog-from-diff}), to generate skeleton |
| 685 | entries, listing all changed file and function names based on the diff | 685 | ChangeLog entries, listing all changed file and function names based |
| 686 | of the VC fileset. Consecutive entries left empty will be combined by | 686 | on the diff of the VC fileset. Consecutive entries left empty will be |
| 687 | @kbd{C-q} (@code{fill-paragraph}). | 687 | combined by @kbd{C-q} (@code{fill-paragraph}). |
| 688 | 688 | ||
| 689 | @kindex C-c C-a @r{(Log Edit mode)} | 689 | @kindex C-c C-a @r{(Log Edit mode)} |
| 690 | @findex log-edit-insert-changelog | 690 | @findex log-edit-insert-changelog |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 5877c4b0de1..83fb8acf7c2 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -302,7 +302,10 @@ the Transport Layer Security (@acronym{TLS}) features. | |||
| 302 | @vindex network-security-level | 302 | @vindex network-security-level |
| 303 | The @code{network-security-level} variable determines the security | 303 | The @code{network-security-level} variable determines the security |
| 304 | level that @acronym{NSM} enforces. If its value is @code{low}, no | 304 | level that @acronym{NSM} enforces. If its value is @code{low}, no |
| 305 | security checks are performed. | 305 | security checks are performed. This is not recommended, and will |
| 306 | basically mean that your network connections can't be trusted. | ||
| 307 | However, the setting can be useful in limited circumstances, as when | ||
| 308 | testing network issues. | ||
| 306 | 309 | ||
| 307 | If this variable is @code{medium} (which is the default), a number of | 310 | If this variable is @code{medium} (which is the default), a number of |
| 308 | checks will be performed. If as result @acronym{NSM} determines that | 311 | checks will be performed. If as result @acronym{NSM} determines that |
| @@ -325,13 +328,12 @@ The protocol network checks is controlled via the | |||
| 325 | @code{network-security-protocol-checks} variable. | 328 | @code{network-security-protocol-checks} variable. |
| 326 | 329 | ||
| 327 | It's an alist where the first element of each association is the name | 330 | It's an alist where the first element of each association is the name |
| 328 | of the check, the second element is the security level where the check | 331 | of the check, and the second element is the security level where the |
| 329 | should be used, and the optional third element is a parameter supplied | 332 | check should be used. |
| 330 | to the check. | ||
| 331 | 333 | ||
| 332 | An element like @code{(rc4 medium)} will result in the function | 334 | An element like @code{(rc4 medium)} will result in the function |
| 333 | @code{nsm-protocol-check--rc4} being called like thus: | 335 | @code{nsm-protocol-check--rc4} being called like thus: |
| 334 | @w{@code{(nsm-protocol-check--rc4 host port status optional-parameter)}}. | 336 | @w{@code{(nsm-protocol-check--rc4 host port status settings)}}. |
| 335 | The function should return non-@code{nil} if the connection should | 337 | The function should return non-@code{nil} if the connection should |
| 336 | proceed and @code{nil} otherwise. | 338 | proceed and @code{nil} otherwise. |
| 337 | 339 | ||
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index e4a500b069d..822066f3c54 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi | |||
| @@ -418,7 +418,7 @@ already set or has been customized; otherwise, just use | |||
| 418 | @code{set-default}. | 418 | @code{set-default}. |
| 419 | 419 | ||
| 420 | @item custom-initialize-delay | 420 | @item custom-initialize-delay |
| 421 | This functions behaves like @code{custom-initialize-set}, but it | 421 | This function behaves like @code{custom-initialize-set}, but it |
| 422 | delays the actual initialization to the next Emacs start. This should | 422 | delays the actual initialization to the next Emacs start. This should |
| 423 | be used in files that are preloaded (or for autoloaded variables), so | 423 | be used in files that are preloaded (or for autoloaded variables), so |
| 424 | that the initialization is done in the run-time context rather than | 424 | that the initialization is done in the run-time context rather than |
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index aa99b2b1a98..b25fb993990 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi | |||
| @@ -140,8 +140,10 @@ emacs, The GNU Emacs Manual}. | |||
| 140 | The message is @samp{Invalid function}. @xref{Function Indirection}. | 140 | The message is @samp{Invalid function}. @xref{Function Indirection}. |
| 141 | 141 | ||
| 142 | @item invalid-read-syntax | 142 | @item invalid-read-syntax |
| 143 | The message is @samp{Invalid read syntax}. @xref{Printed | 143 | The message is usually @samp{Invalid read syntax}. @xref{Printed |
| 144 | Representation}. | 144 | Representation}. This error can also be raised by commands like |
| 145 | @code{eval-expression} when there's text following an expression. In | ||
| 146 | that case, the message is @samp{Trailing garbage following expression}. | ||
| 145 | 147 | ||
| 146 | @item invalid-regexp | 148 | @item invalid-regexp |
| 147 | The message is @samp{Invalid regexp}. @xref{Regular Expressions}. | 149 | The message is @samp{Invalid regexp}. @xref{Regular Expressions}. |
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 6be5a528372..18a1f4908d6 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -2822,8 +2822,10 @@ filter out a directory named @file{foo.elc}. | |||
| 2822 | name for a particular use---typically, to hold configuration data | 2822 | name for a particular use---typically, to hold configuration data |
| 2823 | specified by the current user. Usually, such files should be located | 2823 | specified by the current user. Usually, such files should be located |
| 2824 | in the directory specified by @code{user-emacs-directory}, which is | 2824 | in the directory specified by @code{user-emacs-directory}, which is |
| 2825 | @file{~/.emacs.d} by default (@pxref{Init File}). For example, abbrev | 2825 | typically @file{~/.config/emacs/} or @file{~/.emacs.d/} by default (@pxref{Find |
| 2826 | definitions are stored by default in @file{~/.emacs.d/abbrev_defs}. | 2826 | Init,,How Emacs Finds Your Init File, emacs, The GNU Emacs Manual}). |
| 2827 | For example, abbrev definitions are stored by default in | ||
| 2828 | @file{~/.config/emacs/abbrev_defs} or @file{~/.emacs.d/abbrev_defs}. | ||
| 2827 | The easiest way to specify such a file name is to use the function | 2829 | The easiest way to specify such a file name is to use the function |
| 2828 | @code{locate-user-emacs-file}. | 2830 | @code{locate-user-emacs-file}. |
| 2829 | 2831 | ||
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi index f775aa4d4b0..4542db97306 100644 --- a/doc/lispref/hooks.texi +++ b/doc/lispref/hooks.texi | |||
| @@ -160,6 +160,9 @@ The command loop runs this soon after @code{post-command-hook} (q.v.). | |||
| 160 | @item frame-auto-hide-function | 160 | @item frame-auto-hide-function |
| 161 | @xref{Quitting Windows}. | 161 | @xref{Quitting Windows}. |
| 162 | 162 | ||
| 163 | @item quit-window-hook | ||
| 164 | @xref{Quitting Windows}. | ||
| 165 | |||
| 163 | @item kill-buffer-hook | 166 | @item kill-buffer-hook |
| 164 | @itemx kill-buffer-query-functions | 167 | @itemx kill-buffer-query-functions |
| 165 | @xref{Killing Buffers}. | 168 | @xref{Killing Buffers}. |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 764a67e3627..7185c243e24 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -1783,12 +1783,12 @@ don't need any. | |||
| 1783 | (hungry-electric-delete t))))) | 1783 | (hungry-electric-delete t))))) |
| 1784 | @end smallexample | 1784 | @end smallexample |
| 1785 | 1785 | ||
| 1786 | @defmac define-globalized-minor-mode global-mode mode turn-on keyword-args@dots{} | 1786 | @defmac define-globalized-minor-mode global-mode mode turn-on keyword-args@dots{} body@dots{} |
| 1787 | This defines a global toggle named @var{global-mode} whose meaning is | 1787 | This defines a global toggle named @var{global-mode} whose meaning is |
| 1788 | to enable or disable the buffer-local minor mode @var{mode} in all | 1788 | to enable or disable the buffer-local minor mode @var{mode} in all |
| 1789 | buffers. To turn on the minor mode in a buffer, it uses the function | 1789 | buffers. It also executes the @var{body} forms. To turn on the minor |
| 1790 | @var{turn-on}; to turn off the minor mode, it calls @var{mode} with | 1790 | mode in a buffer, it uses the function @var{turn-on}; to turn off the |
| 1791 | @minus{}1 as argument. | 1791 | minor mode, it calls @var{mode} with @minus{}1 as argument. |
| 1792 | 1792 | ||
| 1793 | Globally enabling the mode also affects buffers subsequently created | 1793 | Globally enabling the mode also affects buffers subsequently created |
| 1794 | by visiting files, and buffers that use a major mode other than | 1794 | by visiting files, and buffers that use a major mode other than |
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 49c07380c5f..c94e96bde82 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi | |||
| @@ -473,8 +473,14 @@ the value refers to the corresponding source file. | |||
| 473 | @end defvar | 473 | @end defvar |
| 474 | 474 | ||
| 475 | @defvar user-emacs-directory | 475 | @defvar user-emacs-directory |
| 476 | This variable holds the name of the @file{.emacs.d} directory. It is | 476 | This variable holds the name of the Emacs default directory. |
| 477 | @file{~/.emacs.d} on all platforms but MS-DOS. | 477 | It defaults to @file{$@{XDG_CONFIG_HOME-'~/.config'@}/emacs/} |
| 478 | if that directory exists and @file{~/.emacs.d/} does not exist, | ||
| 479 | otherwise to @file{~/.emacs.d/} on all platforms but MS-DOS@. | ||
| 480 | Here, @file{$@{XDG_CONFIG_HOME-'~/.config'@}} | ||
| 481 | stands for the value of the environment variable @env{XDG_CONFIG_HOME} | ||
| 482 | if that variable is set, and for @file{~/.config} otherwise. | ||
| 483 | @xref{Find Init,,How Emacs Finds Your Init File, emacs, The GNU Emacs Manual}. | ||
| 478 | @end defvar | 484 | @end defvar |
| 479 | 485 | ||
| 480 | @node Terminal-Specific | 486 | @node Terminal-Specific |
| @@ -1346,6 +1352,8 @@ given, specifies a time to convert instead of the current time. | |||
| 1346 | 1352 | ||
| 1347 | @emph{Warning}: Since the result is floating point, it may not be | 1353 | @emph{Warning}: Since the result is floating point, it may not be |
| 1348 | exact. Do not use this function if precise time stamps are required. | 1354 | exact. Do not use this function if precise time stamps are required. |
| 1355 | For example, on typical systems @code{(float-time '(1 . 10))} displays | ||
| 1356 | as @samp{0.1} but is slightly greater than 1/10. | ||
| 1349 | 1357 | ||
| 1350 | @code{time-to-seconds} is an alias for this function. | 1358 | @code{time-to-seconds} is an alias for this function. |
| 1351 | @end defun | 1359 | @end defun |
| @@ -1432,8 +1440,6 @@ as traditional Gregorian years do; for example, the year number | |||
| 1432 | 1440 | ||
| 1433 | @defun time-convert time &optional form | 1441 | @defun time-convert time &optional form |
| 1434 | This function converts a time value into a Lisp timestamp. | 1442 | This function converts a time value into a Lisp timestamp. |
| 1435 | If the time cannot be represented exactly, it is truncated | ||
| 1436 | toward minus infinity. | ||
| 1437 | 1443 | ||
| 1438 | The optional @var{form} argument specifies the timestamp form to be | 1444 | The optional @var{form} argument specifies the timestamp form to be |
| 1439 | returned. If @var{form} is the symbol @code{integer}, this function | 1445 | returned. If @var{form} is the symbol @code{integer}, this function |
| @@ -1452,8 +1458,17 @@ Although an omitted or @code{nil} @var{form} currently acts like | |||
| 1452 | @code{list}, this is planned to change in a future Emacs version, so | 1458 | @code{list}, this is planned to change in a future Emacs version, so |
| 1453 | callers requiring list timestamps should pass @code{list} explicitly. | 1459 | callers requiring list timestamps should pass @code{list} explicitly. |
| 1454 | 1460 | ||
| 1455 | If @var{time} already has the proper form, this function might yield | 1461 | If @var{time} is infinite or a NaN, this function signals an error. |
| 1456 | @var{time} rather than a copy. | 1462 | Otherwise, if @var{time} cannot be represented exactly, conversion |
| 1463 | truncates it toward minus infinity. When @var{form} is @code{t}, | ||
| 1464 | conversion is always exact so no truncation occurs, and the returned | ||
| 1465 | clock resolution is no less than that of @var{time}. By way of | ||
| 1466 | contrast, @code{float-time} can convert any Lisp time value without | ||
| 1467 | signaling an error, although the result might not be exact. | ||
| 1468 | @xref{Time of Day}. | ||
| 1469 | |||
| 1470 | For efficiency this function might return a value that is @code{eq} to | ||
| 1471 | @var{time}, or that otherwise shares structure with @var{time}. | ||
| 1457 | 1472 | ||
| 1458 | Although @code{(time-convert nil nil)} is equivalent to | 1473 | Although @code{(time-convert nil nil)} is equivalent to |
| 1459 | @code{(current-time)}, the latter may be a bit faster. | 1474 | @code{(current-time)}, the latter may be a bit faster. |
| @@ -1950,16 +1965,18 @@ The result is @code{nil} if either argument is a NaN. | |||
| 1950 | 1965 | ||
| 1951 | @defun time-subtract t1 t2 | 1966 | @defun time-subtract t1 t2 |
| 1952 | This returns the time difference @var{t1} @minus{} @var{t2} between | 1967 | This returns the time difference @var{t1} @minus{} @var{t2} between |
| 1953 | two time values, as a time value. However, the result is a float | 1968 | two time values, normally as a Lisp timestamp but as a float |
| 1954 | if either argument is a float infinity or NaN@. | 1969 | if either argument is infinite or a NaN@. |
| 1970 | When the result is a timestamp, it is exact and its clock | ||
| 1971 | resolution is no worse than the worse of its two arguments' resolutions. | ||
| 1955 | If you need the difference in units | 1972 | If you need the difference in units |
| 1956 | of elapsed seconds, use @code{float-time} (@pxref{Time of Day, | 1973 | of elapsed seconds, you can convert it with @code{time-convert} or |
| 1957 | float-time}) to convert the result into seconds. | 1974 | @code{float-time}. @xref{Time Conversion}. |
| 1958 | @end defun | 1975 | @end defun |
| 1959 | 1976 | ||
| 1960 | @defun time-add t1 t2 | 1977 | @defun time-add t1 t2 |
| 1961 | This returns the sum of two time values, as a time value. | 1978 | This returns the sum of two time values, |
| 1962 | However, the result is a float if either argument is a float infinity or NaN@. | 1979 | using the same conversion rules as @code{time-subtract}. |
| 1963 | One argument should represent a time difference rather than a point in time, | 1980 | One argument should represent a time difference rather than a point in time, |
| 1964 | as a time value that is often just a single number of elapsed seconds. | 1981 | as a time value that is often just a single number of elapsed seconds. |
| 1965 | Here is how to add a number of seconds to a time value: | 1982 | Here is how to add a number of seconds to a time value: |
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 21bc32e88b6..61de77d0662 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -3005,6 +3005,21 @@ If the vector does not include the port number, @var{p}, or if | |||
| 3005 | @code{:@var{p}} suffix. | 3005 | @code{:@var{p}} suffix. |
| 3006 | @end defun | 3006 | @end defun |
| 3007 | 3007 | ||
| 3008 | @defun network-lookup-address-info name &optional family | ||
| 3009 | This function is used to perform hostname lookups on @var{name}, which | ||
| 3010 | is expected to be an ASCII-only string, otherwise an error is | ||
| 3011 | signaled. Call @code{puny-encode-domain} on @var{name} | ||
| 3012 | first if you wish to lookup internationalized hostnames. | ||
| 3013 | |||
| 3014 | If successful it returns a list of Lisp representations of network | ||
| 3015 | addresses, otherwise it returns @code{nil}. | ||
| 3016 | |||
| 3017 | By default both IPv4 and IPv6 lookups are attempted. The optional | ||
| 3018 | argument @var{family} controls this behavior, specifying the symbol | ||
| 3019 | @code{ipv4} or @code{ipv6} restricts lookups to IPv4 and IPv6 | ||
| 3020 | respectively. | ||
| 3021 | @end defun | ||
| 3022 | |||
| 3008 | @node Serial Ports | 3023 | @node Serial Ports |
| 3009 | @section Communicating with Serial Ports | 3024 | @section Communicating with Serial Ports |
| 3010 | @cindex @file{/dev/tty} | 3025 | @cindex @file{/dev/tty} |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 157f004cf3f..39d3960c9a2 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -4034,6 +4034,10 @@ This command quits @var{window} and buries its buffer. The argument | |||
| 4034 | With prefix argument @var{kill} non-@code{nil}, it kills the buffer | 4034 | With prefix argument @var{kill} non-@code{nil}, it kills the buffer |
| 4035 | instead of burying it. It calls the function @code{quit-restore-window} | 4035 | instead of burying it. It calls the function @code{quit-restore-window} |
| 4036 | described next to deal with the window and its buffer. | 4036 | described next to deal with the window and its buffer. |
| 4037 | |||
| 4038 | @vindex quit-window-hook | ||
| 4039 | The functions in @code{quit-window-hook} are run before doing anything | ||
| 4040 | else. | ||
| 4037 | @end deffn | 4041 | @end deffn |
| 4038 | 4042 | ||
| 4039 | @defun quit-restore-window &optional window bury-or-kill | 4043 | @defun quit-restore-window &optional window bury-or-kill |
| @@ -4043,10 +4047,6 @@ the selected one. The function's behavior is determined by the four | |||
| 4043 | elements of the list specified by @var{window}'s @code{quit-restore} | 4047 | elements of the list specified by @var{window}'s @code{quit-restore} |
| 4044 | parameter (@pxref{Window Parameters}). | 4048 | parameter (@pxref{Window Parameters}). |
| 4045 | 4049 | ||
| 4046 | @vindex quit-window-hook | ||
| 4047 | The functions in @code{quit-window-hook} are run before doing anything | ||
| 4048 | else. | ||
| 4049 | |||
| 4050 | The first element of the @code{quit-restore} parameter is one of the | 4050 | The first element of the @code{quit-restore} parameter is one of the |
| 4051 | symbols @code{window}, meaning that the window has been specially | 4051 | symbols @code{window}, meaning that the window has been specially |
| 4052 | created by @code{display-buffer}; @code{frame}, a separate frame has | 4052 | created by @code{display-buffer}; @code{frame}, a separate frame has |
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 8fd3bf3a45e..e5673daf3a9 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi | |||
| @@ -34,7 +34,7 @@ the FAQ may not be embedded in a larger literary work unless that work | |||
| 34 | itself allows free copying and redistribution. | 34 | itself allows free copying and redistribution. |
| 35 | 35 | ||
| 36 | [This version has been heavily edited since it was included in the Emacs | 36 | [This version has been heavily edited since it was included in the Emacs |
| 37 | distribution.] | 37 | distribution in 1999.] |
| 38 | @end quotation | 38 | @end quotation |
| 39 | @end copying | 39 | @end copying |
| 40 | 40 | ||
| @@ -1687,11 +1687,21 @@ mode-line-format @key{RET}}) for more information on how to set and use | |||
| 1687 | this variable. | 1687 | this variable. |
| 1688 | 1688 | ||
| 1689 | @cindex Set number capability in @code{vi} emulators | 1689 | @cindex Set number capability in @code{vi} emulators |
| 1690 | The @samp{linum} package (distributed with Emacs since version 23.1) | 1690 | The @samp{display-line-numbers} package (added to Emacs in version |
| 1691 | displays line numbers in the left margin, like the ``set number'' | 1691 | 26.1) displays line numbers in the text area, before each line, like |
| 1692 | capability of @code{vi}. The packages @samp{setnu} and | 1692 | the ``set number'' capability of @samp{vi}. Customize the |
| 1693 | @samp{wb-line-number} (not distributed with Emacs) also implement this | 1693 | buffer-local variable @code{display-line-numbers} to activate this |
| 1694 | feature. | 1694 | optional display. Alternatively, you can use the |
| 1695 | @code{display-line-numbers-mode} minor mode or the global | ||
| 1696 | @code{global-display-line-numbers-mode}. When using these modes, | ||
| 1697 | customize @code{display-line-numbers-type} with the same value as you | ||
| 1698 | would use with @code{display-line-numbers}. | ||
| 1699 | |||
| 1700 | There is also the @samp{linum} package (distributed with Emacs since | ||
| 1701 | version 23.1) which will henceforth become obsolete. Users and | ||
| 1702 | developers are encouraged to use @samp{display-line-numbers} instead. | ||
| 1703 | The packages @samp{setnu} and @samp{wb-line-number} (not distributed | ||
| 1704 | with Emacs) also implement this feature. | ||
| 1695 | 1705 | ||
| 1696 | @node Displaying the current file name in the titlebar | 1706 | @node Displaying the current file name in the titlebar |
| 1697 | @section How can I modify the titlebar to contain the current file name? | 1707 | @section How can I modify the titlebar to contain the current file name? |
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index eb829b06124..131a358ba59 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi | |||
| @@ -1568,7 +1568,7 @@ Here's a bunch of time/date/second/day examples: | |||
| 1568 | 1568 | ||
| 1569 | (time-subtract '(905595714000000 . 1000000) | 1569 | (time-subtract '(905595714000000 . 1000000) |
| 1570 | '(905595593000000000 . 1000000000)) | 1570 | '(905595593000000000 . 1000000000)) |
| 1571 | @result{} (121000000000 . 1000000000) | 1571 | @result{} (121000000 . 1000000) |
| 1572 | 1572 | ||
| 1573 | (days-between "Sat Sep 12 12:21:54 1998 +0200" | 1573 | (days-between "Sat Sep 12 12:21:54 1998 +0200" |
| 1574 | "Sat Sep 07 12:21:54 1998 +0200") | 1574 | "Sat Sep 07 12:21:54 1998 +0200") |
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 29a204cf9e2..a787b743430 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi | |||
| @@ -108,7 +108,7 @@ This document describes a set of features that can interactively do | |||
| 108 | things with buffers and files. All the features are described here | 108 | things with buffers and files. All the features are described here |
| 109 | in detail. | 109 | in detail. |
| 110 | 110 | ||
| 111 | The @dfn{Ido} package can let you switch between buffers and visit | 111 | The @dfn{Ido} package lets you switch between buffers and visit |
| 112 | files and directories with a minimum of keystrokes. It is a superset | 112 | files and directories with a minimum of keystrokes. It is a superset |
| 113 | of Iswitchb, the interactive buffer switching package by Stephen | 113 | of Iswitchb, the interactive buffer switching package by Stephen |
| 114 | Eglen. | 114 | Eglen. |
| @@ -211,7 +211,7 @@ do with various kinds of @emph{matching}: among buffers, files, and directories. | |||
| 211 | 211 | ||
| 212 | @noindent | 212 | @noindent |
| 213 | As you type in a substring, the list of buffers or files currently | 213 | As you type in a substring, the list of buffers or files currently |
| 214 | matching the substring are displayed as you type. The list is | 214 | matching the substring is displayed as you type. The list is |
| 215 | ordered so that the most recent buffers or files visited come at | 215 | ordered so that the most recent buffers or files visited come at |
| 216 | the start of the list. | 216 | the start of the list. |
| 217 | 217 | ||
| @@ -240,13 +240,13 @@ If you then press @kbd{2}: | |||
| 240 | Buffer: 2[3]@{123456 | 123@} | 240 | Buffer: 2[3]@{123456 | 123@} |
| 241 | @end example | 241 | @end example |
| 242 | 242 | ||
| 243 | The list in @{...@} are the matching buffers, most recent first | 243 | The items listed in @{...@} are the matching buffers, most recent |
| 244 | (buffers visible in the current frame are put at the end of the list | 244 | first (buffers visible in the current frame are put at the end of the |
| 245 | by default). At any time you can select the item at the head of the | 245 | list by default). At any time you can select the item at the head of |
| 246 | list by pressing @key{RET}. You can also put the first element at the | 246 | the list by pressing @key{RET}. You can also put the first element at |
| 247 | end of the list by pressing @kbd{C-s} or @kbd{<right>}, or bring the | 247 | the end of the list by pressing @kbd{C-s} or @key{RIGHT}, or bring |
| 248 | last element to the head of the list by pressing @kbd{C-r} or | 248 | the last element to the head of the list by pressing @kbd{C-r} or |
| 249 | @kbd{<left>}. | 249 | @key{LEFT}. |
| 250 | 250 | ||
| 251 | @findex ido-complete | 251 | @findex ido-complete |
| 252 | The item in [...] indicates what can be added to your input by | 252 | The item in [...] indicates what can be added to your input by |
| @@ -287,7 +287,7 @@ Buffer: 234a [No match] | |||
| 287 | There are no matching buffers. If you press @key{RET} or @key{TAB}, | 287 | There are no matching buffers. If you press @key{RET} or @key{TAB}, |
| 288 | you can be prompted to create a new buffer called @file{234a}. | 288 | you can be prompted to create a new buffer called @file{234a}. |
| 289 | 289 | ||
| 290 | Of course, where this function comes in really useful is when you can | 290 | Of course, where this function really comes in handy is when you can |
| 291 | specify the buffer using only a few keystrokes. In the above example, | 291 | specify the buffer using only a few keystrokes. In the above example, |
| 292 | the quickest way to get to the @file{123456} file would be just to | 292 | the quickest way to get to the @file{123456} file would be just to |
| 293 | type @kbd{4} and then @key{RET} (assuming there isn't any newer buffer | 293 | type @kbd{4} and then @key{RET} (assuming there isn't any newer buffer |
| @@ -305,7 +305,7 @@ In addition to scrolling through the list using @kbd{<right>} and | |||
| 305 | @kbd{<left>}, you can use @kbd{<up>} and @kbd{<down>} to quickly | 305 | @kbd{<left>}, you can use @kbd{<up>} and @kbd{<down>} to quickly |
| 306 | scroll the list to the next or previous subdirectory. | 306 | scroll the list to the next or previous subdirectory. |
| 307 | 307 | ||
| 308 | To go down into a subdirectory, and continue the file selection on | 308 | To go down into a subdirectory and continue the file selection on |
| 309 | the files in that directory, simply move the directory to the head | 309 | the files in that directory, simply move the directory to the head |
| 310 | of the list and hit @key{RET}. | 310 | of the list and hit @key{RET}. |
| 311 | 311 | ||
| @@ -366,9 +366,9 @@ If for some reason you cannot specify the proper file using | |||
| 366 | @noindent | 366 | @noindent |
| 367 | The standard way of completion with *nix shells and Emacs is to insert | 367 | The standard way of completion with *nix shells and Emacs is to insert |
| 368 | a @dfn{prefix} and then hitting @key{TAB} (or another completion key). | 368 | a @dfn{prefix} and then hitting @key{TAB} (or another completion key). |
| 369 | Cause of this behavior has become second nature to a lot of Emacs | 369 | Because this behavior has become second nature to a lot of Emacs |
| 370 | users Ido offers in addition to the default substring matching method | 370 | users, Ido offers, in addition to the default substring matching method |
| 371 | (look above) also the prefix matching method. The kind of matching is | 371 | (see above), also the prefix matching method. The kind of matching is |
| 372 | the only difference to the description of the substring matching | 372 | the only difference to the description of the substring matching |
| 373 | above. | 373 | above. |
| 374 | 374 | ||
| @@ -425,7 +425,7 @@ matching. The value of this user option can be toggled within | |||
| 425 | ido-mode using @code{ido-toggle-regexp}. | 425 | ido-mode using @code{ido-toggle-regexp}. |
| 426 | @end defopt | 426 | @end defopt |
| 427 | 427 | ||
| 428 | @strong{Please notice:} Ido-style completion is inhibited when you | 428 | @strong{Please note:} Ido-style completion is inhibited when you |
| 429 | enable regexp matching. | 429 | enable regexp matching. |
| 430 | 430 | ||
| 431 | @node Highlighting | 431 | @node Highlighting |
| @@ -438,21 +438,21 @@ The highlighting of matching items is controlled via | |||
| 438 | @code{ido-use-faces}. The faces used are @code{ido-first-match}, | 438 | @code{ido-use-faces}. The faces used are @code{ido-first-match}, |
| 439 | @code{ido-only-match} and @code{ido-subdir}. | 439 | @code{ido-only-match} and @code{ido-subdir}. |
| 440 | 440 | ||
| 441 | Coloring of the matching item was suggested by Carsten Dominik. | 441 | Coloring of the matching items was suggested by Carsten Dominik. |
| 442 | 442 | ||
| 443 | @node Hidden Buffers and Files | 443 | @node Hidden Buffers and Files |
| 444 | @chapter Hidden Buffers and Files | 444 | @chapter Hidden Buffers and Files |
| 445 | @cindex hidden buffers and files | 445 | @cindex hidden buffers and files |
| 446 | 446 | ||
| 447 | Normally, Ido does not include hidden buffers (whose name starts with | 447 | Normally, Ido does not include hidden buffers (whose names start with |
| 448 | a space) and hidden files and directories (whose name starts with | 448 | a space) and hidden files and directories (whose names start with |
| 449 | @samp{.}) in the list of possible completions. However, if the | 449 | @file{.}) in the list of possible completions. However, if the |
| 450 | substring you enter does not match any of the visible buffers or | 450 | substring you enter does not match any of the visible buffers or |
| 451 | files, Ido will automatically look for completions among the hidden | 451 | files, Ido will automatically look for completions among the hidden |
| 452 | buffers or files. | 452 | buffers or files. |
| 453 | 453 | ||
| 454 | @findex ido-toggle-ignore | 454 | @findex ido-toggle-ignore |
| 455 | You can toggle display of the hidden buffers and files with @kbd{C-a} | 455 | You can toggle the display of hidden buffers and files with @kbd{C-a} |
| 456 | (@code{ido-toggle-ignore}). | 456 | (@code{ido-toggle-ignore}). |
| 457 | 457 | ||
| 458 | @c @deffn Command ido-toggle-ignore | 458 | @c @deffn Command ido-toggle-ignore |
| @@ -525,7 +525,7 @@ deleting or rearranging elements.) | |||
| 525 | 525 | ||
| 526 | @noindent | 526 | @noindent |
| 527 | Find File At Point, also known generally as ``ffap'', is an | 527 | Find File At Point, also known generally as ``ffap'', is an |
| 528 | intelligent system for opening files, and URLs. | 528 | intelligent system for opening files and URLs. |
| 529 | 529 | ||
| 530 | The following expression will make Ido guess the context: | 530 | The following expression will make Ido guess the context: |
| 531 | 531 | ||
| @@ -552,7 +552,7 @@ a URL at point. If found, call @code{find-file-at-point} to visit it. | |||
| 552 | 552 | ||
| 553 | @noindent | 553 | @noindent |
| 554 | Ido is capable of ignoring buffers, directories, files and extensions | 554 | Ido is capable of ignoring buffers, directories, files and extensions |
| 555 | using regular expression. | 555 | using regular expressions. |
| 556 | 556 | ||
| 557 | @defopt ido-ignore-buffers | 557 | @defopt ido-ignore-buffers |
| 558 | This variable takes a list of regular expressions for buffers to | 558 | This variable takes a list of regular expressions for buffers to |
| @@ -590,7 +590,7 @@ Now you can customize @code{completion-ignored-extensions} as well. | |||
| 590 | Go ahead and add all the useless object files, backup files, shared | 590 | Go ahead and add all the useless object files, backup files, shared |
| 591 | library files and other computing flotsam you don't want Ido to show. | 591 | library files and other computing flotsam you don't want Ido to show. |
| 592 | 592 | ||
| 593 | @strong{Please notice:} Ido will still complete the ignored elements | 593 | @strong{Note:} Ido will still complete the ignored elements |
| 594 | if it would otherwise not show any other matches. So if you type out | 594 | if it would otherwise not show any other matches. So if you type out |
| 595 | the name of an ignored file, Ido will still let you open it just fine. | 595 | the name of an ignored file, Ido will still let you open it just fine. |
| 596 | 596 | ||
| @@ -718,7 +718,7 @@ packages. | |||
| 718 | After @kbd{C-x b} (@code{ido-switch-buffer}), the buffer at the head | 718 | After @kbd{C-x b} (@code{ido-switch-buffer}), the buffer at the head |
| 719 | of the list can be killed by pressing @kbd{C-k}. If the buffer needs | 719 | of the list can be killed by pressing @kbd{C-k}. If the buffer needs |
| 720 | saving, you will be queried before the buffer is killed. @kbd{C-S-b} | 720 | saving, you will be queried before the buffer is killed. @kbd{C-S-b} |
| 721 | buries the buffer at the head of the list. | 721 | buries the buffer at the end of the list. |
| 722 | 722 | ||
| 723 | Likewise, after @kbd{C-x C-f}, you can delete (i.e., physically | 723 | Likewise, after @kbd{C-x C-f}, you can delete (i.e., physically |
| 724 | remove) the file at the head of the list with @kbd{C-k}. You will | 724 | remove) the file at the head of the list with @kbd{C-k}. You will |
| @@ -726,8 +726,8 @@ always be asked for confirmation before deleting the file. | |||
| 726 | 726 | ||
| 727 | If you enter @kbd{C-x b} to switch to a buffer visiting a given file, | 727 | If you enter @kbd{C-x b} to switch to a buffer visiting a given file, |
| 728 | and you find that the file you are after is not in any buffer, you can | 728 | and you find that the file you are after is not in any buffer, you can |
| 729 | press @kbd{C-f} to immediately drop into @code{ido-find-file}. And | 729 | press @kbd{C-f} to immediately drop into @code{ido-find-file}. You |
| 730 | you can switch back to buffer selection with @kbd{C-b}. | 730 | can switch back to buffer selection with @kbd{C-b}. |
| 731 | 731 | ||
| 732 | @c @deffn Command ido-magic-forward-char | 732 | @c @deffn Command ido-magic-forward-char |
| 733 | @c @deffn Command ido-magic-backward-char | 733 | @c @deffn Command ido-magic-backward-char |
| @@ -759,7 +759,7 @@ want Ido to behave differently from the default minibuffer resizing | |||
| 759 | behavior, set the variable @code{ido-max-window-height}. | 759 | behavior, set the variable @code{ido-max-window-height}. |
| 760 | 760 | ||
| 761 | Also, to improve the responsiveness of Ido, the maximum number of | 761 | Also, to improve the responsiveness of Ido, the maximum number of |
| 762 | matching items is limited to 12, but you can increase or removed this | 762 | matching items is limited to 12, but you can increase or remove this |
| 763 | limit via the @code{ido-max-prospects} user option. | 763 | limit via the @code{ido-max-prospects} user option. |
| 764 | 764 | ||
| 765 | @c @defopt ido-max-prospects | 765 | @c @defopt ido-max-prospects |
| @@ -774,7 +774,7 @@ this separate buffer. | |||
| 774 | 774 | ||
| 775 | @noindent | 775 | @noindent |
| 776 | @code{ido-read-buffer} and @code{ido-read-file-name} have been written | 776 | @code{ido-read-buffer} and @code{ido-read-file-name} have been written |
| 777 | to be drop in replacements for the normal buffer and file name reading | 777 | to be drop-in replacements for the normal buffer and file name reading |
| 778 | functions @code{read-buffer} and @code{read-file-name}. | 778 | functions @code{read-buffer} and @code{read-file-name}. |
| 779 | 779 | ||
| 780 | To use ido for all buffer and file selections in Emacs, customize the | 780 | To use ido for all buffer and file selections in Emacs, customize the |
diff --git a/doc/misc/info.texi b/doc/misc/info.texi index e69779a03ca..077e83e3c90 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi | |||
| @@ -886,6 +886,14 @@ which the header says is the @samp{Previous} node (from this node, the | |||
| 886 | to revisit nodes in the history list in the forward direction, so that | 886 | to revisit nodes in the history list in the forward direction, so that |
| 887 | @kbd{r} will return you to the node you came from by typing @kbd{l}. | 887 | @kbd{r} will return you to the node you came from by typing @kbd{l}. |
| 888 | 888 | ||
| 889 | @cindex using tool-bar to navigate history | ||
| 890 | Clicking the mouse on the left arrow icon in the tool-bar while | ||
| 891 | holding down the @key{CTRL} key in Emacs opens a menu of previously | ||
| 892 | visited nodes: the same nodes that you can revisit by | ||
| 893 | @code{Info-history-back}. Selecting a node after clicking on the | ||
| 894 | right arrow icon revisits the same nodes as available by | ||
| 895 | @code{Info-history-forward}. | ||
| 896 | |||
| 889 | @kindex L @r{(Info mode)} | 897 | @kindex L @r{(Info mode)} |
| 890 | @findex Info-history | 898 | @findex Info-history |
| 891 | @cindex history list of visited nodes | 899 | @cindex history list of visited nodes |
| @@ -929,10 +937,9 @@ is @code{Info-top-node}. | |||
| 929 | @section Quitting Info | 937 | @section Quitting Info |
| 930 | 938 | ||
| 931 | @kindex q @r{(Info mode)} | 939 | @kindex q @r{(Info mode)} |
| 932 | @findex Info-exit | ||
| 933 | @cindex quitting Info mode | 940 | @cindex quitting Info mode |
| 934 | To get out of Info, back to what you were doing before, type @kbd{q} | 941 | To get out of Info, back to what you were doing before, type @kbd{q} |
| 935 | for @dfn{Quit}. This runs @code{Info-exit} in Emacs. | 942 | for @dfn{Quit}. This runs @code{quit-window} in Emacs. |
| 936 | 943 | ||
| 937 | This is the end of the basic course on using Info. You have learned | 944 | This is the end of the basic course on using Info. You have learned |
| 938 | how to move in an Info document, and how to follow menus and cross | 945 | how to move in an Info document, and how to follow menus and cross |
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index ed3f0ee98f4..d2e895f3628 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | % texinfo.tex -- TeX macros to handle Texinfo files. | 1 | % texinfo.tex -- TeX macros to handle Texinfo files. |
| 2 | % | 2 | % |
| 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{2019-06-01.23} | 6 | \def\texinfoversion{2019-08-18.20} |
| 7 | % | 7 | % |
| 8 | % Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc. | 8 | % Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc. |
| 9 | % | 9 | % |
| @@ -218,7 +218,7 @@ | |||
| 218 | % @errormsg{MSG}. Do the index-like expansions on MSG, but if things | 218 | % @errormsg{MSG}. Do the index-like expansions on MSG, but if things |
| 219 | % aren't perfect, it's not the end of the world, being an error message, | 219 | % aren't perfect, it's not the end of the world, being an error message, |
| 220 | % after all. | 220 | % after all. |
| 221 | % | 221 | % |
| 222 | \def\errormsg{\begingroup \indexnofonts \doerrormsg} | 222 | \def\errormsg{\begingroup \indexnofonts \doerrormsg} |
| 223 | \def\doerrormsg#1{\errmessage{#1}} | 223 | \def\doerrormsg#1{\errmessage{#1}} |
| 224 | 224 | ||
| @@ -323,9 +323,9 @@ | |||
| 323 | % the output routine. The saved contents are valid until we actually | 323 | % the output routine. The saved contents are valid until we actually |
| 324 | % \shipout a page. | 324 | % \shipout a page. |
| 325 | % | 325 | % |
| 326 | % (We used to run a short output routine to actually set \topmark and | 326 | % (We used to run a short output routine to actually set \topmark and |
| 327 | % \firstmark to the right values, but if this was called with an empty page | 327 | % \firstmark to the right values, but if this was called with an empty page |
| 328 | % containing whatsits for writing index entries, the whatsits would be thrown | 328 | % containing whatsits for writing index entries, the whatsits would be thrown |
| 329 | % away and the index auxiliary file would remain empty.) | 329 | % away and the index auxiliary file would remain empty.) |
| 330 | % | 330 | % |
| 331 | \newtoks\savedtopmark | 331 | \newtoks\savedtopmark |
| @@ -365,7 +365,7 @@ | |||
| 365 | \let\thischapterheading\thischapter | 365 | \let\thischapterheading\thischapter |
| 366 | \else | 366 | \else |
| 367 | % \thischapterheading is the same as \thischapter except it is blank | 367 | % \thischapterheading is the same as \thischapter except it is blank |
| 368 | % for the first page of a chapter. This is to prevent the chapter name | 368 | % for the first page of a chapter. This is to prevent the chapter name |
| 369 | % being shown twice. | 369 | % being shown twice. |
| 370 | \def\thischapterheading{}% | 370 | \def\thischapterheading{}% |
| 371 | \fi | 371 | \fi |
| @@ -448,7 +448,7 @@ | |||
| 448 | }% | 448 | }% |
| 449 | } | 449 | } |
| 450 | 450 | ||
| 451 | % First remove any @comment, then any @c comment. Pass the result on to | 451 | % First remove any @comment, then any @c comment. Pass the result on to |
| 452 | % \argcheckspaces. | 452 | % \argcheckspaces. |
| 453 | \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} | 453 | \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} |
| 454 | \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} | 454 | \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} |
| @@ -1137,7 +1137,7 @@ where each line of input produces a line of output.} | |||
| 1137 | % for display in the outlines, and in other places. Thus, we have to | 1137 | % for display in the outlines, and in other places. Thus, we have to |
| 1138 | % double any backslashes. Otherwise, a name like "\node" will be | 1138 | % double any backslashes. Otherwise, a name like "\node" will be |
| 1139 | % interpreted as a newline (\n), followed by o, d, e. Not good. | 1139 | % interpreted as a newline (\n), followed by o, d, e. Not good. |
| 1140 | % | 1140 | % |
| 1141 | % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and | 1141 | % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and |
| 1142 | % related messages. The final outcome is that it is up to the TeX user | 1142 | % related messages. The final outcome is that it is up to the TeX user |
| 1143 | % to double the backslashes and otherwise make the string valid, so | 1143 | % to double the backslashes and otherwise make the string valid, so |
| @@ -1442,7 +1442,7 @@ output) for that.)} | |||
| 1442 | % their "best" equivalent, based on the @documentencoding. Too | 1442 | % their "best" equivalent, based on the @documentencoding. Too |
| 1443 | % much work for too little return. Just use the ASCII equivalents | 1443 | % much work for too little return. Just use the ASCII equivalents |
| 1444 | % we use for the index sort strings. | 1444 | % we use for the index sort strings. |
| 1445 | % | 1445 | % |
| 1446 | \indexnofonts | 1446 | \indexnofonts |
| 1447 | \setupdatafile | 1447 | \setupdatafile |
| 1448 | % We can have normal brace characters in the PDF outlines, unlike | 1448 | % We can have normal brace characters in the PDF outlines, unlike |
| @@ -2726,7 +2726,7 @@ end | |||
| 2726 | } | 2726 | } |
| 2727 | 2727 | ||
| 2728 | % Commands to set the quote options. | 2728 | % Commands to set the quote options. |
| 2729 | % | 2729 | % |
| 2730 | \parseargdef\codequoteundirected{% | 2730 | \parseargdef\codequoteundirected{% |
| 2731 | \def\temp{#1}% | 2731 | \def\temp{#1}% |
| 2732 | \ifx\temp\onword | 2732 | \ifx\temp\onword |
| @@ -2767,7 +2767,7 @@ end | |||
| 2767 | % If we are in a monospaced environment, however, 1) always use \ttsl, | 2767 | % If we are in a monospaced environment, however, 1) always use \ttsl, |
| 2768 | % and 2) do not add an italic correction. | 2768 | % and 2) do not add an italic correction. |
| 2769 | \def\dosmartslant#1#2{% | 2769 | \def\dosmartslant#1#2{% |
| 2770 | \ifusingtt | 2770 | \ifusingtt |
| 2771 | {{\ttsl #2}\let\next=\relax}% | 2771 | {{\ttsl #2}\let\next=\relax}% |
| 2772 | {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% | 2772 | {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% |
| 2773 | \next | 2773 | \next |
| @@ -2914,14 +2914,14 @@ end | |||
| 2914 | \gdef\codedash{\futurelet\next\codedashfinish} | 2914 | \gdef\codedash{\futurelet\next\codedashfinish} |
| 2915 | \gdef\codedashfinish{% | 2915 | \gdef\codedashfinish{% |
| 2916 | \normaldash % always output the dash character itself. | 2916 | \normaldash % always output the dash character itself. |
| 2917 | % | 2917 | % |
| 2918 | % Now, output a discretionary to allow a line break, unless | 2918 | % Now, output a discretionary to allow a line break, unless |
| 2919 | % (a) the next character is a -, or | 2919 | % (a) the next character is a -, or |
| 2920 | % (b) the preceding character is a -. | 2920 | % (b) the preceding character is a -. |
| 2921 | % E.g., given --posix, we do not want to allow a break after either -. | 2921 | % E.g., given --posix, we do not want to allow a break after either -. |
| 2922 | % Given --foo-bar, we do want to allow a break between the - and the b. | 2922 | % Given --foo-bar, we do want to allow a break between the - and the b. |
| 2923 | \ifx\next\codedash \else | 2923 | \ifx\next\codedash \else |
| 2924 | \ifx\codedashprev\codedash | 2924 | \ifx\codedashprev\codedash |
| 2925 | \else \discretionary{}{}{}\fi | 2925 | \else \discretionary{}{}{}\fi |
| 2926 | \fi | 2926 | \fi |
| 2927 | % we need the space after the = for the case when \next itself is a | 2927 | % we need the space after the = for the case when \next itself is a |
| @@ -3003,7 +3003,7 @@ end | |||
| 3003 | % For pdfTeX and LuaTeX | 3003 | % For pdfTeX and LuaTeX |
| 3004 | \ifurefurlonlylink | 3004 | \ifurefurlonlylink |
| 3005 | % PDF plus option to not display url, show just arg | 3005 | % PDF plus option to not display url, show just arg |
| 3006 | \unhbox0 | 3006 | \unhbox0 |
| 3007 | \else | 3007 | \else |
| 3008 | % PDF, normally display both arg and url for consistency, | 3008 | % PDF, normally display both arg and url for consistency, |
| 3009 | % visibility, if the pdf is eventually used to print, etc. | 3009 | % visibility, if the pdf is eventually used to print, etc. |
| @@ -3016,7 +3016,7 @@ end | |||
| 3016 | % For XeTeX | 3016 | % For XeTeX |
| 3017 | \ifurefurlonlylink | 3017 | \ifurefurlonlylink |
| 3018 | % PDF plus option to not display url, show just arg | 3018 | % PDF plus option to not display url, show just arg |
| 3019 | \unhbox0 | 3019 | \unhbox0 |
| 3020 | \else | 3020 | \else |
| 3021 | % PDF, normally display both arg and url for consistency, | 3021 | % PDF, normally display both arg and url for consistency, |
| 3022 | % visibility, if the pdf is eventually used to print, etc. | 3022 | % visibility, if the pdf is eventually used to print, etc. |
| @@ -3074,10 +3074,10 @@ end | |||
| 3074 | } | 3074 | } |
| 3075 | } | 3075 | } |
| 3076 | 3076 | ||
| 3077 | % By default we'll break after the special characters, but some people like to | 3077 | % By default we'll break after the special characters, but some people like to |
| 3078 | % break before the special chars, so allow that. Also allow no breaking at | 3078 | % break before the special chars, so allow that. Also allow no breaking at |
| 3079 | % all, for manual control. | 3079 | % all, for manual control. |
| 3080 | % | 3080 | % |
| 3081 | \parseargdef\urefbreakstyle{% | 3081 | \parseargdef\urefbreakstyle{% |
| 3082 | \def\txiarg{#1}% | 3082 | \def\txiarg{#1}% |
| 3083 | \ifx\txiarg\wordnone | 3083 | \ifx\txiarg\wordnone |
| @@ -3095,7 +3095,7 @@ end | |||
| 3095 | \def\wordbefore{before} | 3095 | \def\wordbefore{before} |
| 3096 | \def\wordnone{none} | 3096 | \def\wordnone{none} |
| 3097 | 3097 | ||
| 3098 | % Allow a ragged right output to aid breaking long URL's. Putting stretch in | 3098 | % Allow a ragged right output to aid breaking long URL's. Putting stretch in |
| 3099 | % between characters of the URL doesn't look good. | 3099 | % between characters of the URL doesn't look good. |
| 3100 | \def\urefallowbreak{% | 3100 | \def\urefallowbreak{% |
| 3101 | \hskip 0pt plus 4 em\relax | 3101 | \hskip 0pt plus 4 em\relax |
| @@ -3299,7 +3299,7 @@ end | |||
| 3299 | % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. | 3299 | % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. |
| 3300 | % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, | 3300 | % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, |
| 3301 | % except specified as a normal braced arg, so no newlines to worry about. | 3301 | % except specified as a normal braced arg, so no newlines to worry about. |
| 3302 | % | 3302 | % |
| 3303 | \def\outfmtnametex{tex} | 3303 | \def\outfmtnametex{tex} |
| 3304 | % | 3304 | % |
| 3305 | \long\def\inlinefmt#1{\doinlinefmt #1,\finish} | 3305 | \long\def\inlinefmt#1{\doinlinefmt #1,\finish} |
| @@ -3307,7 +3307,7 @@ end | |||
| 3307 | \def\inlinefmtname{#1}% | 3307 | \def\inlinefmtname{#1}% |
| 3308 | \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi | 3308 | \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi |
| 3309 | } | 3309 | } |
| 3310 | % | 3310 | % |
| 3311 | % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if | 3311 | % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if |
| 3312 | % FMTNAME is tex, else ELSE-TEXT. | 3312 | % FMTNAME is tex, else ELSE-TEXT. |
| 3313 | \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} | 3313 | \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} |
| @@ -3323,7 +3323,7 @@ end | |||
| 3323 | % *right* brace they would have to use a command anyway, so they may as | 3323 | % *right* brace they would have to use a command anyway, so they may as |
| 3324 | % well use a command to get a left brace too. We could re-use the | 3324 | % well use a command to get a left brace too. We could re-use the |
| 3325 | % delimiter character idea from \verb, but it seems like overkill. | 3325 | % delimiter character idea from \verb, but it seems like overkill. |
| 3326 | % | 3326 | % |
| 3327 | \long\def\inlineraw{\tex \doinlineraw} | 3327 | \long\def\inlineraw{\tex \doinlineraw} |
| 3328 | \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} | 3328 | \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} |
| 3329 | \def\doinlinerawtwo#1,#2,\finish{% | 3329 | \def\doinlinerawtwo#1,#2,\finish{% |
| @@ -3600,7 +3600,7 @@ end | |||
| 3600 | % for non-CM glyphs. That is ec* for regular text and tc* for the text | 3600 | % for non-CM glyphs. That is ec* for regular text and tc* for the text |
| 3601 | % companion symbols (LaTeX TS1 encoding). Both are part of the ec | 3601 | % companion symbols (LaTeX TS1 encoding). Both are part of the ec |
| 3602 | % package and follow the same conventions. | 3602 | % package and follow the same conventions. |
| 3603 | % | 3603 | % |
| 3604 | \def\ecfont{\etcfont{e}} | 3604 | \def\ecfont{\etcfont{e}} |
| 3605 | \def\tcfont{\etcfont{t}} | 3605 | \def\tcfont{\etcfont{t}} |
| 3606 | % | 3606 | % |
| @@ -3672,7 +3672,7 @@ end | |||
| 3672 | after the title page.}}% | 3672 | after the title page.}}% |
| 3673 | \def\setshortcontentsaftertitlepage{% | 3673 | \def\setshortcontentsaftertitlepage{% |
| 3674 | \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo | 3674 | \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo |
| 3675 | command; move your @shortcontents and @contents commands if you | 3675 | command; move your @shortcontents and @contents commands if you |
| 3676 | want the contents after the title page.}}% | 3676 | want the contents after the title page.}}% |
| 3677 | 3677 | ||
| 3678 | \parseargdef\shorttitlepage{% | 3678 | \parseargdef\shorttitlepage{% |
| @@ -3727,7 +3727,7 @@ end | |||
| 3727 | % don't worry much about spacing, ragged right. This should be used | 3727 | % don't worry much about spacing, ragged right. This should be used |
| 3728 | % inside a \vbox, and fonts need to be set appropriately first. \par should | 3728 | % inside a \vbox, and fonts need to be set appropriately first. \par should |
| 3729 | % be specified before the end of the \vbox, since a vbox is a group. | 3729 | % be specified before the end of the \vbox, since a vbox is a group. |
| 3730 | % | 3730 | % |
| 3731 | \def\raggedtitlesettings{% | 3731 | \def\raggedtitlesettings{% |
| 3732 | \rm | 3732 | \rm |
| 3733 | \hyphenpenalty=10000 | 3733 | \hyphenpenalty=10000 |
| @@ -4350,7 +4350,7 @@ end | |||
| 4350 | } | 4350 | } |
| 4351 | 4351 | ||
| 4352 | % multitable-only commands. | 4352 | % multitable-only commands. |
| 4353 | % | 4353 | % |
| 4354 | % @headitem starts a heading row, which we typeset in bold. Assignments | 4354 | % @headitem starts a heading row, which we typeset in bold. Assignments |
| 4355 | % have to be global since we are inside the implicit group of an | 4355 | % have to be global since we are inside the implicit group of an |
| 4356 | % alignment entry. \everycr below resets \everytab so we don't have to | 4356 | % alignment entry. \everycr below resets \everytab so we don't have to |
| @@ -4669,13 +4669,13 @@ end | |||
| 4669 | % Like \expandablevalue, but completely expandable (the \message in the | 4669 | % Like \expandablevalue, but completely expandable (the \message in the |
| 4670 | % definition above operates at the execution level of TeX). Used when | 4670 | % definition above operates at the execution level of TeX). Used when |
| 4671 | % writing to auxiliary files, due to the expansion that \write does. | 4671 | % writing to auxiliary files, due to the expansion that \write does. |
| 4672 | % If flag is undefined, pass through an unexpanded @value command: maybe it | 4672 | % If flag is undefined, pass through an unexpanded @value command: maybe it |
| 4673 | % will be set by the time it is read back in. | 4673 | % will be set by the time it is read back in. |
| 4674 | % | 4674 | % |
| 4675 | % NB flag names containing - or _ may not work here. | 4675 | % NB flag names containing - or _ may not work here. |
| 4676 | \def\dummyvalue#1{% | 4676 | \def\dummyvalue#1{% |
| 4677 | \expandafter\ifx\csname SET#1\endcsname\relax | 4677 | \expandafter\ifx\csname SET#1\endcsname\relax |
| 4678 | \noexpand\value{#1}% | 4678 | \string\value{#1}% |
| 4679 | \else | 4679 | \else |
| 4680 | \csname SET#1\endcsname | 4680 | \csname SET#1\endcsname |
| 4681 | \fi | 4681 | \fi |
| @@ -4693,7 +4693,7 @@ end | |||
| 4693 | 4693 | ||
| 4694 | % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined | 4694 | % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined |
| 4695 | % with @set. | 4695 | % with @set. |
| 4696 | % | 4696 | % |
| 4697 | % To get the special treatment we need for `@end ifset,' we call | 4697 | % To get the special treatment we need for `@end ifset,' we call |
| 4698 | % \makecond and then redefine. | 4698 | % \makecond and then redefine. |
| 4699 | % | 4699 | % |
| @@ -4726,7 +4726,7 @@ end | |||
| 4726 | % without the @) is in fact defined. We can only feasibly check at the | 4726 | % without the @) is in fact defined. We can only feasibly check at the |
| 4727 | % TeX level, so something like `mathcode' is going to considered | 4727 | % TeX level, so something like `mathcode' is going to considered |
| 4728 | % defined even though it is not a Texinfo command. | 4728 | % defined even though it is not a Texinfo command. |
| 4729 | % | 4729 | % |
| 4730 | \makecond{ifcommanddefined} | 4730 | \makecond{ifcommanddefined} |
| 4731 | \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} | 4731 | \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} |
| 4732 | % | 4732 | % |
| @@ -4834,8 +4834,8 @@ end | |||
| 4834 | \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} | 4834 | \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} |
| 4835 | \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} | 4835 | \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} |
| 4836 | 4836 | ||
| 4837 | 4837 | ||
| 4838 | % Used for the aux, toc and index files to prevent expansion of Texinfo | 4838 | % Used for the aux, toc and index files to prevent expansion of Texinfo |
| 4839 | % commands. | 4839 | % commands. |
| 4840 | % | 4840 | % |
| 4841 | \def\atdummies{% | 4841 | \def\atdummies{% |
| @@ -5180,7 +5180,7 @@ end | |||
| 5180 | } | 5180 | } |
| 5181 | \def\defglyph#1#2{\def#1##1{#2}} % see above | 5181 | \def\defglyph#1#2{\def#1##1{#2}} % see above |
| 5182 | 5182 | ||
| 5183 | 5183 | ||
| 5184 | 5184 | ||
| 5185 | 5185 | ||
| 5186 | % #1 is the index name, #2 is the entry text. | 5186 | % #1 is the index name, #2 is the entry text. |
| @@ -5207,7 +5207,7 @@ end | |||
| 5207 | \ifx\suffix\indexisfl\def\suffix{f1}\fi | 5207 | \ifx\suffix\indexisfl\def\suffix{f1}\fi |
| 5208 | % Open the file | 5208 | % Open the file |
| 5209 | \immediate\openout\csname#1indfile\endcsname \jobname.\suffix | 5209 | \immediate\openout\csname#1indfile\endcsname \jobname.\suffix |
| 5210 | % Using \immediate above here prevents an object entering into the current | 5210 | % Using \immediate above here prevents an object entering into the current |
| 5211 | % box, which could confound checks such as those in \safewhatsit for | 5211 | % box, which could confound checks such as those in \safewhatsit for |
| 5212 | % preceding skips. | 5212 | % preceding skips. |
| 5213 | \typeout{Writing index file \jobname.\suffix}% | 5213 | \typeout{Writing index file \jobname.\suffix}% |
| @@ -5259,7 +5259,7 @@ end | |||
| 5259 | \ifx\segment\isfinish | 5259 | \ifx\segment\isfinish |
| 5260 | \else | 5260 | \else |
| 5261 | % | 5261 | % |
| 5262 | % Fully expand the segment, throwing away any @sortas directives, and | 5262 | % Fully expand the segment, throwing away any @sortas directives, and |
| 5263 | % trim spaces. | 5263 | % trim spaces. |
| 5264 | \edef\trimmed{\segment}% | 5264 | \edef\trimmed{\segment}% |
| 5265 | \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% | 5265 | \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% |
| @@ -5317,12 +5317,12 @@ end | |||
| 5317 | % the current value of \escapechar. | 5317 | % the current value of \escapechar. |
| 5318 | \def\escapeisbackslash{\escapechar=`\\} | 5318 | \def\escapeisbackslash{\escapechar=`\\} |
| 5319 | 5319 | ||
| 5320 | % Use \ in index files by default. texi2dvi didn't support @ as the escape | 5320 | % Use \ in index files by default. texi2dvi didn't support @ as the escape |
| 5321 | % character (as it checked for "\entry" in the files, and not "@entry"). When | 5321 | % character (as it checked for "\entry" in the files, and not "@entry"). When |
| 5322 | % the new version of texi2dvi has had a chance to become more prevalent, then | 5322 | % the new version of texi2dvi has had a chance to become more prevalent, then |
| 5323 | % the escape character can change back to @ again. This should be an easy | 5323 | % the escape character can change back to @ again. This should be an easy |
| 5324 | % change to make now because both @ and \ are only used as escape characters in | 5324 | % change to make now because both @ and \ are only used as escape characters in |
| 5325 | % index files, never standing for themselves. | 5325 | % index files, never standing for themselves. |
| 5326 | % | 5326 | % |
| 5327 | \set txiindexescapeisbackslash | 5327 | \set txiindexescapeisbackslash |
| 5328 | 5328 | ||
| @@ -5342,7 +5342,7 @@ end | |||
| 5342 | \def\}{\rbracechar{}}% | 5342 | \def\}{\rbracechar{}}% |
| 5343 | \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% | 5343 | \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% |
| 5344 | % | 5344 | % |
| 5345 | % Split the entry into primary entry and any subentries, and get the index | 5345 | % Split the entry into primary entry and any subentries, and get the index |
| 5346 | % sort key. | 5346 | % sort key. |
| 5347 | \splitindexentry\indextext | 5347 | \splitindexentry\indextext |
| 5348 | % | 5348 | % |
| @@ -5523,18 +5523,18 @@ end | |||
| 5523 | \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 | 5523 | \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 |
| 5524 | \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax | 5524 | \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax |
| 5525 | \errmessage{% | 5525 | \errmessage{% |
| 5526 | ERROR: A sorted index file in an obsolete format was skipped. | 5526 | ERROR: A sorted index file in an obsolete format was skipped. |
| 5527 | To fix this problem, please upgrade your version of 'texi2dvi' | 5527 | To fix this problem, please upgrade your version of 'texi2dvi' |
| 5528 | or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. | 5528 | or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. |
| 5529 | If you are using an old version of 'texindex' (part of the Texinfo | 5529 | If you are using an old version of 'texindex' (part of the Texinfo |
| 5530 | distribution), you may also need to upgrade to a newer version (at least 6.0). | 5530 | distribution), you may also need to upgrade to a newer version (at least 6.0). |
| 5531 | You may be able to typeset the index if you run | 5531 | You may be able to typeset the index if you run |
| 5532 | 'texindex \jobname.\indexname' yourself. | 5532 | 'texindex \jobname.\indexname' yourself. |
| 5533 | You could also try setting the 'txiindexescapeisbackslash' flag by | 5533 | You could also try setting the 'txiindexescapeisbackslash' flag by |
| 5534 | running a command like | 5534 | running a command like |
| 5535 | 'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do | 5535 | 'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do |
| 5536 | this, Texinfo will try to use index files in the old format. | 5536 | this, Texinfo will try to use index files in the old format. |
| 5537 | If you continue to have problems, deleting the index files and starting again | 5537 | If you continue to have problems, deleting the index files and starting again |
| 5538 | might help (with 'rm \jobname.?? \jobname.??s')% | 5538 | might help (with 'rm \jobname.?? \jobname.??s')% |
| 5539 | }% | 5539 | }% |
| 5540 | \else | 5540 | \else |
| @@ -5603,7 +5603,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 5603 | % bottom of a column to reduce an increase in inter-line spacing. | 5603 | % bottom of a column to reduce an increase in inter-line spacing. |
| 5604 | \nobreak | 5604 | \nobreak |
| 5605 | \vskip 0pt plus 5\baselineskip | 5605 | \vskip 0pt plus 5\baselineskip |
| 5606 | \penalty -300 | 5606 | \penalty -300 |
| 5607 | \vskip 0pt plus -5\baselineskip | 5607 | \vskip 0pt plus -5\baselineskip |
| 5608 | % | 5608 | % |
| 5609 | % Typeset the initial. Making this add up to a whole number of | 5609 | % Typeset the initial. Making this add up to a whole number of |
| @@ -5719,7 +5719,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 5719 | \advance\dimen@ii by 1\dimen@i | 5719 | \advance\dimen@ii by 1\dimen@i |
| 5720 | \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line | 5720 | \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line |
| 5721 | \ifdim\dimen@ > 0.8\dimen@ii % due to long index text | 5721 | \ifdim\dimen@ > 0.8\dimen@ii % due to long index text |
| 5722 | % Try to split the text roughly evenly. \dimen@ will be the length of | 5722 | % Try to split the text roughly evenly. \dimen@ will be the length of |
| 5723 | % the first line. | 5723 | % the first line. |
| 5724 | \dimen@ = 0.7\dimen@ | 5724 | \dimen@ = 0.7\dimen@ |
| 5725 | \dimen@ii = \hsize | 5725 | \dimen@ii = \hsize |
| @@ -5927,7 +5927,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 5927 | \newbox\balancedcolumns | 5927 | \newbox\balancedcolumns |
| 5928 | \setbox\balancedcolumns=\vbox{shouldnt see this}% | 5928 | \setbox\balancedcolumns=\vbox{shouldnt see this}% |
| 5929 | % | 5929 | % |
| 5930 | % Only called for the last of the double column material. \doublecolumnout | 5930 | % Only called for the last of the double column material. \doublecolumnout |
| 5931 | % does the others. | 5931 | % does the others. |
| 5932 | \def\balancecolumns{% | 5932 | \def\balancecolumns{% |
| 5933 | \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. | 5933 | \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. |
| @@ -5955,7 +5955,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 5955 | }% | 5955 | }% |
| 5956 | % Now the left column is in box 1, and the right column in box 3. | 5956 | % Now the left column is in box 1, and the right column in box 3. |
| 5957 | % | 5957 | % |
| 5958 | % Check whether the left column has come out higher than the page itself. | 5958 | % Check whether the left column has come out higher than the page itself. |
| 5959 | % (Note that we have doubled \vsize for the double columns, so | 5959 | % (Note that we have doubled \vsize for the double columns, so |
| 5960 | % the actual height of the page is 0.5\vsize). | 5960 | % the actual height of the page is 0.5\vsize). |
| 5961 | \ifdim2\ht1>\vsize | 5961 | \ifdim2\ht1>\vsize |
| @@ -6252,7 +6252,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 6252 | \let\top\unnumbered | 6252 | \let\top\unnumbered |
| 6253 | 6253 | ||
| 6254 | % Sections. | 6254 | % Sections. |
| 6255 | % | 6255 | % |
| 6256 | \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz | 6256 | \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz |
| 6257 | \def\seczzz#1{% | 6257 | \def\seczzz#1{% |
| 6258 | \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 | 6258 | \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 |
| @@ -6275,7 +6275,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 6275 | } | 6275 | } |
| 6276 | 6276 | ||
| 6277 | % Subsections. | 6277 | % Subsections. |
| 6278 | % | 6278 | % |
| 6279 | % normally calls numberedsubseczzz: | 6279 | % normally calls numberedsubseczzz: |
| 6280 | \outer\parseargdef\numberedsubsec{\numhead2{#1}} | 6280 | \outer\parseargdef\numberedsubsec{\numhead2{#1}} |
| 6281 | \def\numberedsubseczzz#1{% | 6281 | \def\numberedsubseczzz#1{% |
| @@ -6300,7 +6300,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 6300 | } | 6300 | } |
| 6301 | 6301 | ||
| 6302 | % Subsubsections. | 6302 | % Subsubsections. |
| 6303 | % | 6303 | % |
| 6304 | % normally numberedsubsubseczzz: | 6304 | % normally numberedsubsubseczzz: |
| 6305 | \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} | 6305 | \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} |
| 6306 | \def\numberedsubsubseczzz#1{% | 6306 | \def\numberedsubsubseczzz#1{% |
| @@ -7358,7 +7358,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7358 | 7358 | ||
| 7359 | % @indentedblock is like @quotation, but indents only on the left and | 7359 | % @indentedblock is like @quotation, but indents only on the left and |
| 7360 | % has no optional argument. | 7360 | % has no optional argument. |
| 7361 | % | 7361 | % |
| 7362 | \makedispenvdef{indentedblock}{\indentedblockstart} | 7362 | \makedispenvdef{indentedblock}{\indentedblockstart} |
| 7363 | % | 7363 | % |
| 7364 | \def\indentedblockstart{% | 7364 | \def\indentedblockstart{% |
| @@ -7658,7 +7658,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7658 | % @deftypefnnewline on|off says whether the return type of typed functions | 7658 | % @deftypefnnewline on|off says whether the return type of typed functions |
| 7659 | % are printed on their own line. This affects @deftypefn, @deftypefun, | 7659 | % are printed on their own line. This affects @deftypefn, @deftypefun, |
| 7660 | % @deftypeop, and @deftypemethod. | 7660 | % @deftypeop, and @deftypemethod. |
| 7661 | % | 7661 | % |
| 7662 | \parseargdef\deftypefnnewline{% | 7662 | \parseargdef\deftypefnnewline{% |
| 7663 | \def\temp{#1}% | 7663 | \def\temp{#1}% |
| 7664 | \ifx\temp\onword | 7664 | \ifx\temp\onword |
| @@ -7677,8 +7677,8 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7677 | % \dosubind {index}{topic}{subtopic} | 7677 | % \dosubind {index}{topic}{subtopic} |
| 7678 | % | 7678 | % |
| 7679 | % If SUBTOPIC is present, precede it with a space, and call \doind. | 7679 | % If SUBTOPIC is present, precede it with a space, and call \doind. |
| 7680 | % (At some time during the 20th century, this made a two-level entry in an | 7680 | % (At some time during the 20th century, this made a two-level entry in an |
| 7681 | % index such as the operation index. Nobody seemed to notice the change in | 7681 | % index such as the operation index. Nobody seemed to notice the change in |
| 7682 | % behaviour though.) | 7682 | % behaviour though.) |
| 7683 | \def\dosubind#1#2#3{% | 7683 | \def\dosubind#1#2#3{% |
| 7684 | \def\thirdarg{#3}% | 7684 | \def\thirdarg{#3}% |
| @@ -7853,7 +7853,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 7853 | \tclose{\temp}% typeset the return type | 7853 | \tclose{\temp}% typeset the return type |
| 7854 | \ifrettypeownline | 7854 | \ifrettypeownline |
| 7855 | % put return type on its own line; prohibit line break following: | 7855 | % put return type on its own line; prohibit line break following: |
| 7856 | \hfil\vadjust{\nobreak}\break | 7856 | \hfil\vadjust{\nobreak}\break |
| 7857 | \else | 7857 | \else |
| 7858 | \space % type on same line, so just followed by a space | 7858 | \space % type on same line, so just followed by a space |
| 7859 | \fi | 7859 | \fi |
| @@ -8000,7 +8000,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8000 | \scantokens{#1@comment}% | 8000 | \scantokens{#1@comment}% |
| 8001 | % | 8001 | % |
| 8002 | % The \comment is to remove the \newlinechar added by \scantokens, and | 8002 | % The \comment is to remove the \newlinechar added by \scantokens, and |
| 8003 | % can be noticed by \parsearg. Note \c isn't used because this means cedilla | 8003 | % can be noticed by \parsearg. Note \c isn't used because this means cedilla |
| 8004 | % in math mode. | 8004 | % in math mode. |
| 8005 | } | 8005 | } |
| 8006 | 8006 | ||
| @@ -8201,7 +8201,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8201 | % list to some hook where the argument is to be expanded. If there are | 8201 | % list to some hook where the argument is to be expanded. If there are |
| 8202 | % less than 10 arguments that hook is to be replaced by ##N where N | 8202 | % less than 10 arguments that hook is to be replaced by ##N where N |
| 8203 | % is the position in that list, that is to say the macro arguments are to be | 8203 | % is the position in that list, that is to say the macro arguments are to be |
| 8204 | % defined `a la TeX in the macro body. | 8204 | % defined `a la TeX in the macro body. |
| 8205 | % | 8205 | % |
| 8206 | % That gets used by \mbodybackslash (above). | 8206 | % That gets used by \mbodybackslash (above). |
| 8207 | % | 8207 | % |
| @@ -8232,8 +8232,8 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8232 | % | 8232 | % |
| 8233 | % Read recursive and nonrecursive macro bodies. (They're different since | 8233 | % Read recursive and nonrecursive macro bodies. (They're different since |
| 8234 | % rec and nonrec macros end differently.) | 8234 | % rec and nonrec macros end differently.) |
| 8235 | % | 8235 | % |
| 8236 | % We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro | 8236 | % We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro |
| 8237 | % body to be transformed. | 8237 | % body to be transformed. |
| 8238 | % Set \macrobody to the body of the macro, and call \defmacro. | 8238 | % Set \macrobody to the body of the macro, and call \defmacro. |
| 8239 | % | 8239 | % |
| @@ -8267,7 +8267,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8267 | % twice the \macarg.BLAH macros does not cost too much processing power. | 8267 | % twice the \macarg.BLAH macros does not cost too much processing power. |
| 8268 | \def\parsemmanyargdef@@#1,{% | 8268 | \def\parsemmanyargdef@@#1,{% |
| 8269 | \if#1;\let\next=\relax | 8269 | \if#1;\let\next=\relax |
| 8270 | \else | 8270 | \else |
| 8271 | \let\next=\parsemmanyargdef@@ | 8271 | \let\next=\parsemmanyargdef@@ |
| 8272 | \edef\tempb{\eatspaces{#1}}% | 8272 | \edef\tempb{\eatspaces{#1}}% |
| 8273 | \expandafter\def\expandafter\tempa | 8273 | \expandafter\def\expandafter\tempa |
| @@ -8352,7 +8352,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8352 | 8352 | ||
| 8353 | % Replace arguments by their values in the macro body, and place the result | 8353 | % Replace arguments by their values in the macro body, and place the result |
| 8354 | % in macro \@tempa. | 8354 | % in macro \@tempa. |
| 8355 | % | 8355 | % |
| 8356 | \def\macvalstoargs@{% | 8356 | \def\macvalstoargs@{% |
| 8357 | % To do this we use the property that token registers that are \the'ed | 8357 | % To do this we use the property that token registers that are \the'ed |
| 8358 | % within an \edef expand only once. So we are going to place all argument | 8358 | % within an \edef expand only once. So we are going to place all argument |
| @@ -8376,9 +8376,9 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8376 | \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% | 8376 | \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% |
| 8377 | } | 8377 | } |
| 8378 | 8378 | ||
| 8379 | % Define the named-macro outside of this group and then close this group. | 8379 | % Define the named-macro outside of this group and then close this group. |
| 8380 | % | 8380 | % |
| 8381 | \def\macargexpandinbody@{% | 8381 | \def\macargexpandinbody@{% |
| 8382 | \expandafter | 8382 | \expandafter |
| 8383 | \endgroup | 8383 | \endgroup |
| 8384 | \macargdeflist@ | 8384 | \macargdeflist@ |
| @@ -8416,7 +8416,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8416 | } | 8416 | } |
| 8417 | 8417 | ||
| 8418 | % Trailing missing arguments are set to empty. | 8418 | % Trailing missing arguments are set to empty. |
| 8419 | % | 8419 | % |
| 8420 | \def\setemptyargvalues@{% | 8420 | \def\setemptyargvalues@{% |
| 8421 | \ifx\paramlist\nilm@ | 8421 | \ifx\paramlist\nilm@ |
| 8422 | \let\next\macargexpandinbody@ | 8422 | \let\next\macargexpandinbody@ |
| @@ -8493,7 +8493,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8493 | \else % at most 9 | 8493 | \else % at most 9 |
| 8494 | \ifnum\paramno<10\relax | 8494 | \ifnum\paramno<10\relax |
| 8495 | % @MACNAME sets the context for reading the macro argument | 8495 | % @MACNAME sets the context for reading the macro argument |
| 8496 | % @MACNAME@@ gets the argument, processes backslashes and appends a | 8496 | % @MACNAME@@ gets the argument, processes backslashes and appends a |
| 8497 | % comma. | 8497 | % comma. |
| 8498 | % @MACNAME@@@ removes braces surrounding the argument list. | 8498 | % @MACNAME@@@ removes braces surrounding the argument list. |
| 8499 | % @MACNAME@@@@ scans the macro body with arguments substituted. | 8499 | % @MACNAME@@@@ scans the macro body with arguments substituted. |
| @@ -8537,11 +8537,11 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8537 | % Call #1 with a list of tokens #2, with any doubled backslashes in #2 | 8537 | % Call #1 with a list of tokens #2, with any doubled backslashes in #2 |
| 8538 | % compressed to one. | 8538 | % compressed to one. |
| 8539 | % | 8539 | % |
| 8540 | % This implementation works by expansion, and not execution (so we cannot use | 8540 | % This implementation works by expansion, and not execution (so we cannot use |
| 8541 | % \def or similar). This reduces the risk of this failing in contexts where | 8541 | % \def or similar). This reduces the risk of this failing in contexts where |
| 8542 | % complete expansion is done with no execution (for example, in writing out to | 8542 | % complete expansion is done with no execution (for example, in writing out to |
| 8543 | % an auxiliary file for an index entry). | 8543 | % an auxiliary file for an index entry). |
| 8544 | % | 8544 | % |
| 8545 | % State is kept in the input stream: the argument passed to | 8545 | % State is kept in the input stream: the argument passed to |
| 8546 | % @look_ahead, @gobble_and_check_finish and @add_segment is | 8546 | % @look_ahead, @gobble_and_check_finish and @add_segment is |
| 8547 | % | 8547 | % |
| @@ -8563,11 +8563,11 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8563 | % #3 - NEXT_TOKEN | 8563 | % #3 - NEXT_TOKEN |
| 8564 | % #4 used to look ahead | 8564 | % #4 used to look ahead |
| 8565 | % | 8565 | % |
| 8566 | % If the next token is not a backslash, process the rest of the argument; | 8566 | % If the next token is not a backslash, process the rest of the argument; |
| 8567 | % otherwise, remove the next token. | 8567 | % otherwise, remove the next token. |
| 8568 | @gdef@look_ahead#1!#2#3#4{% | 8568 | @gdef@look_ahead#1!#2#3#4{% |
| 8569 | @ifx#4\% | 8569 | @ifx#4\% |
| 8570 | @expandafter@gobble_and_check_finish | 8570 | @expandafter@gobble_and_check_finish |
| 8571 | @else | 8571 | @else |
| 8572 | @expandafter@add_segment | 8572 | @expandafter@add_segment |
| 8573 | @fi#1!{#2}#4#4% | 8573 | @fi#1!{#2}#4#4% |
| @@ -8591,9 +8591,9 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8591 | % #3 - NEXT_TOKEN | 8591 | % #3 - NEXT_TOKEN |
| 8592 | % #4 is input stream until next backslash | 8592 | % #4 is input stream until next backslash |
| 8593 | % | 8593 | % |
| 8594 | % Input stream is either at the start of the argument, or just after a | 8594 | % Input stream is either at the start of the argument, or just after a |
| 8595 | % backslash sequence, either a lone backslash, or a doubled backslash. | 8595 | % backslash sequence, either a lone backslash, or a doubled backslash. |
| 8596 | % NEXT_TOKEN contains the first token in the input stream: if it is \finish, | 8596 | % NEXT_TOKEN contains the first token in the input stream: if it is \finish, |
| 8597 | % finish; otherwise, append to ARG_RESULT the segment of the argument up until | 8597 | % finish; otherwise, append to ARG_RESULT the segment of the argument up until |
| 8598 | % the next backslash. PENDING_BACKSLASH contains a backslash to represent | 8598 | % the next backslash. PENDING_BACKSLASH contains a backslash to represent |
| 8599 | % a backslash just before the start of the input stream that has not been | 8599 | % a backslash just before the start of the input stream that has not been |
| @@ -8605,13 +8605,13 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8605 | % append the pending backslash to the result, followed by the next segment | 8605 | % append the pending backslash to the result, followed by the next segment |
| 8606 | @expandafter@is_fi@look_ahead#1#2#4!{\}@fi | 8606 | @expandafter@is_fi@look_ahead#1#2#4!{\}@fi |
| 8607 | % this @fi is discarded by @look_ahead. | 8607 | % this @fi is discarded by @look_ahead. |
| 8608 | % we can't get rid of it with \expandafter because we don't know how | 8608 | % we can't get rid of it with \expandafter because we don't know how |
| 8609 | % long #4 is. | 8609 | % long #4 is. |
| 8610 | } | 8610 | } |
| 8611 | 8611 | ||
| 8612 | % #1 - THE_MACRO | 8612 | % #1 - THE_MACRO |
| 8613 | % #2 - ARG_RESULT | 8613 | % #2 - ARG_RESULT |
| 8614 | % #3 discards the res of the conditional in @add_segment, and @is_fi ends the | 8614 | % #3 discards the res of the conditional in @add_segment, and @is_fi ends the |
| 8615 | % conditional. | 8615 | % conditional. |
| 8616 | @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} | 8616 | @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} |
| 8617 | 8617 | ||
| @@ -8623,7 +8623,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8623 | % for reading the argument (slightly different in the two cases). Then, | 8623 | % for reading the argument (slightly different in the two cases). Then, |
| 8624 | % to read the argument, in the whole-line case, it then calls the regular | 8624 | % to read the argument, in the whole-line case, it then calls the regular |
| 8625 | % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. | 8625 | % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. |
| 8626 | % | 8626 | % |
| 8627 | \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} | 8627 | \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} |
| 8628 | \def\braceorlinexxx{% | 8628 | \def\braceorlinexxx{% |
| 8629 | \ifx\nchar\bgroup | 8629 | \ifx\nchar\bgroup |
| @@ -8677,7 +8677,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8677 | 8677 | ||
| 8678 | % Used so that the @top node doesn't have to be wrapped in an @ifnottex | 8678 | % Used so that the @top node doesn't have to be wrapped in an @ifnottex |
| 8679 | % conditional. | 8679 | % conditional. |
| 8680 | % \doignore goes to more effort to skip nested conditionals but we don't need | 8680 | % \doignore goes to more effort to skip nested conditionals but we don't need |
| 8681 | % that here. | 8681 | % that here. |
| 8682 | \def\omittopnode{% | 8682 | \def\omittopnode{% |
| 8683 | \ifx\lastnode\wordTop | 8683 | \ifx\lastnode\wordTop |
| @@ -8685,7 +8685,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8685 | } | 8685 | } |
| 8686 | \def\wordTop{Top} | 8686 | \def\wordTop{Top} |
| 8687 | 8687 | ||
| 8688 | % Until the next @node or @bye command, divert output to a box that is not | 8688 | % Until the next @node or @bye command, divert output to a box that is not |
| 8689 | % output. | 8689 | % output. |
| 8690 | \def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% | 8690 | \def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% |
| 8691 | \ignorenodebye | 8691 | \ignorenodebye |
| @@ -8752,7 +8752,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8752 | % automatically in xrefs, if the third arg is not explicitly specified. | 8752 | % automatically in xrefs, if the third arg is not explicitly specified. |
| 8753 | % This was provided as a "secret" @set xref-automatic-section-title | 8753 | % This was provided as a "secret" @set xref-automatic-section-title |
| 8754 | % variable, now it's official. | 8754 | % variable, now it's official. |
| 8755 | % | 8755 | % |
| 8756 | \parseargdef\xrefautomaticsectiontitle{% | 8756 | \parseargdef\xrefautomaticsectiontitle{% |
| 8757 | \def\temp{#1}% | 8757 | \def\temp{#1}% |
| 8758 | \ifx\temp\onword | 8758 | \ifx\temp\onword |
| @@ -8768,7 +8768,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8768 | \fi\fi | 8768 | \fi\fi |
| 8769 | } | 8769 | } |
| 8770 | 8770 | ||
| 8771 | % | 8771 | % |
| 8772 | % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is | 8772 | % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is |
| 8773 | % the node name, #2 the name of the Info cross-reference, #3 the printed | 8773 | % the node name, #2 the name of the Info cross-reference, #3 the printed |
| 8774 | % node name, #4 the name of the Info file, #5 the name of the printed | 8774 | % node name, #4 the name of the Info file, #5 the name of the printed |
| @@ -8921,24 +8921,24 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8921 | \fi | 8921 | \fi |
| 8922 | \else | 8922 | \else |
| 8923 | % node/anchor (non-float) references. | 8923 | % node/anchor (non-float) references. |
| 8924 | % | 8924 | % |
| 8925 | % If we use \unhbox to print the node names, TeX does not insert | 8925 | % If we use \unhbox to print the node names, TeX does not insert |
| 8926 | % empty discretionaries after hyphens, which means that it will not | 8926 | % empty discretionaries after hyphens, which means that it will not |
| 8927 | % find a line break at a hyphen in a node names. Since some manuals | 8927 | % find a line break at a hyphen in a node names. Since some manuals |
| 8928 | % are best written with fairly long node names, containing hyphens, | 8928 | % are best written with fairly long node names, containing hyphens, |
| 8929 | % this is a loss. Therefore, we give the text of the node name | 8929 | % this is a loss. Therefore, we give the text of the node name |
| 8930 | % again, so it is as if TeX is seeing it for the first time. | 8930 | % again, so it is as if TeX is seeing it for the first time. |
| 8931 | % | 8931 | % |
| 8932 | \ifdim \wd\printedmanualbox > 0pt | 8932 | \ifdim \wd\printedmanualbox > 0pt |
| 8933 | % Cross-manual reference with a printed manual name. | 8933 | % Cross-manual reference with a printed manual name. |
| 8934 | % | 8934 | % |
| 8935 | \crossmanualxref{\cite{\printedmanual\unskip}}% | 8935 | \crossmanualxref{\cite{\printedmanual\unskip}}% |
| 8936 | % | 8936 | % |
| 8937 | \else\ifdim \wd\infofilenamebox > 0pt | 8937 | \else\ifdim \wd\infofilenamebox > 0pt |
| 8938 | % Cross-manual reference with only an info filename (arg 4), no | 8938 | % Cross-manual reference with only an info filename (arg 4), no |
| 8939 | % printed manual name (arg 5). This is essentially the same as | 8939 | % printed manual name (arg 5). This is essentially the same as |
| 8940 | % the case above; we output the filename, since we have nothing else. | 8940 | % the case above; we output the filename, since we have nothing else. |
| 8941 | % | 8941 | % |
| 8942 | \crossmanualxref{\code{\infofilename\unskip}}% | 8942 | \crossmanualxref{\code{\infofilename\unskip}}% |
| 8943 | % | 8943 | % |
| 8944 | \else | 8944 | \else |
| @@ -8978,20 +8978,20 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 8978 | \endgroup} | 8978 | \endgroup} |
| 8979 | 8979 | ||
| 8980 | % Output a cross-manual xref to #1. Used just above (twice). | 8980 | % Output a cross-manual xref to #1. Used just above (twice). |
| 8981 | % | 8981 | % |
| 8982 | % Only include the text "Section ``foo'' in" if the foo is neither | 8982 | % Only include the text "Section ``foo'' in" if the foo is neither |
| 8983 | % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply | 8983 | % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply |
| 8984 | % "see The Foo Manual", the idea being to refer to the whole manual. | 8984 | % "see The Foo Manual", the idea being to refer to the whole manual. |
| 8985 | % | 8985 | % |
| 8986 | % But, this being TeX, we can't easily compare our node name against the | 8986 | % But, this being TeX, we can't easily compare our node name against the |
| 8987 | % string "Top" while ignoring the possible spaces before and after in | 8987 | % string "Top" while ignoring the possible spaces before and after in |
| 8988 | % the input. By adding the arbitrary 7sp below, we make it much less | 8988 | % the input. By adding the arbitrary 7sp below, we make it much less |
| 8989 | % likely that a real node name would have the same width as "Top" (e.g., | 8989 | % likely that a real node name would have the same width as "Top" (e.g., |
| 8990 | % in a monospaced font). Hopefully it will never happen in practice. | 8990 | % in a monospaced font). Hopefully it will never happen in practice. |
| 8991 | % | 8991 | % |
| 8992 | % For the same basic reason, we retypeset the "Top" at every | 8992 | % For the same basic reason, we retypeset the "Top" at every |
| 8993 | % reference, since the current font is indeterminate. | 8993 | % reference, since the current font is indeterminate. |
| 8994 | % | 8994 | % |
| 8995 | \def\crossmanualxref#1{% | 8995 | \def\crossmanualxref#1{% |
| 8996 | \setbox\toprefbox = \hbox{Top\kern7sp}% | 8996 | \setbox\toprefbox = \hbox{Top\kern7sp}% |
| 8997 | \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% | 8997 | \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% |
| @@ -9038,7 +9038,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 9038 | \fi\fi\fi | 9038 | \fi\fi\fi |
| 9039 | } | 9039 | } |
| 9040 | 9040 | ||
| 9041 | % \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX | 9041 | % \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX |
| 9042 | % is output afterwards if non-empty. | 9042 | % is output afterwards if non-empty. |
| 9043 | \def\refx#1#2{% | 9043 | \def\refx#1#2{% |
| 9044 | \requireauxfile | 9044 | \requireauxfile |
| @@ -9070,9 +9070,9 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 9070 | #2% Output the suffix in any case. | 9070 | #2% Output the suffix in any case. |
| 9071 | } | 9071 | } |
| 9072 | 9072 | ||
| 9073 | % This is the macro invoked by entries in the aux file. Define a control | 9073 | % This is the macro invoked by entries in the aux file. Define a control |
| 9074 | % sequence for a cross-reference target (we prepend XR to the control sequence | 9074 | % sequence for a cross-reference target (we prepend XR to the control sequence |
| 9075 | % name to avoid collisions). The value is the page number. If this is a float | 9075 | % name to avoid collisions). The value is the page number. If this is a float |
| 9076 | % type, we have more work to do. | 9076 | % type, we have more work to do. |
| 9077 | % | 9077 | % |
| 9078 | \def\xrdef#1#2{% | 9078 | \def\xrdef#1#2{% |
| @@ -9088,10 +9088,10 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 9088 | \bgroup | 9088 | \bgroup |
| 9089 | \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% | 9089 | \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% |
| 9090 | \egroup | 9090 | \egroup |
| 9091 | % We put the \gdef inside a group to avoid the definitions building up on | 9091 | % We put the \gdef inside a group to avoid the definitions building up on |
| 9092 | % TeX's save stack, which can cause it to run out of space for aux files with | 9092 | % TeX's save stack, which can cause it to run out of space for aux files with |
| 9093 | % thousands of lines. \gdef doesn't use the save stack, but \csname does | 9093 | % thousands of lines. \gdef doesn't use the save stack, but \csname does |
| 9094 | % when it defines an unknown control sequence as \relax. | 9094 | % when it defines an unknown control sequence as \relax. |
| 9095 | % | 9095 | % |
| 9096 | % Was that xref control sequence that we just defined for a float? | 9096 | % Was that xref control sequence that we just defined for a float? |
| 9097 | \expandafter\iffloat\csname XR\safexrefname\endcsname | 9097 | \expandafter\iffloat\csname XR\safexrefname\endcsname |
| @@ -9450,7 +9450,7 @@ might help (with 'rm \jobname.?? \jobname.??s')% | |||
| 9450 | % | 9450 | % |
| 9451 | \ifimagevmode | 9451 | \ifimagevmode |
| 9452 | \medskip % space after a standalone image | 9452 | \medskip % space after a standalone image |
| 9453 | \fi | 9453 | \fi |
| 9454 | \ifx\centersub\centerV \egroup \fi | 9454 | \ifx\centersub\centerV \egroup \fi |
| 9455 | \endgroup} | 9455 | \endgroup} |
| 9456 | 9456 | ||
| @@ -10281,7 +10281,7 @@ directory should work if nowhere else does.} | |||
| 10281 | \uppercase{.} | 10281 | \uppercase{.} |
| 10282 | \endgroup | 10282 | \endgroup |
| 10283 | \else | 10283 | \else |
| 10284 | \errhelp = \EMsimple | 10284 | \errhelp = \EMsimple |
| 10285 | \errmessage{Unicode character U+#1 not supported, sorry}% | 10285 | \errmessage{Unicode character U+#1 not supported, sorry}% |
| 10286 | \fi | 10286 | \fi |
| 10287 | \else | 10287 | \else |
| @@ -10314,7 +10314,7 @@ directory should work if nowhere else does.} | |||
| 10314 | \countUTFz = "#1\relax | 10314 | \countUTFz = "#1\relax |
| 10315 | \begingroup | 10315 | \begingroup |
| 10316 | \parseXMLCharref | 10316 | \parseXMLCharref |
| 10317 | 10317 | ||
| 10318 | % Give \u8:... its definition. The sequence of seven \expandafter's | 10318 | % Give \u8:... its definition. The sequence of seven \expandafter's |
| 10319 | % expands after the \gdef three times, e.g. | 10319 | % expands after the \gdef three times, e.g. |
| 10320 | % | 10320 | % |
| @@ -10326,7 +10326,7 @@ directory should work if nowhere else does.} | |||
| 10326 | \expandafter\expandafter | 10326 | \expandafter\expandafter |
| 10327 | \expandafter\expandafter | 10327 | \expandafter\expandafter |
| 10328 | \expandafter\gdef \UTFviiiTmp{#2}% | 10328 | \expandafter\gdef \UTFviiiTmp{#2}% |
| 10329 | % | 10329 | % |
| 10330 | \expandafter\ifx\csname uni:#1\endcsname \relax \else | 10330 | \expandafter\ifx\csname uni:#1\endcsname \relax \else |
| 10331 | \message{Internal error, already defined: #1}% | 10331 | \message{Internal error, already defined: #1}% |
| 10332 | \fi | 10332 | \fi |
| @@ -10365,7 +10365,7 @@ directory should work if nowhere else does.} | |||
| 10365 | \divide\countUTFz by 64 | 10365 | \divide\countUTFz by 64 |
| 10366 | \countUTFy = \countUTFz % Save to be the future value of \countUTFz. | 10366 | \countUTFy = \countUTFz % Save to be the future value of \countUTFz. |
| 10367 | \multiply\countUTFz by 64 | 10367 | \multiply\countUTFz by 64 |
| 10368 | 10368 | ||
| 10369 | % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract | 10369 | % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract |
| 10370 | % in order to get the last five bits. | 10370 | % in order to get the last five bits. |
| 10371 | \advance\countUTFx by -\countUTFz | 10371 | \advance\countUTFx by -\countUTFz |
| @@ -10400,7 +10400,7 @@ directory should work if nowhere else does.} | |||
| 10400 | % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) | 10400 | % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) |
| 10401 | % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A | 10401 | % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A |
| 10402 | % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B | 10402 | % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B |
| 10403 | % | 10403 | % |
| 10404 | % Many of our renditions are less than wonderful, and all the missing | 10404 | % Many of our renditions are less than wonderful, and all the missing |
| 10405 | % characters are available somewhere. Loading the necessary fonts | 10405 | % characters are available somewhere. Loading the necessary fonts |
| 10406 | % awaits user request. We can't truly support Unicode without | 10406 | % awaits user request. We can't truly support Unicode without |
| @@ -11438,9 +11438,9 @@ directory should work if nowhere else does.} | |||
| 11438 | \def\texinfochars{% | 11438 | \def\texinfochars{% |
| 11439 | \let< = \activeless | 11439 | \let< = \activeless |
| 11440 | \let> = \activegtr | 11440 | \let> = \activegtr |
| 11441 | \let~ = \activetilde | 11441 | \let~ = \activetilde |
| 11442 | \let^ = \activehat | 11442 | \let^ = \activehat |
| 11443 | \markupsetuplqdefault \markupsetuprqdefault | 11443 | \markupsetuplqdefault \markupsetuprqdefault |
| 11444 | \let\b = \strong | 11444 | \let\b = \strong |
| 11445 | \let\i = \smartitalic | 11445 | \let\i = \smartitalic |
| 11446 | % in principle, all other definitions in \tex have to be undone too. | 11446 | % in principle, all other definitions in \tex have to be undone too. |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index d48fa319fb2..e6a454be4c8 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -125,7 +125,7 @@ Configuring @value{tramp} for use | |||
| 125 | * Connection types:: Types of connections to remote hosts. | 125 | * Connection types:: Types of connections to remote hosts. |
| 126 | * Inline methods:: Inline methods. | 126 | * Inline methods:: Inline methods. |
| 127 | * External methods:: External methods. | 127 | * External methods:: External methods. |
| 128 | * GVFS based methods:: GVFS based external methods. | 128 | * GVFS-based methods:: @acronym{GVFS}-based external methods. |
| 129 | * Default Method:: Selecting a default method. | 129 | * Default Method:: Selecting a default method. |
| 130 | * Default User:: Selecting a default user. | 130 | * Default User:: Selecting a default user. |
| 131 | * Default Host:: Selecting a default host. | 131 | * Default Host:: Selecting a default host. |
| @@ -545,9 +545,9 @@ of the local file name is the share exported by the remote host, | |||
| 545 | 545 | ||
| 546 | 546 | ||
| 547 | @anchor{Quick Start Guide: GVFS-based methods} | 547 | @anchor{Quick Start Guide: GVFS-based methods} |
| 548 | @section Using GVFS-based methods | 548 | @section Using @acronym{GVFS}-based methods |
| 549 | @cindex methods, gvfs | 549 | @cindex methods, gvfs |
| 550 | @cindex gvfs based methods | 550 | @cindex gvfs-based methods |
| 551 | @cindex method @option{sftp} | 551 | @cindex method @option{sftp} |
| 552 | @cindex @option{sftp} method | 552 | @cindex @option{sftp} method |
| 553 | @cindex method @option{afp} | 553 | @cindex method @option{afp} |
| @@ -557,10 +557,9 @@ of the local file name is the share exported by the remote host, | |||
| 557 | @cindex @option{dav} method | 557 | @cindex @option{dav} method |
| 558 | @cindex @option{davs} method | 558 | @cindex @option{davs} method |
| 559 | 559 | ||
| 560 | On systems, which have installed the virtual file system for the | 560 | On systems, which have installed @acronym{GVFS, the GNOME Virtual File |
| 561 | @acronym{GNOME} Desktop (GVFS), its offered methods could be used by | 561 | System}, its offered methods could be used by @value{tramp}. Examples |
| 562 | @value{tramp}. Examples are | 562 | are @file{@trampfn{sftp,user@@host,/path/to/file}}, |
| 563 | @file{@trampfn{sftp,user@@host,/path/to/file}}, | ||
| 564 | @file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP | 563 | @file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP |
| 565 | file system), @file{@trampfn{dav,user@@host,/path/to/file}} and | 564 | file system), @file{@trampfn{dav,user@@host,/path/to/file}} and |
| 566 | @file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares). | 565 | @file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares). |
| @@ -576,10 +575,10 @@ file system), @file{@trampfn{dav,user@@host,/path/to/file}} and | |||
| 576 | @cindex @option{nextcloud} method | 575 | @cindex @option{nextcloud} method |
| 577 | @cindex nextcloud | 576 | @cindex nextcloud |
| 578 | 577 | ||
| 579 | GVFS-based methods include also @acronym{GNOME} Online Accounts, which | 578 | @acronym{GVFS}-based methods include also @acronym{GNOME} Online |
| 580 | support the @option{Files} service. These are the Google Drive file | 579 | Accounts, which support the @option{Files} service. These are the |
| 581 | system, and the OwnCloud/NextCloud file system. The file name syntax | 580 | Google Drive file system, and the OwnCloud/NextCloud file system. The |
| 582 | is here always | 581 | file name syntax is here always |
| 583 | @file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}} | 582 | @file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}} |
| 584 | (@samp{john.doe@@gmail.com} stands here for your Google Drive | 583 | (@samp{john.doe@@gmail.com} stands here for your Google Drive |
| 585 | account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}} | 584 | account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}} |
| @@ -645,7 +644,7 @@ might be used in your init file: | |||
| 645 | * Connection types:: Types of connections to remote hosts. | 644 | * Connection types:: Types of connections to remote hosts. |
| 646 | * Inline methods:: Inline methods. | 645 | * Inline methods:: Inline methods. |
| 647 | * External methods:: External methods. | 646 | * External methods:: External methods. |
| 648 | * GVFS based methods:: GVFS based external methods. | 647 | * GVFS-based methods:: @acronym{GVFS}-based external methods. |
| 649 | * Default Method:: Selecting a default method. | 648 | * Default Method:: Selecting a default method. |
| 650 | Here we also try to help those who | 649 | Here we also try to help those who |
| 651 | don't have the foggiest which method | 650 | don't have the foggiest which method |
| @@ -1170,8 +1169,8 @@ information}. Supported properties are @samp{mount-args}, | |||
| 1170 | @samp{copyto-args} and @samp{moveto-args}. | 1169 | @samp{copyto-args} and @samp{moveto-args}. |
| 1171 | 1170 | ||
| 1172 | Access via @option{rclone} is slow. If you have an alternative method | 1171 | Access via @option{rclone} is slow. If you have an alternative method |
| 1173 | for accessing the system storage, you shall prefer this. @ref{GVFS | 1172 | for accessing the system storage, you shall prefer this. |
| 1174 | based methods} for example, methods @option{gdrive} and | 1173 | @ref{GVFS-based methods} for example, methods @option{gdrive} and |
| 1175 | @option{nextcloud}. | 1174 | @option{nextcloud}. |
| 1176 | 1175 | ||
| 1177 | @strong{Note}: The @option{rclone} method is experimental, don't use | 1176 | @strong{Note}: The @option{rclone} method is experimental, don't use |
| @@ -1180,20 +1179,20 @@ it in production systems! | |||
| 1180 | @end table | 1179 | @end table |
| 1181 | 1180 | ||
| 1182 | 1181 | ||
| 1183 | @node GVFS based methods | 1182 | @node GVFS-based methods |
| 1184 | @section GVFS based external methods | 1183 | @section @acronym{GVFS}-based external methods |
| 1185 | @cindex methods, gvfs | 1184 | @cindex methods, gvfs |
| 1186 | @cindex gvfs based methods | 1185 | @cindex gvfs-based methods |
| 1187 | @cindex dbus | 1186 | @cindex dbus |
| 1188 | 1187 | ||
| 1189 | GVFS is the virtual file system for the @acronym{GNOME} Desktop, | 1188 | @acronym{GVFS} is the virtual file system for the @acronym{GNOME} |
| 1190 | @uref{https://en.wikipedia.org/wiki/GVFS}. Remote files on GVFS are | 1189 | Desktop, @uref{https://en.wikipedia.org/wiki/GVFS}. Remote files on |
| 1191 | mounted locally through FUSE and @value{tramp} uses this locally | 1190 | @acronym{GVFS} are mounted locally through FUSE and @value{tramp} uses |
| 1192 | mounted directory internally. | 1191 | this locally mounted directory internally. |
| 1193 | 1192 | ||
| 1194 | Emacs uses the D-Bus mechanism to communicate with GVFS@. Emacs must | 1193 | Emacs uses the D-Bus mechanism to communicate with @acronym{GVFS}@. |
| 1195 | have the message bus system, D-Bus integration active, @pxref{Top, , | 1194 | Emacs must have the message bus system, D-Bus integration active, |
| 1196 | D-Bus, dbus}. | 1195 | @pxref{Top, , D-Bus, dbus}. |
| 1197 | 1196 | ||
| 1198 | @table @asis | 1197 | @table @asis |
| 1199 | @item @option{afp} | 1198 | @item @option{afp} |
| @@ -1216,9 +1215,10 @@ syntax requires a leading volume (share) name, for example: | |||
| 1216 | based on standard protocols, such as HTTP@. @option{davs} does the same | 1215 | based on standard protocols, such as HTTP@. @option{davs} does the same |
| 1217 | but with SSL encryption. Both methods support the port numbers. | 1216 | but with SSL encryption. Both methods support the port numbers. |
| 1218 | 1217 | ||
| 1219 | Paths being part of the WebDAV volume to be mounted by GVFS, as it is | 1218 | Paths being part of the WebDAV volume to be mounted by @acronym{GVFS}, |
| 1220 | common for OwnCloud or NextCloud file names, are not supported by | 1219 | as it is common for OwnCloud or NextCloud file names, are not |
| 1221 | these methods. See method @option{nextcloud} for handling them. | 1220 | supported by these methods. See method @option{nextcloud} for |
| 1221 | handling them. | ||
| 1222 | 1222 | ||
| 1223 | @item @option{gdrive} | 1223 | @item @option{gdrive} |
| 1224 | @cindex method @option{gdrive} | 1224 | @cindex method @option{gdrive} |
| @@ -1259,18 +1259,19 @@ that for security reasons refuse @command{ssh} connections. | |||
| 1259 | @end table | 1259 | @end table |
| 1260 | 1260 | ||
| 1261 | @defopt tramp-gvfs-methods | 1261 | @defopt tramp-gvfs-methods |
| 1262 | This user option is a list of external methods for GVFS@. By default, | 1262 | This user option is a list of external methods for @acronym{GVFS}@. |
| 1263 | this list includes @option{afp}, @option{dav}, @option{davs}, | 1263 | By default, this list includes @option{afp}, @option{dav}, |
| 1264 | @option{gdrive}, @option{nextcloud} and @option{sftp}. Other methods | 1264 | @option{davs}, @option{gdrive}, @option{nextcloud} and @option{sftp}. |
| 1265 | to include are @option{ftp}, @option{http}, @option{https} and | 1265 | Other methods to include are @option{ftp}, @option{http}, |
| 1266 | @option{smb}. These methods are not intended to be used directly as | 1266 | @option{https} and @option{smb}. These methods are not intended to be |
| 1267 | GVFS based method. Instead, they are added here for the benefit of | 1267 | used directly as @acronym{GVFS}-based method. Instead, they are added |
| 1268 | @ref{Archive file names}. | 1268 | here for the benefit of @ref{Archive file names}. |
| 1269 | 1269 | ||
| 1270 | If you want to use GVFS-based @option{ftp} or @option{smb} methods, | 1270 | If you want to use @acronym{GVFS}-based @option{ftp} or @option{smb} |
| 1271 | you must add them to @code{tramp-gvfs-methods}, and you must disable | 1271 | methods, you must add them to @code{tramp-gvfs-methods}, and you must |
| 1272 | the corresponding Tramp package by setting @code{tramp-ftp-method} or | 1272 | disable the corresponding Tramp package by setting |
| 1273 | @code{tramp-smb-method} to @code{nil}, respectively: | 1273 | @code{tramp-ftp-method} or @code{tramp-smb-method} to @code{nil}, |
| 1274 | respectively: | ||
| 1274 | 1275 | ||
| 1275 | @lisp | 1276 | @lisp |
| 1276 | @group | 1277 | @group |
| @@ -2937,9 +2938,10 @@ host when the variable @code{default-directory} is remote: | |||
| 2937 | @end group | 2938 | @end group |
| 2938 | @end lisp | 2939 | @end lisp |
| 2939 | 2940 | ||
| 2940 | Remote processes do not apply to GVFS (see @ref{GVFS based methods}) | 2941 | Remote processes do not apply to @acronym{GVFS} (see @ref{GVFS-based |
| 2941 | because the remote file system is mounted on the local host and | 2942 | methods}) because the remote file system is mounted on the local host |
| 2942 | @value{tramp} just accesses by changing the @code{default-directory}. | 2943 | and @value{tramp} just accesses by changing the |
| 2944 | @code{default-directory}. | ||
| 2943 | 2945 | ||
| 2944 | @value{tramp} starts a remote process when a command is executed in a | 2946 | @value{tramp} starts a remote process when a command is executed in a |
| 2945 | remote file or directory buffer. As of now, these packages have been | 2947 | remote file or directory buffer. As of now, these packages have been |
| @@ -3323,10 +3325,10 @@ killing all buffers related to remote connections. | |||
| 3323 | @cindex archive method | 3325 | @cindex archive method |
| 3324 | 3326 | ||
| 3325 | @value{tramp} offers also transparent access to files inside file | 3327 | @value{tramp} offers also transparent access to files inside file |
| 3326 | archives. This is possible only on machines which have installed the | 3328 | archives. This is possible only on machines which have installed |
| 3327 | virtual file system for the @acronym{GNOME} Desktop (GVFS), @ref{GVFS | 3329 | @acronym{GVFS, the GNOME Virtual File System}, @ref{GVFS-based |
| 3328 | based methods}. Internally, file archives are mounted via the GVFS | 3330 | methods}. Internally, file archives are mounted via the |
| 3329 | @option{archive} method. | 3331 | @acronym{GVFS} @option{archive} method. |
| 3330 | 3332 | ||
| 3331 | A file archive is a regular file of kind @file{/path/to/dir/file.EXT}. | 3333 | A file archive is a regular file of kind @file{/path/to/dir/file.EXT}. |
| 3332 | The extension @samp{.EXT} identifies the type of the file archive. A | 3334 | The extension @samp{.EXT} identifies the type of the file archive. A |
| @@ -3349,9 +3351,9 @@ file names as well. | |||
| 3349 | 3351 | ||
| 3350 | @vindex tramp-archive-suffixes | 3352 | @vindex tramp-archive-suffixes |
| 3351 | File archives are identified by the file name extension @samp{.EXT}. | 3353 | File archives are identified by the file name extension @samp{.EXT}. |
| 3352 | Since GVFS uses internally the library @code{libarchive(3)}, all | 3354 | Since @acronym{GVFS} uses internally the library @code{libarchive(3)}, |
| 3353 | suffixes, which are accepted by this library, work also for archive | 3355 | all suffixes, which are accepted by this library, work also for |
| 3354 | file names. Accepted suffixes are listed in the constant | 3356 | archive file names. Accepted suffixes are listed in the constant |
| 3355 | @code{tramp-archive-suffixes}. They are | 3357 | @code{tramp-archive-suffixes}. They are |
| 3356 | 3358 | ||
| 3357 | @itemize | 3359 | @itemize |
| @@ -3519,11 +3521,11 @@ row are possible, like @file{/path/to/dir/file.tar.gz.uu/dir/file}. | |||
| 3519 | @vindex tramp-archive-all-gvfs-methods | 3521 | @vindex tramp-archive-all-gvfs-methods |
| 3520 | An archive file name could be a remote file name, as in | 3522 | An archive file name could be a remote file name, as in |
| 3521 | @file{/ftp:anonymous@@ftp.gnu.org:/gnu/tramp/tramp-2.3.2.tar.gz/INSTALL}. | 3523 | @file{/ftp:anonymous@@ftp.gnu.org:/gnu/tramp/tramp-2.3.2.tar.gz/INSTALL}. |
| 3522 | Since all file operations are mapped internally to GVFS operations, | 3524 | Since all file operations are mapped internally to @acronym{GVFS} |
| 3523 | remote file names supported by @code{tramp-gvfs} perform better, | 3525 | operations, remote file names supported by @code{tramp-gvfs} perform |
| 3524 | because no local copy of the file archive must be downloaded first. | 3526 | better, because no local copy of the file archive must be downloaded |
| 3525 | For example, @samp{/sftp:user@@host:...} performs better than the | 3527 | first. For example, @samp{/sftp:user@@host:...} performs better than |
| 3526 | similar @samp{/scp:user@@host:...}. See the constant | 3528 | the similar @samp{/scp:user@@host:...}. See the constant |
| 3527 | @code{tramp-archive-all-gvfs-methods} for a complete list of | 3529 | @code{tramp-archive-all-gvfs-methods} for a complete list of |
| 3528 | @code{tramp-gvfs} supported method names. | 3530 | @code{tramp-gvfs} supported method names. |
| 3529 | 3531 | ||
diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 0cdfcac24e8..bad7701daf1 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi | |||
| @@ -1267,7 +1267,8 @@ files, etc. | |||
| 1267 | 1267 | ||
| 1268 | The default value specifies a subdirectory named @file{url/} in the | 1268 | The default value specifies a subdirectory named @file{url/} in the |
| 1269 | standard Emacs user data directory specified by the variable | 1269 | standard Emacs user data directory specified by the variable |
| 1270 | @code{user-emacs-directory} (normally @file{~/.emacs.d}). However, | 1270 | @code{user-emacs-directory} (normally @file{~/.config/emacs} |
| 1271 | or @file{~/.emacs.d}). However, | ||
| 1271 | the old default was @file{~/.url}, and this directory is used instead | 1272 | the old default was @file{~/.url}, and this directory is used instead |
| 1272 | if it exists. | 1273 | if it exists. |
| 1273 | @end defopt | 1274 | @end defopt |