From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.bugs Subject: bug#7680: 23.2.91; [PATCH] dnd-get-local-file-name bug Date: Sun, 19 Dec 2010 14:19:56 +0000 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1292768586 15918 80.91.229.12 (19 Dec 2010 14:23:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 19 Dec 2010 14:23:06 +0000 (UTC) To: 7680@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Dec 19 15:23:03 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PUKA7-00010q-T8 for geb-bug-gnu-emacs@m.gmane.org; Sun, 19 Dec 2010 15:23:01 +0100 Original-Received: from localhost ([127.0.0.1]:57299 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PUKA6-00039M-18 for geb-bug-gnu-emacs@m.gmane.org; Sun, 19 Dec 2010 09:22:58 -0500 Original-Received: from [140.186.70.92] (port=37261 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PUKA0-00039E-RL for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:22:53 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PUK9y-0000qf-QJ for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:22:52 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54816) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PUK9y-0000qb-Ol for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:22:50 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1PUK1S-0004cI-M1; Sun, 19 Dec 2010 09:14:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Leo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Dec 2010 14:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 7680 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.129276802017707 (code B ref -1); Sun, 19 Dec 2010 14:14:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 Dec 2010 14:13:40 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PUK15-0004bX-Me for submit@debbugs.gnu.org; Sun, 19 Dec 2010 09:13:39 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PUK13-0004bG-GY for submit@debbugs.gnu.org; Sun, 19 Dec 2010 09:13:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PUK7H-0000FM-DC for submit@debbugs.gnu.org; Sun, 19 Dec 2010 09:20:04 -0500 Original-Received: from lists.gnu.org ([199.232.76.165]:59035) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PUK7H-0000FI-Aw for submit@debbugs.gnu.org; Sun, 19 Dec 2010 09:20:03 -0500 Original-Received: from [140.186.70.92] (port=59399 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PUK7G-0001aU-Dr for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:20:03 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PUK7F-0000DV-29 for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:20:02 -0500 Original-Received: from mail-ww0-f49.google.com ([74.125.82.49]:44519) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PUK7E-0000DK-PC for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2010 09:20:01 -0500 Original-Received: by wwb17 with SMTP id 17so2171201wwb.30 for ; Sun, 19 Dec 2010 06:19:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :message-id:mime-version:content-type; bh=iiVw4kefIfTJuAAaIy7ibRUzH7AerfL+W64lZXCwQ00=; b=jdp4kN32YBemS18FpbtSSUxkzx72XGG4HdBTEYV6vzoAE5RWvgtJT3MuYg8ZKbUdF6 yOMSAwXYWbf6PjjiY9REEQ67L1FHw2OBYnrP2UEa+5bG88S/MTRTY1EHpysmwHY4xnO8 F2xBCSnPLfG/rc2TlnwhuCQEAGPlxe9qt+gus= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:message-id:mime-version:content-type; b=TY8aoFbKlhmhuPf6xi8k8Gx3wsZfScKNCkHPZ1W2OOSkJp4UyffvcC3JafD/6yXRQw ERiy6rbVxvu4Eg4kkwmRyhHYV5Dn02vRqHCqx7r9DpcDil4ezxZuzzEz5FS7HWfzMxuR S3LUUzuZFJ3siL3uR/i20h3j+aUWVBW0oJL4M= Original-Received: by 10.216.59.143 with SMTP id s15mr6396986wec.49.1292768399616; Sun, 19 Dec 2010 06:19:59 -0800 (PST) Original-Received: from Victoria.local (cpc1-cmbg13-0-0-cust596.5-4.cable.virginmedia.com [86.9.122.85]) by mx.google.com with ESMTPS id o19sm1303092wee.2.2010.12.19.06.19.57 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 19 Dec 2010 06:19:58 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 19 Dec 2010 09:14:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:42637 Archived-At: I just noticed the return value of dnd-get-local-file-name may contain %20 etc. The patch fixes this. commit 8d987eb074d6ff8282ce3fdc19f00cdb82fdfa28 (HEAD, refs/heads/leo-main) Date: Sun Dec 19 14:12:55 2010 +0000 Unhex file name should always be performed in dnd-get-local-file-name. --- lisp/dnd.el | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) Modified lisp/dnd.el diff --git a/lisp/dnd.el b/lisp/dnd.el index aadfad6..e6e3190 100644 --- a/lisp/dnd.el +++ b/lisp/dnd.el @@ -143,14 +143,14 @@ Return nil if URI is not a local file." (substring uri (1- (match-end 0)))) ((string-match "^file:" uri) ; Old KDE, Motif, Sun (substring uri (match-end 0)))))) + (and f (setq f (replace-regexp-in-string + "%[A-Fa-f0-9][A-Fa-f0-9]" + (lambda (arg) + (let ((str (make-string 1 0))) + (aset str 0 (string-to-number (substring arg 1) 16)) + str)) + f t t))) (when (and f must-exist) - (setq f (replace-regexp-in-string - "%[A-Fa-f0-9][A-Fa-f0-9]" - (lambda (arg) - (let ((str (make-string 1 0))) - (aset str 0 (string-to-number (substring arg 1) 16)) - str)) - f t t)) (let* ((decoded-f (decode-coding-string f (or file-name-coding-system