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

From: Stefan Monnier <[email-masked]>
Date: Fri, 30 Nov 2012 15:08:57 -0500

>> Are you really sure that
>> (read-file-name-internal "~" 'file-exists-p nil) returns 
>> "~/dradams/" even though
>> (completion--file-name-table "~" 'file-exists-p nil) 
>> returns "~dradams/"
> No, sorry; my bad.  They both return "~dradams/".

OK, thanks, that makes a lot more sense.  So, that looks correct
(i.e. not a bug).  So, were you simply surprised at this behavior, or
did it actually lead to an actual problem somewhere?

>> > And there is no such directory ~dradams either.
>> Actually, there should be (in the same sense that there is a directory
>> named ~, i.e. it's a shorthand expanded by Emacs, more specifically by
>> `expand-file-name').
>> What does C-x C-f ~dradams/.emacs RET do?  It should open 
>> your ~/.emacs file.
> It does.  Now.  But it does not in older releases.

It's done so under posix "for ever".

> That's OK for an Emacs convention.  I just was not aware of it.  (And for MS
> Windows itself there is still no association between HOME and the user login
> name, AFAIK.  This is an Emacs-only convention.  Nothing wrong with that,
> obviously.)

Right, I'll let Windows users figure out whether it's useful or not.

        Stefan