guix/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch
Brian Leung 76c2e51017
gnu: Add emacs-dired-toggle-sudo.
* gnu/packages/emacs-xyz.scm (emacs-dired-toggle-sudo): New variable.
* gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2019-08-05 16:02:05 +02:00

49 lines
1.7 KiB
Diff

From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001
From: eryx67 <eryx67@gmail.com>
Date: Thu, 29 Nov 2018 10:30:20 +0500
Subject: [PATCH] fix for latest emacs
---
dired-toggle-sudo.el | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el
index 386921b..fe5898e 100644
--- a/dired-toggle-sudo.el
+++ b/dired-toggle-sudo.el
@@ -37,17 +37,20 @@
unless SUDO-USER is provided."
(let* (;; Handle the case of local files. `tramp-dissect-file-name' does
;; not raise an error anymore.
- (path (if (tramp-tramp-file-p path) path (concat "/:" path)))
+ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path)))
(file-vec (or (ignore-errors (tramp-dissect-file-name
path))
(tramp-dissect-file-name
- (concat "/:" path) 1)))
+ (concat "/-::" path) 1)))
(method (tramp-file-name-method file-vec))
(user (tramp-file-name-user file-vec))
(host (tramp-file-name-host file-vec))
+ (domain (tramp-file-name-domain file-vec))
+ (port (tramp-file-name-port file-vec))
(localname (expand-file-name
(tramp-file-name-localname file-vec))))
- (when (string= system-name host)
+ (when (or (string= (system-name) host)
+ (string= "-" host))
(setq host nil))
(cond
;; remote directory -> sudo
@@ -67,7 +70,7 @@ unless SUDO-USER is provided."
(setq method "sudo" user sudo-user)))
(replace-regexp-in-string
"^/:/" "/"
- (tramp-make-tramp-file-name method user host localname))))
+ (tramp-make-tramp-file-name method domain user host port localname))))
(defun dired-toggle-sudo-find (fname)
"Create a new buffer for file name FNAME."
--
2.22.0