emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master a0d7caf865: Merge from origin/emacs-28


From: Stefan Kangas
Subject: master a0d7caf865: Merge from origin/emacs-28
Date: Wed, 29 Jun 2022 00:45:16 -0400 (EDT)

branch: master
commit a0d7caf865269ce8aa3cad85cabda4e5cbffd9c2
Merge: 0e6516a1f0 2eba8cad20
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    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
---
 doc/lispref/hash.texi  |  8 +++-----
 etc/NEWS.28            |  8 ++++----
 lisp/net/tramp-gvfs.el | 15 +++++++++------
 3 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi
index 6264945521..d3ae673d44 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 39bf36d92d..7409e428de 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 fca3988b8d..07e084768a 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?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]