Skip to content

Commit f29f304

Browse files
author
Yuuki Harano
committed
Merge branch 'master' of https://github.com/emacs-mirror/emacs into pgtk
2 parents 9a32dab + b05aa8d commit f29f304

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2369
-731
lines changed

admin/merge-gnulib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ GNULIB_MODULES='
3737
filemode filevercmp flexmember fpieee fstatat fsusage fsync
3838
getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog
3939
ieee754-h ignore-value intprops largefile lstat
40-
manywarnings memmem-simple memrchr minmax mkostemp mktime nstrftime
40+
manywarnings memmem-simple mempcpy memrchr minmax mkostemp mktime nstrftime
4141
pathmax pipe2 pselect pthread_sigmask putenv
4242
qcopy-acl readlink readlinkat regex
4343
sig2str socklen stat-time std-gnu11 stdalign stddef stdio

doc/emacs/basic.texi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,15 @@ position as a percentage of the total. After @samp{column=} is the
696696
horizontal position of point, in columns counting from the left edge
697697
of the window.
698698

699+
@vindex what-cursor-show-names
700+
If the user option @code{what-cursor-show-names} is non-@code{nil},
701+
the name of the character, as defined by the Unicode Character
702+
Database, is shown as well. The part in parentheses would then become:
703+
704+
@smallexample
705+
(99, #o143, #x63, LATIN SMALL LETTER C)
706+
@end smallexample
707+
699708
If the buffer has been narrowed, making some of the text at the
700709
beginning and the end temporarily inaccessible, @kbd{C-x =} displays
701710
additional text describing the currently accessible range. For

doc/emacs/frames.texi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ If the region is active, move the nearer end of the region to the
9191
click position; otherwise, set mark at the current value of point and
9292
point at the click position. Save the resulting region in the kill
9393
ring; on a second click, kill it (@code{mouse-save-then-kill}).
94+
95+
@item C-M-mouse-1
96+
Activate a rectangular region around the text selected by dragging.
97+
@xref{Rectangles}.
9498
@end table
9599

96100
@findex mouse-set-point

doc/emacs/killing.texi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,9 @@ region is controlled. But remember that a given combination of point
732732
and mark values can be interpreted either as a region or as a
733733
rectangle, depending on the command that uses them.
734734

735+
A rectangular region can also be marked using the mouse: click and drag
736+
@kbd{C-M-mouse-1} from one corner of the rectangle to the opposite.
737+
735738
@table @kbd
736739
@item C-x r k
737740
Kill the text of the region-rectangle, saving its contents as the

doc/emacs/macos.texi

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,8 @@ Support}), but we hope to improve it in the future.
4848
Emacs provides a set of key bindings using this modifier key that mimic
4949
other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
5050
can change these bindings in the usual way (@pxref{Key Bindings}).
51-
52-
@vindex ns-alternate-modifier
53-
@vindex ns-right-alternate-modifier
54-
The variable @code{ns-right-alternate-modifier} controls the
55-
behavior of the right @key{Alt} and @key{Option} keys. These keys
56-
behave like the left-hand keys if the value is @code{left} (the
57-
default). A value of @code{control}, @code{meta}, @code{alt},
58-
@code{super}, or @code{hyper} makes them behave like the corresponding
59-
modifier keys; a value of @code{left} means be the same key as
60-
@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
61-
ignore them, in which case you get the default behavior of macOS
62-
accentuation system from the right @key{Option} key.
51+
The modifiers themselves can be customized;
52+
@pxref{Mac / GNUstep Customization}.
6353

6454
@kbd{S-mouse-1} adjusts the region to the click position,
6555
just like @kbd{mouse-3} (@code{mouse-save-then-kill}); it does not pop
@@ -107,6 +97,52 @@ Nextstep port. For example, they affect things such as the modifier
10797
keys and the fullscreen behavior. To see all such options, use
10898
@kbd{M-x customize-group @key{RET} ns @key{RET}}.
10999

