mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-22 18:35:09 +00:00
Merge from origin/emacs-26
23527013c7
; Rewrap doc string4328d5f744
Correct Info link markup2fb52abd9e
Improve documentation of 'with-help-window'ec08c62f03
Minor improvements in building.texi663aafe1ff
* lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark05781b2e88
; Spelling fixaa40014ba3
* doc/emacs/building.texi (Starting GUD): Mention 'guiler'.23072e468f
Yet more proofreading of the Emacs manualba5a372540
* doc/emacs/rmail.texi: Fix broken link.6b2210cc29
; Spelling fix067c8c4f5b
Fix recently-added POP doc glitchfb3dc0e8aa
More proofreading of the Emacs manuala776ce7be6
Fix typo in the Emacs manual's VC chapter7f27d42f0b
Pass json-readtable-error data as a list (bug#30489)10bd3b3af8
Improve word motion docs (Bug#30815)2b8507fbdc
Replace "carriage-return" by "carriage return" in manuals2616cd94f1
Minor copyedits in mule.texi36a1d52814
Fix problems caused by fontconfig-2.13.0
This commit is contained in:
commit
a5f190dd65
@ -2769,7 +2769,7 @@
|
||||
This fixes bug #28623.
|
||||
|
||||
* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
|
||||
testing for being enclosed in parens, recognise also a brace directly
|
||||
testing for being enclosed in parens, recognize also a brace directly
|
||||
following a comma, as well as a brace being the first thing inside the paren.
|
||||
Enhance the return value, by indicating when we're directly inside an open
|
||||
paren.
|
||||
|
@ -45,9 +45,12 @@ messages and show you where the errors occurred.
|
||||
@item M-x compile
|
||||
Run a compiler asynchronously under Emacs, with error messages going to
|
||||
the @file{*compilation*} buffer.
|
||||
|
||||
@item M-x recompile
|
||||
@itemx g@r{ (Compilation mode)}
|
||||
Invoke a compiler with the same command as in the last invocation of
|
||||
@kbd{M-x compile}.
|
||||
|
||||
@item M-x kill-compilation
|
||||
Kill the running compilation subprocess.
|
||||
@end table
|
||||
@ -109,18 +112,19 @@ recompile}. This reuses the compilation command from the last
|
||||
invocation of @kbd{M-x compile}. It also reuses the
|
||||
@file{*compilation*} buffer and starts the compilation in its default
|
||||
directory, which is the directory in which the previous compilation
|
||||
was started.
|
||||
was started. In @file{*compilation*} buffers this command is bound to
|
||||
@kbd{g}.
|
||||
|
||||
@findex kill-compilation
|
||||
@vindex compilation-always-kill
|
||||
Starting a new compilation also kills any compilation already
|
||||
running in @file{*compilation*}, as the buffer can only handle one
|
||||
compilation at any time. However, @kbd{M-x compile} asks for
|
||||
confirmation before actually killing a compilation that is running; to
|
||||
always automatically kill the compilation without asking, change the
|
||||
variable @code{compilation-always-kill} to @code{t}. You can also
|
||||
kill a compilation process with the command @kbd{M-x
|
||||
kill-compilation}.
|
||||
compilation at any time. However, @kbd{M-x compile} and @kbd{M-x
|
||||
recompile} ask for confirmation before actually killing a compilation
|
||||
that is running; to always automatically kill the compilation without
|
||||
asking, change the variable @code{compilation-always-kill} to
|
||||
@code{t}. You can also kill a compilation process with the command
|
||||
@kbd{M-x kill-compilation}.
|
||||
|
||||
To run two compilations at once, start the first one, then rename
|
||||
the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
|
||||
@ -183,6 +187,9 @@ different file (@code{compilation-previous-file}).
|
||||
@item C-c C-f
|
||||
Toggle Next Error Follow minor mode, which makes cursor motion in the
|
||||
compilation buffer produce automatic source display.
|
||||
@item g
|
||||
Re-run the last command whose output is shown in the
|
||||
@file{*compilation*} buffer.
|
||||
@end table
|
||||
|
||||
@kindex M-g M-n
|
||||
@ -278,6 +285,12 @@ Names}).
|
||||
@node Compilation Shell
|
||||
@section Subshells for Compilation
|
||||
|
||||
This section includes various techniques and advice for using a
|
||||
shell and its features in compilation buffers. This material is
|
||||
specific to local compilations, and will most probably not work in (or
|
||||
be irrelevant to) compilation buffers whose default directory is on
|
||||
remote hosts.
|
||||
|
||||
The @kbd{M-x compile} command uses a shell to run the compilation
|
||||
command, but specifies the option for a noninteractive shell. This
|
||||
means, in particular, that the shell should start with no prompt. If
|
||||
@ -383,6 +396,8 @@ grep -nH -e foo *.el | grep bar | grep toto
|
||||
The output from @command{grep} goes in the @file{*grep*} buffer. You
|
||||
can find the corresponding lines in the original files using @w{@kbd{C-x
|
||||
`}}, @key{RET}, and so forth, just like compilation errors.
|
||||
@xref{Compilation Mode}, for detailed description of commands and key
|
||||
bindings available in the @file{*grep*} buffer.
|
||||
|
||||
Some grep programs accept a @samp{--color} option to output special
|
||||
markers around matches for the purpose of highlighting. You can make
|
||||
@ -401,7 +416,7 @@ The possible values are either @code{nil} (don't save), @code{ask}
|
||||
(and is called with the file name as the parameter and should return
|
||||
non-@code{nil} if the buffer is to be saved). Any other
|
||||
non-@code{nil} value means that all buffers should be saved without
|
||||
asking.
|
||||
asking. The default is @code{ask}.
|
||||
|
||||
@findex grep-find
|
||||
@findex find-grep
|
||||
@ -490,8 +505,8 @@ see the Flymake Info manual, which is distributed with Emacs.
|
||||
|
||||
The GUD (Grand Unified Debugger) library provides an Emacs interface
|
||||
to a wide variety of symbolic debuggers. It can run the GNU Debugger
|
||||
(GDB), as well as DBX, SDB, XDB, Perl's debugging mode, the Python
|
||||
debugger PDB, and the Java Debugger JDB.
|
||||
(GDB), as well as DBX, SDB, XDB, Guile REPL debug commands, Perl's
|
||||
debugging mode, the Python debugger PDB, and the Java Debugger JDB.
|
||||
|
||||
Emacs provides a special interface to GDB, which uses extra Emacs
|
||||
windows to display the state of the debugged program. @xref{GDB
|
||||
@ -544,6 +559,10 @@ Run the Java debugger.
|
||||
@findex pdb
|
||||
Run the Python debugger.
|
||||
|
||||
@item M-x guiler
|
||||
@findex guiler
|
||||
Run Guile REPL for debugging Guile Scheme programs.
|
||||
|
||||
@item M-x dbx
|
||||
@findex dbx
|
||||
Run the DBX debugger.
|
||||
@ -803,12 +822,14 @@ Instead, type @kbd{C-q @key{TAB}} to enter a tab.
|
||||
@vindex perldb-mode-hook
|
||||
@vindex pdb-mode-hook
|
||||
@vindex jdb-mode-hook
|
||||
@vindex guiler-mode-hook
|
||||
On startup, GUD runs one of the following hooks:
|
||||
@code{gdb-mode-hook}, if you are using GDB; @code{dbx-mode-hook}, if
|
||||
you are using DBX; @code{sdb-mode-hook}, if you are using SDB;
|
||||
@code{xdb-mode-hook}, if you are using XDB; @code{perldb-mode-hook},
|
||||
for Perl debugging mode; @code{pdb-mode-hook}, for PDB;
|
||||
@code{jdb-mode-hook}, for JDB@. @xref{Hooks}.
|
||||
@code{xdb-mode-hook}, if you are using XDB; @code{guiler-mode-hook}
|
||||
for Guile REPL debugging; @code{perldb-mode-hook}, for Perl debugging
|
||||
mode; @code{pdb-mode-hook}, for PDB; @code{jdb-mode-hook}, for JDB@.
|
||||
@xref{Hooks}.
|
||||
|
||||
The @code{gud-def} Lisp macro (@pxref{Defining Macros,,, elisp, the
|
||||
Emacs Lisp Reference Manual}) provides a convenient way to define an
|
||||
@ -964,16 +985,18 @@ still in the right places.
|
||||
|
||||
@table @asis
|
||||
@item @kbd{mouse-1} (in fringe)
|
||||
Set or clear a breakpoint on that line.
|
||||
Set or clear a breakpoint on that line
|
||||
(@code{gdb-mouse-set-clear-breakpoint}).
|
||||
|
||||
@item @kbd{C-mouse-1} (in fringe)
|
||||
Enable or disable a breakpoint on that line.
|
||||
Enable or disable a breakpoint on that line
|
||||
(@code{gdb-mouse-toggle-breakpoint-margin}).
|
||||
|
||||
@item @kbd{mouse-3} (in fringe)
|
||||
Continue execution to that line.
|
||||
Continue execution to that line (@code{gdb-mouse-until}).
|
||||
|
||||
@item @kbd{C-mouse-3} (in fringe)
|
||||
Jump to that line.
|
||||
Jump to that line (@code{gdb-mouse-jump}).
|
||||
@end table
|
||||
|
||||
On a graphical display, you can click @kbd{mouse-1} in the fringe of
|
||||
@ -1030,7 +1053,8 @@ Visit the source line for the current breakpoint
|
||||
|
||||
@item mouse-2
|
||||
@kindex mouse-2 @r{(GDB Breakpoints buffer)}
|
||||
Visit the source line for the breakpoint you click on.
|
||||
Visit the source line for the breakpoint you click on
|
||||
(@code{gdb-goto-breakpoint}).
|
||||
@end table
|
||||
|
||||
@vindex gdb-show-threads-by-default
|
||||
@ -1051,8 +1075,8 @@ point there and press @key{RET} (@code{gdb-select-thread}), or click on
|
||||
it with @kbd{mouse-2}. This also displays the associated source
|
||||
buffer, and updates the contents of the other GDB buffers.
|
||||
|
||||
You can customize variables under @code{gdb-buffers} group to select
|
||||
fields included in GDB Threads buffer.
|
||||
You can customize variables in the @code{gdb-buffers} group to
|
||||
select fields included in GDB Threads buffer.
|
||||
|
||||
@table @code
|
||||
@item gdb-thread-buffer-verbose-names
|
||||
|
@ -21,7 +21,7 @@ begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep
|
||||
was an application interface released by NeXT Inc.@: during the 1980s,
|
||||
of which Cocoa is a direct descendant. Apart from Cocoa, there is
|
||||
another NeXTstep-style system: GNUstep, which is free software. As of
|
||||
this writing, Emacs GNUstep support is alpha status (@pxref{GNUstep
|
||||
this writing, Emacs GNUstep support is in alpha status (@pxref{GNUstep
|
||||
Support}), but we hope to improve it in the future.
|
||||
|
||||
@menu
|
||||
@ -34,6 +34,7 @@ Support}), but we hope to improve it in the future.
|
||||
@node Mac / GNUstep Basics
|
||||
@section Basic Emacs usage under macOS and GNUstep
|
||||
|
||||
@cindex modifier keys (macOS)
|
||||
By default, the @key{Alt} and @key{Option} keys are the same as
|
||||
@key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and
|
||||
Emacs provides a set of key bindings using this modifier key that mimic
|
||||
@ -47,7 +48,7 @@ behavior of the right @key{Alt} and @key{Option} keys. These keys
|
||||
behave like the left-hand keys if the value is @code{left} (the
|
||||
default). A value of @code{control}, @code{meta}, @code{alt},
|
||||
@code{super}, or @code{hyper} makes them behave like the corresponding
|
||||
modifier keys; a value to @code{left} means be the same key as
|
||||
modifier keys; a value of @code{left} means be the same key as
|
||||
@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
|
||||
ignore them, in which case you get the default behavior of macOS
|
||||
accentuation system from the right option key.
|
||||
@ -64,6 +65,7 @@ dialogs to read file names. However, if you use the regular Emacs key
|
||||
sequences, such as @kbd{C-x C-f}, Emacs uses the minibuffer to read
|
||||
file names.
|
||||
|
||||
@cindex copy/paste to/from primary selection (macOS)
|
||||
On GNUstep, in an X-windows environment you need to use @kbd{Cmd-c}
|
||||
instead of one of the @kbd{C-w} or @kbd{M-w} commands to transfer text
|
||||
to the X primary selection; otherwise, Emacs will use the
|
||||
@ -76,6 +78,7 @@ clipboard.
|
||||
|
||||
@c How is this any different to launching from a window manager menu
|
||||
@c in GNU/Linux? These are sometimes not login shells either.
|
||||
@cindex environment variables (macOS)
|
||||
Many programs which may run under Emacs, like latex or man, depend on the
|
||||
settings of environment variables. If Emacs is launched from the shell, it
|
||||
will automatically inherit these environment variables and its subprocesses
|
||||
@ -98,6 +101,7 @@ keys and the fullscreen behavior. To see all such options, use
|
||||
|
||||
@subsection Font and Color Panels
|
||||
|
||||
@findex ns-popup-font-panel
|
||||
The standard Mac / GNUstep font and color panels are accessible via
|
||||
Lisp commands. The Font Panel may be accessed with @kbd{M-x
|
||||
ns-popup-font-panel}. It will set the default font in the frame most
|
||||
@ -106,6 +110,7 @@ recently used or clicked on.
|
||||
@c To make the setting permanent, use @samp{Save Options} in the
|
||||
@c Options menu, or run @code{menu-bar-options-save}.
|
||||
|
||||
@findex ns-popup-color-panel
|
||||
You can bring up a color panel with @kbd{M-x ns-popup-color-panel} and
|
||||
drag the color you want over the Emacs face you want to change. Normal
|
||||
dragging will alter the foreground color. Shift dragging will alter the
|
||||
@ -119,6 +124,7 @@ Useful in this context is the listing of all faces obtained by
|
||||
@kbd{M-x list-faces-display}.
|
||||
|
||||
@cindex Core Text, on macOS
|
||||
@cindex font backend, on macOS
|
||||
In macOS, Emacs uses a Core Text based font backend
|
||||
by default. If you prefer the older font style, enter the following
|
||||
at the command-line before starting Emacs:
|
||||
@ -130,6 +136,7 @@ at the command-line before starting Emacs:
|
||||
|
||||
@node Mac / GNUstep Events
|
||||
@section Windowing System Events under macOS / GNUstep
|
||||
@cindex events on macOS
|
||||
|
||||
Nextstep applications receive a number of special events which have
|
||||
no X equivalent. These are sent as specially defined key events, which
|
||||
@ -152,7 +159,7 @@ You can change how Emacs responds to a @code{ns-open-file} event by
|
||||
changing the variable @code{ns-pop-up-frames}. Its default value,
|
||||
@samp{fresh}, is what we have just described. A value of @code{t}
|
||||
means to always visit the file in a new frame. A value of @code{nil}
|
||||
means to always visit the file in an existing frame.
|
||||
means to always visit the file in the selected frame.
|
||||
|
||||
@item ns-open-temp-file
|
||||
This event occurs when another application requests that Emacs open a
|
||||
@ -195,6 +202,7 @@ This event occurs when the user logs out and Emacs is still running, or when
|
||||
The default behavior is to save all file-visiting buffers.
|
||||
@end table
|
||||
|
||||
@cindex using Nextstep services (macOS)
|
||||
Emacs also allows users to make use of Nextstep services, via a set
|
||||
of commands whose names begin with @samp{ns-service-} and end with the
|
||||
name of the service. Type @kbd{M-x ns-service-@key{TAB}} to
|
||||
|
@ -1181,7 +1181,7 @@ become up-to-date as a direct result of a VC command, it is listed.
|
||||
|
||||
@noindent
|
||||
Two work files have been modified but not committed:
|
||||
@file{configure.ac} in the current directory, and @file{foo.c} in the
|
||||
@file{configure.ac} in the current directory, and @file{main.c} in the
|
||||
@file{src/} subdirectory. The file named @file{README} has been added
|
||||
but is not yet committed, while @file{temp.txt} is not under version
|
||||
control (@pxref{Registering}).
|
||||
|
@ -152,15 +152,16 @@ window. @xref{emacsclient Options}.
|
||||
convention used on GNU, Unix, and other POSIX-compliant systems.
|
||||
|
||||
@cindex end-of-line conversion on MS-DOS/MS-Windows
|
||||
By contrast, MS-DOS and MS-Windows normally use carriage-return linefeed,
|
||||
a two-character sequence, to separate text lines. (Linefeed is the same
|
||||
character as newline.) Therefore, convenient editing of typical files
|
||||
with Emacs requires conversion of these end-of-line (EOL) sequences.
|
||||
And that is what Emacs normally does: it converts carriage-return
|
||||
linefeed into newline when reading files, and converts newline into
|
||||
carriage-return linefeed when writing files. The same mechanism that
|
||||
handles conversion of international character codes does this conversion
|
||||
also (@pxref{Coding Systems}).
|
||||
By contrast, MS-DOS and MS-Windows normally use carriage return
|
||||
followed by linefeed, a two-character sequence, to separate text
|
||||
lines. (Linefeed is the same character as newline.) Therefore,
|
||||
convenient editing of typical files with Emacs requires conversion of
|
||||
these end-of-line (EOL) sequences. And that is what Emacs normally
|
||||
does: it converts carriage return followed by linefeed into newline
|
||||
when reading files, and converts newline into carriage return followed
|
||||
by linefeed when writing files. The same mechanism that handles
|
||||
conversion of international character codes does this conversion also
|
||||
(@pxref{Coding Systems}).
|
||||
|
||||
@cindex cursor location, on MS-DOS
|
||||
@cindex point location, on MS-DOS
|
||||
@ -169,11 +170,11 @@ that character positions as reported by Emacs (@pxref{Position Info}) do
|
||||
not agree with the file size information known to the operating system.
|
||||
|
||||
In addition, if Emacs recognizes from a file's contents that it uses
|
||||
newline rather than carriage-return linefeed as its line separator, it
|
||||
does not perform EOL conversion when reading or writing that file.
|
||||
Thus, you can read and edit files from GNU and Unix systems on MS-DOS
|
||||
with no special effort, and they will retain their Unix-style
|
||||
end-of-line convention after you edit them.
|
||||
newline rather than carriage return followed by linefeed as its line
|
||||
separator, it does not perform EOL conversion when reading or writing
|
||||
that file. Thus, you can read and edit files from GNU and Unix
|
||||
systems on MS-DOS with no special effort, and they will retain their
|
||||
Unix-style end-of-line convention after you edit them.
|
||||
|
||||
The mode line indicates whether end-of-line translation was used for
|
||||
the current buffer. If MS-DOS end-of-line translation is in use for the
|
||||
@ -181,20 +182,20 @@ buffer, the MS-Windows build of Emacs displays a backslash @samp{\} after
|
||||
the coding system mnemonic near the beginning of the mode line
|
||||
(@pxref{Mode Line}). If no EOL translation was performed, the string
|
||||
@samp{(Unix)} is displayed instead of the backslash, to alert you that the
|
||||
file's EOL format is not the usual carriage-return linefeed.
|
||||
file's EOL format is not the usual carriage return followed by linefeed.
|
||||
|
||||
@cindex DOS-to-Unix conversion of files
|
||||
To visit a file and specify whether it uses DOS-style or Unix-style
|
||||
end-of-line, specify a coding system (@pxref{Text Coding}). For
|
||||
example, @kbd{C-x @key{RET} c unix @key{RET} C-x C-f foobar.txt}
|
||||
visits the file @file{foobar.txt} without converting the EOLs; if some
|
||||
line ends with a carriage-return linefeed pair, Emacs will display
|
||||
@samp{^M} at the end of that line. Similarly, you can direct Emacs to
|
||||
save a buffer in a specified EOL format with the @kbd{C-x @key{RET} f}
|
||||
command. For example, to save a buffer with Unix EOL format, type
|
||||
@kbd{C-x @key{RET} f unix @key{RET} C-x C-s}. If you visit a file
|
||||
with DOS EOL conversion, then save it with Unix EOL format, that
|
||||
effectively converts the file to Unix EOL style, like the
|
||||
line ends with a carriage return followed by linefeed pair, Emacs will
|
||||
display @samp{^M} at the end of that line. Similarly, you can direct
|
||||
Emacs to save a buffer in a specified EOL format with the @kbd{C-x
|
||||
@key{RET} f} command. For example, to save a buffer with Unix EOL
|
||||
format, type @kbd{C-x @key{RET} f unix @key{RET} C-x C-s}. If you
|
||||
visit a file with DOS EOL conversion, then save it with Unix EOL
|
||||
format, that effectively converts the file to Unix EOL style, like the
|
||||
@code{dos2unix} program.
|
||||
|
||||
@cindex untranslated file system
|
||||
|
@ -690,8 +690,8 @@ system; for example, to visit a file encoded in codepage 850, type
|
||||
In addition to converting various representations of non-@acronym{ASCII}
|
||||
characters, a coding system can perform end-of-line conversion. Emacs
|
||||
handles three different conventions for how to separate lines in a file:
|
||||
newline (Unix), carriage-return linefeed (DOS), and just
|
||||
carriage-return (Mac).
|
||||
newline (Unix), carriage return followed by linefeed (DOS), and just
|
||||
carriage return (Mac).
|
||||
|
||||
@table @kbd
|
||||
@item C-h C @var{coding} @key{RET}
|
||||
@ -728,8 +728,8 @@ system, including the letter that stands for it in the mode line
|
||||
@code{no-conversion}, which means no conversion of any kind---specifies
|
||||
how and whether to convert printing characters, but leaves the choice of
|
||||
end-of-line conversion to be decided based on the contents of each file.
|
||||
For example, if the file appears to use the sequence carriage-return
|
||||
linefeed to separate lines, DOS end-of-line conversion will be used.
|
||||
For example, if the file appears to use the sequence carriage return
|
||||
and linefeed to separate lines, DOS end-of-line conversion will be used.
|
||||
|
||||
Each of the listed coding systems has three variants, which specify
|
||||
exactly what to do for end-of-line conversion:
|
||||
@ -741,15 +741,15 @@ newline to separate lines. (This is the convention normally used
|
||||
on Unix and GNU systems, and macOS.)
|
||||
|
||||
@item @dots{}-dos
|
||||
Assume the file uses carriage-return linefeed to separate lines, and do
|
||||
the appropriate conversion. (This is the convention normally used on
|
||||
Microsoft systems.@footnote{It is also specified for MIME @samp{text/*}
|
||||
bodies and in other network transport contexts. It is different
|
||||
from the SGML reference syntax record-start/record-end format, which
|
||||
Emacs doesn't support directly.})
|
||||
Assume the file uses carriage return followed by linefeed to separate
|
||||
lines, and do the appropriate conversion. (This is the convention
|
||||
normally used on Microsoft systems.@footnote{It is also specified for
|
||||
MIME @samp{text/*} bodies and in other network transport contexts. It
|
||||
is different from the SGML reference syntax record-start/record-end
|
||||
format, which Emacs doesn't support directly.})
|
||||
|
||||
@item @dots{}-mac
|
||||
Assume the file uses carriage-return to separate lines, and do the
|
||||
Assume the file uses carriage return to separate lines, and do the
|
||||
appropriate conversion. (This was the convention used in Classic Mac
|
||||
OS.)
|
||||
@end table
|
||||
@ -859,19 +859,19 @@ the third argument says which coding system to use for these files.
|
||||
@vindex inhibit-eol-conversion
|
||||
@cindex DOS-style end-of-line display
|
||||
Emacs recognizes which kind of end-of-line conversion to use based on
|
||||
the contents of the file: if it sees only carriage-returns, or only
|
||||
carriage-return linefeed sequences, then it chooses the end-of-line
|
||||
conversion accordingly. You can inhibit the automatic use of
|
||||
end-of-line conversion by setting the variable @code{inhibit-eol-conversion}
|
||||
to non-@code{nil}. If you do that, DOS-style files will be displayed
|
||||
with the @samp{^M} characters visible in the buffer; some people
|
||||
prefer this to the more subtle @samp{(DOS)} end-of-line type
|
||||
indication near the left edge of the mode line (@pxref{Mode Line,
|
||||
eol-mnemonic}).
|
||||
the contents of the file: if it sees only carriage returns, or only
|
||||
carriage return followed by linefeed sequences, then it chooses the
|
||||
end-of-line conversion accordingly. You can inhibit the automatic use
|
||||
of end-of-line conversion by setting the variable
|
||||
@code{inhibit-eol-conversion} to non-@code{nil}. If you do that,
|
||||
DOS-style files will be displayed with the @samp{^M} characters
|
||||
visible in the buffer; some people prefer this to the more subtle
|
||||
@samp{(DOS)} end-of-line type indication near the left edge of the
|
||||
mode line (@pxref{Mode Line, eol-mnemonic}).
|
||||
|
||||
@vindex inhibit-iso-escape-detection
|
||||
@cindex escape sequences in files
|
||||
By default, the automatic detection of coding system is sensitive to
|
||||
By default, the automatic detection of the coding system is sensitive to
|
||||
escape sequences. If Emacs sees a sequence of characters that begin
|
||||
with an escape character, and the sequence is valid as an ISO-2022
|
||||
code, that tells Emacs to use one of the ISO-2022 encodings to decode
|
||||
@ -1041,7 +1041,7 @@ buffer (@pxref{Output Coding}).
|
||||
(@pxref{Coding Systems, end-of-line conversion}) for encoding the
|
||||
current buffer. For example, @kbd{C-x @key{RET} f dos @key{RET}} will
|
||||
cause Emacs to save the current buffer's text with DOS-style
|
||||
carriage-return linefeed line endings.
|
||||
carriage return followed by linefeed line endings.
|
||||
|
||||
@kindex C-x RET c
|
||||
@findex universal-coding-system-argument
|
||||
@ -1344,9 +1344,8 @@ The default fontset is most likely to have fonts for a wide variety of
|
||||
non-@acronym{ASCII} characters, and is the default fallback for the
|
||||
other two fontsets, and if you set a default font rather than fontset.
|
||||
However, it does not specify font family names, so results can be
|
||||
somewhat random if you use it directly. You can specify use of a
|
||||
particular fontset by starting Emacs with the @samp{-fn} option.
|
||||
For example,
|
||||
somewhat random if you use it directly. You can specify a particular
|
||||
fontset by starting Emacs with the @samp{-fn} option. For example,
|
||||
|
||||
@example
|
||||
emacs -fn fontset-standard
|
||||
|
@ -14,6 +14,12 @@
|
||||
you receive. Rmail stores mail messages in files called Rmail files.
|
||||
Reading the messages in an Rmail file is done in a special major mode,
|
||||
Rmail mode, which redefines most letters to run commands for managing mail.
|
||||
|
||||
Emacs also comes with a much more sophisticated and flexible
|
||||
subsystem for reading mail, called Gnus. Gnus is a very large
|
||||
package, and is therefore described in its own manual, see @ref{Top,,,
|
||||
gnus, The Gnus Newsreader}.
|
||||
|
||||
@menu
|
||||
* Basic: Rmail Basics. Basic concepts of Rmail, and simple use.
|
||||
* Scroll: Rmail Scrolling. Scrolling through a message.
|
||||
@ -50,14 +56,15 @@ Rmail file, merges new mail in from your inboxes, displays the first
|
||||
message you haven't read yet, and lets you begin reading. The variable
|
||||
@code{rmail-file-name} specifies the name of the primary Rmail file.
|
||||
|
||||
@cindex current message (Rmail)
|
||||
Rmail displays only one message in the Rmail file at a time.
|
||||
The message that is shown is called the @dfn{current message}. Rmail
|
||||
mode's special commands can do such things as delete the current
|
||||
message, copy it into another file, send a reply, or move to another
|
||||
message. You can also create multiple Rmail files and use Rmail to move
|
||||
messages between them.
|
||||
message. You can also create multiple Rmail files (@pxref{Files}) and
|
||||
use Rmail to move messages between them (@pxref{Rmail Output}).
|
||||
|
||||
@cindex message number
|
||||
@cindex message number (Rmail)
|
||||
Within the Rmail file, messages are normally arranged sequentially in
|
||||
order of receipt; you can specify other ways to sort them (@pxref{Rmail
|
||||
Sorting}). Messages are identified by consecutive integers which are
|
||||
@ -72,8 +79,9 @@ with the @kbd{j} key (@pxref{Rmail Motion}).
|
||||
become permanent only when you save the file. You can save it with
|
||||
@kbd{s} (@code{rmail-expunge-and-save}), which also expunges deleted
|
||||
messages from the file first (@pxref{Rmail Deletion}). To save the
|
||||
file without expunging, use @kbd{C-x C-s}. Rmail also saves the Rmail
|
||||
file after merging new mail from an inbox file (@pxref{Rmail Inbox}).
|
||||
file without expunging, use @kbd{C-x C-s}. Rmail automatically saves
|
||||
the Rmail file after merging new mail from an inbox file (@pxref{Rmail
|
||||
Inbox}).
|
||||
|
||||
@kindex q @r{(Rmail)}
|
||||
@findex rmail-quit
|
||||
@ -93,9 +101,10 @@ Rmail buffer and its summary without expunging and saving the Rmail file.
|
||||
@section Scrolling Within a Message
|
||||
|
||||
When Rmail displays a message that does not fit on the screen, you
|
||||
must scroll through it to read the rest. You could do this with
|
||||
@kbd{C-v}, @kbd{M-v} and @kbd{M-<}, but in Rmail scrolling is so
|
||||
frequent that it deserves to be easier.
|
||||
must scroll through it to read the rest. You could do this with the
|
||||
usual scrolling commands: @kbd{C-v}, @kbd{M-v} and @kbd{M-<}
|
||||
(@pxref{Scrolling}), but in Rmail scrolling is so frequent that it
|
||||
deserves to be easier.
|
||||
|
||||
@table @kbd
|
||||
@item @key{SPC}
|
||||
@ -124,9 +133,10 @@ and @kbd{M-v} (@code{scroll-down-command}) respectively.
|
||||
The command @kbd{.} (@code{rmail-beginning-of-message}) scrolls back to the
|
||||
beginning of the selected message. This is not quite the same as @kbd{M-<}:
|
||||
for one thing, it does not set the mark; for another, it resets the buffer
|
||||
boundaries of the current message if you have changed them. Similarly,
|
||||
the command @kbd{/} (@code{rmail-end-of-message}) scrolls forward to the end
|
||||
of the selected message.
|
||||
boundaries of the current message if you have changed them (e.g., by
|
||||
editing, @pxref{Rmail Editing}). Similarly, the command @kbd{/}
|
||||
(@code{rmail-end-of-message}) scrolls forward to the end of the
|
||||
selected message.
|
||||
@c The comment about buffer boundaries is still true in mbox Rmail, if
|
||||
@c less likely to be relevant.
|
||||
|
||||
@ -168,11 +178,9 @@ message number @var{n} (@code{rmail-show-message}).
|
||||
Move to the last message (@code{rmail-last-message}).
|
||||
@item <
|
||||
Move to the first message (@code{rmail-first-message}).
|
||||
|
||||
@item M-s @var{regexp} @key{RET}
|
||||
Move to the next message containing a match for @var{regexp}
|
||||
(@code{rmail-search}).
|
||||
|
||||
@item - M-s @var{regexp} @key{RET}
|
||||
Move to the previous message containing a match for @var{regexp}.
|
||||
(This is @kbd{M-s} with a negative argument.)
|
||||
@ -198,7 +206,8 @@ numeric argument to any of these commands serves as a repeat
|
||||
count.
|
||||
|
||||
In Rmail, you can specify a numeric argument by typing just the
|
||||
digits. You don't need to type @kbd{C-u} first.
|
||||
digits. You don't need to type @kbd{C-u} first. You can also specify
|
||||
a negative argument by typing just @kbd{-}.
|
||||
|
||||
@kindex M-s @r{(Rmail)}
|
||||
@findex rmail-search
|
||||
@ -228,7 +237,9 @@ the next message with the same subject as the current one. A prefix
|
||||
argument serves as a repeat count. With a negative argument, this
|
||||
command moves backward, acting like @kbd{C-c C-p}
|
||||
(@code{rmail-previous-same-subject}). When comparing subjects, these
|
||||
commands ignore the prefixes typically added to the subjects of replies.
|
||||
commands ignore the prefixes typically added to the subjects of
|
||||
replies. These commands are useful for reading all of the messages
|
||||
pertaining to the same subject, a.k.a.@: @dfn{thread}.
|
||||
|
||||
@kindex j @r{(Rmail)}
|
||||
@kindex > @r{(Rmail)}
|
||||
@ -331,7 +342,7 @@ adding or removing this attribute. @xref{Rmail Attributes}.
|
||||
When you receive mail locally, the operating system places incoming
|
||||
mail for you in a file that we call your @dfn{inbox}. When you start
|
||||
up Rmail, it runs a C program called @command{movemail} to copy the new
|
||||
messages from your local inbox into your primary Rmail file, which
|
||||
messages from your inbox into your primary Rmail file, which
|
||||
also contains other messages saved from previous Rmail sessions. It
|
||||
is in this file that you actually read the mail with Rmail. This
|
||||
operation is called @dfn{getting new mail}. You can get new mail at
|
||||
@ -370,19 +381,12 @@ all into a separate Rmail file avoids the need for interlocking in all
|
||||
the rest of Rmail, since only Rmail operates on the Rmail file.
|
||||
@end enumerate
|
||||
|
||||
@c FIXME remove this in Emacs 25; won't be relevant any more.
|
||||
@cindex Babyl files
|
||||
@cindex mbox files
|
||||
Rmail was originally written to use the Babyl format as its internal
|
||||
format. Since then, we have recognized that the usual inbox format
|
||||
(@samp{mbox}) on Unix and GNU systems is adequate for the job, and so
|
||||
since Emacs 23 Rmail uses that as its internal format. The Rmail file
|
||||
is still separate from the inbox file, even though their format is the
|
||||
same.
|
||||
@c But this bit should stay in some form.
|
||||
@vindex rmail-mbox-format
|
||||
(In fact, there are a few slightly different mbox formats.
|
||||
The differences are not very important, but you can set the variable
|
||||
Rmail uses the standard @samp{mbox} format, introduced by Unix and
|
||||
GNU systems for inbox files, as its internal format of Rmail files.
|
||||
(In fact, there are a few slightly different mbox formats. The
|
||||
differences are not very important, but you can set the variable
|
||||
@code{rmail-mbox-format} to tell Rmail which form your system uses.
|
||||
See that variable's documentation for more details.)
|
||||
|
||||
@ -395,7 +399,8 @@ lose mail. If @code{rmail-preserve-inbox} is non-@code{nil}, then
|
||||
Rmail does not clear out the inbox file when it gets new mail. You
|
||||
may wish to set this, for example, on a portable computer you use to
|
||||
check your mail via POP while traveling, so that your mail will remain
|
||||
on the server and you can save it later on your workstation.
|
||||
on the server and you can save it later on your main desktop
|
||||
workstation.
|
||||
|
||||
In some cases, Rmail copies the new mail from the inbox file
|
||||
indirectly. First it runs the @command{movemail} program to move the mail
|
||||
@ -427,14 +432,13 @@ into them with explicit Rmail commands (@pxref{Rmail Output}).
|
||||
@table @kbd
|
||||
@item i @var{file} @key{RET}
|
||||
Read @var{file} into Emacs and run Rmail on it (@code{rmail-input}).
|
||||
|
||||
@ignore
|
||||
@item M-x set-rmail-inbox-list @key{RET} @var{files} @key{RET}
|
||||
Specify inbox file names for current Rmail file to get mail from.
|
||||
|
||||
@end ignore
|
||||
@item g
|
||||
Merge new mail from current Rmail file's inboxes
|
||||
(@code{rmail-get-new-mail}).
|
||||
|
||||
@item C-u g @var{file} @key{RET}
|
||||
Merge new mail from inbox file @var{file}.
|
||||
@end table
|
||||
@ -468,6 +472,8 @@ item. These variables also apply to choosing a file for output
|
||||
(@pxref{Rmail Output}).
|
||||
@c FIXME matches only checked when Rmail file first visited?
|
||||
|
||||
@c This is commented out because we want to advertise rmail-inbox-list
|
||||
@c instead.
|
||||
@ignore
|
||||
@findex set-rmail-inbox-list
|
||||
Each Rmail file can contain a list of inbox file names; you can specify
|
||||
@ -492,6 +498,7 @@ current Rmail file from its inboxes. If the Rmail file has no
|
||||
inboxes, @kbd{g} does nothing. The command @kbd{M-x rmail} also
|
||||
merges new mail into your primary Rmail file.
|
||||
|
||||
@cindex merge mail from file (Rmail)
|
||||
To merge mail from a file that is not the usual inbox, give the
|
||||
@kbd{g} key a numeric argument, as in @kbd{C-u g}. Then it reads a file
|
||||
name and merges mail from that file. The inbox file is not deleted or
|
||||
@ -518,9 +525,9 @@ file name from the message @samp{Subject} header.
|
||||
@end table
|
||||
|
||||
@kindex o @r{(Rmail)}
|
||||
@findex rmail-output-as-seen
|
||||
@kindex C-o @r{(Rmail)}
|
||||
@findex rmail-output
|
||||
@kindex C-o @r{(Rmail)}
|
||||
@findex rmail-output-as-seen
|
||||
The commands @kbd{o} and @kbd{C-o} copy the current message into a
|
||||
specified file, adding it at the end. The two commands differ mainly
|
||||
in how much to copy: @kbd{o} copies the full message headers, even if
|
||||
@ -529,7 +536,7 @@ currently displayed and no more. @xref{Rmail Display}. In addition,
|
||||
@kbd{o} converts the message to Babyl format (used by Rmail in Emacs
|
||||
version 22 and before) if the file is in Babyl format; @kbd{C-o}
|
||||
cannot output to Babyl files at all.
|
||||
@c FIXME remove BABYL mention in Emacs 25?
|
||||
@c FIXME remove BABYL mention in some future version?
|
||||
|
||||
If the output file is currently visited in an Emacs buffer, the
|
||||
output commands append the message to that buffer. It is up to you to
|
||||
@ -542,8 +549,10 @@ file. You can save the body to a file (excluding the message header)
|
||||
with the @kbd{w} command (@code{rmail-output-body-to-file}). Often
|
||||
these messages contain the intended file name in the @samp{Subject}
|
||||
field, so the @kbd{w} command uses the @samp{Subject} field as the
|
||||
default for the output file name. However, the file name is read using
|
||||
the minibuffer, so you can specify a different name if you wish.
|
||||
default for the output file name (after replacing some characters that
|
||||
cannot be portably used in file names). However, the file name is
|
||||
read using the minibuffer, so you can specify a different name if you
|
||||
wish.
|
||||
|
||||
You can also output a message to an Rmail file chosen with a menu.
|
||||
In the Classify menu, choose the Output Rmail File menu item; then
|
||||
@ -564,7 +573,8 @@ appears in the mode line when such a message is current.
|
||||
If you like to keep just a single copy of every mail message, set
|
||||
the variable @code{rmail-delete-after-output} to @code{t}; then the
|
||||
@kbd{o}, @kbd{C-o} and @kbd{w} commands delete the original message
|
||||
after copying it. (You can undelete it afterward if you wish.)
|
||||
after copying it. (You can undelete it afterward if you wish, see
|
||||
@ref{Rmail Deletion}.)
|
||||
|
||||
@vindex rmail-output-file-alist
|
||||
The variable @code{rmail-output-file-alist} lets you specify
|
||||
@ -582,7 +592,7 @@ default file name for output is @var{name-exp}. If multiple elements
|
||||
match the message, the first matching element decides the default file
|
||||
name. The subexpression @var{name-exp} may be a string constant giving
|
||||
the file name to use, or more generally it may be any Lisp expression
|
||||
that returns a file name as a string. @code{rmail-output-file-alist}
|
||||
that yields a file name as a string. @code{rmail-output-file-alist}
|
||||
applies to both @kbd{o} and @kbd{C-o}.
|
||||
|
||||
@vindex rmail-automatic-folder-directives
|
||||
@ -641,8 +651,7 @@ Make a summary of all messages containing any of the labels @var{labels}
|
||||
The @kbd{a} (@code{rmail-add-label}) and @kbd{k}
|
||||
(@code{rmail-kill-label}) commands allow you to assign or remove any
|
||||
label on the current message. If the @var{label} argument is empty, it
|
||||
means to assign or remove the same label most recently assigned or
|
||||
removed.
|
||||
means to assign or remove the label most recently assigned or removed.
|
||||
|
||||
Once you have given messages labels to classify them as you wish, there
|
||||
are three ways to use the labels: in moving, in summaries, and in sorting.
|
||||
@ -717,9 +726,10 @@ standard meaning.
|
||||
Rmail has several commands to send outgoing mail. @xref{Sending
|
||||
Mail}, for information on using Message mode, including certain
|
||||
features meant to work with Rmail. What this section documents are
|
||||
the special commands of Rmail for entering the mail buffer. Note that
|
||||
the usual keys for sending mail---@kbd{C-x m}, @kbd{C-x 4 m}, and
|
||||
@kbd{C-x 5 m}---also work normally in Rmail mode.
|
||||
the special commands of Rmail for entering the mail buffer used to
|
||||
compose the outgoing message. Note that the usual keys for sending
|
||||
mail---@kbd{C-x m}, @kbd{C-x 4 m}, and @kbd{C-x 5 m}---also work
|
||||
normally in Rmail mode.
|
||||
|
||||
@table @kbd
|
||||
@item m
|
||||
@ -758,9 +768,9 @@ excluded from the @samp{CC} field. They are also excluded from the
|
||||
variable is @code{nil}, then the first time you compose a reply it is
|
||||
initialized to a default value that matches your own address.
|
||||
|
||||
To omit the @samp{CC} field completely for a particular reply, enter
|
||||
To reply only to the sender of the original message, enter
|
||||
the reply command with a numeric argument: @kbd{C-u r} or @kbd{1 r}.
|
||||
This means to reply only to the sender of the original message.
|
||||
This omits the @samp{CC} field completely for a particular reply.
|
||||
|
||||
Once the mail composition buffer has been initialized, editing and
|
||||
sending the mail goes as usual (@pxref{Sending Mail}). You can edit
|
||||
@ -930,7 +940,7 @@ commas.
|
||||
makes a partial summary mentioning only the messages that have one or
|
||||
more recipients matching the regular expression @var{rcpts}. This is matched
|
||||
against the @samp{To}, @samp{From}, and @samp{CC} headers (supply a prefix
|
||||
argument to exclude this header).
|
||||
argument to exclude the @samp{CC} header).
|
||||
|
||||
@kindex C-M-t @r{(Rmail)}
|
||||
@findex rmail-summary-by-topic
|
||||
@ -976,6 +986,7 @@ different lines. It doesn't matter what Emacs command you use to move
|
||||
point; whichever line point is on at the end of the command, that
|
||||
message is selected in the Rmail buffer.
|
||||
|
||||
@vindex rmail-summary-scroll-between-messages
|
||||
Almost all Rmail commands work in the summary buffer as well as in
|
||||
the Rmail buffer. Thus, @kbd{d} in the summary buffer deletes the
|
||||
current message, @kbd{u} undeletes, and @kbd{x} expunges. (However,
|
||||
@ -984,8 +995,12 @@ relevant direction, the delete commands go to the first or last
|
||||
message, rather than staying on the current message.) @kbd{o} and
|
||||
@kbd{C-o} output the current message to a FILE; @kbd{r} starts a reply
|
||||
to it; etc. You can scroll the current message while remaining in the
|
||||
summary buffer using @key{SPC} and @key{DEL}.
|
||||
@c rmail-summary-scroll-between-messages not mentioned.
|
||||
summary buffer using @key{SPC} and @key{DEL}. However, in the summary
|
||||
buffer scrolling past the end or the beginning of a message with
|
||||
@key{SPC} or @key{DEL} goes, respectively, to the next or previous
|
||||
undeleted message. Customize the
|
||||
@code{rmail-summary-scroll-between-messages} option to nil to disable
|
||||
scrolling to next/previous messages.
|
||||
|
||||
@findex rmail-summary-undelete-many
|
||||
@kbd{M-u} (@code{rmail-summary-undelete-many}) undeletes all deleted
|
||||
@ -1128,8 +1143,8 @@ biggest to smallest, or in reverse alphabetical order.
|
||||
|
||||
The same keys in the summary buffer run similar functions; for
|
||||
example, @kbd{C-c C-s C-l} runs @code{rmail-summary-sort-by-lines}.
|
||||
Note that these commands always sort the whole Rmail buffer, even if the
|
||||
summary is only showing a subset of messages.
|
||||
These commands always sort the whole Rmail buffer, even if the summary
|
||||
is only showing a subset of messages.
|
||||
|
||||
Note that you cannot undo a sort, so you may wish to save the Rmail
|
||||
buffer before sorting it.
|
||||
@ -1210,14 +1225,15 @@ Toggle between @acronym{MIME} display and raw message
|
||||
@end table
|
||||
|
||||
Each plain-text @acronym{MIME} part is initially displayed
|
||||
immediately after its tagline, as part of the Rmail buffer, while
|
||||
@acronym{MIME} parts of other types are represented only by their
|
||||
taglines, with their actual contents hidden. In either case, you can
|
||||
toggle a @acronym{MIME} part between its displayed and hidden
|
||||
states by typing @key{RET} anywhere in the part---or anywhere in its
|
||||
tagline (except for buttons for other actions, if there are any). Type
|
||||
@key{RET} (or click with the mouse) to activate a tagline button, and
|
||||
@key{TAB} to cycle point between tagline buttons.
|
||||
immediately after its tagline, as part of the Rmail buffer (unless the
|
||||
message has an @acronym{HTML} part, see below), while @acronym{MIME}
|
||||
parts of other types are represented only by their taglines, with
|
||||
their actual contents hidden. In either case, you can toggle a
|
||||
@acronym{MIME} part between its displayed and hidden states by typing
|
||||
@key{RET} anywhere in the part---or anywhere in its tagline (except
|
||||
for buttons for other actions, if there are any). Type @key{RET} (or
|
||||
click with the mouse) to activate a tagline button, and @key{TAB} to
|
||||
cycle point between tagline buttons.
|
||||
|
||||
The @kbd{v} (@code{rmail-mime}) command toggles between the default
|
||||
@acronym{MIME} display described above, and a raw display showing
|
||||
@ -1322,17 +1338,20 @@ Edit the current message as ordinary text.
|
||||
Rmail mode into Rmail Edit mode, another major mode which is nearly the
|
||||
same as Text mode. The mode line indicates this change.
|
||||
|
||||
@findex rmail-cease-edit
|
||||
@findex rmail-abort-edit
|
||||
In Rmail Edit mode, letters insert themselves as usual and the Rmail
|
||||
commands are not available. You can edit the message body and header
|
||||
fields. When you are finished editing the message, type @kbd{C-c C-c}
|
||||
to switch back to Rmail mode. Alternatively, you can return to Rmail
|
||||
mode but cancel any editing that you have done, by typing @kbd{C-c C-]}.
|
||||
(@code{rmail-cease-edit}) to switch back to Rmail mode.
|
||||
Alternatively, you can return to Rmail mode but cancel any editing
|
||||
that you have done, by typing @kbd{C-c C-]} (@code{rmail-abort-edit}).
|
||||
|
||||
@vindex rmail-edit-mode-hook
|
||||
Entering Rmail Edit mode runs the hook @code{text-mode-hook}; then
|
||||
it runs the hook @code{rmail-edit-mode-hook} (@pxref{Hooks}).
|
||||
Returning to ordinary Rmail mode adds the attribute @samp{edited} to
|
||||
the message, if you have made any changes in it.
|
||||
the message, if you have made any changes in it (@pxref{Rmail Attributes}).
|
||||
|
||||
@node Rmail Digest
|
||||
@section Digest Messages
|
||||
@ -1384,9 +1403,9 @@ version. There are two versions of the @command{movemail} program: the
|
||||
GNU Mailutils version (@pxref{movemail,,,mailutils,GNU mailutils}),
|
||||
and an Emacs-specific version that is built and installed unless Emacs
|
||||
was configured @option{--with-mailutils} in effect.
|
||||
The two @command{mailtool} versions support the same
|
||||
The two @command{movemail} versions support the same
|
||||
command line syntax and the same basic subset of options. However, the
|
||||
Mailutils version offers additional features.
|
||||
Mailutils version offers additional features and is more secure.
|
||||
|
||||
The Emacs version of @command{movemail} can retrieve mail from the
|
||||
usual Unix mailbox formats. @strong{Warning}: Although it can also use the POP3
|
||||
@ -1451,8 +1470,8 @@ denotes the name of @code{maildir} mailbox, e.g.,
|
||||
@code{maildir:///mail/inbox}.
|
||||
|
||||
@item file
|
||||
Any local mailbox format. Its actual format is detected automatically
|
||||
by @command{movemail}.
|
||||
Any local file in mailbox format. Its actual format is detected
|
||||
automatically by @command{movemail}.
|
||||
|
||||
@item pop
|
||||
@itemx pops
|
||||
@ -1495,19 +1514,19 @@ listed in @code{rmail-movemail-search-path}, then in @code{exec-path}
|
||||
@section Retrieving Mail from Remote Mailboxes
|
||||
@pindex movemail
|
||||
|
||||
Some sites use a method called POP for accessing users' inbox data
|
||||
Some sites use a method called POP3 for accessing users' inbox data
|
||||
instead of storing the data in inbox files. The Mailutils
|
||||
@command{movemail} by default supports POP with TLS encryption.
|
||||
@strong{Warning:} Although the @command{Emacs movemail} supports POP,
|
||||
@command{movemail} by default supports POP3 with TLS encryption.
|
||||
@strong{Warning:} Although the @command{Emacs movemail} supports POP3,
|
||||
its use for this is not recommended since it does not support encrypted
|
||||
connections---the Mailutils version does.
|
||||
Both versions of @command{movemail} work only with POP3, not with
|
||||
older versions of POP.
|
||||
|
||||
@cindex @env{MAILHOST} environment variable
|
||||
@cindex POP mailboxes
|
||||
@cindex POP3 mailboxes
|
||||
You can specify
|
||||
a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}). A POP
|
||||
a POP3 inbox by using a POP3 @dfn{URL} (@pxref{Movemail}). A POP3
|
||||
@acronym{URL} is of the form
|
||||
@samp{pop://@var{username}@@@var{hostname}:@var{port}}, where
|
||||
@var{hostname} and @var{port} are the host name (or IP address)
|
||||
@ -1522,11 +1541,11 @@ If using Mailutils @command{movemail}, you may wish to use
|
||||
@samp{pops} in place of @samp{pop}.
|
||||
|
||||
For backward compatibility, Rmail also supports an alternative way of
|
||||
specifying remote POP mailboxes. Specifying an inbox name in the form
|
||||
specifying remote POP3 mailboxes. Specifying an inbox name in the form
|
||||
@samp{po:@var{username}:@var{hostname}:@var{port}} is equivalent to
|
||||
@samp{pop://@var{username}@@@var{hostname}:@var{port}}. If you omit the
|
||||
@var{:hostname} part, the @env{MAILHOST} environment variable specifies
|
||||
the machine on which to look for the POP server.
|
||||
the machine on which to look for the POP3 server.
|
||||
|
||||
@cindex IMAP mailboxes
|
||||
Another method for accessing remote mailboxes is IMAP@. This method is
|
||||
@ -1561,15 +1580,15 @@ set the variable @code{rmail-movemail-flags} a list of the flags you
|
||||
wish to use. Do not use this variable to pass the @samp{-p} flag to
|
||||
preserve your inbox contents; use @code{rmail-preserve-inbox} instead.
|
||||
|
||||
@cindex Kerberos POP authentication
|
||||
@cindex Kerberos POP3 authentication
|
||||
The @command{movemail} program installed at your site may support
|
||||
Kerberos authentication. If it is supported, it is used by default
|
||||
whenever you attempt to retrieve POP mail when
|
||||
whenever you attempt to retrieve POP3 mail when
|
||||
@code{rmail-remote-password} and @code{rmail-remote-password-required}
|
||||
are unset.
|
||||
|
||||
@cindex reverse order in POP inboxes
|
||||
Some POP servers store messages in reverse order. If your server does
|
||||
@cindex reverse order in POP3 inboxes
|
||||
Some POP3 servers store messages in reverse order. If your server does
|
||||
this, and you would rather read your mail in the order in which it was
|
||||
received, you can tell @command{movemail} to reverse the order of
|
||||
downloaded messages by adding the @samp{-r} flag to
|
||||
|
@ -205,11 +205,11 @@ terminal output. Furthermore, if you are using an input method,
|
||||
string is displayed, that indicates a nontrivial end-of-line
|
||||
convention for encoding a file. Usually, lines of text are separated
|
||||
by @dfn{newline characters} in a file, but two other conventions are
|
||||
sometimes used. The MS-DOS convention uses a carriage-return
|
||||
sometimes used. The MS-DOS convention uses a carriage return
|
||||
character followed by a linefeed character; when editing such
|
||||
files, the colon changes to either a backslash (@samp{\}) or
|
||||
@samp{(DOS)}, depending on the operating system. Another convention,
|
||||
employed by older Macintosh systems, uses a carriage-return
|
||||
employed by older Macintosh systems, uses a carriage return
|
||||
character instead of a newline; when editing such files, the colon
|
||||
changes to either a forward slash (@samp{/}) or @samp{(Mac)}. On some
|
||||
systems, Emacs displays @samp{(Unix)} instead of the colon for files
|
||||
|
@ -744,16 +744,17 @@ This function returns the name of the help buffer, which is normally
|
||||
@end defun
|
||||
|
||||
@vindex help-window-select
|
||||
@defmac with-help-window buffer-name body@dots{}
|
||||
@defmac with-help-window buffer-or-name body@dots{}
|
||||
This macro evaluates @var{body} like @code{with-output-to-temp-buffer}
|
||||
(@pxref{Temporary Displays}), inserting any output produced by its forms
|
||||
into a buffer named @var{buffer-name}. (Usually, @var{buffer-name}
|
||||
should be the value returned by the function @code{help-buffer}.) It
|
||||
also puts the specified buffer into Help mode and displays a message
|
||||
telling the user how to quit and scroll the help window. It selects the
|
||||
help window if the current value of the user option
|
||||
@code{help-window-select} has been set accordingly. It returns the last
|
||||
value in @var{body}.
|
||||
(@pxref{Temporary Displays}), inserting any output produced by its
|
||||
forms into a buffer specified by @var{buffer-or-name}, which can be a
|
||||
buffer or the name of a buffer. (Frequently, @var{buffer-or-name} is
|
||||
the value returned by the function @code{help-buffer}.) This macro
|
||||
puts the specified buffer into Help mode and displays a message
|
||||
telling the user how to quit and scroll the help window. It selects
|
||||
the help window if the current value of the user option
|
||||
@code{help-window-select} has been set accordingly. It returns the
|
||||
last value in @var{body}.
|
||||
@end defmac
|
||||
|
||||
@defun help-setup-xref item interactive-p
|
||||
|
@ -1074,9 +1074,9 @@ that result from encoding unsupported characters.
|
||||
used on various systems for representing end of line in files. The
|
||||
Unix convention, used on GNU and Unix systems, is to use the linefeed
|
||||
character (also called newline). The DOS convention, used on
|
||||
MS-Windows and MS-DOS systems, is to use a carriage-return and a
|
||||
MS-Windows and MS-DOS systems, is to use a carriage return and a
|
||||
linefeed at the end of a line. The Mac convention is to use just
|
||||
carriage-return. (This was the convention used in Classic Mac OS.)
|
||||
carriage return. (This was the convention used in Classic Mac OS.)
|
||||
|
||||
@cindex base coding system
|
||||
@cindex variant coding system
|
||||
|
@ -210,7 +210,7 @@ by the current buffer's syntax table (@pxref{Syntax Class Table}), but
|
||||
modes can override that by setting up a suitable
|
||||
@code{find-word-boundary-function-table}, described below. Characters
|
||||
that belong to different scripts (as defined by
|
||||
@code{char-syntax-table}), also define a word boundary
|
||||
@code{char-script-table}), also define a word boundary
|
||||
(@pxref{Character Properties}). In any case, this function cannot
|
||||
move point past the boundary of the accessible portion of the buffer,
|
||||
or across a field boundary (@pxref{Fields}). The most common case of
|
||||
|
@ -33164,7 +33164,7 @@ This switches into the Calc buffer for the duration of the macro.
|
||||
For example, @samp{(calc-eval "vx5\rVR+" 'macro)} pushes the
|
||||
vector @samp{[1,2,3,4,5]} on the stack and then replaces it
|
||||
with the sum of those numbers. Note that @samp{\r} is the Lisp
|
||||
notation for the carriage-return, @key{RET}, character.
|
||||
notation for the carriage return, @key{RET}, character.
|
||||
|
||||
If your keyboard macro wishes to pop the stack, @samp{\C-d} is
|
||||
safer than @samp{\177} (the @key{DEL} character) because some
|
||||
|
@ -167,7 +167,7 @@ to writing a completion function."
|
||||
(eshell-cmpl--custom-variable-docstring 'pcomplete-suffix-list)
|
||||
:type (get 'pcomplete-suffix-list 'custom-type)
|
||||
:group 'pcomplete)
|
||||
;; Only labelled obsolete in 26.1, but all it does it set
|
||||
;; Only labeled obsolete in 26.1, but all it does it set
|
||||
;; pcomplete-suffix-list, which is itself obsolete since 24.1.
|
||||
(make-obsolete-variable 'eshell-cmpl-suffix-list nil "24.1")
|
||||
|
||||
|
@ -172,7 +172,7 @@ When found, offer to remove them."
|
||||
(defcustom gnus-agent-auto-agentize-methods nil
|
||||
"Initially, all servers from these methods are agentized.
|
||||
The user may remove or add servers using the Server buffer.
|
||||
See Info nodes `(gnus)Server Buffer', `(gnus)Agent Variables'."
|
||||
See Info node `(gnus)Server Buffer' and Info node `(gnus)Agent Variables'."
|
||||
:version "22.1"
|
||||
:type '(repeat symbol)
|
||||
:group 'gnus-agent)
|
||||
|
19
lisp/help.el
19
lisp/help.el
@ -1309,15 +1309,14 @@ Return VALUE."
|
||||
|
||||
;; (4) A marker (`help-window-point-marker') to move point in the help
|
||||
;; window to an arbitrary buffer position.
|
||||
(defmacro with-help-window (buffer-name &rest body)
|
||||
"Display buffer named BUFFER-NAME in a help window.
|
||||
Evaluate the forms in BODY with standard output bound to a buffer
|
||||
called BUFFER-NAME (creating it if it does not exist), put that
|
||||
buffer in `help-mode', display the buffer in a window (see
|
||||
`with-temp-buffer-window' for details) and issue a message how to
|
||||
deal with that \"help\" window when it's no more needed. Select
|
||||
the help window if the current value of the user option
|
||||
`help-window-select' says so. Return last value in BODY."
|
||||
(defmacro with-help-window (buffer-or-name &rest body)
|
||||
"Evaluate BODY, send output to BUFFER-OR-NAME and show in a help window.
|
||||
This construct is like `with-temp-buffer-window' but unlike that
|
||||
puts the buffer specified by BUFFER-OR-NAME in `help-mode' and
|
||||
displays a message about how to delete the help window when it's no
|
||||
longer needed. The help window will be selected if
|
||||
`help-window-select' is non-nil. See `help-window-setup' for
|
||||
more options."
|
||||
(declare (indent 1) (debug t))
|
||||
`(progn
|
||||
;; Make `help-window-point-marker' point nowhere. The only place
|
||||
@ -1329,7 +1328,7 @@ the help window if the current value of the user option
|
||||
(cons 'help-mode-finish temp-buffer-window-show-hook)))
|
||||
(setq help-window-old-frame (selected-frame))
|
||||
(with-temp-buffer-window
|
||||
,buffer-name nil 'help-window-setup (progn ,@body)))))
|
||||
,buffer-or-name nil 'help-window-setup (progn ,@body)))))
|
||||
|
||||
;; Called from C, on encountering `help-char' when reading a char.
|
||||
;; Don't print to *Help*; that would clobber Help history.
|
||||
|
@ -685,7 +685,7 @@ become JSON objects."
|
||||
(push (list c 'json-read-number) table))
|
||||
(pcase-dolist (`(,c . ,rest) table)
|
||||
(push `((eq ,char ,c) (,@rest)) res))
|
||||
`(cond ,@res (t (signal 'json-readtable-error ,char)))))
|
||||
`(cond ,@res (t (signal 'json-readtable-error (list ,char))))))
|
||||
|
||||
(defun json-read ()
|
||||
"Parse and return the JSON object following point.
|
||||
|
@ -7080,11 +7080,13 @@ current object."
|
||||
With argument ARG, do this that many times.
|
||||
If ARG is omitted or nil, move point backward one word.
|
||||
|
||||
The word boundaries are normally determined by the buffer's syntax
|
||||
table, but `find-word-boundary-function-table', such as set up
|
||||
by `subword-mode', can change that. If a Lisp program needs to
|
||||
move by words determined strictly by the syntax table, it should
|
||||
use `backward-word-strictly' instead."
|
||||
The word boundaries are normally determined by the buffer's
|
||||
syntax table and character script (according to
|
||||
`char-script-table'), but `find-word-boundary-function-table',
|
||||
such as set up by `subword-mode', can change that. If a Lisp
|
||||
program needs to move by words determined strictly by the syntax
|
||||
table, it should use `backward-word-strictly' instead. See Info
|
||||
node `(elisp) Word Motion' for details."
|
||||
(interactive "^p")
|
||||
(forward-word (- (or arg 1))))
|
||||
|
||||
|
@ -3871,7 +3871,7 @@ Otherwise display the beginning of entry."
|
||||
(defun bibtex-mark-entry ()
|
||||
"Put mark at beginning, point at end of current BibTeX entry."
|
||||
(interactive)
|
||||
(push-mark (bibtex-beginning-of-entry))
|
||||
(push-mark (bibtex-beginning-of-entry) :activate t)
|
||||
(bibtex-end-of-entry))
|
||||
|
||||
(defun bibtex-count-entries (&optional count-string-entries)
|
||||
|
@ -1626,13 +1626,13 @@ COLLECTION can also be a function to do the completion itself.
|
||||
PREDICATE limits completion to a subset of COLLECTION.
|
||||
See `try-completion', `all-completions', `test-completion',
|
||||
and `completion-boundaries', for more details on completion,
|
||||
COLLECTION, and PREDICATE. See also Info nodes `(elisp)Basic Completion'
|
||||
for the details about completion, and `(elisp)Programmed Completion' for
|
||||
expectations from COLLECTION when it's a function.
|
||||
COLLECTION, and PREDICATE. See also Info node `(elisp)Basic Completion'
|
||||
for the details about completion, and Info node `(elisp)Programmed
|
||||
Completion' for expectations from COLLECTION when it's a function.
|
||||
|
||||
REQUIRE-MATCH can take the following values:
|
||||
- t means that the user is not allowed to exit unless
|
||||
the input is (or completes to) an element of COLLECTION or is null.
|
||||
- t means that the user is not allowed to exit unless the input is (or
|
||||
completes to) an element of COLLECTION or is null.
|
||||
- nil means that the user can exit with any input.
|
||||
- `confirm' means that the user can exit with any input, but she needs
|
||||
to confirm her choice if the input is not an element of COLLECTION.
|
||||
@ -1643,19 +1643,19 @@ REQUIRE-MATCH can take the following values:
|
||||
- anything else behaves like t except that typing RET does not exit if it
|
||||
does non-null completion.
|
||||
|
||||
If the input is null, `completing-read' returns DEF, or the first element
|
||||
of the list of default values, or an empty string if DEF is nil,
|
||||
regardless of the value of REQUIRE-MATCH.
|
||||
If the input is null, `completing-read' returns DEF, or the first
|
||||
element of the list of default values, or an empty string if DEF is
|
||||
nil, regardless of the value of REQUIRE-MATCH.
|
||||
|
||||
If INITIAL-INPUT is non-nil, insert it in the minibuffer initially,
|
||||
with point positioned at the end.
|
||||
If it is (STRING . POSITION), the initial input is STRING, but point
|
||||
is placed at _zero-indexed_ position POSITION in STRING. (*Note*
|
||||
that this is different from `read-from-minibuffer' and related
|
||||
functions, which use one-indexing for POSITION.) This feature is
|
||||
deprecated--it is best to pass nil for INITIAL-INPUT and supply the
|
||||
default value DEF instead. The user can yank the default value into
|
||||
the minibuffer easily using \\<minibuffer-local-map>\\[next-history-element].
|
||||
with point positioned at the end. If it is (STRING . POSITION), the
|
||||
initial input is STRING, but point is placed at _zero-indexed_
|
||||
position POSITION in STRING. (*Note* that this is different from
|
||||
`read-from-minibuffer' and related functions, which use one-indexing
|
||||
for POSITION.) This feature is deprecated--it is best to pass nil
|
||||
for INITIAL-INPUT and supply the default value DEF instead. The
|
||||
user can yank the default value into the minibuffer easily using
|
||||
\\<minibuffer-local-map>\\[next-history-element].
|
||||
|
||||
HIST, if non-nil, specifies a history list and optionally the initial
|
||||
position in the list. It can be a symbol, which is the history list
|
||||
@ -1663,16 +1663,16 @@ HIST, if non-nil, specifies a history list and optionally the initial
|
||||
that case, HISTVAR is the history list variable to use, and HISTPOS
|
||||
is the initial position (the position in the list used by the
|
||||
minibuffer history commands). For consistency, you should also
|
||||
specify that element of the history as the value of
|
||||
INITIAL-INPUT. (This is the only case in which you should use
|
||||
INITIAL-INPUT instead of DEF.) Positions are counted starting from
|
||||
1 at the beginning of the list. The variable `history-length'
|
||||
controls the maximum length of a history list.
|
||||
specify that element of the history as the value of INITIAL-INPUT.
|
||||
(This is the only case in which you should use INITIAL-INPUT instead
|
||||
of DEF.) Positions are counted starting from 1 at the beginning of
|
||||
the list. The variable `history-length' controls the maximum length
|
||||
of a history list.
|
||||
|
||||
DEF, if non-nil, is the default value or the list of default values.
|
||||
|
||||
If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits
|
||||
the current input method and the setting of `enable-multibyte-characters'.
|
||||
If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits the
|
||||
current input method and the setting of `enable-multibyte-characters'.
|
||||
|
||||
Completion ignores case if the ambient value of
|
||||
`completion-ignore-case' is non-nil.
|
||||
|
@ -1573,10 +1573,11 @@ left there and the function returns nil. Field boundaries are not
|
||||
noticed if `inhibit-field-text-motion' is non-nil.
|
||||
|
||||
The word boundaries are normally determined by the buffer's syntax
|
||||
table, but `find-word-boundary-function-table', such as set up
|
||||
by `subword-mode', can change that. If a Lisp program needs to
|
||||
move by words determined strictly by the syntax table, it should
|
||||
use `forward-word-strictly' instead. */)
|
||||
table and character script (according to `char-script-table'), but
|
||||
`find-word-boundary-function-table', such as set up by `subword-mode',
|
||||
can change that. If a Lisp program needs to move by words determined
|
||||
strictly by the syntax table, it should use `forward-word-strictly'
|
||||
instead. See Info node `(elisp) Word Motion' for details. */)
|
||||
(Lisp_Object arg)
|
||||
{
|
||||
Lisp_Object tmp;
|
||||
|
@ -12422,12 +12422,16 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
|
||||
unrequest_sigio (); /* See comment in x_display_ok. */
|
||||
gtk_init (&argc, &argv2);
|
||||
request_sigio ();
|
||||
fixup_locale ();
|
||||
|
||||
g_log_remove_handler ("GLib", id);
|
||||
|
||||
xg_initialize ();
|
||||
|
||||
/* Do this after the call to xg_initialize, because when
|
||||
Fontconfig is used, xg_initialize calls its initialization
|
||||
function which in some versions of Fontconfig calls setlocale. */
|
||||
fixup_locale ();
|
||||
|
||||
dpy = DEFAULT_GDK_DISPLAY ();
|
||||
|
||||
#if ! GTK_CHECK_VERSION (2, 90, 0)
|
||||
|
@ -309,7 +309,8 @@ Point is moved to beginning of the buffer."
|
||||
(json-tests--with-temp-buffer ""
|
||||
(should-error (json-read) :type 'json-end-of-file))
|
||||
(json-tests--with-temp-buffer "xxx"
|
||||
(should-error (json-read) :type 'json-readtable-error)))
|
||||
(let ((err (should-error (json-read) :type 'json-readtable-error)))
|
||||
(should (equal (cdr err) '(?x))))))
|
||||
|
||||
(ert-deftest test-json-read-from-string ()
|
||||
(let ((json-string "{ \"a\": 1 }"))
|
||||
|
Loading…
Reference in New Issue
Block a user