Subject: bug#43470: 27.1; Drag and Drop not working properly in 27.1 on OSX

From: "Paul Magwene, Ph.D." <[email-masked]>
Date: Fri, 18 Sep 2020 23:22:46 +0000

> On Sep 18, 2020, at 6:15 PM, Alan Third <[email-masked]> wrote:
> 
> On Fri, Sep 18, 2020 at 05:27:17PM -0400, Paul Magwene wrote:
>> I can confirm this patch restores basic drag-and-drop functionality -- for
>> example I can drag URLs from a browser into emacs.
>> 
>> However, there still seems to be regression with respect to the behavior of
>> the package org-download (https://urldefense.com/v3/__https://github.com/abo-abo/org-download__;!!OToaGQ!8m3-afgTMTEJM6rEIKhlRQZ4Hu1ZcDjjtoDKEKWvNfsYjq_DrTj5_mBe8gX44ZvuVvg$ ) -- images
>> dragged from a web browser are no longer recognized as attachments, only
>> their URLs are getting pasted.
> 
> Try holding the option key when dragging into the Emacs frame.
> 
> Emacs 26 didn't handle drag and drop according to Apple's guidelines,
> which meant that different source applications were able to force
> Emacs to handle drag and drop in apparently arbitrary ways.
> 
> It didn't help that changing which keys worked as meta and super
> affected the drag and drop in unexpected ways too!
> 
> The result was that there was no way to be able to predict what would
> happen when you dragged something into Emacs. For example, dragging
> highlighted text from iTerm would result in Emacs doing something
> different than when dragging highlighted text from TextEdit.
> 
> More info here:
> 
> https://urldefense.com/v3/__http://emacs.1067599.n8.nabble.com/bug-30929-26-0-91-Text-drag-and-drop-does-not-work-td451899.html__;!!OToaGQ!8m3-afgTMTEJM6rEIKhlRQZ4Hu1ZcDjjtoDKEKWvNfsYjq_DrTj5_mBe8gX42IpwYfI$ 
> 
> -- 
> Alan Third

My testing suggests that there's still source application specific behavior.

* Simple drag of images works when Safari or Chrome is the web browser.

* No combination of Option, Command, or Control seems to work in Firefox; the drag behavior always produces a URL.

So I guess the patch partially fixes the regression.  Given the state of the OS X api I'm not sure what the best way forward is. I'd try and jump in to contribute but I unfortunately have zero experience working with Objective C or programming against Apple's APIs

Best,
Paul