100+
@subsection Modifier keys
101+
102+
The following variables control the behaviour of the actual modifier
103+
keys:
104+
105+
@table @code
106+
@vindex ns-alternate-modifier
107+
@vindex ns-right-alternate-modifier
108+
@item ns-alternate-modifier
109+
@itemx ns-right-alternate-modifier
110+
The left and right @key{Option} or @key{Alt} keys.
111+
112+
@vindex ns-command-modifier
113+
@vindex ns-right-command-modifier
114+
@item ns-command-modifier
115+
@itemx ns-right-command-modifier
116+
The left and right @key{Command} keys.
117+
118+
@vindex ns-control-modifier
119+
@vindex ns-right-control-modifier
120+
@item ns-control-modifier
121+
@itemx ns-right-control-modifier
122+
The left and right @key{Control} keys.
123+
124+
@vindex ns-function-modifier
125+
@item ns-function-modifier
126+
The @key{Function} (fn) key.
127+
@end table
128+
129+
The value of each variable is either a symbol, describing the key for
130+
any purpose, or a list of the form
131+
@code{(:ordinary @var{symbol} :function @var{symbol} :mouse @var{symbol})},
132+
which describes the modifier when used with ordinary keys, function keys
133+
(that do not produce a character, such as arrow keys), and mouse clicks.
134+
135+
If the @var{symbol} is one of @code{control}, @code{meta}, @code{alt},
136+
@code{super} or @code{hyper}, this describes the Emacs modifier it
137+
represents. If @var{symbol} is @code{none}, Emacs does not use the
138+
key, which retains its standard behaviour. For instance, the
139+
@key{Option} key in macOS is then used for composing additional
140+
characters.
141+
142+
The variables for right-hand keys, like @code{ns-right-alternate-modifier},
143+
may also be set to @code{left}, which means to use the same behaviour as
144+
the corresponding left-hand key.
145+
110146
@subsection Font Panel
111147

112148
@findex ns-popup-font-panel

doc/emacs/maintaining.texi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,10 @@ file listed on the current line.
991991
@file{*vc-change-log*} buffer showing the history of the entire
992992
version-controlled directory tree (RCS, SCCS, CVS, and SRC do not
993993
support this feature). With a prefix argument, the command prompts
994-
for the maximum number of revisions to display.
994+
for the maximum number of revisions to display. A numeric prefix
995+
argument specifies the maximum number of revisions without prompting.
996+
When the numeric prefix argument is @kbd{M-1}, the command prompts
997+
for the revision ID, and displays its log entry with a diff of changes.
995998

996999
The @kbd{C-x v L} history is shown in a compact form, usually
9971000
showing only the first line of each log entry. However, you can type

doc/lispref/commands.texi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,6 +1661,12 @@ events within its body. Outside of @code{track-mouse} forms, Emacs
16611661
does not generate events for mere motion of the mouse, and these
16621662
events do not appear. @xref{Mouse Tracking}.
16631663

1664+
@defvar mouse-fine-grained-tracking
1665+
When non-@code{nil}, mouse motion events are generated even for very
1666+
small movements. Otherwise, motion events are not generated as long
1667+
as the mouse cursor remains pointing to the same glyph in the text.
1668+
@end defvar
1669+
16641670
@node Focus Events
16651671
@subsection Focus Events
16661672
@cindex focus event

doc/lispref/display.texi

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,13 @@ followed by a newline.
276276
When @code{inhibit-message} is non-@code{nil}, no message will be displayed
277277
in the echo area, it will only be logged to @samp{*Messages*}.
278278

279+
If the minibuffer is active, it uses the @code{minibuffer-message}
280+
function to display the message temporarily at the end of the
281+
minibuffer (@pxref{Minibuffer Misc}).
282+
279283
If @var{format-string} is @code{nil} or the empty string,
280284
@code{message} clears the echo area; if the echo area has been
281-
expanded automatically, this brings it back to its normal size. If
282-
the minibuffer is active, this brings the minibuffer contents back
283-
onto the screen immediately.
285+
expanded automatically, this brings it back to its normal size.
284286

285287
@example
286288
@group

doc/lispref/processes.texi

Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2521,11 +2521,11 @@ expect the network traffic to be encrypted.
25212521
Either a list of the form @code{(@var{key-file} @var{cert-file})},
25222522
naming the certificate key file and certificate file itself, or
25232523
@code{t}, meaning to query @code{auth-source} for this information
2524-
(@pxref{Help for users,,auth-source, auth, Emacs auth-source Library}).
2525-
Only used for @acronym{TLS} or @acronym{STARTTLS}. If
2526-
@code{:client-certificate} is not specified, behave as if it were t,
2527-
customize @code{network-stream-use-client-certificates} to change
2528-
this.
2524+
(@pxref{Help for users,,auth-source, auth, Emacs auth-source
2525+
Library}). Only used for @acronym{TLS} or @acronym{STARTTLS}. To
2526+
enable automatic queries of @code{auth-source} when
2527+
@code{:client-certificate} is not specified customize
2528+
@code{network-stream-use-client-certificates} to t.
25292529

