expand-file-name is dangerous if argument doesn't begin with tilde

This commit is contained in:
dickmao 2020-01-15 15:01:40 -05:00
parent f9dfd390af
commit 8db4289890
4 changed files with 14 additions and 15 deletions

View file

@ -58,7 +58,7 @@ test-compile: clean autoloads
! ($(CASK) eval "(let ((byte-compile-error-on-warn t)) (cask-cli/build))" 2>&1 | egrep -a "(Warning|Error):") ; (ret=$$? ; $(CASK) clean-elc && exit $$ret)
.PHONY: quick
quick: $(CASK) test-compile test-ob-ein-recurse test-unit
quick: $(CASK) test-compile test-ob-ein-recurse test-unit test-init
.PHONY: test-jupyterhub
test-jupyterhub: test-compile

View file

@ -288,15 +288,14 @@ server command."
(let (result
(default-dir ein:jupyter-default-notebook-directory))
(while (or (not result) (not (file-directory-p result)))
(setq result (expand-file-name
(read-directory-name
(setq result (read-directory-name
(format "%sNotebook directory: "
(if result
(format "[%s not a directory]" result)
""))
nil
ein:jupyter-default-notebook-directory
t))))
t)))
result)
nil
(lambda (buffer url-or-port)

View file

@ -177,14 +177,14 @@
(if (ein:notebooklist-list-get url-or-port)
(ein:notebook-open url-or-port path nil callback)
(ein:notebooklist-login url-or-port callback2)))
(let* ((nbdir (expand-file-name
(read-directory-name "Notebook directory: "
(ein:process-suitable-notebook-dir filename))))
(let* ((nbdir (read-directory-name "Notebook directory: "
(ein:process-suitable-notebook-dir filename)))
(path
(concat (if ein:jupyter-use-containers
(file-name-as-directory (file-name-base ein:jupyter-docker-mount-point))
"")
(cl-subseq filename (length (file-name-as-directory nbdir)))))
(cl-subseq (expand-file-name filename)
(length (file-name-as-directory (expand-file-name nbdir))))))
(callback2 (apply-partially (lambda (path* callback* buffer url-or-port)
(pop-to-buffer buffer)
(ein:notebook-open url-or-port

View file

@ -353,7 +353,7 @@ if necessary. Install CALLBACK (i.e., cell execution) upon notebook retrieval."
(ein:jupyter-server-start
(executable-find (or (ein:eval-if-bound 'ein:jupyter-server-command)
"jupyter"))
(expand-file-name (read-directory-name "Notebook directory: " default-directory))
(read-directory-name "Notebook directory: " default-directory)
nil
callback-login
(let* ((port (url-port parsed-url))