emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: remember(-diary).el


From: martin rudalics
Subject: Re: remember(-diary).el
Date: Thu, 22 Nov 2007 09:57:18 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

>>As I understand it (it's been a fairly long time since I've used the
>>more primitive versions of windows), the "short name" chosen for a long
>>name is explicitly chosen to ensure it doesn't clash with any other
>>short names.  E.g., for the file "remember-diary.el", it might choose
>>"rememb~1.el" as a short name.
>
> In theory, yes, but in practice, the algorithm that chooses the short
> 8+3 alias has bugs that could well cause a clash, depending on what
> other files are present in the directory whose names map to the same
> strings after 8+3 truncation, and in what order Windows sees the files
> created.

FWIW Eli's right:

(1) If remember.el is created _before_ remember-diary.el, the 8+3 alias
of the former is written to disk as REMEMBER.EL that of the latter as
REMEMB~1.EL (I did use the disk editor to verify that).

(2) If remember-diary.el is created first, its 8+3 alias is written to
disk as REMEMBER.EL.  When I now try to find a file remember.el in the
same directory, Windows finds remember-diary.el instead.  When I try to
store a file remember.el in that directory, Windows complains that such
a file already exists.

In general the problem occurs when the name of the second file I want to
write has eight characters _and_ is a prefix of the name of the first
file.  Hence, I get the same bug for remember_diary.el vs remember.el as
well as for rememberdiary.el vs remember.el.

With other words: When the name of a file A sans extension is a prefix
of the name of a file B sans extension and the length of the name of
file A sans extension equals 8, file A must be created before file B in
order for having both files coexist in the same directory.  I didn't
bother to check this rule for filenames containing a tilde.

My problem with the CVS repository thus could be resolved by renaming
remember.el to something like remember-core.el.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]