25302530
@item :return-list @var{cons-or-nil}
25312531
The return value of this function. If omitted or @code{nil}, return a
@@ -2971,12 +2971,67 @@ non-@code{nil} if that particular network option is supported by
29712971
on network connections. Note that they are supported only on some
29722972
systems.
29732973

2974-
@defun network-interface-list
2975-
This function returns a list describing the network interfaces
2976-
of the machine you are using. The value is an alist whose
2977-
elements have the form @code{(@var{name} . @var{address})}.
2978-
@var{address} has the same form as the @var{local-address}
2979-
and @var{remote-address} arguments to @code{make-network-process}.
2974+
@defun network-interface-list &optional full family
2975+
This function returns a list describing the network interfaces of the
2976+
machine you are using. The value is an alist whose elements have the
2977+
form @code{(@var{ifname} . @var{address})}. @var{ifname} is a string
2978+
naming the interface, @var{address} has the same form as the
2979+
@var{local-address} and @var{remote-address} arguments to
2980+
@code{make-network-process}, i.e. a vector of integers. By default
2981+
both IPv4 and IPv6 addresses are returned if possible.
2982+
2983+
Optional argument @var{full} non-@code{nil} means to instead return a
2984+
list of one or more elements of the form @w{@code{(@var{ifname}
2985+
@var{addr} @var{bcast} @var{netmask})}}. @var{ifname} is a non-unique
2986+
string naming the interface. @var{addr}, @var{bcast}, and
2987+
@var{netmask} are vectors of integers detailing the IP address,
2988+
broadcast address, and network mask.
2989+
2990+
Optional argument @var{family} specified as symbol @code{ipv4} or
2991+
@code{ipv6} restricts the returned information to IPv4 and IPv6
2992+
addresses respectively, independently of the value of @var{full}.
2993+
Speficying @code{ipv6} when IPv6 support is not available will result
2994+
in an error being signaled.
2995+
2996+
Some examples:
2997+
2998+
@example
2999+
(network-interface-list) @result{}
3000+
(("vmnet8" .
3001+
[172 16 76 1 0])
3002+
("vmnet1" .
3003+
[172 16 206 1 0])
3004+
("lo0" .
3005+
[65152 0 0 0 0 0 0 1 0])
3006+
("lo0" .
3007+
[0 0 0 0 0 0 0 1 0])
3008+
("lo0" .
3009+
[127 0 0 1 0]))
3010+
@end example
3011+
3012+
@example
3013+
(network-interface-list t) @result{}
3014+
(("vmnet8"
3015+
[172 16 76 1 0]
3016+
[172 16 76 255 0]
3017+
[255 255 255 0 0])
3018+
("vmnet1"
3019+
[172 16 206 1 0]
3020+
[172 16 206 255 0]
3021+
[255 255 255 0 0])
3022+
("lo0"
3023+
[65152 0 0 0 0 0 0 1 0]
3024+
[65152 0 0 0 65535 65535 65535 65535 0]
3025+
[65535 65535 65535 65535 0 0 0 0 0])
3026+
("lo0"
3027+
[0 0 0 0 0 0 0 1 0]
3028+
[0 0 0 0 0 0 0 1 0]
3029+
[65535 65535 65535 65535 65535 65535 65535 65535 0])
3030+
("lo0"
3031+
[127 0 0 1 0]
3032+
[127 255 255 255 0]
3033+
[255 0 0 0 0]))
3034+
@end example
29803035
@end defun
29813036

29823037
@defun network-interface-info ifname
@@ -2996,6 +3051,8 @@ The layer 2 address (Ethernet MAC address, for instance).
29963051
@item flags
29973052
The current flags of the interface.
29983053
@end table
3054+
3055+
Note that this function returns only IPv4 information.
29993056
@end defun
30003057

30013058
@defun format-network-address address &optional omit-port

doc/lispref/windows.texi

