The value returned by (interactive "F") is not the one provided by the user.
1. Create a file, say /tmp/foo.el:
(defun foo (path)
(interactive "F")
(message path))
2. M-x evaluate-buffer
3. M-x foo and chose /tmp/.
The value presented in the echo area is /tmp/foo.el, this is undesirable and very dangerous IMHO. It happens with both Emacs 24 and 26.
Is this a bug or I'm overlooking something?
Andrea