branch: elpa/markdown-mode commit 814556ababc2b74e1e9603afdbd1b701e09e70a0 Author: Shohei YOSHIDA <syo...@gmail.com> Commit: Shohei YOSHIDA <syo...@gmail.com>
Support D&D for Windows and multiple D&D --- markdown-mode.el | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/markdown-mode.el b/markdown-mode.el index 18fadee8ae..a914eb3741 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -10132,6 +10132,15 @@ rows and columns and the column alignment." (markdown-insert-inline-image link-text file) (markdown-insert-inline-link link-text file)))) +(defun markdown--dnd-multi-local-file-handler (urls action) + (let ((multile-urls-p (> (length urls) 1))) + (dolist (url urls) + (markdown--dnd-local-file-handler url action) + (when multile-urls-p + (insert " "))))) + +(put 'markdown--dnd-multi-local-file-handler 'dnd-multiple-handler t) + ;;; Mode Definition ========================================================== @@ -10261,8 +10270,14 @@ rows and columns and the column alignment." #'markdown--inhibit-electric-quote nil :local) ;; drag and drop handler - (setq-local dnd-protocol-alist (cons '("^file:///" . markdown--dnd-local-file-handler) - dnd-protocol-alist)) + (let ((dnd-handler (if (>= emacs-major-version 30) + #'markdown--dnd-multi-local-file-handler + #'markdown--dnd-local-file-handler))) + (setq-local dnd-protocol-alist (append + (list (cons "^file:///" dnd-handler) + (cons "^file:/[^/]" dnd-handler) + (cons "^file:[^/]" dnd-handler)) + dnd-protocol-alist))) ;; media handler (when (version< "29" emacs-version)