mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Merge from origin/emacs-26
333d6f4(origin/emacs-26) More changes in the Emacs manual52ca0d1* lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.69e8046Don't signal error in vc-deduce-backendf568c91* doc/misc/tramp.texi: Index more user options.92ca881Minor change in the Emacs manuale055a12NEWS update about 'string-trim'96b6e24Clarify TRAMP process-environment interaction (Bug#30419)4fa467e* lisp/progmodes/grep.el (grep-num-matches-found): New variable.a22820aAvoid aborts in cm.c due to too small TTY frame26f6441Another set of improvements in the Emacs manualcef3b42Fix help in mode-line-mode-menuf8a493cImprove documentation of desktop restoring10637afImprove the Emacs manual's chapter "Frames"d924953Fix unbound mm-uu-entry in mm-uucb2487bImprove Emacs user manual in fixit.texi66e9527Another minor change in the manual6a1c03dMore minor changes in the Emacs manual32fb8c4Avoid printing garbled error message from image.el Conflicts: etc/NEWS lisp/image.el
This commit is contained in:
commit
98f4e336e8
24 changed files with 284 additions and 151 deletions
|
|
@ -184,18 +184,8 @@ Move forward one character (@code{forward-char}).
|
|||
@item @key{RIGHT}
|
||||
@kindex RIGHT
|
||||
@findex right-char
|
||||
@vindex visual-order-cursor-movement
|
||||
@cindex cursor, visual-order motion
|
||||
This command (@code{right-char}) behaves like @kbd{C-f}, with one
|
||||
exception: when editing right-to-left scripts such as Arabic, it
|
||||
instead moves @emph{backward} if the current paragraph is a
|
||||
right-to-left paragraph. @xref{Bidirectional Editing}.
|
||||
|
||||
If @code{visual-order-cursor-movement} is non-@code{nil}, this command
|
||||
moves to the character that is to the right of the current screen
|
||||
position, moving to the next or previous screen line as appropriate.
|
||||
Note that this might potentially move point many buffer positions
|
||||
away, depending on the surrounding bidirectional context.
|
||||
This command (@code{right-char}) behaves like @kbd{C-f}, except when
|
||||
point is in a right-to-left paragraph (@pxref{Bidirectional Editing}).
|
||||
|
||||
@item C-b
|
||||
@kindex C-b
|
||||
|
|
@ -205,12 +195,8 @@ Move backward one character (@code{backward-char}).
|
|||
@item @key{LEFT}
|
||||
@kindex LEFT
|
||||
@findex left-char
|
||||
This command (@code{left-char}) behaves like @kbd{C-b}, except it
|
||||
moves @emph{forward} if the current paragraph is right-to-left.
|
||||
@xref{Bidirectional Editing}.
|
||||
|
||||
The variable @code{visual-order-cursor-movement} affects this like
|
||||
@key{RIGHT}, but moving left instead of right on the screen.
|
||||
This command (@code{left-char}) behaves like @kbd{C-b}, except if the
|
||||
current paragraph is right-to-left (@pxref{Bidirectional Editing}).
|
||||
|
||||
@item C-n
|
||||
@itemx @key{DOWN}
|
||||
|
|
|
|||
|
|
@ -90,9 +90,9 @@ inserted above point, which remains at the end. Otherwise, point
|
|||
remains fixed while compilation output is added at the end of the
|
||||
buffer.
|
||||
|
||||
While compilation proceeds, the mode line is updated to show the
|
||||
number of errors, warnings, and informational messages that have been
|
||||
seen so far.
|
||||
While compilation proceeds, the mode line shows the number of
|
||||
errors, warnings, and informational messages emitted by the compiler
|
||||
so far.
|
||||
|
||||
@cindex compilation buffer, keeping point at end
|
||||
@vindex compilation-scroll-output
|
||||
|
|
@ -384,16 +384,16 @@ grep -nH -e foo *.el | grep bar | grep toto
|
|||
can find the corresponding lines in the original files using @w{@kbd{C-x
|
||||
`}}, @key{RET}, and so forth, just like compilation errors.
|
||||
|
||||
As with compilation commands (@pxref{Compilation}), while the grep
|
||||
command runs, the mode line is updated to show the number of matches
|
||||
that have been seen so far.
|
||||
|
||||
Some grep programs accept a @samp{--color} option to output special
|
||||
markers around matches for the purpose of highlighting. You can make
|
||||
use of this feature by setting @code{grep-highlight-matches} to
|
||||
@code{t}. When displaying a match in the source buffer, the exact
|
||||
match will be highlighted, instead of the entire source line.
|
||||
|
||||
As with compilation commands (@pxref{Compilation}), while the grep
|
||||
command runs, the mode line shows the running number of matches found
|
||||
and highlighted so far.
|
||||
|
||||
The @command{grep} commands will offer to save buffers before
|
||||
running. This is controlled by the @code{grep-save-buffers} variable.
|
||||
The possible values are either @code{nil} (don't save), @code{ask}
|
||||
|
|
@ -1410,12 +1410,13 @@ Loading,,, elisp, the Emacs Lisp Reference Manual}.
|
|||
@code{load-path}. Its value should be a list of directories
|
||||
(strings). These directories are searched, in the specified order, by
|
||||
the @kbd{M-x load-library} command, the lower-level @code{load}
|
||||
function, and other Emacs functions that find Emacs Lisp libraries. A
|
||||
list entry in @code{load-path} can also have the special value
|
||||
function, and other Emacs functions that find Emacs Lisp libraries.
|
||||
An entry in @code{load-path} can also have the special value
|
||||
@code{nil}, which stands for the current default directory, but it is
|
||||
almost always a bad idea to use this. (If you find yourself wishing
|
||||
that @code{nil} were in the list, most likely what you really want is
|
||||
to use @kbd{M-x load-file}.)
|
||||
almost always a bad idea to use this, because its meaning will depend
|
||||
on the buffer that is current when @code{load-path} is used by Emacs.
|
||||
(If you find yourself wishing that @code{nil} were in the list, most
|
||||
likely what you really want is to use @kbd{M-x load-file}.)
|
||||
|
||||
The default value of @code{load-path} is a list of directories where
|
||||
the Lisp code for Emacs itself is stored. If you have libraries of
|
||||
|
|
|
|||
|
|
@ -1104,15 +1104,14 @@ border is 2.
|
|||
@node Title X
|
||||
@appendixsec Frame Titles
|
||||
|
||||
An Emacs frame may or may not have a specified title. The frame
|
||||
title, if specified, appears in window decorations and icons as the
|
||||
name of the frame. If an Emacs frame has no specified title, the
|
||||
default title has the form @samp{@var{invocation-name}@@@var{machine}}
|
||||
(if there is only one frame) or the selected window's buffer name (if
|
||||
there is more than one frame).
|
||||
Each Emacs frame always has a title, which appears in window
|
||||
decorations and icons as the name of the frame. The default title is
|
||||
of the form @samp{@var{invocation-name}@@@var{machine}} (if there is
|
||||
only one frame) or shows the selected window's buffer name (if there
|
||||
is more than one frame).
|
||||
|
||||
You can specify a title for the initial Emacs frame with a command
|
||||
line option:
|
||||
You can specify a non-default title for the initial Emacs frame with
|
||||
a command line option:
|
||||
|
||||
@table @samp
|
||||
@item -T @var{title}
|
||||
|
|
|
|||
|
|
@ -8,3 +8,9 @@
|
|||
@end ignore
|
||||
@set txicodequoteundirected
|
||||
@set txicodequotebacktick
|
||||
@c It turns out TeX sometimes fails to hyphenate, so we help it here
|
||||
@hyphenation{au-to-mat-i-cal-ly}
|
||||
@hyphenation{spec-i-fied}
|
||||
@hyphenation{work-a-round}
|
||||
@hyphenation{work-a-rounds}
|
||||
@hyphenation{un-marked}
|
||||
|
|
|
|||
|
|
@ -69,10 +69,10 @@ changes have already been undone, the undo command signals an error.
|
|||
Any command other than an undo command breaks the sequence of undo
|
||||
commands. Starting from that moment, the entire sequence of undo
|
||||
commands that you have just performed are themselves placed into the
|
||||
undo record, as a single set of changes. Therefore, to re-apply
|
||||
changes you have undone, type @kbd{C-f} or any other command that
|
||||
harmlessly breaks the sequence of undoing; then type @kbd{C-/} to undo
|
||||
the undo command.
|
||||
undo record. Therefore, to re-apply changes you have undone, type
|
||||
@kbd{C-f} or any other command that harmlessly breaks the sequence of
|
||||
undoing; then type @kbd{C-/} one or more times to undo some of the
|
||||
undo commands.
|
||||
|
||||
Alternatively, if you want to resume undoing, without redoing
|
||||
previous undo commands, use @kbd{M-x undo-only}. This is like
|
||||
|
|
@ -180,7 +180,8 @@ Otherwise, a reverse search (@kbd{C-r}) is often the best way.
|
|||
dragging the word preceding or containing point forward as well. The
|
||||
punctuation characters between the words do not move. For example,
|
||||
@w{@samp{FOO, BAR}} transposes into @w{@samp{BAR, FOO}} rather than
|
||||
@samp{@w{BAR FOO,}}.
|
||||
@samp{@w{BAR FOO,}}. When point is at the end of the line, it will
|
||||
transpose the word before point with the first word on the next line.
|
||||
|
||||
@kbd{C-M-t} (@code{transpose-sexps}) is a similar command for
|
||||
transposing two expressions (@pxref{Expressions}), and @kbd{C-x C-t}
|
||||
|
|
@ -344,16 +345,16 @@ wildcard.
|
|||
|
||||
@item C-g
|
||||
@itemx X
|
||||
Quit interactive spell checking, leaving point at the word that was
|
||||
Quit interactive spell-checking, leaving point at the word that was
|
||||
being checked. You can restart checking again afterward with @kbd{C-u
|
||||
M-$}.
|
||||
|
||||
@item x
|
||||
Quit interactive spell checking and move point back to where it was
|
||||
when you started spell checking.
|
||||
Quit interactive spell-checking and move point back to where it was
|
||||
when you started spell-checking.
|
||||
|
||||
@item q
|
||||
Quit interactive spell checking and kill the spell-checker subprocess.
|
||||
Quit interactive spell-checking and kill the spell-checker subprocess.
|
||||
|
||||
@item ?
|
||||
Show the list of options.
|
||||
|
|
@ -371,7 +372,7 @@ character; type that digit or character to choose it.
|
|||
@cindex @code{ispell} program
|
||||
@findex ispell-kill-ispell
|
||||
Once started, the spell-checker subprocess continues
|
||||
to run, waiting for something to do, so that subsequent spell checking
|
||||
to run, waiting for something to do, so that subsequent spell-checking
|
||||
commands complete more quickly. If you want to get rid of the
|
||||
process, use @kbd{M-x ispell-kill-ispell}. This is not usually
|
||||
necessary, since the process uses no processor time except when you do
|
||||
|
|
@ -392,19 +393,21 @@ so that it will use a different standard dictionary. Your personal
|
|||
dictionary is specified by the variable
|
||||
@code{ispell-personal-dictionary}. If that is @code{nil}, the
|
||||
spelling program looks for a personal dictionary in a default
|
||||
location.
|
||||
location, which is specific to each spell-checker.
|
||||
|
||||
@vindex ispell-complete-word-dict
|
||||
A separate dictionary is used for word completion. The variable
|
||||
@code{ispell-complete-word-dict} specifies the file name of this
|
||||
dictionary. The completion dictionary must be different because it
|
||||
cannot use root and affix information. For some languages, there
|
||||
is a spell checking dictionary but no word completion dictionary.
|
||||
cannot use the information about roots and affixes of the words, which
|
||||
spell-checking uses to detect variations of words. For some
|
||||
languages, there is a spell-checking dictionary but no word completion
|
||||
dictionary.
|
||||
|
||||
@cindex Flyspell mode
|
||||
@cindex mode, Flyspell
|
||||
@findex flyspell-mode
|
||||
Flyspell mode is a minor mode that performs automatic spell checking
|
||||
Flyspell mode is a minor mode that performs automatic spell-checking
|
||||
as you type. When it finds a word that it does not recognize, it
|
||||
highlights that word. Type @kbd{M-x flyspell-mode} to toggle Flyspell
|
||||
mode in the current buffer. To enable Flyspell mode in all text mode
|
||||
|
|
|
|||
|
|
@ -248,13 +248,13 @@ this to move point to the beginning of the region, scrolling the
|
|||
display backward if necessary.
|
||||
|
||||
@item Double-Drag-mouse-1
|
||||
Select the text you drag across, in the form of whole words.
|
||||
Select the text you drag across, in units of whole words.
|
||||
|
||||
@item Triple-mouse-1
|
||||
Select the line you click on.
|
||||
|
||||
@item Triple-Drag-mouse-1
|
||||
Select the text you drag across, in the form of whole lines.
|
||||
Select the text you drag across, in units of whole lines.
|
||||
@end table
|
||||
|
||||
@node Mouse References
|
||||
|
|
@ -312,7 +312,7 @@ button.
|
|||
@node Menu Mouse Clicks
|
||||
@section Mouse Clicks for Menus
|
||||
|
||||
Several mouse clicks with the @key{CTRL} and @key{SHIFT} modifiers
|
||||
Several mouse clicks with the @key{Ctrl} and @key{SHIFT} modifiers
|
||||
bring up menus.
|
||||
|
||||
@table @kbd
|
||||
|
|
@ -409,10 +409,11 @@ boundary to the left or right.
|
|||
The prefix key @kbd{C-x 5} is analogous to @kbd{C-x 4}. Whereas
|
||||
each @kbd{C-x 4} command pops up a buffer in a different window in the
|
||||
selected frame (@pxref{Pop Up Window}), the @kbd{C-x 5} commands use a
|
||||
different frame. If an existing visible or iconified (a.k.a.@: ``minimized'')
|
||||
frame already displays the requested buffer, that frame is raised and
|
||||
deiconified (``un-minimized''); otherwise, a new frame is created on
|
||||
the current display terminal.
|
||||
different frame. If an existing visible or iconified (a.k.a.@:
|
||||
``minimized'', @pxref{Visibility of Frames,,, elisp, The Emacs Lisp
|
||||
Reference Manual}) frame already displays the requested buffer, that
|
||||
frame is raised and deiconified (``un-minimized''); otherwise, a new
|
||||
frame is created on the current display terminal.
|
||||
|
||||
The various @kbd{C-x 5} commands differ in how they find or create the
|
||||
buffer to select:
|
||||
|
|
@ -642,7 +643,7 @@ Monospace-12:weight=bold:slant=italic
|
|||
|
||||
For a more detailed description of Fontconfig patterns, see the
|
||||
Fontconfig manual, which is distributed with Fontconfig and available
|
||||
online at @url{http://fontconfig.org/fontconfig-user.html}.
|
||||
online at @url{https://fontconfig.org/fontconfig-user.html}.
|
||||
|
||||
@cindex GTK font pattern
|
||||
The second way to specify a font is to use a @dfn{GTK font pattern}.
|
||||
|
|
@ -954,7 +955,8 @@ toolkits allow you to customize the scroll bars to not have those
|
|||
buttons). Clicking @kbd{mouse-1} above or below the scroll bar's
|
||||
inner box scrolls the window by nearly the entire height of the
|
||||
window, like @kbd{M-v} and @kbd{C-v} respectively (@pxref{Moving
|
||||
Point}). Dragging the inner box scrolls continuously.
|
||||
Point}). (This, too, can behave differently with some toolkits.)
|
||||
Dragging the inner box scrolls continuously.
|
||||
|
||||
If Emacs is compiled on the X Window System without X toolkit
|
||||
support, the scroll bar behaves differently. Clicking @kbd{mouse-1}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ Setting the mark (q.v.@:) at a position in the text also activates it.
|
|||
When the mark is active, we call the region an active region.
|
||||
@xref{Mark}.
|
||||
|
||||
@item Alt
|
||||
@item @key{Alt}
|
||||
Alt is the name of a modifier bit that a keyboard input character may
|
||||
have. To make a character Alt, type it while holding down the @key{Alt}
|
||||
key. Such characters are given names that start with @kbd{@key{Alt}-}
|
||||
|
|
@ -160,6 +160,12 @@ right away when you press down on a mouse button. @xref{Mouse Buttons}.
|
|||
@item Byte Compilation
|
||||
@xref{Glossary---Compilation}.
|
||||
|
||||
@item cf.
|
||||
@itemx c.f.
|
||||
Short for ``confer'' in Latin, which means ``compare with'' or
|
||||
``compare to''. The second variant, ``c.f.'', is a widespread
|
||||
misspelling.
|
||||
|
||||
@anchor{Glossary---C-}
|
||||
@item @kbd{C-}
|
||||
@kbd{C-} in the name of a character is an abbreviation for Control.
|
||||
|
|
@ -187,7 +193,7 @@ other input events as well). @xref{User Input}.
|
|||
|
||||
@item Character Folding
|
||||
Character folding means ignoring differences between similarly looking
|
||||
characters, such as between @code{a}, and @code{@:a} and @code{@'a}.
|
||||
characters, such as between @code{a}, and @code{@"a} and @code{@'a}.
|
||||
Emacs performs character folding by default in text search. @xref{Lax
|
||||
Search}.
|
||||
|
||||
|
|
@ -220,14 +226,16 @@ text to or from a variety of coding systems when reading or writing it.
|
|||
@xref{Coding Systems}.
|
||||
|
||||
@item Command
|
||||
A command is a Lisp function specially defined to be able to serve as a
|
||||
key binding in Emacs. When you type a key sequence (q.v.), its
|
||||
binding (q.v.@:) is looked up in the relevant keymaps (q.v.@:) to find
|
||||
the command to run. @xref{Commands}.
|
||||
A command is a Lisp function specially defined to be able to serve as
|
||||
a key binding in Emacs or to be invoked by its name
|
||||
(@pxref{Glossary---Command Name}). When you type a key sequence
|
||||
(q.v.), its binding (q.v.@:) is looked up in the relevant keymaps
|
||||
(q.v.@:) to find the command to run. @xref{Commands}.
|
||||
|
||||
@item Command History
|
||||
@xref{Glossary---Minibuffer History}.
|
||||
|
||||
@anchor{Glossary---Command Name}
|
||||
@item Command Name
|
||||
A command name is the name of a Lisp symbol that is a command
|
||||
(@pxref{Commands}). You can invoke any command by its name using
|
||||
|
|
@ -250,7 +258,8 @@ Compilation is the process of creating an executable program from source
|
|||
code. Emacs has commands for compiling files of Emacs Lisp code
|
||||
(@pxref{Byte Compilation,,, elisp, the Emacs Lisp
|
||||
Reference Manual}) and programs in C and other languages
|
||||
(@pxref{Compilation}).
|
||||
(@pxref{Compilation}). Byte-compiled Emacs Lisp code loads and
|
||||
executes faster.
|
||||
|
||||
@item Complete Key
|
||||
A complete key is a key sequence that fully specifies one action to be
|
||||
|
|
@ -440,6 +449,9 @@ tell it to. @xref{Bugs}.
|
|||
@c TODO? Not really appropriate for the user manual I think.
|
||||
@c Dynamic Binding
|
||||
|
||||
@item e.g.
|
||||
Short for ``exempli gratia'' in Latin, which means ``for example''.
|
||||
|
||||
@item Echo Area
|
||||
The echo area is the bottom line of the screen, used for echoing the
|
||||
arguments to commands, for asking questions, and showing brief messages
|
||||
|
|
@ -499,6 +511,9 @@ like the @key{SHIFT} key, is held down while another character is
|
|||
typed), you press the @key{ESC} key as you would press a letter key, and
|
||||
it applies to the next character you type.
|
||||
|
||||
@item etc.
|
||||
Short for ``et cetera'' in Latin, which means ``and so on''.
|
||||
|
||||
@item Expression
|
||||
@xref{Glossary---Balanced Expression}.
|
||||
|
||||
|
|
@ -709,6 +724,9 @@ have. To make a character Hyper, type it while holding down the
|
|||
@key{Hyper} key. Such characters are given names that start with
|
||||
@kbd{Hyper-} (usually written @kbd{H-} for short). @xref{User Input}.
|
||||
|
||||
@item i.e.
|
||||
Short for ``id est'' in Latin, which means ``that is''.
|
||||
|
||||
@item Iff
|
||||
``Iff'' means ``if and only if''. This terminology comes from
|
||||
mathematics. Try to avoid using this term in documentation, since
|
||||
|
|
@ -861,7 +879,7 @@ A local value of a variable (q.v.@:) applies to only one buffer.
|
|||
@xref{Locals}.
|
||||
|
||||
@item @kbd{M-}
|
||||
@kbd{M-} in the name of a character is an abbreviation for @key{Meta},
|
||||
@kbd{M-} in the name of a character is an abbreviation for @key{META},
|
||||
one of the modifier keys that can accompany any character.
|
||||
@xref{User Input,M-}.
|
||||
|
||||
|
|
@ -919,15 +937,15 @@ a keyboard interface to navigate it. @xref{Menu Bars}.
|
|||
|
||||
@item Meta
|
||||
Meta is the name of a modifier bit which you can use in a command
|
||||
character. To enter a meta character, you hold down the @key{Meta}
|
||||
character. To enter a meta character, you hold down the @key{META}
|
||||
key while typing the character. We refer to such characters with
|
||||
names that start with @kbd{Meta-} (usually written @kbd{M-} for
|
||||
short). For example, @kbd{M-<} is typed by holding down @key{Meta}
|
||||
short). For example, @kbd{M-<} is typed by holding down @key{META}
|
||||
and at the same time typing @kbd{<} (which itself is done, on most
|
||||
terminals, by holding down @key{SHIFT} and typing @kbd{,}).
|
||||
@xref{User Input,Meta}.
|
||||
|
||||
On some terminals, the @key{Meta} key is actually labeled @key{Alt}
|
||||
On some terminals, the @key{META} key is actually labeled @key{Alt}
|
||||
or @key{Edit}.
|
||||
|
||||
@item Meta Character
|
||||
|
|
@ -1082,6 +1100,9 @@ read an argument (@pxref{Minibuffer}); the echoing that happens when
|
|||
you pause in the middle of typing a multi-character key sequence is also
|
||||
a kind of prompting (@pxref{Echo Area}).
|
||||
|
||||
@item q.v.
|
||||
Short for ``quod vide'' in Latin, which means ``which see''.
|
||||
|
||||
@item Query-Replace
|
||||
Query-replace is an interactive string replacement feature provided by
|
||||
Emacs. @xref{Query Replace}.
|
||||
|
|
@ -1122,8 +1143,8 @@ one corner and putting the mark at the diagonally opposite corner.
|
|||
A recursive editing level is a state in which part of the execution of
|
||||
a command involves asking you to edit some text. This text may
|
||||
or may not be the same as the text to which the command was applied.
|
||||
The mode line indicates recursive editing levels with square brackets
|
||||
(@samp{[} and @samp{]}). @xref{Recursive Edit}.
|
||||
The mode line (q.v.@:) indicates recursive editing levels with square
|
||||
brackets (@samp{[} and @samp{]}). @xref{Recursive Edit}.
|
||||
|
||||
@item Redisplay
|
||||
Redisplay is the process of correcting the image on the screen to
|
||||
|
|
@ -1151,7 +1172,7 @@ digits. @xref{Regexps}.
|
|||
@item Remote File
|
||||
A remote file is a file that is stored on a system other than your own.
|
||||
Emacs can access files on other computers provided that they are
|
||||
connected to the same network as your machine, and (obviously) that
|
||||
reachable from your machine over the network, and (obviously) that
|
||||
you have a supported method to gain access to those files.
|
||||
@xref{Remote Files}.
|
||||
|
||||
|
|
@ -1173,8 +1194,9 @@ newline into the text. It is also used to terminate most arguments
|
|||
read in the minibuffer (q.v.). @xref{User Input,Return}.
|
||||
|
||||
@item Reverting
|
||||
Reverting means returning to the original state. Emacs lets you
|
||||
revert a buffer by re-reading its file from disk. @xref{Reverting}.
|
||||
Reverting means returning to the original state. For example, Emacs
|
||||
lets you revert a buffer by re-reading its file from disk.
|
||||
@xref{Reverting}.
|
||||
|
||||
@c Seems too obvious, also there is nothing special about the format
|
||||
@c these days.
|
||||
|
|
@ -1346,6 +1368,7 @@ Emacs does not make a termscript file unless you tell it to.
|
|||
@xref{Bugs}.
|
||||
|
||||
@item Text
|
||||
|
||||
``Text'' has two meanings (@pxref{Text}):
|
||||
|
||||
@itemize @bullet
|
||||
|
|
@ -1354,6 +1377,7 @@ Data consisting of a sequence of characters, as opposed to binary
|
|||
numbers, executable programs, and the like. The basic contents of an
|
||||
Emacs buffer (aside from the text properties, q.v.@:) are always text
|
||||
in this sense.
|
||||
|
||||
@item
|
||||
Data consisting of written human language (as opposed to programs),
|
||||
or following the stylistic conventions of human language.
|
||||
|
|
@ -1456,7 +1480,7 @@ where they can be edited. @xref{Visiting}.
|
|||
|
||||
@item Whitespace
|
||||
Whitespace is any run of consecutive formatting characters (space,
|
||||
tab, newline, and backspace).
|
||||
tab, newline, backspace, etc.).
|
||||
|
||||
@item Widening
|
||||
Widening is removing any restriction (q.v.@:) on the current buffer;
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ Support}), but we hope to improve it in the future.
|
|||
@node Mac / GNUstep Basics
|
||||
@section Basic Emacs usage under macOS and GNUstep
|
||||
|
||||
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
|
||||
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
|
||||
other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
|
||||
can change these bindings in the usual way (@pxref{Key Bindings}).
|
||||
|
|
@ -43,7 +43,7 @@ can change these bindings in the usual way (@pxref{Key Bindings}).
|
|||
@vindex ns-alternate-modifier
|
||||
@vindex ns-right-alternate-modifier
|
||||
The variable @code{ns-right-alternate-modifier} controls the
|
||||
behavior of the right @key{alt} and @key{option} keys. These keys
|
||||
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
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ change the variable @code{use-empty-active-region} to @code{t}.
|
|||
|
||||
@vindex delete-active-region
|
||||
As described in @ref{Erasing}, the @key{DEL}
|
||||
(@code{backward-delete-char}) and @key{delete}
|
||||
(@code{backward-delete-char}) and @key{Delete}
|
||||
(@code{delete-forward-char}) commands also act this way. If the mark
|
||||
is active, they delete the text in the region. (As an exception, if
|
||||
you supply a numeric argument @var{n}, where @var{n} is not one, these
|
||||
|
|
|
|||
|
|
@ -2485,7 +2485,7 @@ since it bypasses the init file, where @code{desktop-save-mode} is
|
|||
usually turned on.
|
||||
|
||||
@vindex desktop-restore-eager
|
||||
By default, all the buffers in the desktop are restored at one go.
|
||||
By default, all the buffers in the desktop are restored in one go.
|
||||
However, this may be slow if there are a lot of buffers in the
|
||||
desktop. You can specify the maximum number of buffers to restore
|
||||
immediately with the variable @code{desktop-restore-eager}; the
|
||||
|
|
@ -2504,6 +2504,35 @@ expression matching the names of buffers not to kill.
|
|||
If you want to save minibuffer history from one session to
|
||||
another, use the @code{savehist} library.
|
||||
|
||||
@vindex desktop-auto-save-timeout
|
||||
While Emacs runs with @code{desktop-save-mode} turned on, it by
|
||||
default auto-saves the desktop whenever any of it changes. The
|
||||
variable @code{desktop-auto-save-timeout} determines how frequently
|
||||
Emacs checks for modifications to your desktop.
|
||||
|
||||
@vindex desktop-load-locked-desktop
|
||||
The file in which Emacs saves the desktop is locked while the
|
||||
session runs, to avoid inadvertently overwriting it from another Emacs
|
||||
session. That lock is normally removed when Emacs exits, but if Emacs
|
||||
or your system crashes, the lock stays, and when you restart Emacs, it
|
||||
will by default ask you whether to use the locked desktop file. You
|
||||
can avoid the question by customizing the variable
|
||||
@code{desktop-load-locked-desktop} to either @code{nil}, which means
|
||||
never load the desktop in this case, or @code{t}, which means load the
|
||||
desktop without asking.
|
||||
|
||||
@cindex desktop restore in daemon mode
|
||||
When Emacs starts in daemon mode, it cannot ask you any questions,
|
||||
so if it finds the desktop file locked, it will not load it, unless
|
||||
@code{desktop-load-locked-desktop} is @code{t}. Note that restoring
|
||||
the desktop in daemon mode is somewhat problematic for other reasons:
|
||||
e.g., the daemon cannot use GUI features, so parameters such as frame
|
||||
position, size, and decorations cannot be restored. For that reason,
|
||||
you may wish to delay restoring the desktop in daemon mode until the
|
||||
first client connects, by calling @code{desktop-read} in a hook
|
||||
function that you add to @code{after-make-frame-functions}
|
||||
(@pxref{Creating Frames,,, elisp, The Emacs Lisp Reference Manual}).
|
||||
|
||||
@node Recursive Edit
|
||||
@section Recursive Editing Levels
|
||||
@cindex recursive editing level
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ a running command and for emergency escape
|
|||
@vindex dos-super-key
|
||||
@vindex dos-hyper-key
|
||||
The PC keyboard maps use the left @key{Alt} key as the @key{META} key.
|
||||
You have two choices for emulating the @key{SUPER} and @key{HYPER} keys:
|
||||
You have two choices for emulating the @key{SUPER} and @key{Hyper} keys:
|
||||
choose either the right @key{Ctrl} key or the right @key{Alt} key by
|
||||
setting the variables @code{dos-hyper-key} and @code{dos-super-key} to 1
|
||||
or 2 respectively. If neither @code{dos-super-key} nor
|
||||
|
|
|
|||
|
|
@ -430,9 +430,9 @@ names, which might cause misalignment of columns in Dired display.
|
|||
The Windows equivalent of @code{HOME} is the @dfn{user-specific
|
||||
application data directory}. The actual location depends on the
|
||||
Windows version; typical values are @file{C:\Documents and
|
||||
Settings\@var{username}\Application Data} on Windows 2000/XP/2K3,
|
||||
@file{C:\Users\@var{username}\AppData\Roaming} on Windows
|
||||
Vista/7/2008, and either @file{C:\WINDOWS\Application Data} or
|
||||
Settings\@var{username}\Application Data} on Windows 2000 up to XP,
|
||||
@file{C:\Users\@var{username}\AppData\Roaming} on Windows Vista and
|
||||
later, and either @file{C:\WINDOWS\Application Data} or
|
||||
@file{C:\WINDOWS\Profiles\@var{username}\Application Data} on Windows
|
||||
9X/ME@. If this directory does not exist or cannot be accessed, Emacs
|
||||
falls back to @file{C:\} as the default value of @code{HOME}.
|
||||
|
|
@ -575,7 +575,7 @@ keys (it converts lower-case characters to their upper-case
|
|||
variants). However, if you set the variable
|
||||
@code{w32-capslock-is-shiftlock} to a non-@code{nil} value, the
|
||||
@key{CapsLock} key will affect non-character keys as well, as if you
|
||||
pressed the @key{Shift} key while typing the non-character key.
|
||||
pressed the @key{SHIFT} key while typing the non-character key.
|
||||
|
||||
@vindex w32-enable-caps-lock
|
||||
If the variable @code{w32-enable-caps-lock} is set to a @code{nil}
|
||||
|
|
|
|||
|
|
@ -1841,7 +1841,33 @@ sometimes jump when point traverses reordered bidirectional text.
|
|||
Similarly, a highlighted region covering a contiguous range of
|
||||
character positions may look discontinuous if the region spans
|
||||
reordered text. This is normal and similar to the behavior of other
|
||||
programs that support bidirectional text. If you set
|
||||
@code{visual-order-cursor-movement} to a non-@code{nil} value, cursor
|
||||
motion by the arrow keys follows the visual order on screen
|
||||
(@pxref{Moving Point, visual-order movement}).
|
||||
programs that support bidirectional text.
|
||||
|
||||
@kindex RIGHT@r{, and bidirectional text}
|
||||
@kindex LEFT@r{, and bidirectional text}
|
||||
@findex right-char@r{, and bidirectional text}
|
||||
@findex left-char@r{, and bidirectional text}
|
||||
Cursor motion commands bound to arrow keys, such as @key{LEFT} and
|
||||
@kbd{C-@key{RIGHT}}, are sensitive to the base direction of the
|
||||
current paragraph. In a left-to-right paragraph, commands bound to
|
||||
@key{RIGHT} with or without modifiers move @emph{forward} through
|
||||
buffer text, but in a right-to-left paragraph they move
|
||||
@emph{backward} instead. This reflects the fact that in a
|
||||
right-to-left paragraph buffer positions predominantly increase when
|
||||
moving to the left on display.
|
||||
|
||||
When you move out of a paragraph, the meaning of the arrow keys
|
||||
might change if the base direction of the preceding or the following
|
||||
paragraph is different from the paragraph out of which you moved.
|
||||
When that happens, you need to adjust the arrow key you press to the
|
||||
new base direction.
|
||||
|
||||
@vindex visual-order-cursor-movement
|
||||
@cindex cursor, visual-order motion
|
||||
By default, @key{LEFT} and @key{RIGHT} move in the logical order,
|
||||
but if @code{visual-order-cursor-movement} is non-@code{nil}, these
|
||||
commands move to the character that is, correspondingly, to the left
|
||||
or right of the current screen position, moving to the next or
|
||||
previous screen line as appropriate. Note that this might potentially
|
||||
move point many buffer positions away, depending on the surrounding
|
||||
bidirectional context.
|
||||
|
|
|
|||
|
|
@ -1114,7 +1114,8 @@ matches the empty string, but only at the beginning of a symbol.
|
|||
A symbol is a sequence of one or more symbol-constituent characters.
|
||||
A symbol-constituent character is a character whose syntax is either
|
||||
@samp{w} or @samp{_}. @samp{\_<} matches at the beginning of the
|
||||
buffer only if a symbol-constituent character follows.
|
||||
buffer only if a symbol-constituent character follows. As with words,
|
||||
the syntax table determines which characters are symbol-constituent.
|
||||
|
||||
@item \_>
|
||||
matches the empty string, but only at the end of a symbol. @samp{\_>}
|
||||
|
|
@ -1214,7 +1215,7 @@ search string matches exactly one space.
|
|||
Searches in Emacs by default ignore the case of the text they are
|
||||
searching through, if you specify the search string in lower case.
|
||||
Thus, if you specify searching for @samp{foo}, then @samp{Foo} and
|
||||
@samp{foo} also match. Regexps, and in particular character sets,
|
||||
@samp{fOO} also match. Regexps, and in particular character sets,
|
||||
behave likewise: @samp{[ab]} matches @samp{a} or @samp{A} or @samp{b}
|
||||
or @samp{B}. This feature is known as @dfn{case folding}, and it is
|
||||
supported in both incremental and non-incremental search modes.
|
||||
|
|
@ -1226,9 +1227,9 @@ case-sensitive. Thus, searching for @samp{Foo} does not find
|
|||
as well as to literal string search. The effect ceases if you delete
|
||||
the upper-case letter from the search string. The variable
|
||||
@code{search-upper-case} controls this: if it is non-@code{nil} (the
|
||||
default), an upper-case character in the search string make the search
|
||||
case-sensitive; setting it to @code{nil} disables this effect of
|
||||
upper-case characters.
|
||||
default), an upper-case character in the search string makes the
|
||||
search case-sensitive; setting it to @code{nil} disables this effect
|
||||
of upper-case characters.
|
||||
|
||||
@vindex case-fold-search
|
||||
If you set the variable @code{case-fold-search} to @code{nil}, then
|
||||
|
|
@ -1349,7 +1350,7 @@ activating the mark; use @kbd{C-u C-@key{SPC}} to move back there.
|
|||
surrounded by word boundaries.
|
||||
|
||||
@xref{Replacement and Lax Matches}, for details about
|
||||
case-sensitivity in replace commands.
|
||||
case-sensitivity and character folding in replace commands.
|
||||
|
||||
@node Regexp Replace
|
||||
@subsection Regexp Replacement
|
||||
|
|
@ -1411,13 +1412,14 @@ symbol name goes with the symbol name, so the value replaces them
|
|||
both.
|
||||
|
||||
Inside such an expression, you can use some special sequences.
|
||||
@samp{\&} and @samp{\@var{n}} refer here, as usual, to the entire
|
||||
match as a string, and to a submatch as a string. @var{n} may be
|
||||
multiple digits, and the value of @samp{\@var{n}} is @code{nil} if
|
||||
subexpression @var{n} did not match. You can also use @samp{\#&} and
|
||||
@samp{\#@var{n}} to refer to those matches as numbers (this is valid
|
||||
when the match or submatch has the form of a numeral). @samp{\#} here
|
||||
too stands for the number of already-completed replacements.
|
||||
@samp{\&} and @samp{\@var{d}} refer here, as usual, to the entire
|
||||
match as a string, and to a submatch as a string. @var{d} may be
|
||||
multiple digits, and the value of @samp{\@var{d}} is @code{nil} if the
|
||||
@var{d}'th parenthesized grouping did not match. You can also use
|
||||
@samp{\#&} and @samp{\#@var{d}} to refer to those matches as numbers
|
||||
(this is valid when the match or submatch has the form of a numeral).
|
||||
@samp{\#} here too stands for the number of already-completed
|
||||
replacements.
|
||||
|
||||
Repeating our example to exchange @samp{x} and @samp{y}, we can thus
|
||||
do it also this way:
|
||||
|
|
|
|||
|
|
@ -1322,7 +1322,7 @@ the Emacs Lisp Reference Manual
|
|||
@url{https://www.gnu.org/software/emacs}
|
||||
|
||||
@item
|
||||
@url{http://www.emacswiki.org/}
|
||||
@url{https://www.emacswiki.org/}
|
||||
@end itemize
|
||||
|
||||
@menu
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ those are governed by normal X resources (@pxref{Resources}).
|
|||
|
||||
The following sections describe how to customize GTK+ resources for
|
||||
Emacs. For details about GTK+ resources, see the GTK+ API document at
|
||||
@uref{http://developer.gnome.org/gtk2/stable/gtk2-Resource-Files.html}.
|
||||
@uref{https://developer.gnome.org/gtk2/stable/gtk2-Resource-Files.html}.
|
||||
|
||||
In GTK+ version 3, GTK+ resources have been replaced by a completely
|
||||
different system. The appearance of GTK+ widgets is now determined by
|
||||
|
|
@ -522,7 +522,7 @@ style settings (where @var{theme} is the name of the current GTK+
|
|||
theme). Therefore, the description of GTK+ resources in this section
|
||||
does not apply to GTK+ 3. For details about the GTK+ 3 styling
|
||||
system, see
|
||||
@uref{http://developer.gnome.org/gtk3/3.0/GtkCssProvider.html}.
|
||||
@uref{https://developer.gnome.org/gtk3/3.0/GtkCssProvider.html}.
|
||||
|
||||
@menu
|
||||
* GTK Resource Basics:: Basic usage of GTK+ resources.
|
||||
|
|
|
|||
|
|
@ -681,6 +681,7 @@ In case both @command{mimencode} and @command{uuencode} are
|
|||
unavailable, @value{tramp} first transfers a small Perl program to the
|
||||
remote host, and then tries that program for encoding and decoding.
|
||||
|
||||
@vindex tramp-inline-compress-start-size
|
||||
To increase transfer speeds for large text files, use compression
|
||||
before encoding. The user option
|
||||
@option{tramp-inline-compress-start-size} specifies the file size for
|
||||
|
|
@ -1023,6 +1024,7 @@ can.
|
|||
@cindex @option{adb} method
|
||||
@cindex android (with @option{adb} method)
|
||||
|
||||
@vindex tramp-adb-program
|
||||
This method uses Android Debug Bridge program for accessing Android
|
||||
devices. The Android Debug Bridge must be installed locally for
|
||||
@value{tramp} to work. Some GNU/Linux distributions provide Android
|
||||
|
|
@ -1031,6 +1033,7 @@ is installed as part of the Android SDK@. @value{tramp} finds the
|
|||
@command{adb} program either via the @env{PATH} environment variable
|
||||
or the absolute path set in the user option @option{tramp-adb-program}.
|
||||
|
||||
@vindex tramp-adb-connect-if-not-connected
|
||||
@value{tramp} connects to Android devices with @option{adb} only when
|
||||
the user option @option{tramp-adb-connect-if-not-connected} is not
|
||||
@code{nil}. Otherwise, the connection must be established outside
|
||||
|
|
@ -1696,6 +1699,7 @@ Set @code{password-cache} to @code{nil} to disable password caching.
|
|||
@cindex caching
|
||||
@vindex tramp-persistency-file-name
|
||||
|
||||
@vindex tramp-persistency-file-name
|
||||
For faster initial connection times, @value{tramp} stores previous
|
||||
connection properties in a file specified by the user option
|
||||
@option{tramp-persistency-file-name}.
|
||||
|
|
@ -1898,6 +1902,7 @@ prompts, for which @value{tramp} uses @option{tramp-wrong-passwd-regexp}.
|
|||
@cindex @command{tset} unix command
|
||||
@vindex tramp-terminal-type
|
||||
|
||||
@vindex tramp-terminal-type
|
||||
To suppress inappropriate prompts for terminal type, @value{tramp}
|
||||
sets the @env{TERM} to @code{dumb} before the remote login process
|
||||
begins via the user option @option{tramp-terminal-type}. This will
|
||||
|
|
@ -2171,6 +2176,8 @@ Disabling backups can be targeted to just the @option{su} and
|
|||
@end group
|
||||
@end lisp
|
||||
|
||||
@vindex backup-directory-alist
|
||||
@vindex tramp-backup-directory-alist
|
||||
Another option is to create better backup file naming with user and
|
||||
host names prefixed to the file name. For example, transforming
|
||||
@file{/etc/secretfile} to
|
||||
|
|
@ -2204,6 +2211,7 @@ The backup file name of
|
|||
@file{@trampfn{su,root@@localhost,~/.emacs.d/backups/![su!root@@localhost]!etc!secretfile~}}
|
||||
@end ifset
|
||||
|
||||
@vindex auto-save-file-name-transforms
|
||||
Just as for backup files, similar issues of file naming affect
|
||||
auto-saving @value{tramp} files. Auto-saved files are saved in the
|
||||
directory specified by the user option
|
||||
|
|
@ -2215,6 +2223,7 @@ compiled. Reset such values to a valid directory.
|
|||
Set @option{auto-save-file-name-transforms} to @code{nil} to save
|
||||
auto-saved files to the same directory as the original file.
|
||||
|
||||
@vindex tramp-auto-save-directory
|
||||
Alternatively, set the user option @option{tramp-auto-save-directory}
|
||||
to direct all auto saves to that location.
|
||||
|
||||
|
|
@ -2615,6 +2624,7 @@ upon first connection. Alternatively, use an absolute path or extend
|
|||
@end group
|
||||
@end lisp
|
||||
|
||||
@vindex tramp-remote-process-environment
|
||||
Customize user option @option{tramp-remote-process-environment} to
|
||||
suit the remote program's environment for the remote host.
|
||||
@option{tramp-remote-process-environment} is a list of strings
|
||||
|
|
@ -2660,11 +2670,13 @@ this. You could overwrite this behavior by evaluating
|
|||
@end group
|
||||
@end lisp
|
||||
|
||||
@value{tramp} does not use the defaults specified in
|
||||
@code{process-environment} for running @code{process-file} or
|
||||
@code{start-file-process} on remote hosts. When values from
|
||||
@code{process-environment} are needed for remote processes, then set
|
||||
them as follows:
|
||||
In addition to @option{tramp-remote-process-environment}, you can set
|
||||
environment variables for invidivual remote process calls by
|
||||
let-binding @code{process-environment}. @value{tramp} will apply any
|
||||
entries which are not present in the global default value of
|
||||
@code{process-environment} (overriding
|
||||
@option{tramp-remote-process-environment} settings, if they conflict).
|
||||
For example:
|
||||
|
||||
@lisp
|
||||
@group
|
||||
|
|
@ -2673,8 +2685,10 @@ them as follows:
|
|||
@end group
|
||||
@end lisp
|
||||
|
||||
This works only for environment variables not already set in the
|
||||
@code{process-environment}.
|
||||
Let-binding in this way works regardless of whether the process to be
|
||||
called is local or remote, since @value{tramp} would add just the
|
||||
@env{HGPLAIN} setting and local processes would take whole value of
|
||||
@code{process-environment} along with the new value of @env{HGPLAIN}.
|
||||
|
||||
For integrating other Emacs packages so @value{tramp} can execute
|
||||
remotely, please file a bug report. @xref{Bug Reports}.
|
||||
|
|
@ -3507,6 +3521,7 @@ the following code in @file{~/.emacs} file.
|
|||
How to get a Visual Warning when working with @samp{root} privileges?
|
||||
Host indication in the mode line?
|
||||
|
||||
@vindex tramp-theme-face-remapping-alist
|
||||
Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager.
|
||||
Enable it via @kbd{M-x load-theme @key{RET} tramp}. Further
|
||||
customization is explained in user option
|
||||
|
|
@ -3534,10 +3549,11 @@ then set them with a hook as follows:
|
|||
@item
|
||||
Why is @file{~/.sh_history} file on the remote host growing?
|
||||
|
||||
@vindex tramp-histfile-override
|
||||
Due to the remote shell saving tilde expansions triggered by
|
||||
@value{tramp}, the history file is probably growing rapidly.
|
||||
@value{tramp} can suppress this behaviour with the user option
|
||||
@code{tramp-histfile-override}. When set to @code{t}, environment
|
||||
@option{tramp-histfile-override}. When set to @code{t}, environment
|
||||
variable @env{HISTFILE} is unset, and environment variables
|
||||
@env{HISTFILESIZE} @env{HISTSIZE} are set to 0.
|
||||
|
||||
|
|
|
|||
|
|
@ -1714,7 +1714,13 @@ t for all Emacs integers N.
|
|||
---
|
||||
** Calls that accept floating-point integers (for use on hosts with
|
||||
limited integer range) now signal an error if arguments are not
|
||||
integral. For example '(decode-char 'ascii 0.5)' now signals an error.
|
||||
integral. For example '(decode-char 'ascii 0.5)' now signals an
|
||||
error.
|
||||
|
||||
---
|
||||
** Functions 'string-trim-left', 'string-trim-right' and 'string-trim'
|
||||
now accept optional arguments which specify the regexp of a substring
|
||||
to trim.
|
||||
|
||||
+++
|
||||
** The new function 'char-from-name' converts a Unicode name string
|
||||
|
|
|
|||
|
|
@ -619,7 +619,7 @@ Switch to the most recently selected buffer other than the current one."
|
|||
:button (:toggle . (bound-and-true-p flyspell-mode))))
|
||||
(bindings--define-key mode-line-mode-menu [auto-revert-tail-mode]
|
||||
'(menu-item "Auto revert tail (Tail)" auto-revert-tail-mode
|
||||
:help "Revert the tail of the buffer when buffer grows"
|
||||
:help "Revert the tail of the buffer when the file on disk grows"
|
||||
:enable (buffer-file-name)
|
||||
:button (:toggle . (bound-and-true-p auto-revert-tail-mode))))
|
||||
(bindings--define-key mode-line-mode-menu [auto-revert-mode]
|
||||
|
|
|
|||
|
|
@ -624,7 +624,7 @@ MIME-TYPE specifies a MIME type and parameters, which defaults to the
|
|||
value of `mm-uu-text-plain-type'."
|
||||
(let ((case-fold-search t)
|
||||
(mm-uu-text-plain-type (or mime-type mm-uu-text-plain-type))
|
||||
text-start start-point end-point file-name result entry func)
|
||||
text-start start-point end-point file-name result mm-uu-entry func)
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(cond
|
||||
|
|
@ -637,26 +637,26 @@ value of `mm-uu-text-plain-type'."
|
|||
(setq text-start (point))
|
||||
(while (re-search-forward mm-uu-beginning-regexp nil t)
|
||||
(setq start-point (match-beginning 0)
|
||||
entry nil)
|
||||
mm-uu-entry nil)
|
||||
(let ((alist mm-uu-type-alist)
|
||||
(beginning-regexp (match-string 0)))
|
||||
(while (not entry)
|
||||
(while (not mm-uu-entry)
|
||||
(if (string-match (mm-uu-beginning-regexp (car alist))
|
||||
beginning-regexp)
|
||||
(setq entry (car alist))
|
||||
(setq mm-uu-entry (car alist))
|
||||
(pop alist))))
|
||||
(if (setq func (mm-uu-function-1 entry))
|
||||
(if (setq func (mm-uu-function-1 mm-uu-entry))
|
||||
(funcall func))
|
||||
(forward-line);; in case of failure
|
||||
(when (and (not (mm-uu-configure-p (mm-uu-type entry) 'disabled))
|
||||
(let ((end-regexp (mm-uu-end-regexp entry)))
|
||||
(when (and (not (mm-uu-configure-p (mm-uu-type mm-uu-entry) 'disabled))
|
||||
(let ((end-regexp (mm-uu-end-regexp mm-uu-entry)))
|
||||
(if (not end-regexp)
|
||||
(or (setq end-point (point-max)) t)
|
||||
(prog1
|
||||
(re-search-forward end-regexp nil t)
|
||||
(forward-line)
|
||||
(setq end-point (point)))))
|
||||
(or (not (setq func (mm-uu-function-2 entry)))
|
||||
(or (not (setq func (mm-uu-function-2 mm-uu-entry)))
|
||||
(funcall func)))
|
||||
(if (and (> start-point text-start)
|
||||
(progn
|
||||
|
|
@ -675,7 +675,7 @@ value of `mm-uu-text-plain-type'."
|
|||
mm-uu-text-plain-type)
|
||||
result))
|
||||
(push
|
||||
(funcall (mm-uu-function-extract entry))
|
||||
(funcall (mm-uu-function-extract mm-uu-entry))
|
||||
result)
|
||||
(goto-char (setq text-start end-point))))
|
||||
(when result
|
||||
|
|
|
|||
|
|
@ -977,7 +977,7 @@ default is 20%."
|
|||
|
||||
(defun image--get-imagemagick-and-warn ()
|
||||
(unless (or (fboundp 'imagemagick-types) (featurep 'ns))
|
||||
(error "Can't rescale images without ImageMagick support"))
|
||||
(error "Cannot rescale images without ImageMagick support"))
|
||||
(let ((image (image--get-image)))
|
||||
(image-flush image)
|
||||
(when (fboundp 'imagemagick-types)
|
||||
|
|
|
|||
|
|
@ -425,6 +425,14 @@ See `compilation-error-regexp-alist' for format details.")
|
|||
(defvar grep-context-face 'shadow
|
||||
"Face name to use for grep context lines.")
|
||||
|
||||
(defvar grep-num-matches-found 0)
|
||||
|
||||
(defconst grep-mode-line-matches
|
||||
`(" [" (:propertize (:eval (int-to-string grep-num-matches-found))
|
||||
face ,grep-hit-face
|
||||
help-echo "Number of matches so far")
|
||||
"]"))
|
||||
|
||||
(defvar grep-mode-font-lock-keywords
|
||||
'(;; Command output lines.
|
||||
(": \\(.+\\): \\(?:Permission denied\\|No such \\(?:file or directory\\|device or address\\)\\)$"
|
||||
|
|
@ -432,7 +440,7 @@ See `compilation-error-regexp-alist' for format details.")
|
|||
;; remove match from grep-regexp-alist before fontifying
|
||||
("^Grep[/a-zA-z]* started.*"
|
||||
(0 '(face nil compilation-message nil help-echo nil mouse-face nil) t))
|
||||
("^Grep[/a-zA-z]* finished \\(?:(\\(matches found\\))\\|with \\(no matches found\\)\\).*"
|
||||
("^Grep[/a-zA-z]* finished with \\(?:\\(\\(?:[0-9]+ \\)?matches found\\)\\|\\(no matches found\\)\\).*"
|
||||
(0 '(face nil compilation-message nil help-echo nil mouse-face nil) t)
|
||||
(1 compilation-info-face nil t)
|
||||
(2 compilation-warning-face nil t))
|
||||
|
|
@ -503,21 +511,28 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
|
|||
(setenv "GREP_COLOR" "01;31")
|
||||
;; GREP_COLORS is used in GNU grep 2.5.2 and later versions
|
||||
(setenv "GREP_COLORS" "mt=01;31:fn=:ln=:bn=:se=:sl=:cx=:ne"))
|
||||
(setq-local grep-num-matches-found 0)
|
||||
(set (make-local-variable 'compilation-exit-message-function)
|
||||
(lambda (status code msg)
|
||||
(if (eq status 'exit)
|
||||
;; This relies on the fact that `compilation-start'
|
||||
;; sets buffer-modified to nil before running the command,
|
||||
;; so the buffer is still unmodified if there is no output.
|
||||
(cond ((and (zerop code) (buffer-modified-p))
|
||||
'("finished (matches found)\n" . "matched"))
|
||||
((not (buffer-modified-p))
|
||||
'("finished with no matches found\n" . "no match"))
|
||||
(t
|
||||
(cons msg code)))
|
||||
(cons msg code))))
|
||||
'grep-exit-message)
|
||||
(run-hooks 'grep-setup-hook))
|
||||
|
||||
(defun grep-exit-message (status code msg)
|
||||
"Return a status message for grep results."
|
||||
(if (eq status 'exit)
|
||||
;; This relies on the fact that `compilation-start'
|
||||
;; sets buffer-modified to nil before running the command,
|
||||
;; so the buffer is still unmodified if there is no output.
|
||||
(cond ((and (zerop code) (buffer-modified-p))
|
||||
(if (> grep-num-matches-found 0)
|
||||
(cons (format "finished with %d matches found\n" grep-num-matches-found)
|
||||
"matched")
|
||||
'("finished with matches found\n" . "matched")))
|
||||
((not (buffer-modified-p))
|
||||
'("finished with no matches found\n" . "no match"))
|
||||
(t
|
||||
(cons msg code)))
|
||||
(cons msg code)))
|
||||
|
||||
(defun grep-filter ()
|
||||
"Handle match highlighting escape sequences inserted by the grep process.
|
||||
This function is called from `compilation-filter-hook'."
|
||||
|
|
@ -535,7 +550,8 @@ This function is called from `compilation-filter-hook'."
|
|||
(while (re-search-forward "\033\\[0?1;31m\\(.*?\\)\033\\[[0-9]*m" end 1)
|
||||
(replace-match (propertize (match-string 1)
|
||||
'face nil 'font-lock-face grep-match-face)
|
||||
t t))
|
||||
t t)
|
||||
(cl-incf grep-num-matches-found))
|
||||
;; Delete all remaining escape sequences
|
||||
(goto-char beg)
|
||||
(while (re-search-forward "\033\\[[0-9;]*[mK]" end 1)
|
||||
|
|
@ -775,6 +791,8 @@ This function is called from `compilation-filter-hook'."
|
|||
grep-hit-face)
|
||||
(set (make-local-variable 'compilation-error-regexp-alist)
|
||||
grep-regexp-alist)
|
||||
(set (make-local-variable 'compilation-mode-line-errors)
|
||||
grep-mode-line-matches)
|
||||
;; compilation-directory-matcher can't be nil, so we set it to a regexp that
|
||||
;; can never match.
|
||||
(set (make-local-variable 'compilation-directory-matcher) '("\\`a\\`"))
|
||||
|
|
|
|||
|
|
@ -996,7 +996,7 @@ Within directories, only files already under version control are noticed."
|
|||
((derived-mode-p 'diff-mode) diff-vc-backend)
|
||||
;; Maybe we could even use comint-mode rather than shell-mode?
|
||||
((derived-mode-p 'dired-mode 'shell-mode 'compilation-mode)
|
||||
(vc-responsible-backend default-directory))
|
||||
(ignore-errors (vc-responsible-backend default-directory)))
|
||||
(vc-mode (vc-backend buffer-file-name))))
|
||||
|
||||
(declare-function vc-dir-current-file "vc-dir" ())
|
||||
|
|
|
|||
31
src/frame.c
31
src/frame.c
|
|
@ -342,7 +342,9 @@ DEFUN ("frame-windows-min-size", Fframe_windows_min_size,
|
|||
* of `window-min-height' (`window-min-width' if HORIZONTAL is non-nil).
|
||||
* With IGNORE non-nil the values of these variables are ignored.
|
||||
*
|
||||
* In either case, never return a value less than 1.
|
||||
* In either case, never return a value less than 1. For TTY frames,
|
||||
* additionally limit the minimum frame height to a value large enough
|
||||
* to support the menu bar, the mode line, and the echo area.
|
||||
*/
|
||||
static int
|
||||
frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
|
||||
|
|
@ -350,6 +352,7 @@ frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
|
|||
{
|
||||
struct frame *f = XFRAME (frame);
|
||||
Lisp_Object par_size;
|
||||
int retval;
|
||||
|
||||
if ((!NILP (horizontal)
|
||||
&& NUMBERP (par_size = get_frame_param (f, Qmin_width)))
|
||||
|
|
@ -362,15 +365,27 @@ frame_windows_min_size (Lisp_Object frame, Lisp_Object horizontal,
|
|||
if (min_size < 1)
|
||||
min_size = 1;
|
||||
|
||||
return (NILP (pixelwise)
|
||||
? min_size
|
||||
: min_size * (NILP (horizontal)
|
||||
? FRAME_LINE_HEIGHT (f)
|
||||
: FRAME_COLUMN_WIDTH (f)));
|
||||
retval = (NILP (pixelwise)
|
||||
? min_size
|
||||
: min_size * (NILP (horizontal)
|
||||
? FRAME_LINE_HEIGHT (f)
|
||||
: FRAME_COLUMN_WIDTH (f)));
|
||||
}
|
||||
else
|
||||
return XINT (call4 (Qframe_windows_min_size, frame, horizontal,
|
||||
ignore, pixelwise));
|
||||
retval = XINT (call4 (Qframe_windows_min_size, frame, horizontal,
|
||||
ignore, pixelwise));
|
||||
/* Don't allow too small height of text-mode frames, or else cm.c
|
||||
might abort in cmcheckmagic. */
|
||||
if ((FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) && NILP (horizontal))
|
||||
{
|
||||
int min_height = (FRAME_MENU_BAR_LINES (f)
|
||||
+ FRAME_WANTS_MODELINE_P (f)
|
||||
+ 2); /* one text line and one echo-area line */
|
||||
if (retval < min_height)
|
||||
retval = min_height;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue