From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Third Newsgroups: gmane.emacs.bugs Subject: bug#30929: 26.0.91; Text drag and drop does not work Date: Sun, 25 Mar 2018 12:57:32 +0100 Message-ID: <20180325115732.GA52626@breton.holly.idiocy.org> References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1521979000 30453 195.159.176.226 (25 Mar 2018 11:56:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 25 Mar 2018 11:56:40 +0000 (UTC) User-Agent: Mutt/1.9.3 (2018-01-21) Cc: 30929@debbugs.gnu.org To: Nick Helm Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 25 13:56:36 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f04GK-0007ph-1p for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 Mar 2018 13:56:36 +0200 Original-Received: from localhost ([::1]:50858 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f04IN-0006Cl-Ii for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 Mar 2018 07:58:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54507) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f04Hl-0005lH-I8 for bug-gnu-emacs@gnu.org; Sun, 25 Mar 2018 07:58:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f04Hj-0003VP-20 for bug-gnu-emacs@gnu.org; Sun, 25 Mar 2018 07:58:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:44267) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f04Hi-0003VJ-Rl for bug-gnu-emacs@gnu.org; Sun, 25 Mar 2018 07:58:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1f04Hi-0003f3-HJ for bug-gnu-emacs@gnu.org; Sun, 25 Mar 2018 07:58:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Mar 2018 11:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30929 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 30929-submit@debbugs.gnu.org id=B30929.152197906314039 (code B ref 30929); Sun, 25 Mar 2018 11:58:02 +0000 Original-Received: (at 30929) by debbugs.gnu.org; 25 Mar 2018 11:57:43 +0000 Original-Received: from localhost ([127.0.0.1]:52164 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f04HP-0003eN-3S for submit@debbugs.gnu.org; Sun, 25 Mar 2018 07:57:43 -0400 Original-Received: from mail-wr0-f181.google.com ([209.85.128.181]:39600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f04HN-0003e8-Ir for 30929@debbugs.gnu.org; Sun, 25 Mar 2018 07:57:41 -0400 Original-Received: by mail-wr0-f181.google.com with SMTP id c24so16167890wrc.6 for <30929@debbugs.gnu.org>; Sun, 25 Mar 2018 04:57:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Uex/N8k1hofXTqckWMOvR5gjSkpq8AWZ/V6hrga+Dq0=; b=PV3c4WBC0nEjLDPxm5UK4Qx5RkQeQ422jqHoAPEkicqd40NxNV4tQ+RQMNjakSsQFt ImmfbxnyUd3C80IuQ0FrHlhkRSNRFK4a7c2JpcCArdn78TwAdaqe48RKMjr1vAmpgnyy 4O0Ije7TmgRmqP5WgDFmjdNQk4ICG3y+F1syJHZT3bNr1y4nvSZAwvnFlyeEYqyKDD/d YLLNqG5QPdg6ILDUBtwySFbge6z7eKNORRL1RrKnrKo1VeZy047EPeBfjgLs2Wy+FCFe Ml2EEUp6rbfWG5+kwo9S7dNHQwcB+irebsMUlW3Apj0HYIaoSBDOkbATl69wceEyN9Hc 1+RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=Uex/N8k1hofXTqckWMOvR5gjSkpq8AWZ/V6hrga+Dq0=; b=eYK/mMOgyfoMmZt+W/WL36Ouzy3w+ETJYaH7ySbTPTGPoRE76G8rD5jm2P0Wio7KDU 0FTa71VzLtjAVVnb/kE9842oKyFxrmXkQItc+wJjZ0Tpg92NRKivNRcb1szt1zsv+bFV ybknsOWY5M+jjDeZbsfWZBQsK0o5/tUaJplT4a7LxlxT4gLiKpO8HZlfwiWHtjTY7pJw qEisjnX0GNz1/ujzp6dE12RFd4enpcMS1Xg20NmO5tx6wM20xNLLiQN3wR6EIV7DJI3t mGxmki32lPcw4gr2/Neb9mMRTcTlEotyoXzOMsPNPOgY3g0mmSsthXAQmpx5+aahtdI/ h3EA== X-Gm-Message-State: AElRT7HwP6mDyD34yqWRCHrq1Jum2Buq1gD+MZXWU5zkVmM8st/GGJ43 VMJroZZ35xyQwr1ldXDX0+3dwQya+/Q= X-Google-Smtp-Source: AG47ELvdyFekft3Ytv3jQ/hBNlbJ4B/7aQ/NCZ4aYrti/iExdf9of6UR/JNm/hJ1Ece3DnvvK3+QTg== X-Received: by 10.223.182.132 with SMTP id j4mr27808023wre.66.1521979055555; Sun, 25 Mar 2018 04:57:35 -0700 (PDT) Original-Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-d867-79aa-2be9-0ac9.holly.idiocy.org. [2001:8b0:3f8:8129:d867:79aa:2be9:ac9]) by smtp.gmail.com with ESMTPSA id d18sm1245070wre.5.2018.03.25.04.57.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Mar 2018 04:57:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:144592 Archived-At: On Sun, Mar 25, 2018 at 01:28:11AM +1300, Nick Helm wrote: > > On MacOS text drag-n-drop does not work out of the box. Also a dnd > event seems to be bound to different functions depending on modifier > settings. > > Emacs -Q > > C-h v ns-command-modifier -> "It's value is super" > > C-h k > -> " is undefined" > > (setq ns-command-modifier 'none) > C-h k > -> " at that spot runs the command > ns-drag-n-drop-as-text" > > (setq ns-command-modifier 'control) > C-h k > -> " at that spot runs the command > ns-drag-n-drop-as-text-other-frame" Looks like this is how the modifiers are set in performDragOperation if (! (op & (NSDragOperationMove|NSDragOperationDelete)) && // URL drags contain all operations (0xf), don't allow all to be set. (op & 0xf) != 0xf) { if (op & NSDragOperationLink) modifiers |= NSEventModifierFlagControl; if (op & NSDragOperationCopy) modifiers |= NSEventModifierFlagOption; if (op & NSDragOperationGeneric) modifiers |= NSEventModifierFlagCommand; } modifiers = EV_MODIFIERS2 (modifiers); It’s setting the actual modifier keys, so when a user changes those keys’ settings this breaks. You can also set these flags by using the actual modifier keys. This looks like it matches up with what Apple expect you to do, but it doesn’t seem to match up with Emacs’s event handling very well. I’ll have to read up on it and have a think to see if I can work out a solution. -- Alan Third