Merge from origin/emacs-28

2eba8cad20 Tramp shall not trap unrelated D-Bus errors
a8e72eb0e2 ; * etc/NEWS: Fix file name quotations.
091b22cb12 Fix hash table function return values in manual

# Conflicts:
#	etc/NEWS
This commit is contained in:
Stefan Kangas 2022-06-29 06:31:15 +02:00
commit a0d7caf865
3 changed files with 16 additions and 15 deletions

View file

@ -203,7 +203,8 @@ association in @var{table}.
@defun puthash key value table
This function enters an association for @var{key} in @var{table}, with
value @var{value}. If @var{key} already has an association in
@var{table}, @var{value} replaces the old associated value.
@var{table}, @var{value} replaces the old associated value. This
function always returns @var{value}.
@end defun
@defun remhash key table
@ -219,10 +220,7 @@ otherwise. In Emacs Lisp, @code{remhash} always returns @code{nil}.
@defun clrhash table
This function removes all the associations from hash table @var{table},
so that it becomes empty. This is also called @dfn{clearing} the hash
table.
@b{Common Lisp note:} In Common Lisp, @code{clrhash} returns the empty
@var{table}. In Emacs Lisp, it returns @code{nil}.
table. @code{clrhash} returns the empty @var{table}.
@end defun
@defun maphash function table

View file

@ -20,19 +20,19 @@ with a prefix argument or by typing 'C-u C-h C-n'.
** To install the Emacs binary in a non-standard directory, use '--bindir='.
If you install Emacs in a way that places the Emacs executable file in
a directory other than ${prefix}/bin, you will now need to specify
a directory other than "${prefix}/bin", you will now need to specify
that at configure time, if you build Emacs with native-compilation
support. To this end, add the '--bindir=DIRECTORY' switch to the
command line of the 'configure' script, where DIRECTORY is the
directory in which you will install the executable file 'emacs'. This
is required even if you place a symlink under ${prefix}/bin that
directory in which you will install the executable file "emacs". This
is required even if you place a symlink under "${prefix}/bin" that
points to the real executable file in some other DIRECTORY.
It is no longer enough to specify 'bindir=DIRECTORY' on the command
line of the "make install" command.
The reason for this new requirement is that Emacs needs to locate at
startup the directory with its '*.eln' natively-compiled files for the
startup the directory with its "*.eln" natively-compiled files for the
preloaded Lisp packages, and the relative name of that directory needs
therefore to be recorded in the executable as part of the build.

View file

@ -839,6 +839,8 @@ Operations not mentioned here will be handled by the default Emacs primitives.")
(let ((method (tramp-file-name-method vec)))
(and (stringp method) (member method tramp-gvfs-methods)))))
(defvar tramp-gvfs-dbus-event-vector)
;;;###tramp-autoload
(defun tramp-gvfs-file-name-handler (operation &rest args)
"Invoke the GVFS related OPERATION and ARGS.
@ -846,7 +848,11 @@ First arg specifies the OPERATION, second arg is a list of
arguments to pass to the OPERATION."
(unless tramp-gvfs-enabled
(tramp-user-error nil "Package `tramp-gvfs' not supported"))
(if-let ((fn (assoc operation tramp-gvfs-file-name-handler-alist)))
(if-let ((filename (apply #'tramp-file-name-for-operation operation args))
(tramp-gvfs-dbus-event-vector
(and (tramp-tramp-file-p filename)
(tramp-dissect-file-name filename)))
(fn (assoc operation tramp-gvfs-file-name-handler-alist)))
(save-match-data (apply (cdr fn) args))
(tramp-run-real-handler operation args)))
@ -936,7 +942,8 @@ The call will be traced by Tramp with trace level 6."
(defvar tramp-gvfs-dbus-event-vector nil
"Current Tramp file name to be used, as vector.
It is needed when D-Bus signals or errors arrive, because there
is no information where to trace the message.")
is no information where to trace the message.
Globally, the value shall always be nil; it is bound where needed.")
(defun tramp-gvfs-dbus-event-error (event err)
"Called when a D-Bus error message arrives, see `dbus-event-error-functions'."
@ -2135,10 +2142,6 @@ connection if a previous connection has died for some reason."
(unless (tramp-connectable-p vec)
(throw 'non-essential 'non-essential))
;; We set the file name, in case there are incoming D-Bus signals or
;; D-Bus errors.
(setq tramp-gvfs-dbus-event-vector vec)
;; For password handling, we need a process bound to the connection
;; buffer. Therefore, we create a dummy process. Maybe there is a
;; better solution?