From c3127f56387441fce09a1103324b923f55695109 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 6 Jun 2022 19:05:36 +0800 Subject: [PATCH] Improve handling of remote files during drag-and-drop * lisp/dnd.el (dnd-begin-drag-files): Don't fail if one remote file couldn't be downloaded. --- lisp/dnd.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/dnd.el b/lisp/dnd.el index 14d80ac6c57..0f65b5228d6 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el @@ -469,9 +469,16 @@ FILES will be dragged." (when (file-remote-p (car tem)) (when (eq action 'link) (error "Cannot create symbolic link to remote file")) - (setcar tem (file-local-copy (car tem))) - (push (car tem) dnd-last-dragged-remote-file)) + (condition-case error + (progn (setcar tem (file-local-copy (car tem))) + (push (car tem) dnd-last-dragged-remote-file)) + (error (message "Failed to download file: %s" error) + (setcar tem nil)))) (setq tem (cdr tem))) + ;; Remove any files that failed to download from a remote host. + (setq new-files (delq nil new-files)) + (unless new-files + (error "No files were specified or no remote file could be downloaded")) (unless action (setq action 'copy)) (gui-set-selection 'XdndSelection -- 2.39.2