Merge from origin/emacs-27

229995ba2c (origin/emacs-27) Fix some Texinfo markup
01e86b9fdf Fix recentf typo in Emacs manual
cd4f75bb86 Rename default function to next-error-buffer-unnavigated-c...
1dff0a8949 * lisp/image-mode.el (image-toggle-display-image): Fix fit...
a71d1787f1 * doc/misc/tramp.texi (Predefined connection information):...
079b0dc430 Delete, don't kill, dir dir fragments in icomplete-fido-ba...
6cdecc2659 Revert markup change in with-coding-priority docs
22f4fba8a9 * lisp/emulation/cua-rect.el (cua--rectangle-region-insert...
6b9eac6759 * lisp/simple.el (shell-command-on-region): Fix docstring.
43ad7dc1af Clean up D-Bus documentation (bug#41744)
c43e5ed60d * lisp/image-mode.el (image-transform-original): New comma...
6eb18a950d Move tab-bar and tab-line faces to faces.el (part of bug#4...

# Conflicts:
#	etc/NEWS
#	lisp/simple.el
This commit is contained in:
Glenn Morris 2020-06-17 08:47:53 -07:00
commit 21b03faed4
28 changed files with 650 additions and 610 deletions

View file

@ -1003,7 +1003,7 @@ variable @code{auto-revert-remote-files} to non-@code{nil}.
@vindex auto-revert-use-notify
@vindex auto-revert-interval
By default, Auto Revert mode works using @dfn{file notifications},
whereby changes in the filesystem are reported to Emacs by the OS.
whereby changes in the filesystem are reported to Emacs by the OS@.
You can disable use of file notifications by customizing the variable
@code{auto-revert-use-notify} to a @code{nil} value, then Emacs will
check for file changes by polling every five seconds. You can change
@ -2098,8 +2098,8 @@ recently-opened files, reading file names from a buffer.
If you enable Recentf mode, with @kbd{M-x recentf-mode}, the
@samp{File} menu includes a submenu containing a list of recently
opened files. @kbd{M-x recentf-save-list} saves the current
@code{recent-file-list} to a file, and @kbd{M-x recentf-edit-list}
edits it.
@code{recentf-list} to a file, and @kbd{M-x recentf-edit-list} edits
it.
@c FIXME partial-completion-mode (complete.el) is obsolete.
The @kbd{M-x ffap} command generalizes @code{find-file} with more

View file

@ -1362,15 +1362,16 @@ a recently used tab.
@findex tab-next
Switch to the next tab. If you repeat this command, it cycles through
all the tabs on the selected frame. With a positive numeric argument
N, it switches to the next Nth tab; with a negative argument N, it
switches back to the previous Nth tab.
@var{n}, it switches to the next @var{n}th tab; with a negative
argument @minus{}@var{n}, it switches back to the previous @var{n}th
tab.
@item S-C-@key{TAB}
@kindex S-C-TAB
@findex tab-previous
Switch to the previous tab. With a positive numeric argument N, it
switches to the previous Nth tab; with a negative argument N, it
switches back to the next Nth tab.
Switch to the previous tab. With a positive numeric argument @var{n},
it switches to the previous @var{n}th tab; with a negative argument
@minus{}@var{n}, it switches back to the next @var{n}th tab.
@item C-x t @key{RET} @var{tabname} @key{RET}
Switch to the tab by its name, with completion on all tab names.
@ -1392,7 +1393,7 @@ to select the tab by its number.
@findex tab-recent
Switch to the recent tab. The key combination is the modifier key
defined by @code{tab-bar-select-tab-modifiers} and the key @kbd{0}.
With a numeric argument N, switch to the Nth recent tab.
With a numeric argument @var{n}, switch to the @var{n}th recent tab.
@end table
The following commands can be used to operate on tabs:
@ -1406,9 +1407,9 @@ variable @code{tab-bar-tab-name-function}.
@item C-x t m
@findex tab-move
Move the current tab N positions to the right with a positive numeric
argument N. With a negative argument N, move the current tab
N positions to the left.
Move the current tab @var{n} positions to the right with a positive
numeric argument @var{n}. With a negative argument @minus{}@var{n},
move the current tab @var{n} positions to the left.
@end table
@findex tab-bar-history-mode
@ -1621,7 +1622,7 @@ again.
enable mouse support. You must have the gpm server installed and
running on your system in order for this to work. Note that when
this mode is enabled, you cannot use the mouse to transfer text
between Emacs and other programs which use GPM. This is due to
between Emacs and other programs which use GPM@. This is due to
limitations in GPM and the Linux kernel.
@iftex

View file

@ -1968,12 +1968,12 @@ evaluate, @emph{not} as a list of files to visit.
@item -f @var{server-file}
@itemx --server-file=@var{server-file}
Specify a server file (@pxref{TCP Emacs server}) for connecting to an
Emacs server via TCP. Alternatively, you can set the
Emacs server via TCP@. Alternatively, you can set the
@env{EMACS_SERVER_FILE} environment variable to point to the server
file. (The command-line option overrides the environment variable.)
An Emacs server usually uses a local socket to listen for connections,
but also supports connections over TCP. To connect to a TCP Emacs
but also supports connections over TCP@. To connect to a TCP Emacs
server, @command{emacsclient} needs to read a @dfn{server file}
containing the connection details of the Emacs server. The name of
this file is specified with this option, either as a file name
@ -2882,7 +2882,7 @@ widget. The URL normally defaults to the URL at or before point, but
if there is an active region (@pxref{Mark}), the default URL comes
from the region instead, after removing any whitespace from it. The
command then creates a new buffer with the embedded browser showing
the specified URL. The buffer is put in the Xwidget-WebKit mode
the specified URL@. The buffer is put in the Xwidget-WebKit mode
(similar to Image mode, @pxref{Image Mode}), which provides
one-key commands for scrolling the widget, changing its size, and
reloading it. Type @w{@kbd{C-h b}} in that buffer to see the key

View file

@ -835,7 +835,7 @@ the second and subsequent occurrences do not expand to re-binding,
but instead expand to an equality test using @code{eq}.
The following example features a @code{pcase} form
with two clauses and two @var{seqpat}, A and B.
with two clauses and two @var{seqpat}, A and B@.
Both A and B first check that @var{expval} is a
pair (using @code{pred}),
and then bind symbols to the @code{car} and @code{cdr}

View file

@ -402,7 +402,7 @@ assumptions are false if the debugger is running interpreted.
@cindex backtrace buffer
Debugger mode is derived from Backtrace mode, which is also used to
show backtraces by Edebug and ERT. (@pxref{Edebug}, and @ref{Top,the
show backtraces by Edebug and ERT@. (@pxref{Edebug}, and @ref{Top,the
ERT manual,, ert, ERT: Emacs Lisp Regression Testing}.)
@cindex stack frame

View file

@ -79,9 +79,8 @@ The message is @samp{Symbol's chain of variable indirections contains
a loop}. @xref{Variable Aliases}.
@item dbus-error
The message is @samp{D-Bus error}. This is only defined if Emacs was
compiled with D-Bus support. @xref{Errors and Events,,, dbus, D-Bus
integration in Emacs}.
The message is @samp{D-Bus error}. @xref{Errors and Events,,, dbus,
D-Bus integration in Emacs}.
@item end-of-buffer
The message is @samp{End of buffer}. @xref{Character Motion}.

View file

@ -1197,7 +1197,7 @@ inconclusive, the function returns @code{t} on Cygwin and @code{nil}
on macOS.
Currently this function always returns @code{nil} on platforms other
than MS-DOS, MS-Windows, Cygwin, and macOS. It does not detect
than MS-DOS, MS-Windows, Cygwin, and macOS@. It does not detect
case-insensitivity of mounted filesystems, such as Samba shares or
NFS-mounted Windows volumes. On remote hosts, it assumes @code{t} for
the @samp{smb} method. For all other connection methods, runtime

View file

@ -2173,7 +2173,7 @@ it on an undecorated frame.
@item override-redirect
@cindex override redirect frames
If non-@code{nil}, this means that this is an @dfn{override redirect}
frame---a frame not handled by window managers under X. Override
frame---a frame not handled by window managers under X@. Override
redirect frames have no window manager decorations, can be positioned
and resized only via Emacs' positioning and resizing functions and are
usually drawn on top of all other frames. Setting this parameter has

View file

@ -1823,9 +1823,9 @@ than all the rest.
@defmac with-coding-priority coding-systems &rest body
This macro executes @var{body}, like @code{progn} does
(@pxref{Sequencing}), with @var{coding-systems} at the front of the
priority list for coding systems. @var{coding-systems} should be a
list of coding systems to prefer during execution of @var{body}.
(@pxref{Sequencing, progn}), with @var{coding-systems} at the front of
the priority list for coding systems. @var{coding-systems} should be
a list of coding systems to prefer during execution of @var{body}.
@end defmac
@node Explicit Encoding

View file

@ -1989,7 +1989,7 @@ The result is @code{nil} if either argument is a NaN.
This returns the time difference @var{t1} @minus{} @var{t2} between
two time values, as a Lisp time value. The result is exact and its clock
resolution is no worse than the worse of its two arguments' resolutions.
The result is floating-point only if it is infinite or a NaN.
The result is floating-point only if it is infinite or a NaN@.
If you need the difference in units
of elapsed seconds, you can convert it with @code{time-convert} or
@code{float-time}. @xref{Time Conversion}.

View file

@ -5219,7 +5219,7 @@ Signaled when encountering invalid JSON syntax.
@end table
Only top-level values (arrays and objects) can be serialized to
JSON. The subobjects within these top-level values can be of any
JSON@. The subobjects within these top-level values can be of any
type. Likewise, the parsing functions will only return vectors,
hashtables, alists, and plists.

File diff suppressed because it is too large Load diff

View file

@ -143,7 +143,7 @@ executable, using the MinGW GCC compiler and development tools.
@cindex DOS port
@cindex Windows 3.11 port
Emacs can also be compiled for MSDOS. When run on recent MS Windows,
Emacs can also be compiled for MSDOS@. When run on recent MS Windows,
it supports long file names, and uses the Windows clipboard.
See the @file{msdos} directory in the Emacs sources for building
instructions (requires DJGPP).
@ -222,7 +222,7 @@ specific notes about debugging Emacs.
@cindex debugging Emacs with GDB
GDB is the GNU debugger, which can be used to debug Emacs when it has
been compiled with MinGW GCC. The best results will be obtained if
been compiled with MinGW GCC@. The best results will be obtained if
you start gdb from the @file{src} directory as @kbd{gdb ./emacs.exe}.
This will load the init file @file{.gdbinit}@footnote{
Latest versions of GDB might refuse to load the init file for security
@ -592,7 +592,7 @@ Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0
@end ignore
@smallexample
It's a binary value that lets you map keystrokes in the low-level keyboard
drivers in NT. As a result you don't have to worry about applications
drivers in NT@. As a result you don't have to worry about applications
bypassing mappings that you've done at a higher level (i.e., it just works).
Here's the format of the value:
@ -1187,7 +1187,7 @@ A lot of effort has gone into making it easier to print from Emacs on
MS Windows, but this has still been insufficient to keep up with
changes in printing technology from text and postscript based printers
connected via ports that can be accessed directly, to graphical
printers that are only accessible via USB. For details, see
printers that are only accessible via USB@. For details, see
@uref{http://www.emacswiki.org/emacs/PrintingFromEmacs, Emacs
Wiki}, @uref{http://www.emacswiki.org/emacs/PrintWithWebBrowser}, and
@uref{http://www.emacswiki.org/emacs/PrintFromWindowsExplorer}.
@ -1398,7 +1398,7 @@ default shell in Emacs, you can place the following in your init file:
@end example
WARNING: Some versions of bash set and use the environment variable
PID. For some as yet unknown reason, if @env{PID} is set and Emacs
PID@. For some as yet unknown reason, if @env{PID} is set and Emacs
passes it on to bash subshells, bash dies (Emacs can inherit the
@env{PID} variable if it's started from a bash shell). If you clear
the @env{PID} variable in your init file, you should be able to
@ -1890,9 +1890,9 @@ need to use.
@node MSVC
@section How do I use Emacs with Microsoft Visual C++
There are two ways you can use Emacs in conjunction with MSVC. You
There are two ways you can use Emacs in conjunction with MSVC@. You
can use Emacs as the editor, and do everything else in the DevStudio
IDE. Or you can use Emacs as an IDE, calling the MSVC command line
IDE@. Or you can use Emacs as an IDE, calling the MSVC command line
tools to build your project.
@menu

View file

@ -1125,7 +1125,7 @@ scanning of @code{#define}d symbols.
@cindex xref
@item
New package Xref replaces Etags's front-end and UI. Xref provides a
New package Xref replaces Etags's front-end and UI@. Xref provides a
generic framework and new commands to find and move to definitions of
functions, macros, data structures etc., as well as go back to the
location where you were before moving to a definition. It supersedes

View file

@ -134,7 +134,7 @@ order: @file{/etc/ssl/certs/ca-certificates.crt} for Debian, Ubuntu,
Gentoo and Arch Linux; @file{/etc/pki/tls/certs/ca-bundle.crt} for
Fedora and RHEL; @file{/etc/ssl/ca-bundle.pem} for Suse;
@file{/usr/ssl/certs/ca-bundle.crt} for Cygwin;
@file{/usr/local/share/certs/ca-root-nss.crt} for FreeBSD. You can
@file{/usr/local/share/certs/ca-root-nss.crt} for FreeBSD@. You can
easily customize @code{gnutls-trustfiles} to be something else, but
let us know if you do, so we can make the change to benefit the other
users of that platform.

View file

@ -689,8 +689,9 @@ retrieves via POP3?
@subsubheading Answer
Yes, if the POP3 server supports the UIDL control (maybe almost servers
do it nowadays). To do that, add a @code{:leave VALUE} pair to each
POP3 mail source. @xref{Mail Source Specifiers}, for details on VALUE.
do it nowadays). To do that, add a @code{:leave @var{value}} pair to
each POP3 mail source. @xref{Mail Source Specifiers}, for details on
@var{value}.
@node FAQ 4 - Reading messages
@subsection Reading messages

View file

@ -1116,7 +1116,7 @@ is used.
The choice between EasyPG and OpenSSL is controlled by the variable
@code{mml-smime-use}, which needs to be set to the value @code{epg}
for EasyPG. Depending on your version of Emacs that value may be the
for EasyPG@. Depending on your version of Emacs that value may be the
default; if not, you can either customize that variable or place the
following line in your @file{.emacs} file (that line needs to be
placed above other code related to message/gnus/encryption):
@ -1232,7 +1232,7 @@ decryption/sign operation. @xref{Agent Options, , , gnupg, Using the
GNU Privacy Guard}.
How to use @command{gpg-agent} in Emacs depends on your version of
GnuPG. With GnuPG version 2.1, @command{gpg-agent} is started
GnuPG@. With GnuPG version 2.1, @command{gpg-agent} is started
automatically if necessary. With older versions you may need to run
the following command from the shell before starting Emacs.

View file

@ -2046,6 +2046,12 @@ reestablished. A value of @code{nil} disables this feature. Most of
the methods do not set this property except the @option{sudo} and
@option{doas} methods, which use predefined values.
@item @t{"tmpdir"}
The temporary directory on the remote host. If not specified, the
default value is @t{"/data/local/tmp"} for the @option{adb} method,
@t{"/C$/Temp"} for the @option{smb} method, and @t{"/tmp"} otherwise.
@item @t{"posix"}
Connections using the @option{smb} method check, whether the remote

View file

@ -956,8 +956,8 @@ displays the buffer from the next command in that window. For example,
'S-M-right C-h i' displays the "*Info*" buffer in the right window,
creating the window if necessary. A special key can be customized to
display the buffer in the same window, for example, 'S-M-0 C-h e'
displays the "*Messages*" buffer in the same window. 'S-M-t C-h C-n'
displays NEWS in a new tab.
displays the "*Messages*" buffer in the same window. 'S-M-t C-h r'
displays the Emacs manual in a new tab.
+++
*** Windmove also supports directional window deletion.

View file

@ -1412,7 +1412,7 @@ With prefix arg, indent to that column."
(add-function :around region-extract-function
#'cua--rectangle-region-extract)
(add-function :around region-insert-function
#'cua--insert-rectangle)
#'cua--rectangle-region-insert)
(add-function :around redisplay-highlight-region-function
#'cua--rectangle-highlight-for-redisplay)
@ -1422,6 +1422,10 @@ With prefix arg, indent to that column."
;; already do it elsewhere.
(funcall redisplay-unhighlight-region-function (nth 3 args))))
(defun cua--rectangle-region-insert (orig &rest args)
(if (not cua--rectangle) (apply orig args)
(funcall #'cua--insert-rectangle (car args))))
(defun cua--rectangle-region-extract (orig &optional delete)
(cond
((not cua--rectangle)

View file

@ -2758,6 +2758,33 @@ Note: Other faces cannot inherit from the cursor face."
:version "21.1"
:group 'basic-faces)
(defface tab-bar
'((((class color) (min-colors 88))
:inherit variable-pitch
:background "grey85"
:foreground "black")
(((class mono))
:background "grey")
(t
:inverse-video t))
"Tab bar face."
:version "27.1"
:group 'basic-faces)
(defface tab-line
'((((class color) (min-colors 88))
:inherit variable-pitch
:height 0.9
:background "grey85"
:foreground "black")
(((class mono))
:background "grey")
(t
:inverse-video t))
"Tab line face."
:version "27.1"
:group 'basic-faces)
(defface menu
'((((type tty))
:inverse-video t)

View file

@ -300,7 +300,10 @@ if that doesn't produce a completion match."
(interactive)
(if (and (eq (char-before) ?/)
(eq (icomplete--category) 'file))
(zap-up-to-char -1 ?/)
(save-excursion
(goto-char (1- (point)))
(when (search-backward "/" (point-min) t)
(delete-region (1+ (point)) (point-max))))
(call-interactively 'backward-delete-char)))
(defvar icomplete-fido-mode-map

View file

@ -456,6 +456,7 @@ call."
(define-key map "sb" 'image-transform-fit-both)
(define-key map "ss" 'image-transform-set-scale)
(define-key map "sr" 'image-transform-set-rotation)
(define-key map "so" 'image-transform-original)
(define-key map "s0" 'image-transform-reset)
;; Multi-frame keys
@ -521,8 +522,10 @@ call."
:help "Rotate the image"]
["Set Rotation..." image-transform-set-rotation
:help "Set rotation angle of the image"]
["Reset Transformations" image-transform-reset
:help "Reset all image transformations"]
["Original Size" image-transform-original
:help "Reset image to actual size"]
["Reset to Default Size" image-transform-reset
:help "Reset all image transformations to initial size"]
"--"
["Show Thumbnails"
(lambda ()
@ -807,8 +810,12 @@ was inserted."
filename))
;; If we have a `fit-width' or a `fit-height', don't limit
;; the size of the image to the window size.
(edges (and (eq image-transform-resize t)
(window-inside-pixel-edges (get-buffer-window))))
(edges (when (eq image-transform-resize t)
(window-inside-pixel-edges (get-buffer-window))))
(max-width (when edges
(- (nth 2 edges) (nth 0 edges))))
(max-height (when edges
(- (nth 3 edges) (nth 1 edges))))
(type (if (image--imagemagick-wanted-p filename)
'imagemagick
(image-type file-or-data nil data-p)))
@ -824,14 +831,18 @@ was inserted."
(ignore-error exif-error
(exif-parse-buffer)))
0.0)))
;; Swap width and height when changing orientation
;; between portrait and landscape.
(when (and edges (zerop (mod (+ image-transform-rotation 90) 180)))
(setq max-width (prog1 max-height (setq max-height max-width))))
;; :scale 1: If we do not set this, create-image will apply
;; default scaling based on font size.
(setq image (if (not edges)
(create-image file-or-data type data-p :scale 1)
(create-image file-or-data type data-p :scale 1
:max-width (- (nth 2 edges) (nth 0 edges))
:max-height (- (nth 3 edges) (nth 1 edges)))))
:max-width max-width
:max-height max-height)))
;; Discard any stale image data before looking it up again.
(image-flush image)
@ -1382,8 +1393,15 @@ ROTATION should be in degrees."
(setq image-transform-rotation (float (mod rotation 360)))
(image-toggle-display-image))
(defun image-transform-original ()
"Display the current image with the original (actual) size and rotation."
(interactive)
(setq image-transform-resize nil
image-transform-scale 1)
(image-toggle-display-image))
(defun image-transform-reset ()
"Display the current image with the default size and rotation."
"Display the current image with the default (initial) size and rotation."
(interactive)
(setq image-transform-resize image-auto-resize
image-transform-rotation 0.0

View file

@ -182,7 +182,7 @@ caught in `condition-case' by `dbus-error'.")
;;; Basic D-Bus message functions.
(defvar dbus-return-values-table (make-hash-table :test 'equal)
"Hash table for temporary storing arguments of reply messages.
"Hash table for temporarily storing arguments of reply messages.
A key in this hash table is a list (:serial BUS SERIAL), like in
`dbus-registered-objects-table'. BUS is either a Lisp symbol,
`:system' or `:session', or a string denoting the bus address.
@ -225,10 +225,10 @@ SERVICE is the D-Bus service name to be used. PATH is the D-Bus
object path SERVICE is registered at. INTERFACE is an interface
offered by SERVICE. It must provide METHOD.
If the parameter `:timeout' is given, the following integer TIMEOUT
specifies the maximum number of milliseconds the method call must
return. The default value is 25,000. If the method call doesn't
return in time, a D-Bus error is raised.
If the parameter `:timeout' is given, the following integer
TIMEOUT specifies the maximum number of milliseconds before the
method call must return. The default value is 25,000. If the
method call doesn't return in time, a D-Bus error is raised.
All other arguments ARGS are passed to METHOD as arguments. They are
converted into D-Bus types via the following rules:
@ -248,14 +248,14 @@ Lisp objects. The type conversion happens the other direction as for
input arguments. It follows the mapping rules:
DBUS_TYPE_BOOLEAN => t or nil
DBUS_TYPE_BYTE => number
DBUS_TYPE_UINT16 => number
DBUS_TYPE_BYTE => natural number
DBUS_TYPE_UINT16 => natural number
DBUS_TYPE_INT16 => integer
DBUS_TYPE_UINT32 => number or float
DBUS_TYPE_UNIX_FD => number or float
DBUS_TYPE_INT32 => integer or float
DBUS_TYPE_UINT64 => number or float
DBUS_TYPE_INT64 => integer or float
DBUS_TYPE_UINT32 => natural number
DBUS_TYPE_UNIX_FD => natural number
DBUS_TYPE_INT32 => integer
DBUS_TYPE_UINT64 => natural number
DBUS_TYPE_INT64 => integer
DBUS_TYPE_DOUBLE => float
DBUS_TYPE_STRING => string
DBUS_TYPE_OBJECT_PATH => string
@ -268,9 +268,9 @@ input arguments. It follows the mapping rules:
Example:
\(dbus-call-method
:session \"org.gnome.seahorse\" \"/org/gnome/seahorse/keys/openpgp\"
\"org.gnome.seahorse.Keys\" \"GetKeyField\"
\"openpgp:657984B8C7A966DD\" \"simple-name\")
:session \"org.gnome.seahorse\" \"/org/gnome/seahorse/keys/openpgp\"
\"org.gnome.seahorse.Keys\" \"GetKeyField\"
\"openpgp:657984B8C7A966DD\" \"simple-name\")
=> (t (\"Philip R. Zimmermann\"))
@ -278,9 +278,9 @@ If the result of the METHOD call is just one value, the converted Lisp
object is returned instead of a list containing this single Lisp object.
\(dbus-call-method
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/devices/computer\"
\"org.freedesktop.Hal.Device\" \"GetPropertyString\"
\"system.kernel.machine\")
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/devices/computer\"
\"org.freedesktop.Hal.Device\" \"GetPropertyString\"
\"system.kernel.machine\")
=> \"i686\""
@ -357,10 +357,10 @@ HANDLER is a Lisp function, which is called when the corresponding
return message has arrived. If HANDLER is nil, no return message
will be expected.
If the parameter `:timeout' is given, the following integer TIMEOUT
specifies the maximum number of milliseconds the method call must
return. The default value is 25,000. If the method call doesn't
return in time, a D-Bus error is raised.
If the parameter `:timeout' is given, the following integer
TIMEOUT specifies the maximum number of milliseconds before the
method call must return. The default value is 25,000. If the
method call doesn't return in time, a D-Bus error is raised.
All other arguments ARGS are passed to METHOD as arguments. They are
converted into D-Bus types via the following rules:
@ -377,19 +377,19 @@ type symbols, see Info node `(dbus)Type Conversion'.
If HANDLER is a Lisp function, the function returns a key into the
hash table `dbus-registered-objects-table'. The corresponding entry
in the hash table is removed, when the return message has been arrived,
in the hash table is removed, when the return message arrives,
and HANDLER is called.
Example:
\(dbus-call-method-asynchronously
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/devices/computer\"
\"org.freedesktop.Hal.Device\" \"GetPropertyString\" \\='message
\"system.kernel.machine\")
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/devices/computer\"
\"org.freedesktop.Hal.Device\" \"GetPropertyString\" \\='message
\"system.kernel.machine\")
=> (:serial :system 2)
-| i686
-| i686"
=> (:serial :system 2)"
(or (featurep 'dbusbind)
(signal 'dbus-error (list "Emacs not compiled with dbus support")))
@ -438,8 +438,8 @@ type symbols, see Info node `(dbus)Type Conversion'.
Example:
\(dbus-send-signal
:session nil \"/org/gnu/Emacs\" \"org.gnu.Emacs.FileManager\"
\"FileModified\" \"/home/albinus/.emacs\")"
:session nil \"/org/gnu/Emacs\" \"org.gnu.Emacs.FileManager\"
\"FileModified\" \"/home/albinus/.emacs\")"
(or (featurep 'dbusbind)
(signal 'dbus-error (list "Emacs not compiled with dbus support")))
@ -625,17 +625,17 @@ SERVICE is the D-Bus service name used by the sending D-Bus object.
It can be either a known name or the unique name of the D-Bus object
sending the signal.
PATH is the D-Bus object path SERVICE is registered. INTERFACE
is an interface offered by SERVICE. It must provide SIGNAL.
HANDLER is a Lisp function to be called when the signal is
received. It must accept as arguments the values SIGNAL is
PATH is the D-Bus object path SERVICE is registered at.
INTERFACE is an interface offered by SERVICE. It must provide
SIGNAL. HANDLER is a Lisp function to be called when the signal
is received. It must accept as arguments the values SIGNAL is
sending.
SERVICE, PATH, INTERFACE and SIGNAL can be nil. This is
interpreted as a wildcard for the respective argument.
The remaining arguments ARGS can be keywords or keyword string pairs.
The meaning is as follows:
Their meaning is as follows:
`:argN' STRING:
`:pathN' STRING: This stands for the Nth argument of the
@ -643,8 +643,9 @@ signal. `:pathN' arguments can be used for object path wildcard
matches as specified by D-Bus, while an `:argN' argument
requires an exact match.
`:arg-namespace' STRING: Register for the signals, which first
argument defines the service or interface namespace STRING.
`:arg-namespace' STRING: Register for those signals, whose first
argument names a service or interface within the namespace
STRING.
`:path-namespace' STRING: Register for the object path namespace
STRING. All signals sent from an object path, which has STRING as
@ -660,8 +661,8 @@ Example:
(message \"Device %s added\" device))
\(dbus-register-signal
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/Manager\"
\"org.freedesktop.Hal.Manager\" \"DeviceAdded\" \\='my-signal-handler)
:system \"org.freedesktop.Hal\" \"/org/freedesktop/Hal/Manager\"
\"org.freedesktop.Hal.Manager\" \"DeviceAdded\" \\='my-signal-handler)
=> ((:signal :system \"org.freedesktop.Hal.Manager\" \"DeviceAdded\")
(\"org.freedesktop.Hal\" \"/org/freedesktop/Hal/Manager\" my-signal-handler))
@ -773,24 +774,24 @@ Example:
(defun dbus-register-method
(bus service path interface method handler &optional dont-register-service)
"Register for method METHOD on the D-Bus BUS.
"Register METHOD on the D-Bus BUS.
BUS is either a Lisp symbol, `:system' or `:session', or a string
denoting the bus address.
SERVICE is the D-Bus service name of the D-Bus object METHOD is
registered for. It must be a known name (See discussion of
registered for. It must be a known name (see discussion of
DONT-REGISTER-SERVICE below).
PATH is the D-Bus object path SERVICE is registered (See discussion of
DONT-REGISTER-SERVICE below). INTERFACE is the interface offered by
SERVICE. It must provide METHOD.
PATH is the D-Bus object path SERVICE is registered at (see
discussion of DONT-REGISTER-SERVICE below). INTERFACE is the
interface offered by SERVICE. It must provide METHOD.
HANDLER is a Lisp function to be called when a method call is
received. It must accept the input arguments of METHOD. The return
value of HANDLER is used for composing the returning D-Bus message.
In case HANDLER shall return a reply message with an empty argument
list, HANDLER must return the symbol `:ignore'.
If HANDLER returns a reply message with an empty argument list,
HANDLER must return the symbol `:ignore'.
When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is not
registered. This means that other D-Bus clients have no way of
@ -888,8 +889,8 @@ association to the service from D-Bus."
;;; D-Bus type conversion.
(defun dbus-string-to-byte-array (string)
"Transform STRING to list (:array :byte c1 :byte c2 ...).
STRING shall be UTF8 coded."
"Transform STRING to list (:array :byte C1 :byte C2 ...).
STRING shall be UTF-8 coded."
(if (zerop (length string))
'(:array :signature "y")
(let (result)
@ -897,7 +898,7 @@ STRING shall be UTF8 coded."
(setq result (append result (list :byte elt)))))))
(defun dbus-byte-array-to-string (byte-array &optional multibyte)
"Transform BYTE-ARRAY into UTF8 coded string.
"Transform BYTE-ARRAY into UTF-8 coded string.
BYTE-ARRAY must be a list of structure (c1 c2 ...), or a byte
array as produced by `dbus-string-to-byte-array'. The resulting
string is unibyte encoded, unless MULTIBYTE is non-nil."
@ -920,9 +921,9 @@ lower-case hex digits:
\"0123abc_xyz\\x01\\xff\" -> \"_30123abc_5fxyz_01_ff\"
i.e. similar to URI encoding, but with \"_\" taking the role of \"%\",
and a smaller allowed set. As a special case, \"\" is escaped to
\"_\".
i.e. similar to URI encoding, but with \"_\" taking the role of
\"%\", and a smaller allowed set. As a special case, \"\" is
escaped to \"_\".
Returns the escaped string. Algorithm taken from
telepathy-glib's `tp_escape_as_identifier'."
@ -963,8 +964,8 @@ the function which has been registered for this message. ARGS
are the arguments passed to HANDLER, when it is called during
event handling in `dbus-handle-event'.
This function raises a `dbus-error' signal in case the event is
not well formed."
This function signals a `dbus-error' if the event is not well
formed."
(when dbus-debug (message "DBus-Event %s" event))
(unless (and (listp event)
(eq (car event) 'dbus-event)
@ -1038,16 +1039,16 @@ If the HANDLER returns a `dbus-error', it is propagated as return message."
"Return the bus name the event is coming from.
The result is either a Lisp symbol, `:system' or `:session', or a
string denoting the bus address. EVENT is a D-Bus event, see
`dbus-check-event'. This function raises a `dbus-error' signal
in case the event is not well formed."
`dbus-check-event'. This function signals a `dbus-error' if the
event is not well formed."
(dbus-check-event event)
(nth 1 event))
(defun dbus-event-message-type (event)
"Return the message type of the corresponding D-Bus message.
The result is a number. EVENT is a D-Bus event, see
`dbus-check-event'. This function raises a `dbus-error' signal
in case the event is not well formed."
`dbus-check-event'. This function signals a `dbus-error' if the
event is not well formed."
(dbus-check-event event)
(nth 2 event))
@ -1055,41 +1056,40 @@ in case the event is not well formed."
"Return the serial number of the corresponding D-Bus message.
The result is a number. The serial number is needed for
generating a reply message. EVENT is a D-Bus event, see
`dbus-check-event'. This function raises a `dbus-error' signal
in case the event is not well formed."
`dbus-check-event'. This function signals a `dbus-error' if the
event is not well formed."
(dbus-check-event event)
(nth 3 event))
(defun dbus-event-service-name (event)
"Return the name of the D-Bus object the event is coming from.
The result is a string. EVENT is a D-Bus event, see `dbus-check-event'.
This function raises a `dbus-error' signal in case the event is
not well formed."
This function signals a `dbus-error' if the event is not well
formed."
(dbus-check-event event)
(nth 4 event))
(defun dbus-event-path-name (event)
"Return the object path of the D-Bus object the event is coming from.
The result is a string. EVENT is a D-Bus event, see `dbus-check-event'.
This function raises a `dbus-error' signal in case the event is
not well formed."
This function signals a `dbus-error' if the event is not well
formed."
(dbus-check-event event)
(nth 5 event))
(defun dbus-event-interface-name (event)
"Return the interface name of the D-Bus object the event is coming from.
The result is a string. EVENT is a D-Bus event, see `dbus-check-event'.
This function raises a `dbus-error' signal in case the event is
not well formed."
This function signals a `dbus-error' if the event is not well
formed."
(dbus-check-event event)
(nth 6 event))
(defun dbus-event-member-name (event)
"Return the member name the event is coming from.
It is either a signal name or a method name. The result is a
It is either a signal name or a method name. The result is a
string. EVENT is a D-Bus event, see `dbus-check-event'. This
function raises a `dbus-error' signal in case the event is not
well formed."
function signals a `dbus-error' if the event is not well formed."
(dbus-check-event event)
(nth 7 event))
@ -1097,10 +1097,10 @@ well formed."
;;; D-Bus registered names.
(defun dbus-list-activatable-names (&optional bus)
"Return the D-Bus service names which can be activated as list.
If BUS is left nil, `:system' is assumed. The result is a list
of strings, which is nil when there are no activatable service
names at all."
"Return a list of the D-Bus service names which can be activated.
BUS defaults to `:system' when nil or omitted. The result is a
list of strings, which is nil when there are no activatable
service names at all."
(dbus-ignore-errors
(dbus-call-method
(or bus :system) dbus-service-dbus
@ -1126,8 +1126,8 @@ A service has a known name if it doesn't start with \":\"."
(defun dbus-list-queued-owners (bus service)
"Return the unique names registered at D-Bus BUS and queued for SERVICE.
The result is a list of strings, or nil when there are no
queued name owners service names at all."
The result is a list of strings, or nil when there are no queued
name owner service names at all."
(dbus-ignore-errors
(dbus-call-method
bus dbus-service-dbus dbus-path-dbus
@ -1144,13 +1144,13 @@ The result is either a string, or nil if there is no name owner."
(defun dbus-ping (bus service &optional timeout)
"Check whether SERVICE is registered for D-Bus BUS.
TIMEOUT, a nonnegative integer, specifies the maximum number of
milliseconds `dbus-ping' must return. The default value is 25,000.
milliseconds before `dbus-ping' must return. The default value
is 25,000.
Note, that this autoloads SERVICE if it is not running yet. If
it shall be checked whether SERVICE is already running, one shall
apply
Note, that this autoloads SERVICE if it is not running yet. To
check whether SERVICE is already running, you can instead write
(member service \(dbus-list-known-names bus))"
(member service (dbus-list-known-names bus))"
;; "Ping" raises a D-Bus error if SERVICE does not exist.
;; Otherwise, it returns silently with nil.
(condition-case nil
@ -1239,11 +1239,11 @@ It returns a list of strings, which are further object paths of SERVICE."
"Return all interface names of SERVICE in D-Bus BUS at object path PATH.
It returns a list of strings.
There will be always the default interface
\"org.freedesktop.DBus.Introspectable\". Another default
interface is \"org.freedesktop.DBus.Properties\". If present,
\"interface\" objects can also have \"property\" objects as
children, beside \"method\" and \"signal\" objects."
The default interface \"org.freedesktop.DBus.Introspectable\" is
always present. Another default interface is
\"org.freedesktop.DBus.Properties\". If present, \"interface\"
objects can also have \"property\" objects as children, beside
\"method\" and \"signal\" objects."
(let ((object (dbus-introspect-xml bus service path))
result)
(dolist (elt (xml-get-children object 'interface) (nreverse result))
@ -1251,9 +1251,10 @@ children, beside \"method\" and \"signal\" objects."
(defun dbus-introspect-get-interface (bus service path interface)
"Return the INTERFACE of SERVICE in D-Bus BUS at object path PATH.
The return value is an XML object. INTERFACE must be a string,
element of the list returned by `dbus-introspect-get-interface-names'.
The resulting \"interface\" object can contain \"method\", \"signal\",
The return value is an XML object. INTERFACE must be a string
and a member of the list returned by
`dbus-introspect-get-interface-names'. The resulting
\"interface\" object can contain \"method\", \"signal\",
\"property\" and \"annotation\" children."
(let ((elt (xml-get-children
(dbus-introspect-xml bus service path) 'interface)))
@ -1273,9 +1274,9 @@ SERVICE is a service of D-Bus BUS at object path PATH."
(push (dbus-introspect-get-attribute elt "name") result))))
(defun dbus-introspect-get-method (bus service path interface method)
"Return method METHOD of interface INTERFACE as XML object.
"Return method METHOD of interface INTERFACE as an XML object.
It must be located at SERVICE in D-Bus BUS at object path PATH.
METHOD must be a string, element of the list returned by
METHOD must be a string and a member of the list returned by
`dbus-introspect-get-method-names'. The resulting \"method\"
object can contain \"arg\" and \"annotation\" children."
(let ((elt (xml-get-children
@ -1296,7 +1297,7 @@ SERVICE is a service of D-Bus BUS at object path PATH."
(push (dbus-introspect-get-attribute elt "name") result))))
(defun dbus-introspect-get-signal (bus service path interface signal)
"Return signal SIGNAL of interface INTERFACE as XML object.
"Return signal SIGNAL of interface INTERFACE as an XML object.
It must be located at SERVICE in D-Bus BUS at object path PATH.
SIGNAL must be a string, element of the list returned by
`dbus-introspect-get-signal-names'. The resulting \"signal\"
@ -1319,9 +1320,9 @@ SERVICE is a service of D-Bus BUS at object path PATH."
(push (dbus-introspect-get-attribute elt "name") result))))
(defun dbus-introspect-get-property (bus service path interface property)
"Return PROPERTY of INTERFACE as XML object.
"Return PROPERTY of INTERFACE as an XML object.
It must be located at SERVICE in D-Bus BUS at object path PATH.
PROPERTY must be a string, element of the list returned by
PROPERTY must be a string and a member of the list returned by
`dbus-introspect-get-property-names'. The resulting PROPERTY
object can contain \"annotation\" children."
(let ((elt (xml-get-children
@ -1336,7 +1337,7 @@ object can contain \"annotation\" children."
(defun dbus-introspect-get-annotation-names
(bus service path interface &optional name)
"Return all annotation names as list of strings.
"Return all annotation names as a list of strings.
If NAME is nil, the annotations are children of INTERFACE,
otherwise NAME must be a \"method\", \"signal\", or \"property\"
object, where the annotations belong to."
@ -1352,7 +1353,7 @@ object, where the annotations belong to."
(defun dbus-introspect-get-annotation
(bus service path interface name annotation)
"Return ANNOTATION as XML object.
"Return ANNOTATION as an XML object.
If NAME is nil, ANNOTATION is a child of INTERFACE, otherwise
NAME must be the name of a \"method\", \"signal\", or
\"property\" object, where the ANNOTATION belongs to."
@ -1374,7 +1375,7 @@ NAME must be the name of a \"method\", \"signal\", or
(car elt)))
(defun dbus-introspect-get-argument-names (bus service path interface name)
"Return a list of all argument names as list of strings.
"Return a list of all argument names as a list of strings.
NAME must be a \"method\" or \"signal\" object.
Argument names are optional, the function can return nil
@ -1388,8 +1389,9 @@ therefore, even if the method or signal has arguments."
(defun dbus-introspect-get-argument (bus service path interface name arg)
"Return argument ARG as XML object.
NAME must be a \"method\" or \"signal\" object. ARG must be a string,
element of the list returned by `dbus-introspect-get-argument-names'."
NAME must be a \"method\" or \"signal\" object. ARG must be a
string and a member of the list returned by
`dbus-introspect-get-argument-names'."
(let ((elt (xml-get-children
(or (dbus-introspect-get-method bus service path interface name)
(dbus-introspect-get-signal bus service path interface name))
@ -1402,7 +1404,7 @@ element of the list returned by `dbus-introspect-get-argument-names'."
(defun dbus-introspect-get-signature
(bus service path interface name &optional direction)
"Return signature of a `method' or `signal', represented by NAME, as string.
"Return signature of a `method' or `signal' represented by NAME as a string.
If NAME is a `method', DIRECTION can be either \"in\" or \"out\".
If DIRECTION is nil, \"in\" is assumed.
@ -1450,9 +1452,8 @@ valid D-Bus value, or nil if there is no PROPERTY."
(defun dbus-set-property (bus service path interface property value)
"Set value of PROPERTY of INTERFACE to VALUE.
It will be checked at BUS, SERVICE, PATH. When the value has
been set successful, the result is VALUE. Otherwise, nil is
returned."
It will be checked at BUS, SERVICE, PATH. When the value is
successfully set return VALUE. Otherwise, return nil."
(dbus-ignore-errors
;; "Set" requires a variant.
(dbus-call-method
@ -1479,15 +1480,15 @@ nil is returned."
(defun dbus-register-property
(bus service path interface property access value
&optional emits-signal dont-register-service)
"Register property PROPERTY on the D-Bus BUS.
"Register PROPERTY on the D-Bus BUS.
BUS is either a Lisp symbol, `:system' or `:session', or a string
denoting the bus address.
SERVICE is the D-Bus service name of the D-Bus. It must be a
known name (See discussion of DONT-REGISTER-SERVICE below).
known name (see discussion of DONT-REGISTER-SERVICE below).
PATH is the D-Bus object path SERVICE is registered (See
PATH is the D-Bus object path SERVICE is registered at (see
discussion of DONT-REGISTER-SERVICE below). INTERFACE is the
name of the interface used at PATH, PROPERTY is the name of the
property of INTERFACE. ACCESS indicates, whether the property
@ -1625,8 +1626,8 @@ It will be registered for all objects created by `dbus-register-property'."
"Return all objects at BUS, SERVICE, PATH, and the children of PATH.
The result is a list of objects. Every object is a cons of an
existing path name, and the list of available interface objects.
An interface object is another cons, which car is the interface
name, and the cdr is the list of properties as returned by
An interface object is another cons, whose car is the interface
name and cdr is the list of properties as returned by
`dbus-get-all-properties' for that path and interface. Example:
\(dbus-get-all-managed-objects :session \"org.gnome.SettingsDaemon\" \"/\")
@ -1782,12 +1783,13 @@ can be a string denoting the address of the corresponding bus. For
the system and session buses, this function is called when loading
`dbus.el', there is no need to call it again.
The function returns a number, which counts the connections this Emacs
session has established to the BUS under the same unique name (see
`dbus-get-unique-name'). It depends on the libraries Emacs is linked
with, and on the environment Emacs is running. For example, if Emacs
is linked with the gtk toolkit, and it runs in a GTK-aware environment
like Gnome, another connection might already be established.
The function returns the number of connections this Emacs session
has established to the BUS under the same unique name (see
`dbus-get-unique-name'). It depends on the libraries Emacs is
linked with, and on the environment Emacs is running. For
example, if Emacs is linked with the GTK+ toolkit, and it runs in
a GTK+-aware environment like GNOME, another connection might
already be established.
When PRIVATE is non-nil, a new connection is established instead of
reusing an existing one. It results in a new unique name at the bus.

View file

@ -212,7 +212,7 @@ all other buffers."
(const :tag "Single next-error capable buffer on selected frame"
next-error-buffer-on-selected-frame)
(const :tag "Current buffer if next-error capable and outside navigation"
next-error-no-navigation-try-current)
next-error-buffer-unnavigated-current)
(function :tag "Other function"))
:group 'next-error
:version "28.1")
@ -242,10 +242,9 @@ from which next-error navigated, and a target buffer TO-BUFFER."
(if (eq (length window-buffers) 1)
(car window-buffers))))
(defun next-error-no-navigation-try-current (&optional
avoid-current
extra-test-inclusive
extra-test-exclusive)
(defun next-error-buffer-unnavigated-current (&optional avoid-current
extra-test-inclusive
extra-test-exclusive)
"Try the current buffer when outside navigation.
But return nil if we navigated to the current buffer by the means
of `next-error' command. Othewise, return it if it's next-error
@ -3951,7 +3950,12 @@ is used for ERROR-BUFFER.
Optional seventh arg DISPLAY-ERROR-BUFFER, if non-nil, means to
display the error buffer if there were any errors. When called
interactively, this is t."
interactively, this is t.
Non-nil REGION-NONCONTIGUOUS-P means that the region is composed of
noncontiguous pieces. The most common example of this is a
rectangular region, where the pieces are separated by newline
characters."
(interactive (let (string)
(unless (mark)
(user-error "The mark is not set now, so there is no region"))

View file

@ -44,25 +44,12 @@
:group 'convenience
:version "27.1")
(defgroup tab-bar-faces nil
(defgroup tab-bar-faces '((tab-bar custom-face)) ; tab-bar is defined in faces.el
"Faces used in the tab bar."
:group 'tab-bar
:group 'faces
:version "27.1")
(defface tab-bar
'((((class color) (min-colors 88))
:inherit variable-pitch
:background "grey85"
:foreground "black")
(((class mono))
:background "grey")
(t
:inverse-video t))
"Tab bar face."
:version "27.1"
:group 'tab-bar-faces)
(defface tab-bar-tab
'((default
:inherit tab-bar)

View file

@ -35,26 +35,12 @@
:group 'convenience
:version "27.1")
(defgroup tab-line-faces nil
(defgroup tab-line-faces '((tab-line custom-face)) ; tab-line is defined in faces.el
"Faces used in the tab line."
:group 'tab-line
:group 'faces
:version "27.1")
(defface tab-line
'((((class color) (min-colors 88))
:inherit variable-pitch
:height 0.9
:background "grey85"
:foreground "black")
(((class mono))
:background "grey")
(t
:inverse-video t))
"Tab line face."
:version "27.1"
:group 'tab-line-faces)
(defface tab-line-tab
'((default
:inherit tab-line)

View file

@ -148,7 +148,7 @@ input and writes the uncompressed data on standard output. @code{zcat}
will uncompress files that have the correct magic number whether they
have a @samp{.gz} suffix or not.
@code{gzip} uses the Lempel-Ziv algorithm used in @code{zip} and PKZIP.
@code{gzip} uses the Lempel-Ziv algorithm used in @code{zip} and PKZIP@.
The amount of compression obtained depends on the size of the input and
the distribution of common substrings. Typically, text such as source
code or English is reduced by 60-70%. Compression is generally much