aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Kangas2022-06-29 06:31:15 +0200
committerStefan Kangas2022-06-29 06:31:15 +0200
commita0d7caf865269ce8aa3cad85cabda4e5cbffd9c2 (patch)
treefd9df04952f7dd9568b3922593cd6ed15628af91
parent0e6516a1f022e18f4e32848331954deb0e850d4e (diff)
parent2eba8cad204e4b663809235941d91671d2d8e6da (diff)
downloademacs-a0d7caf865269ce8aa3cad85cabda4e5cbffd9c2.tar.gz
emacs-a0d7caf865269ce8aa3cad85cabda4e5cbffd9c2.zip
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
-rw-r--r--doc/lispref/hash.texi8
-rw-r--r--etc/NEWS.288
-rw-r--r--lisp/net/tramp-gvfs.el15
3 files changed, 16 insertions, 15 deletions
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}.
203@defun puthash key value table 203@defun puthash key value table
204This function enters an association for @var{key} in @var{table}, with 204This function enters an association for @var{key} in @var{table}, with
205value @var{value}. If @var{key} already has an association in 205value @var{value}. If @var{key} already has an association in
206@var{table}, @var{value} replaces the old associated value. 206@var{table}, @var{value} replaces the old associated value. This
207function always returns @var{value}.
207@end defun 208@end defun
208 209
209@defun remhash key table 210@defun remhash key table
@@ -219,10 +220,7 @@ otherwise. In Emacs Lisp, @code{remhash} always returns @code{nil}.
219@defun clrhash table 220@defun clrhash table
220This function removes all the associations from hash table @var{table}, 221This function removes all the associations from hash table @var{table},
221so that it becomes empty. This is also called @dfn{clearing} the hash 222so that it becomes empty. This is also called @dfn{clearing} the hash
222table. 223table. @code{clrhash} returns the empty @var{table}.
223
224@b{Common Lisp note:} In Common Lisp, @code{clrhash} returns the empty
225@var{table}. In Emacs Lisp, it returns @code{nil}.
226@end defun 224@end defun
227 225
228@defun maphash function table 226@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'.
20 20
21** To install the Emacs binary in a non-standard directory, use '--bindir='. 21** To install the Emacs binary in a non-standard directory, use '--bindir='.
22If you install Emacs in a way that places the Emacs executable file in 22If you install Emacs in a way that places the Emacs executable file in
23a directory other than ${prefix}/bin, you will now need to specify 23a directory other than "${prefix}/bin", you will now need to specify
24that at configure time, if you build Emacs with native-compilation 24that at configure time, if you build Emacs with native-compilation
25support. To this end, add the '--bindir=DIRECTORY' switch to the 25support. To this end, add the '--bindir=DIRECTORY' switch to the
26command line of the 'configure' script, where DIRECTORY is the 26command line of the 'configure' script, where DIRECTORY is the
27directory in which you will install the executable file 'emacs'. This 27directory in which you will install the executable file "emacs". This
28is required even if you place a symlink under ${prefix}/bin that 28is required even if you place a symlink under "${prefix}/bin" that
29points to the real executable file in some other DIRECTORY. 29points to the real executable file in some other DIRECTORY.
30 30
31It is no longer enough to specify 'bindir=DIRECTORY' on the command 31It is no longer enough to specify 'bindir=DIRECTORY' on the command
32line of the "make install" command. 32line of the "make install" command.
33 33
34The reason for this new requirement is that Emacs needs to locate at 34The reason for this new requirement is that Emacs needs to locate at
35startup the directory with its '*.eln' natively-compiled files for the 35startup the directory with its "*.eln" natively-compiled files for the
36preloaded Lisp packages, and the relative name of that directory needs 36preloaded Lisp packages, and the relative name of that directory needs
37therefore to be recorded in the executable as part of the build. 37therefore to be recorded in the executable as part of the build.
38 38
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.")
839 (let ((method (tramp-file-name-method vec))) 839 (let ((method (tramp-file-name-method vec)))
840 (and (stringp method) (member method tramp-gvfs-methods))))) 840 (and (stringp method) (member method tramp-gvfs-methods)))))
841 841
842(defvar tramp-gvfs-dbus-event-vector)
843
842;;;###tramp-autoload 844;;;###tramp-autoload
843(defun tramp-gvfs-file-name-handler (operation &rest args) 845(defun tramp-gvfs-file-name-handler (operation &rest args)
844 "Invoke the GVFS related OPERATION and ARGS. 846 "Invoke the GVFS related OPERATION and ARGS.
@@ -846,7 +848,11 @@ First arg specifies the OPERATION, second arg is a list of
846arguments to pass to the OPERATION." 848arguments to pass to the OPERATION."
847 (unless tramp-gvfs-enabled 849 (unless tramp-gvfs-enabled
848 (tramp-user-error nil "Package `tramp-gvfs' not supported")) 850 (tramp-user-error nil "Package `tramp-gvfs' not supported"))
849 (if-let ((fn (assoc operation tramp-gvfs-file-name-handler-alist))) 851 (if-let ((filename (apply #'tramp-file-name-for-operation operation args))
852 (tramp-gvfs-dbus-event-vector
853 (and (tramp-tramp-file-p filename)
854 (tramp-dissect-file-name filename)))
855 (fn (assoc operation tramp-gvfs-file-name-handler-alist)))
850 (save-match-data (apply (cdr fn) args)) 856 (save-match-data (apply (cdr fn) args))
851 (tramp-run-real-handler operation args))) 857 (tramp-run-real-handler operation args)))
852 858
@@ -936,7 +942,8 @@ The call will be traced by Tramp with trace level 6."
936(defvar tramp-gvfs-dbus-event-vector nil 942(defvar tramp-gvfs-dbus-event-vector nil
937 "Current Tramp file name to be used, as vector. 943 "Current Tramp file name to be used, as vector.
938It is needed when D-Bus signals or errors arrive, because there 944It is needed when D-Bus signals or errors arrive, because there
939is no information where to trace the message.") 945is no information where to trace the message.
946Globally, the value shall always be nil; it is bound where needed.")
940 947
941(defun tramp-gvfs-dbus-event-error (event err) 948(defun tramp-gvfs-dbus-event-error (event err)
942 "Called when a D-Bus error message arrives, see `dbus-event-error-functions'." 949 "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."
2135 (unless (tramp-connectable-p vec) 2142 (unless (tramp-connectable-p vec)
2136 (throw 'non-essential 'non-essential)) 2143 (throw 'non-essential 'non-essential))
2137 2144
2138 ;; We set the file name, in case there are incoming D-Bus signals or
2139 ;; D-Bus errors.
2140 (setq tramp-gvfs-dbus-event-vector vec)
2141
2142 ;; For password handling, we need a process bound to the connection 2145 ;; For password handling, we need a process bound to the connection
2143 ;; buffer. Therefore, we create a dummy process. Maybe there is a 2146 ;; buffer. Therefore, we create a dummy process. Maybe there is a
2144 ;; better solution? 2147 ;; better solution?