From 091b22cb123c437324bd64c5b7d9d2596da4264c Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Sat, 21 May 2022 23:11:33 +0300 Subject: [PATCH 1/3] Fix hash table function return values in manual * doc/lispref/hash.texi (Hash Access): Reconcile documented return values of puthash and clrhash with their respective docstrings (bug#55562). --- doc/lispref/hash.texi | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index a566d898240..34eda45b236 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 From a8e72eb0e26b6671df4ef8585da38e675b15745f Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 28 Jun 2022 14:40:52 +0200 Subject: [PATCH 2/3] ; * etc/NEWS: Fix file name quotations. --- etc/NEWS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 962cfe58d10..722b0da696b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -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. From 2eba8cad204e4b663809235941d91671d2d8e6da Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Tue, 28 Jun 2022 14:41:45 +0200 Subject: [PATCH 3/3] Tramp shall not trap unrelated D-Bus errors * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector): Declare. (tramp-gvfs-file-name-handler): Let-bind it. (tramp-gvfs-dbus-event-vector): Fix docstring. (tramp-gvfs-maybe-open-connection): Do not set it globally. (Bug#56162) --- lisp/net/tramp-gvfs.el | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 3a5041c4918..4adc35bcb6d 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el @@ -841,6 +841,8 @@ Operations not mentioned here will be handled by the default Emacs primitives.") (tramp-file-name-method (tramp-dissect-file-name filename)))) (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. @@ -848,7 +850,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))) @@ -942,7 +948,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'." @@ -2121,10 +2128,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?