Subject: 24.4.50; REGRESSION: `read-file-name' from a menu (mouse) treats "~/" as installation dir

From: Drew Adams <[email-masked]>
Date: Sat, 5 Jul 2014 14:29:24 -0700 (PDT)

emacs -Q

(defun foo (file)
  (interactive (list (read-file-name "Foo: " "~/")))
  (message "File is `%s'" file))

(define-key menu-bar-file-menu [foo] '(menu-item "FOOOO" foo))

(expand-file-name "~/") ; correctly returns my home directory, as in
previous Emacs versions.

And `M-x foo' correctly uses `~/' as the directory.

But invoking the same command `foo' from the menu (item `FOOOO') uses
the Emacs installation directory instead.

In GNU Emacs 24.4.50.1 (i686-pc-mingw32)
 of 2014-06-28 on ODIEONE
Bzr revision: 117431 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/snapshot/trunk
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -g3'
 LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
 -Ic:/Devel/emacs/include''