changeset 110839:018f0b2e8f23

Fix return value of dnd-get-local-file-name (Bug#7090). * lisp/dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only return non-nil if the file exists (Bug#7090).
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 02 Oct 2010 21:27:39 -0400
parents 63399fcc7ef2
children eb0cb131cf06
files lisp/ChangeLog lisp/dnd.el
diffstat 2 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Oct 02 18:23:50 2010 -0700
+++ b/lisp/ChangeLog	Sat Oct 02 21:27:39 2010 -0400
@@ -1,3 +1,8 @@
+2010-10-03  Leo  <sdl.web@gmail.com>
+
+	* dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
+	return non-nil if the file exists (Bug#7090).
+
 2010-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* minibuffer.el (completion--replace):
--- a/lisp/dnd.el	Sat Oct 02 18:23:50 2010 -0700
+++ b/lisp/dnd.el	Sat Oct 02 21:27:39 2010 -0400
@@ -154,10 +154,11 @@
       (let* ((decoded-f (decode-coding-string
 			 f
 			 (or file-name-coding-system
-			     default-file-name-coding-system)))
-	     (try-f (if (file-readable-p decoded-f) decoded-f f)))
-	(when (file-readable-p try-f) try-f)))))
-
+			     default-file-name-coding-system))))
+	(setq f (cond ((file-readable-p decoded-f) decoded-f)
+		      ((file-readable-p f) f)
+		      (t nil)))))
+    f))
 
 (defun dnd-open-local-file (uri action)
   "Open a local file.