branch: master
commit 31e801f4918d990af49f23c145e68f15b0ff50ec
Author: Oleh Krehel <[email protected]>
Commit: Oleh Krehel <[email protected]>

    ivy.el (ivy-backward-delete-char): Preselect last dir
    
    Fixes #1257
---
 ivy.el | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/ivy.el b/ivy.el
index 1b4fec3..5e147d9 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1229,11 +1229,19 @@ On error (read-only), call `ivy-on-del-error-function'."
   (interactive)
   (if (and ivy--directory (= (minibuffer-prompt-end) (point)))
       (progn
-        (ivy--cd (file-name-directory
-                  (directory-file-name
-                   (expand-file-name
-                    ivy--directory))))
-        (ivy--exhibit))
+        (let ((old-dir (file-name-nondirectory
+                        (directory-file-name ivy--directory)))
+              idx)
+          (ivy--cd (file-name-directory
+                    (directory-file-name
+                     (expand-file-name
+                      ivy--directory))))
+          (ivy--exhibit)
+          (when (setq idx (cl-position
+                           (file-name-as-directory old-dir)
+                           ivy--old-cands
+                           :test 'equal))
+            (ivy-set-index idx))))
     (condition-case nil
         (backward-delete-char 1)
       (error

Reply via email to