Subject: bug#4592: closed (Re: bug#4592: Bug in built-in function substitute-in-file-name)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 10 Mar 2011 07:01:02 +0000

Your bug report

#4592: Bug in built-in function substitute-in-file-name

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
4592: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4592
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4592: Bug in built-in function substitute-in-file-name
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Thu, 10 Mar 2011 02:00:33 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Thanks for the report. Your report was against an old version of Emacs,
and the issue you describe could not be reproduced. The latest version
is 23.3. Please open new reports for any issues you have with the new
version.

Subject: Bug in built-in function substitute-in-file-name
From: Mosur Mohan <[email-masked]>
To: [email-masked]
Date: Tue, 29 Sep 2009 17:37:26 -0700

I am running Emacs version 21.3 on a Linux x86_64 machine.

When I start up Emacs, I go to the *scratch* buffer and eval
    (substitute-in-file-name "/~/")
and I get the expected result
    "~/"

After running for a while, I notice that filename completion starts
giving errors.  At this point, I re-try the above experiment:
    (substitute-in-file-name "/~/")
But now, I get:
    "/~/"

I am not able to figure out what happened in between to make it stop
working correctly.  A search for "substitute-in-file-name" in
bug.gnu.emacs didn't turn up anything relevant to this problem.

I narrowed the problem down to substitute-in-file-name after some
debugging.  Here's the sequence:

In the recently launched Emacs session, while editing a file, I type
C-x C-f to open another file.
In the minibuffer, I see the prompt "~/DesignDB/" (my current working directory)
I type "~/Al" so that the minibuffer now reads "~/DesignDB/~/Al"
I hit <TAB> to do completion on ~/Al
The minibuffer changes to "~/Alps/", which is correct.

In the older Emacs session where I see the problem, I carry out the
same sequence.
With the minibuffer reading "~/DesignDB/~/Al", I hit <TAB>
The minibuffer shows this message: "Opening directory: no such file or
directory, /nfs/pdx/home/mmohan/DesignDB/~*/Al"
The *Messages* window contains this message:
read-file-name-internal: Opening directory: no such file or directory,
/nfs/pdx/home/mmohan/DesignDB/~*/

I debugged this difference in complete.el and ffap.el until I reached
the above discrepancy in the behavior of built-in function
substitute-in-file-name.  I was then able to make the 2 sessions
exhibit the difference with the minimal arg "/~/" to the function.

Hope that is sufficient info.  Thanks,
--
Mosur Mohan