]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/net/tramp-gvfs.el (tramp-gvfs-local-file-name): New defun.
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 21 Dec 2024 17:12:45 +0000 (18:12 +0100)
committerEshel Yaron <me@eshelyaron.com>
Mon, 23 Dec 2024 15:20:05 +0000 (16:20 +0100)
(cherry picked from commit e59e7278924cd0dca49d4333dba188530721f5a3)

lisp/net/tramp-gvfs.el

index 9895777919f79e8b987d63e336a101f9525efba2..189a061a323df6b153bed3e0f31cbde3cf411e3d 100644 (file)
@@ -1770,6 +1770,24 @@ a downcased host name only."
        (string-match (rx bol (+ alnum) "://" (group (+ (not (any "/:"))))) url)
        (match-string 1 url)))
 
+;; This is used in GNU ELPA package tramp-locproc.el.
+(defun tramp-gvfs-local-file-name (filename)
+  "Return local mount name of FILENAME."
+  (setq filename (file-name-unquote (expand-file-name filename)))
+  (with-parsed-tramp-file-name filename nil
+    (with-tramp-file-property v localname "local-file-name"
+      ;; As long as we call `tramp-gvfs-maybe-open-connection' here,
+      ;; we cache the result.
+      (tramp-gvfs-maybe-open-connection v)
+      (let ((quoted (file-name-quoted-p localname))
+           (localname (file-name-unquote localname)))
+       (funcall
+        (if quoted #'file-name-quote #'identity)
+        (expand-file-name
+         (if (file-name-absolute-p localname)
+             (substring localname 1) localname)
+         (tramp-get-file-property v "/" "fuse-mountpoint")))))))
+
 \f
 ;; D-Bus GVFS functions.