Subject: RE: bug#12911: 24.3.50; let users decide where (& perhaps whether)`emacs_backtrace.txt' files are written

From: "Drew Adams" <[email-masked]>
Date: Tue, 20 Nov 2012 13:47:38 -0800

> "The file system directory used to physically store a user's common
> repository of documents."  What do you make of that?  "User's
> documents", not "user's files".

A distinction without a meaning, in the present context.  Trouncing user stuff
is a no-no, whether that stuff is "documents" or files.

The distinction that matters here is user vs application.  The distinction
between documents and files is a red herring, unless I'm missing something.

> Yes, that's the "virtual folder" part in the description on the above
> URL.  But then you also have per-user "Application Data", "Temporary
> Internet Files", "Favorites", and many more.  Being per user does not
> mean it's up for grabs for any particular purpose.

I'm certainly not arguing that `My Documents' should be up for grabs by a
program for any particular purpose.  Far from it.  Well behaved programs store
user-specific internal data in places like `Application Data', NOT in `My
Documents'.  User-specific program data is not the same thing as user data.

You do not seem to want to recognize any difference between a user's photo of
his grandmother and a cache file used by a program to optimize access to that
photo.  (Hint: the user cares about Grandma; s?he does not care about the
cache.)

Why such a refusal to admit the obvious?  Is this about arguing and winning an
argument, or is it about progressing toward a solution?

You seem to want to emphasize the continuum and shades of gray, whose existence
no one would dispute, as an excuse not to recognize any distinction at all
between the ends of the spectrum.  (It's all connected; each electron is spread
out and penetrates the entire universe.  All is  o n e.) 

It is not all the same.  Red is not blue, even if there is a continuum of
wavelengths.  A program keeping to itself and its internal program thingies is
more likely to be well behaved than one that refuses to recognize any difference
between itself and the user.

> Not at all.  It is customary, at least on Unix, to put logs,
> command history, and other similar files in the user's home
> directory.

Yes, and it is just as customary, or at least likely, that Unix user Eunice will
put her documents/files in specific subdirectories under $HOME, and not just
sprinkle them at the top level of $HOME.  

(Not to mention the custom/handling (e.g. by listing programs, shell, and
various commands) of "hidden" dot files.  All is not equal, even on Unix.)

Argue this as you might for Unix, it is certainly the case on MS Windows, at
least, that it is customary for users NOT to mix their own documents/files in
with system data or application data.  And it is just as customary for
applications not to mix their data with user documents/files.

It's hard for me to believe this is even a point open to debate. 

> Don't believe everything Wikipedia says.

You don't seem to want to believe your own eyes.
The existence of green does not prove that red is blue.

> Then why did that "My" part disappear in latest Windows versions?
> There's no C:\Users\<username>\Documents etc., with "My Documents"
> just a symlink.
> http://windows.microsoft.com/is-IS/windows-vista/What-happened-to-My-Documents

Irrelevant.  (And you could have learned the same thing if you had read the
Wikipedia entry I cited, BTW.)

> > `My Documents' is not the kind of place a civilized program 
> > would want to pollute with its own crap.
> 
> It's _your_ crap, because it's _you_ who runs that program.

There you go again.  That, I guess, is your core argument:
it's all  o n e.

Sorry, I reject that argument entirely.  I won't repeat the reasons, unless you
really want me to.  Red is not blue.  User-specific app data is not the same
thing as user data.

Your program is not Eunice User, even if Eunice chooses to use your program.
Sure, if you ask her whether you can put your stuff in her folder, and she says
yes, then things are a bit different.  Then we're talking mutual consent, not
violation. ;-)

The question is what Emacs can do to minimize intrusion/annoyance.

Perhaps you'd prefer an opt-in EUA that Eunice must acknowledge in order to use
Emacs, and containing a provision that Emacs reserves the right to stick its
stuff anywhere at all?  Yes, in that case, by agreeing, Emacs's crap becomes
Eunice's crap.  I hope we can avoid that.

> > That is not the same as a place to stuff program-internal 
> > data.  We have `Program Files' and user-specific `Local 
> > Settings\Application Data' for that kind of thing.
> 
> As I wrote earlier, writing to "Program Files" is a bad idea,
> as it is not writable in Vista and later.

I said that programs store internal data in such places, and they do.  Whether
they also use `Program Files' to write new files to, once installed, is another
matter.  (And I don't hear you making the same claim wrt `Application Data',
BTW.)

Eli, please stop arguing peripheral minutiae.  Store program-internal data where
other programs do (on Windows).  That's all.  'Nuff said.