Lines changed: 64 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3920,8 +3920,13 @@ or killed, or has been already shown by a recent invocation of
39203920
If repeated invocations of this command have already shown all buffers
39213921
previously shown in @var{window}, further invocations will show buffers
39223922
from the buffer list of the frame @var{window} appears on (@pxref{Buffer
3923-
List}), trying to skip buffers that are already shown in another window
3924-
on that frame.
3923+
List}).
3924+
3925+
The option @code{switch-to-prev-buffer-skip} described below can be
3926+
used to inhibit switching to certain buffers, for example, to those
3927+
already shown in another window. Also, if @var{window}'s frame has a
3928+
@code{buffer-predicate} parameter (@pxref{Buffer Parameters}), that
3929+
predicate may inhibit switching to certain buffers.
39253930
@end deffn
39263931

39273932
@deffn Command switch-to-next-buffer &optional window
@@ -3933,20 +3938,65 @@ defaults to the selected one.
39333938
If there is no recent invocation of @code{switch-to-prev-buffer} that
39343939
can be undone, this function tries to show a buffer from the buffer list
39353940
of the frame @var{window} appears on (@pxref{Buffer List}).
3941+
3942+
The option @code{switch-to-prev-buffer-skip} and the
3943+
@code{buffer-predicate} (@pxref{Buffer Parameters}) of @var{window}'s
3944+
frame affect this command as they do for @code{switch-to-prev-buffer}.
39363945
@end deffn
39373946

3938-
By default @code{switch-to-prev-buffer} and @code{switch-to-next-buffer}
3939-
can switch to a buffer that is already shown in another window on the
3940-
same frame. The following option can be used to override this behavior.
3941-
3942-
@defopt switch-to-visible-buffer
3943-
If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and
3944-
@code{switch-to-next-buffer} may switch to a buffer that is already
3945-
visible on the same frame, provided the buffer was shown in the
3946-
relevant window before. If it is @code{nil},
3947-
@code{switch-to-prev-buffer} and @code{switch-to-next-buffer} always
3948-
try to avoid switching to a buffer that is already visible in another
3949-
window on the same frame. The default is @code{t}.
3947+
By default @code{switch-to-prev-buffer} and
3948+
@code{switch-to-next-buffer} can switch to a buffer that is already
3949+
shown in another window. The following option can be used to override
3950+
this behavior.
3951+
3952+
@defopt switch-to-prev-buffer-skip
3953+
If this variable is @code{nil}, @code{switch-to-prev-buffer} may
3954+
switch to any buffer, including those already shown in other windows.
3955+
3956+
If this variable is non-@code{nil}, @code{switch-to-prev-buffer} will
3957+
refrain from switching to certain buffers. The following values can
3958+
be used:
3959+
3960+
@itemize @bullet
3961+
@item
3962+
@code{this} means do not switch to a buffer shown on the frame that
3963+
hosts the window @code{switch-to-prev-buffer} is acting upon.
3964+
3965+
@item
3966+
@code{visible} means do not switch to a buffer shown on any visible
3967+
frame.
3968+
3969+
@item
3970+
0 (the number zero) means do not switch to a buffer shown on any
3971+
visible or iconified frame.
3972+
3973+
@item
3974+
@code{t} means do not switch to a buffer shown on any live frame.
3975+
3976+
@item
3977+
A function that takes three arguments---the @var{window} argument of
3978+
@code{switch-to-prev-buffer}, a buffer @code{switch-to-prev-buffer}
3979+
intends to switch to and the @var{bury-or-kill} argument of
3980+
@code{switch-to-prev-buffer}. If that function returns
3981+
non-@code{nil}, @code{switch-to-prev-buffer} will refrain from
3982+
switching to the buffer specified by the second argument.
3983+
@end itemize
3984+
3985+
The command @code{switch-to-next-buffer} obeys this option in a
3986+
similar way. If this option specifies a function,
3987+
@code{switch-to-next-buffer} will call that function with the third
3988+
argument always @code{nil}.
3989+
3990+
Note that since @code{switch-to-prev-buffer} is called by
3991+
@code{bury-buffer}, @code{replace-buffer-in-windows} and
3992+
@code{quit-restore-window} as well, customizing this option may also
3993+
affect the behavior of Emacs when a window is quit or a buffer gets
3994+
buried or killed.
3995+
3996+
Note also that under certain circumstances
3997+
@code{switch-to-prev-buffer} and @code{switch-to-next-buffer} may
3998+
ignore this option, for example, when there is only one buffer left
3999+
these functions can switch to.
39504000
@end defopt
39514001

39524002

0 commit comments

Comments
 (0)