diff --git a/src/filesystem-tree-window.lisp b/src/filesystem-tree-window.lisp index c91033b..0cf478f 100644 --- a/src/filesystem-tree-window.lisp +++ b/src/filesystem-tree-window.lisp @@ -418,7 +418,7 @@ (remove-all-children parent-node) (expand-treenode window parent-path) (win-clear window :redraw nil) - (resync-rows-db window :redraw t :selected-path parent-path))) + (resync-rows-db window :redraw t :selected-path remote-path))) (defun recursive-delete-node (window path) (with-accessors ((root-node filesystem-root) diff --git a/src/kami/client.lisp b/src/kami/client.lisp index 87a6514..0233db1 100644 --- a/src/kami/client.lisp +++ b/src/kami/client.lisp @@ -1,6 +1,6 @@ (in-package :kami) -(a:define-constant +download-buffer+ (expt 2 10) :test #'=) +(a:define-constant +download-buffer+ (expt 2 24) :test #'=) (a:define-constant +octect-type+ '(unsigned-byte 8) :test #'equalp) @@ -119,10 +119,11 @@ (with-open-file (input-stream source-path :direction :input :element-type +octect-type+) + (with-cloned-root-fid (*stream* root-fid) + (9p:remove-path *stream* root-fid destination-path)) (with-cloned-root-fid (*stream* root-fid) (let* ((buffer (misc:make-array-frame +download-buffer+ 0 +octect-type+ t)) (fid (9p:create-path *stream* root-fid destination-path))) - (loop named write-loop for read-so-far = (read-sequence buffer input-stream) then (read-sequence buffer input-stream)