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

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

[nongnu] elpa/sly 0f46f91: Per #379: allow cd'ing into quirky directory


From: ELPA Syncer
Subject: [nongnu] elpa/sly 0f46f91: Per #379: allow cd'ing into quirky directory names
Date: Fri, 5 Feb 2021 08:57:11 -0500 (EST)

branch: elpa/sly
commit 0f46f91a9542599d62c0c332b39636b2941ea372
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Per #379: allow cd'ing into quirky directory names
    
    Such as names with brackets and stuff that Common Lisp pathnames
    normally don't allow.
    
    * sly.el (sly-change-directory): Use
    slynk-backend:filename-to-pathname.
    
    * contrib/sly-mrepl.el (sly-mrepl-set-directory): Use
    slynk-backend:filename-to-pathname.
---
 contrib/sly-mrepl.el | 13 ++++++++-----
 sly.el               |  3 ++-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/contrib/sly-mrepl.el b/contrib/sly-mrepl.el
index 640d9e4..3abb4fb 100644
--- a/contrib/sly-mrepl.el
+++ b/contrib/sly-mrepl.el
@@ -1311,12 +1311,15 @@ When setting this variable outside of the Customize 
interface,
 
 (defun sly-mrepl-set-directory ()
   (interactive)
-  (let ((directory (read-directory-name "New directory: "
-                                        default-directory nil t)))
+  (let ((dir (read-directory-name "New directory: "
+                                  default-directory nil t)))
+    ;; repeats logic in `sly-cd'.
     (sly-mrepl--eval-for-repl
-     `(slynk:set-default-directory ,directory))
-    (sly-mrepl--insert-note (format "Setting directory to %s" directory))
-    (cd directory)))
+     `(slynk:set-default-directory
+       (slynk-backend:filename-to-pathname
+        ,(sly-to-lisp-filename dir))))
+    (sly-mrepl--insert-note (format "Setting directory to %s" dir))
+    (cd dir)))
 
 (advice-add
  'sly-cd :around
diff --git a/sly.el b/sly.el
index 35ea024..748b183 100644
--- a/sly.el
+++ b/sly.el
@@ -4424,7 +4424,8 @@ The functions are called with the new (absolute) 
directory.")
 Return whatever slynk:set-default-directory returns."
   (let ((dir (expand-file-name directory)))
     (prog1 (sly-eval `(slynk:set-default-directory
-                       ,(sly-to-lisp-filename dir)))
+                       (slynk-backend:filename-to-pathname
+                        ,(sly-to-lisp-filename dir))))
       (sly-with-connection-buffer nil (cd-absolute dir))
       (run-hook-with-args 'sly-change-directory-hooks dir))))
 



reply via email to

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