On 3/8/2013 12:53 PM, Eli Zaretskii wrote: >> Date: Fri, 08 Mar 2013 22:33:07 +0200 >> From: Eli Zaretskii >> Cc: 13907@debbugs.gnu.org >> >> And one more question: what is the value of file-name _before_ it is >> passed to cygwin-convert-file-name-from-windows? Does it perhaps >> already have the U-umlaut replaced by a blank? > > I think the problem is on the C level, not on the Lisp level. Take a > look at w32term.c:construct_drag_n_drop -- it uses ANSI version of > DragQueryFile to get the file name, then decodes it by DECODE_FILE. > But DECODE_FILE uses UTF-8 in the cygw32 build, so this is > inappropriate for decoding file names that come from Windows APIs. > > Instead, in the cygw32 build, construct_drag_n_drop should use > DragQueryFileW and convert the file name to the internal Emacs > representation using from_unicode. > Thanks for finding that! I've been swamped this week, and I haven't been able to do any investigation. I'll see whether I can come up with a fix this weekend.