Subject: bug#13033: 24.3.50; regression: read-file-name-internal handles "~" wrong

From: Stefan Monnier <[email-masked]>
Date: Fri, 30 Nov 2012 12:00:32 -0500

>> Can you tell me what happens when you do the following:
>> (completion--embedded-envvar-table "~" 'file-exists-p nil)
> nil
>> (completion--file-name-table "~" 'file-exists-p nil)
> "~dradams/"
>> (completion-file-name-table "~" 'file-exists-p nil)
> "~dradams/"
> All from emacs -Q.  In Emacs 24.2 and 23.4 they all return nil.

OK, that makes sense since older versions did not support
user-name completion.  Now you say that (read-file-name-internal "~"
'file-exists-p nil) returns "~/dradams/" and I can't understand where
the additional slash comes from.

Also arguably, "~/" should also be a completion candidate, so the above
calls should not complete to "~dradams/" but to "~" (the common prefix
between the two possible completions).

        Stefan