From 6eb18a950db88515fa5103e1c7d9cd76980e5f91 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Mon, 8 Jun 2020 03:21:42 +0300 Subject: [PATCH 01/12] Move tab-bar and tab-line faces to faces.el (part of bug#41200) These are basic faces, so they need to be defined in faces.el, otherwise (get 'tab-line 'face) returns 0. * lisp/faces.el (tab-bar, tab-line): Move faces here from tab-bar.el and tab-line.el. * lisp/tab-bar.el (tab-bar): Move face to faces.el. (tab-bar-faces): Add '((tab-bar custom-face)) to the second arg MEMBERS of 'defgroup'. * lisp/tab-line.el (tab-line): Move face to faces.el. (tab-line-faces): Add '((tab-line custom-face)) to the second arg MEMBERS of 'defgroup'. --- lisp/faces.el | 27 +++++++++++++++++++++++++++ lisp/tab-bar.el | 15 +-------------- lisp/tab-line.el | 16 +--------------- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lisp/faces.el b/lisp/faces.el index 9a49ea81042..4d1d9561d49 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2738,6 +2738,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) diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el index 5c237e7130e..d97ca37a731 100644 --- a/lisp/tab-bar.el +++ b/lisp/tab-bar.el @@ -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) diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 7a2bdc0b72f..e8c4dc4d93c 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -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) From c43e5ed60d93bbe3f5f3936ccce6e77409cd6140 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Mon, 8 Jun 2020 03:30:27 +0300 Subject: [PATCH 02/12] * lisp/image-mode.el (image-transform-original): New command (bug#41222). (image-mode-map): Bind it to "so" and add to menu. --- lisp/image-mode.el | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 480b2e6b26e..b82c0669187 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -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 () @@ -1382,8 +1385,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 From 43ad7dc1af327486963e5e3a3ae8efdb454fd38d Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Sat, 6 Jun 2020 00:58:37 +0100 Subject: [PATCH 03/12] Clean up D-Bus documentation (bug#41744) * doc/lispref/errors.texi (Standard Errors): The error symbol dbus-error is defined even when Emacs is built without D-Bus. * doc/misc/dbus.texi (Bus Names, Introspection) (Nodes and Interfaces, Methods and Signal) (Properties and Annotations, Arguments and Signatures) (Synchronous Methods, Receiving Method Calls, Signals) (Alternative Buses, Errors and Events): Clarify wording. Fix indentation of and simplify examples where possible. Improve Texinfo markup and cross-referencing where possible. (Type Conversion): Ditto. Remove mentions of Emacs' fixnum range now that we have bignums. * lisp/net/dbus.el (dbus-return-values-table) (dbus-call-method-asynchronously, dbus-send-signal) (dbus-register-signal, dbus-register-method) (dbus-string-to-byte-array, dbus-byte-array-to-string) (dbus-escape-as-identifier, dbus-check-event, dbus-event-bus-name) (dbus-event-message-type, dbus-event-serial-number) (dbus-event-service-name, dbus-event-path-name) (dbus-event-interface-name, dbus-event-member-name) (dbus-list-activatable-names, dbus-list-queued-owners, dbus-ping) (dbus-introspect-get-interface-names, dbus-introspect-get-interface) (dbus-introspect-get-method, dbus-introspect-get-signal) (dbus-introspect-get-property, dbus-introspect-get-annotation-names) (dbus-introspect-get-annotation, dbus-introspect-get-argument-names) (dbus-introspect-get-argument, dbus-introspect-get-signature) (dbus-set-property, dbus-register-property) (dbus-get-all-managed-objects, dbus-init-bus): Clarify docstring and improve formatting where possible. (dbus-call-method): Ditto. Remove mentions of Emacs' fixnum range now that we have bignums. --- doc/lispref/errors.texi | 5 +- doc/misc/dbus.texi | 820 ++++++++++++++++++++-------------------- lisp/net/dbus.el | 228 +++++------ 3 files changed, 528 insertions(+), 525 deletions(-) diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index dc6877c9eca..cd8694be8a3 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi @@ -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}. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 9e5f1ccc6fd..167d2bd5ac1 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -167,7 +167,7 @@ default) or the symbol @code{:session}. An activatable service is described in a service registration file. Under GNU/Linux, such files are located at @file{/usr/share/dbus-1/system-services/} (for the @code{:system} bus) or @file{/usr/share/dbus-1/services/}. An -activatable service is not necessarily registered at @var{bus} at already. +activatable service is not necessarily registered at @var{bus} already. The result is a list of strings, which is @code{nil} when there are no activatable service names at all. Example: @@ -180,8 +180,8 @@ activatable service names at all. Example: @end defun @defun dbus-list-names bus -All service names, which are registered at D-Bus @var{bus}, are -returned. The result is a list of strings, which is @code{nil} when +This function returns all service names, which are registered at D-Bus +@var{bus}. The result is a list of strings, which is @code{nil} when there are no registered service names at all. Well known names are strings like @samp{org.freedesktop.DBus}. Names starting with @samp{:} are unique names for services. @@ -191,10 +191,10 @@ strings like @samp{org.freedesktop.DBus}. Names starting with @end defun @defun dbus-list-known-names bus -Retrieves all registered services which correspond to a known name in @var{bus}. -A service has a known name if it doesn't start with @samp{:}. The -result is a list of strings, which is @code{nil} when there are no -known names at all. +This function retrieves all registered services which correspond to a +known name in @var{bus}. A service has a known name if it doesn't +start with @samp{:}. The result is a list of strings, which is +@code{nil} when there are no known names at all. @var{bus} must be either the symbol @code{:system} or the symbol @code{:session}. @@ -202,9 +202,9 @@ known names at all. @defun dbus-list-queued-owners bus service For a given service, registered at D-Bus @var{bus} under the name -@var{service}, all queued unique names are returned. The result is a -list of strings, or @code{nil} when there are no queued names for -@var{service} at all. +@var{service}, this function returns all queued unique names. The +result is a list of strings, or @code{nil} when there are no queued +names for @var{service} at all. @var{bus} must be either the symbol @code{:system} or the symbol @code{:session}. @var{service} must be a known service name as @@ -213,9 +213,9 @@ string. @defun dbus-get-name-owner bus service For a given service, registered at D-Bus @var{bus} under the name -@var{service}, the unique name of the name owner is returned. The -result is a string, or @code{nil} when there exist no name owner of -@var{service}. +@var{service}, this function returns the unique name of the name +owner. The result is a string, or @code{nil} when there is no name +owner of @var{service}. @var{bus} must be either the symbol @code{:system} or the symbol @code{:session}. @var{service} must be a known service name as @@ -223,26 +223,28 @@ string. @end defun @defun dbus-ping bus service &optional timeout -Check whether the service name @var{service} is registered at D-Bus -@var{bus}. @var{service} might not have been started yet, it is -autostarted if possible. The result is either @code{t} or @code{nil}. +This function checks whether the service name @var{service} is +registered at D-Bus @var{bus}. If @var{service} has not yet started, +it is autostarted if possible. The result is either @code{t} or +@code{nil}. @var{bus} must be either the symbol @code{:system} or the symbol @code{:session}. @var{service} must be a string. @var{timeout}, a nonnegative integer, specifies the maximum number of milliseconds -@code{dbus-ping} must return. The default value is 25,000. Example: +before @code{dbus-ping} must return. The default value is 25,000. +Example: @lisp (message - "%s screensaver on board." - (cond - ((dbus-ping :session "org.gnome.ScreenSaver" 100) "Gnome") - ((dbus-ping :session "org.freedesktop.ScreenSaver" 100) "KDE") - (t "No"))) + "%s screensaver on board." + (cond + ((dbus-ping :session "org.gnome.ScreenSaver" 100) "Gnome") + ((dbus-ping :session "org.freedesktop.ScreenSaver" 100) "KDE") + (t "No"))) @end lisp -If it shall be checked whether @var{service} is already running -without autostarting it, one shall apply +To check whether @var{service} is already running without autostarting +it, you can instead write: @lisp (member service (dbus-list-known-names bus)) @@ -250,8 +252,9 @@ without autostarting it, one shall apply @end defun @defun dbus-get-unique-name bus -The unique name, under which Emacs is registered at D-Bus @var{bus}, -is returned as string. +@anchor{dbus-get-unique-name} +This function returns the unique name, under which Emacs is registered +at D-Bus @var{bus}, as a string. @var{bus} must be either the symbol @code{:system} or the symbol @code{:session}. @@ -380,8 +383,8 @@ format. Example: @lisp (dbus-introspect - :system "org.freedesktop.Hal" - "/org/freedesktop/Hal/devices/computer") + :system "org.freedesktop.Hal" + "/org/freedesktop/Hal/devices/computer") @result{} " 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. From 6b9eac67590cf4396cdde5a21ace8e96d30a1ea2 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Tue, 9 Jun 2020 02:28:53 +0300 Subject: [PATCH 04/12] * lisp/simple.el (shell-command-on-region): Fix docstring. * lisp/simple.el (shell-command-on-region): Mention REGION-NONCONTIGUOUS-P in docstring (bug#41440) * etc/NEWS: Better example for 'windmove-display-default-keybindings'. --- etc/NEWS | 4 ++-- lisp/simple.el | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 58bd491753a..10a6e3946e7 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -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. diff --git a/lisp/simple.el b/lisp/simple.el index 6d7600e414c..1555b376a36 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3914,7 +3914,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")) From 22f4fba8a903874ba63f8f479fa40b1dfe12850f Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 10 Jun 2020 02:03:06 +0300 Subject: [PATCH 05/12] * lisp/emulation/cua-rect.el (cua--rectangle-region-insert): New function. Add cua--insert-rectangle around region-insert-function (bug#41440). --- lisp/emulation/cua-rect.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index e99bb33dfb1..663995a0a11 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el @@ -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) From 6cdecc2659a290f4a9eddb498978e3b07d5cbc58 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Sat, 13 Jun 2020 17:53:59 +0100 Subject: [PATCH 06/12] Revert markup change in with-coding-priority docs This partially reverts commit fc759eb9b3 "Fix with-coding-priority markup in Elisp manual" of 2019-10-13T15:36:02Z!contovob@tcd.ie. For discussion, see the following thread: https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00550.html https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00473.html * doc/lispref/nonascii.texi (Specifying Coding Systems): Use more specific cross-reference to progn even if info.el displays it suboptimally. --- doc/lispref/nonascii.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 51831a05cc2..c6c78ec096e 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -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 From 079b0dc430ef9e9a6564c7138fd2f319bf9bc7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Sat, 13 Jun 2020 18:45:40 +0100 Subject: [PATCH 07/12] Delete, don't kill, dir dir fragments in icomplete-fido-backward-updir Reported by: Andrew Schwartzmeyer * lisp/icomplete.el (icomplete-fido-backward-updir): Don't save dir fragments to kill ring. --- lisp/icomplete.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 60ef0247bae..3747ae3d281 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -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 From a71d1787f128c642f8a1fb297ef5043e20218646 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 16 Jun 2020 12:34:00 +0200 Subject: [PATCH 08/12] * doc/misc/tramp.texi (Predefined connection information): Add "tmpdir". --- doc/misc/tramp.texi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 9f216d339f2..3ee01e1568a 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2023,6 +2023,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 From 1dff0a89497fec15297a97fcd643ea8475f704da Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 17 Jun 2020 01:58:32 +0300 Subject: [PATCH 09/12] * lisp/image-mode.el (image-toggle-display-image): Fix fit of rotated images. When fitting rotated image to width and height, swap width and height when changing orientation between portrait and landscape (bug#41886). --- lisp/image-mode.el | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lisp/image-mode.el b/lisp/image-mode.el index b82c0669187..1bb213c2489 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -810,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))) @@ -827,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) From cd4f75bb86e160158786b0d5a07319a49c3ad7b8 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 17 Jun 2020 02:14:12 +0300 Subject: [PATCH 10/12] Rename default function to next-error-buffer-unnavigated-current (bug#40919) * lisp/simple.el (next-error-find-buffer-function): Rename default function from next-error-no-navigation-try-current to next-error-buffer-unnavigated-current. --- lisp/simple.el | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lisp/simple.el b/lisp/simple.el index 1555b376a36..e4958de113e 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -199,7 +199,7 @@ rejected, and the function returns nil." (and extra-test-inclusive (funcall extra-test-inclusive)))))) -(defcustom next-error-find-buffer-function #'next-error-no-navigation-try-current +(defcustom next-error-find-buffer-function #'next-error-buffer-unnavigated-current "Function called to find a `next-error' capable buffer. This functions takes the same three arguments as the function `next-error-find-buffer', and should return the buffer to be @@ -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 "27.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 From 01e86b9fdf9858ca6b491a247dffcb2fcada5728 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Wed, 17 Jun 2020 01:10:20 +0100 Subject: [PATCH 11/12] Fix recentf typo in Emacs manual * doc/emacs/files.texi (File Conveniences): Fix misspelling of recentf-list. --- doc/emacs/files.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 56ce7fdea19..b95203b1f44 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -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 From 229995ba2cd9f6d0a749a38c106cbfbfd04119a8 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Wed, 17 Jun 2020 12:53:40 +0100 Subject: [PATCH 12/12] Fix some Texinfo markup * doc/misc/gnus-faq.texi (FAQ 3-11): * doc/emacs/frames.texi (Tab Bars): Consistently use @var with lower-case metasyntactic variables and @minus instead of a dash. (Text-Only Mouse): * doc/emacs/files.texi (Auto Revert): * doc/emacs/misc.texi (emacsclient Options) (Embedded WebKit Widgets): * doc/lispref/control.texi (pcase Macro): * doc/lispref/debugging.texi (Backtraces): * doc/lispref/files.texi (Truenames): * doc/lispref/frames.texi (Management Parameters): * doc/lispref/os.texi (Time Calculations): * doc/lispref/text.texi (Parsing JSON): * doc/misc/efaq-w32.texi (Other versions of Emacs, Debugging) (Swap Caps NT, Printing, Bash, Developing with Emacs): * doc/misc/efaq.texi (New in Emacs 25): * doc/misc/emacs-gnutls.texi (Help For Users): * doc/misc/message.texi (Using S/MIME, Passphrase caching): * test/manual/etags/tex-src/gzip.texi (Overview): Use @. when a sentence in the middle of a paragraph ends with an upper-case letter as per "(texinfo) Ending a Sentence". --- doc/emacs/files.texi | 2 +- doc/emacs/frames.texi | 21 +++++++++++---------- doc/emacs/misc.texi | 6 +++--- doc/lispref/control.texi | 2 +- doc/lispref/debugging.texi | 2 +- doc/lispref/files.texi | 2 +- doc/lispref/frames.texi | 2 +- doc/lispref/os.texi | 2 +- doc/lispref/text.texi | 2 +- doc/misc/efaq-w32.texi | 14 +++++++------- doc/misc/efaq.texi | 2 +- doc/misc/emacs-gnutls.texi | 2 +- doc/misc/gnus-faq.texi | 5 +++-- doc/misc/message.texi | 4 ++-- test/manual/etags/tex-src/gzip.texi | 2 +- 15 files changed, 36 insertions(+), 34 deletions(-) diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index b95203b1f44..5998326ffef 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -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 diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 8f448e1aedc..e0eabe38d06 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -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 diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 47f195d0b20..2f02c702512 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -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 diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 58f93366fe9..01ae94ea7dd 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -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} diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 24ec656028f..29a0ab71ea4 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi @@ -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 diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index bdda59f415d..6ca2834fbd4 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1190,7 +1190,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 diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 26546ab0964..7b37472f133 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -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 diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index d600916d985..1c3be1c7ef6 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1988,7 +1988,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}. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 0bbb0aa8dc0..5d83e7bd6cc 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -5216,7 +5216,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. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 83dd176f984..bbfc86b111e 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -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 diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 132e8ffaa93..b2ed60b8d80 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -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 diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index 555a4b1b56e..7c57cc032c7 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -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. diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index fd285396c40..9c1d2d0160a 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -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 diff --git a/doc/misc/message.texi b/doc/misc/message.texi index f9527ee7864..bdd31b1fe49 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -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. diff --git a/test/manual/etags/tex-src/gzip.texi b/test/manual/etags/tex-src/gzip.texi index ea5f7f5879e..72c5c7e93b6 100644 --- a/test/manual/etags/tex-src/gzip.texi +++ b/test/manual/etags/tex-src/gzip.texi @@ -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