From unknown Mon Jun 23 02:24:40 2025 X-Loop: bug-gnu-emacs@gnu.org Subject: bug#5248: 23.1.90; Patch for OS X drag-and-drop Reply-To: bodhi , 5248@debbugs.gnu.org Mail-Followup-To: bodhi , 5248@debbugs.gnu.org Resent-From: bodhi Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Dec 2009 17:26:02 +0000 Resent-Message-ID: Resent-Sender: bug-gnu-emacs@gnu.org X-Emacs-PR-Message: report 5248 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@debbugs.gnu.org id=B.126124354618906 (code B ref -1); Sat, 19 Dec 2009 17:26:02 +0000 Received: (at submit) by debbugs.gnu.org; 19 Dec 2009 17:25:46 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NM33p-0004up-G0 for submit@debbugs.gnu.org; Sat, 19 Dec 2009 12:25:46 -0500 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NLyzV-0003DX-6b for submit@debbugs.gnu.org; Sat, 19 Dec 2009 08:05:14 -0500 Received: from mx10.gnu.org ([199.232.76.166]:33197) by fencepost.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NLyzQ-0007B8-9g for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:56 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NLyzO-0002Ud-Ik for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:55 -0500 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on monty-python X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FORGED_RCVD_HELO, SPF_NEUTRAL autolearn=no version=3.1.0 Received: from 60-241-63-147.tpgi.com.au ([60.241.63.147]:63631 helo=pasokun.local) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NLyzN-0002UH-LN for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:54 -0500 Received: by pasokun.local (Postfix, from userid 501) id 264E05796F9; Sat, 19 Dec 2009 23:42:13 +1100 (EST) From: bodhi To: emacs-pretest-bug@gnu.org Date: Sat, 19 Dec 2009 23:42:13 +1100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-detected-operating-system: by monty-python.gnu.org: FreeBSD 6.x (1) X-Greylist: delayed 1352 seconds by postgrey-1.27 at monty-python; Sat, 19 Dec 2009 08:04:50 EST X-Mailman-Approved-At: Sat, 19 Dec 2009 12:25:41 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Hi, I made a patch on the latest emacs git repository, I guess this is mirrored regularly from the canonical repository? The patch modifies emacs to accept all dropped urls, not just files. The file-url behaviour should be unchanged, but when a non-file url is dropped it sends a new event with the text of the url, which by default inserts the text. Maybe a new event isn't necessary, and it could be treated as dropping text? The patch is included below, and is also available at http://gist.github.com/260042 Thanks, Bodhi ---- diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index 157b2dd..13bd0ac 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el @@ -277,6 +277,7 @@ The properties returned may include `top', `left', `height', and `width'." (define-key global-map [ns-new-frame] 'make-frame) (define-key global-map [ns-toggle-toolbar] 'ns-toggle-toolbar) (define-key global-map [ns-show-prefs] 'customize) +(define-key global-map [ns-drag-url] 'ns-insert-text) ;; Set up a number of aliases and other layers to pretend we're using @@ -315,6 +316,7 @@ The properties returned may include `top', `left', `height', and `width'." (cons (logior (lsh 0 16) 12) 'ns-new-frame) (cons (logior (lsh 0 16) 13) 'ns-toggle-toolbar) (cons (logior (lsh 0 16) 14) 'ns-show-prefs) + (cons (logior (lsh 0 16) 15) 'ns-drag-url) (cons (logior (lsh 1 16) 32) 'f1) (cons (logior (lsh 1 16) 33) 'f2) (cons (logior (lsh 1 16) 34) 'f3) diff --git a/src/nsterm.h b/src/nsterm.h index 29d312a..8536660 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -365,6 +365,7 @@ typedef unsigned int NSUInteger; #define KEY_NS_NEW_FRAME ((1<<28)|(0<<16)|12) #define KEY_NS_TOGGLE_TOOLBAR ((1<<28)|(0<<16)|13) #define KEY_NS_SHOW_PREFS ((1<<28)|(0<<16)|14) +#define KEY_NS_DRAG_URL ((1<<28)|(0<<16)|15) /* could use list to store these, but rest of emacs has a big infrastructure for managing a table of bitmap "records" */ diff --git a/src/nsterm.m b/src/nsterm.m index 9256c08..73ede9a 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5456,20 +5456,24 @@ extern void update_window_cursor (struct window *w, int on); } else if ([type isEqualToString: NSURLPboardType]) { - NSString *file; - NSURL *fileURL; - - if (!(fileURL = [NSURL URLFromPasteboard: pb]) || - [fileURL isFileURL] == NO) - return NO; - - file = [fileURL path]; + NSString *path; + NSURL *url; + + if (!(url = [NSURL URLFromPasteboard: pb])) { + return NO; + } else if ([url isFileURL] == YES) { + path = [url path]; + emacs_event->code = KEY_NS_DRAG_FILE; + ns_input_file = append2 (ns_input_file, build_string ([path UTF8String])); + } else { + path = [url absoluteString]; + emacs_event->code = KEY_NS_DRAG_URL; + ns_input_text = build_string ([path UTF8String]); + } emacs_event->kind = NS_NONKEY_EVENT; - emacs_event->code = KEY_NS_DRAG_FILE; + emacs_event->modifiers = EV_MODIFIERS (theEvent); XSETINT (emacs_event->x, x); XSETINT (emacs_event->y, y); - ns_input_file = append2 (ns_input_file, build_string ([file UTF8String])); - emacs_event->modifiers = EV_MODIFIERS (theEvent); EV_TRAILER (theEvent); return YES; } From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 19 15:07:32 2009 Received: (at control) by debbugs.gnu.org; 19 Dec 2009 20:07:32 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NM5aO-00060P-5H for submit@debbugs.gnu.org; Sat, 19 Dec 2009 15:07:32 -0500 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NM5aN-00060I-4D for control@debbugs.gnu.org; Sat, 19 Dec 2009 15:07:31 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1NM5aH-0005IW-UX; Sat, 19 Dec 2009 15:07:25 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19245.12925.813420.924748@fencepost.gnu.org> Date: Sat, 19 Dec 2009 15:07:25 -0500 From: Glenn Morris To: control Subject: control X-Attribution: GM X-Mailer: VM (www.wonderworks.com/vm), GNU Emacs (www.gnu.org/software/emacs) X-Hue: blue X-Ran: ^H`iywE57lx3YQ'5e-w~RBe8I@k,I;e5.q8xiarL}_?0H9zZo/?pDXMTp7~ypWat_X.)}i X-Debbugs-No-Ack: yes X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org merge 5244 5246 reassign 5248 emacs,ns tags 5248 patch From unknown Mon Jun 23 02:24:40 2025 X-Loop: help-debbugs@gnu.org Subject: bug#5248: 23.1.90; Patch for OS X drag-and-drop References: In-Reply-To: Resent-From: Adrian Robert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 13 Jul 2010 10:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5248 X-GNU-PR-Package: emacs,ns X-GNU-PR-Keywords: patch To: bodhi@5263.org Cc: 5248@debbugs.gnu.org Received: via spool by 5248-submit@debbugs.gnu.org id=B5248.12790185732736 (code B ref 5248); Tue, 13 Jul 2010 10:57:02 +0000 Received: (at 5248) by debbugs.gnu.org; 13 Jul 2010 10:56:13 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OYd9p-0000i5-0N for submit@debbugs.gnu.org; Tue, 13 Jul 2010 06:56:13 -0400 Received: from mail-ew0-f44.google.com ([209.85.215.44]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OYd9n-0000i0-Ai for 5248@debbugs.gnu.org; Tue, 13 Jul 2010 06:56:11 -0400 Received: by ewy22 with SMTP id 22so1083090ewy.3 for <5248@debbugs.gnu.org>; Tue, 13 Jul 2010 03:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:cc:to :mime-version:x-mailer; bh=LRwU3l4G9O1hsQ1f6rD1BeoqLxOHFZYf2OHz6eU0Z1U=; b=h4z7rAZzfq68HDm5za2zecF7FLQpjsN6/VJnKpdJNuW4AXqTZKOIRP8Sc9TDhe4uQx Uoz3hIpZzcxmJiS9LEWW5M48DWu+4i1sgr15mxCh/XVhSQ3V0QQ4Pc7RL4bs+znL9ak3 28InWY4yC1hcRGrlALpK+ECbEBFQqpLbizTmc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :cc:to:mime-version:x-mailer; b=L+IaqZTtpyBlWGcSHORUExwHRJjSoYFD71oqY367CNM3zWYVY8pWlIRAmyTSNIk4N4 p3qrpRPWUywPoPOu/aSVr6dNFV3uc4epvQk4+QpmzrYEYdEtNnzreDn4GKGSHfjJTd5F TWxDOAm681wEz4TW5iP8+HZH7qv93Ueiw4400= Received: by 10.213.15.197 with SMTP id l5mr5460014eba.95.1279018575776; Tue, 13 Jul 2010 03:56:15 -0700 (PDT) Received: from [10.0.1.2] (dsl-hkibrasgw2-ff6ec300-110.dhcp.inet.fi [88.195.110.110]) by mx.google.com with ESMTPS id v59sm46128743eeh.16.2010.07.13.03.56.15 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 13 Jul 2010 03:56:15 -0700 (PDT) From: Adrian Robert Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Tue, 13 Jul 2010 13:56:13 +0300 Message-Id: <1B766C34-5412-4371-A09F-F1A6ABF3CC3E@gmail.com> Mime-Version: 1.0 (Apple Message framework v1081) X-Mailer: Apple Mail (2.1081) X-Spam-Score: -2.5 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.5 (--) Hi, Thanks for this patch, it looks good. In thinking about committing it, = I would just like to know what is your rationale for setting this = behavior: drag file URL -> NS_DRAG_FILE -> (current handling) drag non-fileURL -> NS_DRAG_URL -> (ns-drag-url vkey) -> ns-insert-text I think this makes sense, but did you go by analogy to emacs under W32, = or Aquamacs, or GTK, or other apps on the Mac, or your own intuitions, = or... ? thanks, Adrian From unknown Mon Jun 23 02:24:40 2025 X-Loop: help-debbugs@gnu.org Subject: bug#5248: 23.1.90; Patch for OS X drag-and-drop Resent-From: Andrew Hyatt Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Feb 2016 03:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5248 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Adrian Robert Cc: bodhi@5263.org, 5248@debbugs.gnu.org Received: via spool by 5248-submit@debbugs.gnu.org id=B5248.14556801729758 (code B ref 5248); Wed, 17 Feb 2016 03:37:01 +0000 Received: (at 5248) by debbugs.gnu.org; 17 Feb 2016 03:36:12 +0000 Received: from localhost ([127.0.0.1]:38714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVsuS-0002XK-BQ for submit@debbugs.gnu.org; Tue, 16 Feb 2016 22:36:12 -0500 Received: from mail-qk0-f169.google.com ([209.85.220.169]:33438) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVsuR-0002X8-Bb for 5248@debbugs.gnu.org; Tue, 16 Feb 2016 22:36:11 -0500 Received: by mail-qk0-f169.google.com with SMTP id s5so1645291qkd.0 for <5248@debbugs.gnu.org>; Tue, 16 Feb 2016 19:36:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=M7ziobfNTAL88MNlRIB7eKErypZUl+LZe29VrSYjxco=; b=BbwT2piRS+2o4hKtF07FUfspBCkZVDpYIOJp3ZY9LR4makXEGjeXeaX80eGbm8Rduo Iaojvuy8MvlS+T1zBCjSSo5O8IsiYAjlLDTVrwbCV8yhmybwyHlnbjar997V6RkL3xxg m1L8LdJyUho42YKDiBjBO6IylD9n1Nzhbcz/a2HSNmqOP4P8S5LgHGQ5EpwI5x4o0U1C RT0nEX5jLmmyhapc/MUtLBssn/+GrNm0VehRxxmU3O+w4M6LRYeM4BvCpusOtgWe5RL5 7TtL8FLKk/JCrB67D3vjnV7RsZ0sXFcRjpUQyOM98Ig9tI1K3qeP/+1FcQSoAAFohTlR Ks5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=M7ziobfNTAL88MNlRIB7eKErypZUl+LZe29VrSYjxco=; b=dne3HKRtZZHXelC33TeYL9Qo21WdMliPRq2Z4ECkf1USJZY8PdkWBp3x/seAvyEgWk y7FeHsW88fQfkVl02pwrEmqe5pmTnSxD9sf88XTmFrpT4UQZ9jXXhxMjOF5Q/e0Mj1Wm /s0akV7q59gnRUVabUgpVI6LhqViprpchuzFsdlvfcb+JY6HdPb7b5B9wHVKjGBKo3b9 n1xQgCpa7+HXFEVEfP7ZuhOWNfZzjC4eqL9iYoWWRxdmHD4ja3zTHbIi+wcC03bk9atu CPgERRVIsKGgZ//9j9yBBkMBBfydVq0ZfkGKaD2L0Pte8pjiZMVp7FyNfg984n0UXFGI ajPw== X-Gm-Message-State: AG10YOTUKgGCaLxrOoloTdwnMLmKA+tajRi03ET+jPh3ZZgoAxcc7c2alY+2ubjQpYViYg== X-Received: by 10.55.214.75 with SMTP id t72mr11145286qki.33.1455680166014; Tue, 16 Feb 2016 19:36:06 -0800 (PST) Received: from Andrews-MacBook-Pro.local.ahyatt-laptop (cpe-74-73-128-199.nyc.res.rr.com. [74.73.128.199]) by smtp.gmail.com with ESMTPSA id 141sm14488921qhk.23.2016.02.16.19.36.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Feb 2016 19:36:03 -0800 (PST) From: Andrew Hyatt References: <1B766C34-5412-4371-A09F-F1A6ABF3CC3E@gmail.com> Date: Tue, 16 Feb 2016 22:36:01 -0500 In-Reply-To: <1B766C34-5412-4371-A09F-F1A6ABF3CC3E@gmail.com> (Adrian Robert's message of "Tue, 13 Jul 2010 13:56:13 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I can drag & drop URLs with Emacs 25, however it doesn't look like this patch was every accepted. Still, this doesn't looks more like an improvement than a bugfix, so I'm marking this as wishlist. Adrian Robert writes: > Hi, > > Thanks for this patch, it looks good. In thinking about committing it, I would just like to know what is your rationale for setting this behavior: > > drag file URL -> NS_DRAG_FILE -> (current handling) > drag non-fileURL -> NS_DRAG_URL -> (ns-drag-url vkey) -> ns-insert-text > > I think this makes sense, but did you go by analogy to emacs under W32, or Aquamacs, or GTK, or other apps on the Mac, or your own intuitions, or... ? > > thanks, > Adrian From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 16 22:36:22 2016 Received: (at control) by debbugs.gnu.org; 17 Feb 2016 03:36:22 +0000 Received: from localhost ([127.0.0.1]:38717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVsuc-0002Xj-JC for submit@debbugs.gnu.org; Tue, 16 Feb 2016 22:36:22 -0500 Received: from mail-qg0-f50.google.com ([209.85.192.50]:35323) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aVsub-0002XU-7H for control@debbugs.gnu.org; Tue, 16 Feb 2016 22:36:21 -0500 Received: by mail-qg0-f50.google.com with SMTP id y89so3258572qge.2 for ; Tue, 16 Feb 2016 19:36:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:message-id:to:from:subject; bh=U+Tudlf6d5aQhipFONH1D9LUhchQE4cYDdNsVw41KXY=; b=disnVZre0kcCC6LZdKhJFYXoIw6bj6KIboDOpBuiPZc5k1ezD+ylsLi7Lr+Aw60/2b 38wW46NS1pznRDBvIg7C1LF+zFbr8bOxB7NMMwbCHEjxkUirWNue4dyS4HT99VRby62G FvU/EOxoxJoGYWnewWR/TCoIiEbx/fObrQRHsCcC0PJbySuaSIir1uMnRTOZ59sTE+qO 3XLT+iRmMFdwq9wtsN7eucan3CDpMBJSHGcx4KTOogo28MA0mW5UHbcBt1Z89pDBD4UN 3eJhkpMQUEG4Fhx9vPAde+E+HE48rlIRa2ltwyMeMHtafcrWP8iRcB14+MjGCByn2Igq cC/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:message-id:to:from:subject; bh=U+Tudlf6d5aQhipFONH1D9LUhchQE4cYDdNsVw41KXY=; b=TOyY6ChARdUgAoJYxcOH1vQGIeETvQcUQPmbKFrfnWYYB1FJnf08naaBK27W3FY7ka lg5uwuvUQWnMJJJVMk59UIMMxGkLTIUcqxsyG/laR26/co7FUp6E4mJ7+gcIf2GqFanM 0jxfqgUwbLtXK+IPV5fZFNxfgy60HSDDS//TLBgJcRRmrmqOScF6xFD5KkfBlwhOmqat 7pZ5e2tPRMXL+hrZqos5dCcIuclc35uMruLM5D3LpWkd/s5SOQjqnuqBChAN4itTub7D k7aOSkPpkfQPOBCBU3tKWx6PWSLNYs+b+/LMD0FHILaU82MVTHTxEAhltjulEu/i9A9g diQA== X-Gm-Message-State: AG10YOQYiwEwWf78VCol+0c3ink8V2oO11tZAxIMzf/9Dqoz3ipcZRFyPD4wQPGUvtzNrg== X-Received: by 10.140.81.211 with SMTP id f77mr31348887qgd.11.1455680175856; Tue, 16 Feb 2016 19:36:15 -0800 (PST) Received: from Andrews-MacBook-Pro.local.ahyatt-laptop (cpe-74-73-128-199.nyc.res.rr.com. [74.73.128.199]) by smtp.gmail.com with ESMTPSA id e127sm14567069qkb.34.2016.02.16.19.36.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Feb 2016 19:36:14 -0800 (PST) Date: Tue, 16 Feb 2016 22:36:14 -0500 Message-Id: To: control@debbugs.gnu.org From: Andrew Hyatt Subject: control message for bug #5248 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) severity 5248 wishlist From unknown Mon Jun 23 02:24:40 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: bodhi Subject: bug#5248: closed (Re: bug#5248: 23.1.90; Patch for OS X drag-and-drop) Message-ID: References: X-Gnu-PR-Message: they-closed 5248 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 5248@debbugs.gnu.org Date: Sat, 06 Apr 2019 16:21:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1554567662-7888-1" This is a multi-part message in MIME format... ------------=_1554567662-7888-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #5248: 23.1.90; Patch for OS X drag-and-drop which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 5248@debbugs.gnu.org. --=20 5248: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D5248 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1554567662-7888-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 5248-done) by debbugs.gnu.org; 6 Apr 2019 16:20:56 +0000 Received: from localhost ([127.0.0.1]:47422 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCo3s-00022o-3X for submit@debbugs.gnu.org; Sat, 06 Apr 2019 12:20:56 -0400 Received: from mail-wm1-f50.google.com ([209.85.128.50]:52083) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCo3n-00022W-TB for 5248-done@debbugs.gnu.org; Sat, 06 Apr 2019 12:20:52 -0400 Received: by mail-wm1-f50.google.com with SMTP id 4so9767729wmf.1 for <5248-done@debbugs.gnu.org>; Sat, 06 Apr 2019 09:20:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=+tcJk2FOwiCTN55oNbI5BPI1eYOF0Z4fv+/1LAG4xSg=; b=ToKCMjH81oRLIDIGgCNlJxg21K3GmChMyLSgUw6IivFPGPU62l60OKwCFE+Cij/job g62GA0/YVsHaHxsqAythneW0oUxu3GVaCyph4STEf2awMMOllbqVupmF5qlVBmbWvA8f heci+5NMGgbLpwt8pVlThFQepTJ0BXeKV5TSr8V5g9ftBqFzXu2IKDn77D55eMvZjeBx mkANLIQERbSGkFvbDd19Mkzb1VyhtaIii1aq7FpWamMts6NAWG2kwGrNjuk09ndHtolH F8HaXz2/E6vKSEV1aK8KmfuBMBNUu/+X75PiKXBg/xDg3AWNsaDlWnQFESBj/1bRb5Zq 8dmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=+tcJk2FOwiCTN55oNbI5BPI1eYOF0Z4fv+/1LAG4xSg=; b=mmbi+M09bVFlhe+7HUIwZQuby30DprDJ1dz/o+71X8jM2mu76Vv/yIfsMutgQLKPyg VAiGsnN3FmbQIr81aVvYb5MWxWV3svXaievcXVHzJ51KvR9KeVdisFtkoCWBKSnQgGKJ qp1zHtalkcbfWAnJRVdaTyIZTMm8l5RnWCepheZ/HCsY1zQk9DZX7dywCpCR2Lpd5dyi UgZYsK6WqKmvD3i5WVTbIsNPzeOv1G1FLrgeCfFUsytyn6oJ2+zKIWDG6RPRGB4fs+iM +NigasVoFV58KaPYZH2cshmnTJNc8TPBC/3bax46bpox71iHiI5fhbio2N3zHq7M6ve3 0RZg== X-Gm-Message-State: APjAAAV8hETYPn57vI3ER6MmeLPBQDsGeVku7Zlc8e8RWVpdd/qnaNRG zCyAQTjgQ+eQPD79dJqH1LoHyOz5ERw= X-Google-Smtp-Source: APXvYqzdYX974bjm9+3ElwD1jSl39GkfDFXDlckn4Q93xiLkOhkru13GCVt/qWUgsX1Bv9ctI6gTKw== X-Received: by 2002:a7b:cb58:: with SMTP id v24mr12219674wmj.121.1554567645930; Sat, 06 Apr 2019 09:20:45 -0700 (PDT) Received: from breton.holly.idiocy.org (ip6-2001-08b0-03f8-8129-0937-7b3e-0002-f580.holly.idiocy.org. [2001:8b0:3f8:8129:937:7b3e:2:f580]) by smtp.gmail.com with ESMTPSA id m17sm17987069wrx.3.2019.04.06.09.20.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 06 Apr 2019 09:20:44 -0700 (PDT) From: Alan Third To: Andrew Hyatt Subject: Re: bug#5248: 23.1.90; Patch for OS X drag-and-drop References: <1B766C34-5412-4371-A09F-F1A6ABF3CC3E@gmail.com> Date: Sat, 06 Apr 2019 17:20:38 +0100 In-Reply-To: (Andrew Hyatt's message of "Tue, 16 Feb 2016 22:36:01 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 5248-done Cc: bodhi@5263.org, Adrian Robert , 5248-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Andrew Hyatt writes: > I can drag & drop URLs with Emacs 25, however it doesn't look like this > patch was every accepted. > > Still, this doesn't looks more like an improvement than a bugfix, so I'm > marking this as wishlist. I don't think this patch is relevant any more. I think the desired behaviour is available, and besides, the drag and drop code has been rewritten for Emacs 27. -- Alan Third ------------=_1554567662-7888-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 19 Dec 2009 17:25:46 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NM33p-0004up-G0 for submit@debbugs.gnu.org; Sat, 19 Dec 2009 12:25:46 -0500 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NLyzV-0003DX-6b for submit@debbugs.gnu.org; Sat, 19 Dec 2009 08:05:14 -0500 Received: from mx10.gnu.org ([199.232.76.166]:33197) by fencepost.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NLyzQ-0007B8-9g for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:56 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NLyzO-0002Ud-Ik for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:55 -0500 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on monty-python X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FORGED_RCVD_HELO, SPF_NEUTRAL autolearn=no version=3.1.0 Received: from 60-241-63-147.tpgi.com.au ([60.241.63.147]:63631 helo=pasokun.local) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NLyzN-0002UH-LN for emacs-pretest-bug@gnu.org; Sat, 19 Dec 2009 08:04:54 -0500 Received: by pasokun.local (Postfix, from userid 501) id 264E05796F9; Sat, 19 Dec 2009 23:42:13 +1100 (EST) From: bodhi To: emacs-pretest-bug@gnu.org Subject: 23.1.90; Patch for OS X drag-and-drop Date: Sat, 19 Dec 2009 23:42:13 +1100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-detected-operating-system: by monty-python.gnu.org: FreeBSD 6.x (1) X-Greylist: delayed 1352 seconds by postgrey-1.27 at monty-python; Sat, 19 Dec 2009 08:04:50 EST X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 19 Dec 2009 12:25:41 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Hi, I made a patch on the latest emacs git repository, I guess this is mirrored regularly from the canonical repository? The patch modifies emacs to accept all dropped urls, not just files. The file-url behaviour should be unchanged, but when a non-file url is dropped it sends a new event with the text of the url, which by default inserts the text. Maybe a new event isn't necessary, and it could be treated as dropping text? The patch is included below, and is also available at http://gist.github.com/260042 Thanks, Bodhi ---- diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index 157b2dd..13bd0ac 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el @@ -277,6 +277,7 @@ The properties returned may include `top', `left', `height', and `width'." (define-key global-map [ns-new-frame] 'make-frame) (define-key global-map [ns-toggle-toolbar] 'ns-toggle-toolbar) (define-key global-map [ns-show-prefs] 'customize) +(define-key global-map [ns-drag-url] 'ns-insert-text) ;; Set up a number of aliases and other layers to pretend we're using @@ -315,6 +316,7 @@ The properties returned may include `top', `left', `height', and `width'." (cons (logior (lsh 0 16) 12) 'ns-new-frame) (cons (logior (lsh 0 16) 13) 'ns-toggle-toolbar) (cons (logior (lsh 0 16) 14) 'ns-show-prefs) + (cons (logior (lsh 0 16) 15) 'ns-drag-url) (cons (logior (lsh 1 16) 32) 'f1) (cons (logior (lsh 1 16) 33) 'f2) (cons (logior (lsh 1 16) 34) 'f3) diff --git a/src/nsterm.h b/src/nsterm.h index 29d312a..8536660 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -365,6 +365,7 @@ typedef unsigned int NSUInteger; #define KEY_NS_NEW_FRAME ((1<<28)|(0<<16)|12) #define KEY_NS_TOGGLE_TOOLBAR ((1<<28)|(0<<16)|13) #define KEY_NS_SHOW_PREFS ((1<<28)|(0<<16)|14) +#define KEY_NS_DRAG_URL ((1<<28)|(0<<16)|15) /* could use list to store these, but rest of emacs has a big infrastructure for managing a table of bitmap "records" */ diff --git a/src/nsterm.m b/src/nsterm.m index 9256c08..73ede9a 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5456,20 +5456,24 @@ extern void update_window_cursor (struct window *w, int on); } else if ([type isEqualToString: NSURLPboardType]) { - NSString *file; - NSURL *fileURL; - - if (!(fileURL = [NSURL URLFromPasteboard: pb]) || - [fileURL isFileURL] == NO) - return NO; - - file = [fileURL path]; + NSString *path; + NSURL *url; + + if (!(url = [NSURL URLFromPasteboard: pb])) { + return NO; + } else if ([url isFileURL] == YES) { + path = [url path]; + emacs_event->code = KEY_NS_DRAG_FILE; + ns_input_file = append2 (ns_input_file, build_string ([path UTF8String])); + } else { + path = [url absoluteString]; + emacs_event->code = KEY_NS_DRAG_URL; + ns_input_text = build_string ([path UTF8String]); + } emacs_event->kind = NS_NONKEY_EVENT; - emacs_event->code = KEY_NS_DRAG_FILE; + emacs_event->modifiers = EV_MODIFIERS (theEvent); XSETINT (emacs_event->x, x); XSETINT (emacs_event->y, y); - ns_input_file = append2 (ns_input_file, build_string ([file UTF8String])); - emacs_event->modifiers = EV_MODIFIERS (theEvent); EV_TRAILER (theEvent); return YES; } ------------=_1554567662-7888-1--