diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 62649455214..d3ae673d44d 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -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 diff --git a/etc/NEWS.28 b/etc/NEWS.28 index 39bf36d92d3..7409e428de9 100644 --- a/etc/NEWS.28 +++ b/etc/NEWS.28 @@ -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. diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index fca3988b8d8..07e084768ab 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -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?