emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master c69deb2 179/184: ivy.el: "~~" now works as expected for /s


From: Oleh Krehel
Subject: [elpa] master c69deb2 179/184: ivy.el: "~~" now works as expected for /sudo::
Date: Wed, 16 Oct 2019 13:15:18 -0400 (EDT)

branch: master
commit c69deb264959ac130ada0a508fc041917ea56c09
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    ivy.el: "~~" now works as expected for /sudo::
    
    Fixes #2276
---
 ivy.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ivy.el b/ivy.el
index 332b394..c125779 100644
--- a/ivy.el
+++ b/ivy.el
@@ -3150,12 +3150,14 @@ Should be run via minibuffer `post-command-hook'."
                'ivy--exhibit)))
     (ivy--exhibit)))
 
-(defun ivy--magic-tilde-directory ()
-  "Return an appropriate directory for when ~ or ~/ are entered."
+(defun ivy--magic-tilde-directory (dir)
+  "Return an appropriate home for DIR for when ~ or ~/ are entered."
   (expand-file-name
    (let (remote)
-     (if (and (setq remote (file-remote-p ivy--directory))
-              (not (string-match-p "/home/\\([^/]+\\)/\\'" (file-local-name 
ivy--directory))))
+     (if (and (setq remote (file-remote-p dir))
+              (let ((local (file-local-name dir)))
+                (not (or (string= "/root/" local)
+                         (string-match-p "/home/\\([^/]+\\)/\\'" local)))))
          (concat remote "~/")
        "~/"))))
 
@@ -3199,7 +3201,7 @@ Should be run via minibuffer `post-command-hook'."
              (cond ((or (string= "~/" ivy-text)
                         (and (string= "~" ivy-text)
                              ivy-magic-tilde))
-                    (ivy--cd (ivy--magic-tilde-directory)))
+                    (ivy--cd (ivy--magic-tilde-directory ivy--directory)))
                    ((string-match "/\\'" ivy-text)
                     (ivy--magic-file-slash))))
             ((eq (ivy-state-collection ivy-last) #'internal-complete-buffer)



reply via email to

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