From: Po Lu Date: Mon, 6 Jun 2022 11:05:36 +0000 (+0800) Subject: Improve handling of remote files during drag-and-drop X-Git-Tag: emacs-29.0.90~1910^2~196 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c3127f56387441fce09a1103324b923f55695109;p=emacs.git 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. --- 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