Subject: Re: bug#865: 23.0.60; The directory is unsafe today

From: Eli Zaretskii <[email-masked]>
Date: Fri, 05 Sep 2008 13:32:12 +0300

> Date: Fri, 05 Sep 2008 06:46:35 +0800
> From: Jason Rumney <[email-masked]>
> Cc: 
> 
> Under Windows, where the owner can be a group, if the current user is a 
> member of the group that owns a file, then they effectively own that 
> file, and Emacs should report that to avoid problems with Lisp code that 
> is trying to test ownership.

How about solving this the other way around: if the current user is a
member of the Administators group, Emacs on Windows will return that
group's ID (544) as user-uid of such a user?

Specifically, my suggestion is the following API change:

   user-uid is a built-in function in `C source code'.
   (user-uid &optional real-id)

   Return the effective UID of the user who runs this Emacs session.
   Value is an integer or float, depending on the value.

   On MS-Windows, if the user belongs to the "Administrators" group,
   that group's ID is returned instead of the user's ID.  This is to
   match MS-Windows policy to attribute ownership of files created by
   such users to the Administrators group.  If REAL-ID is non-nil, return
   the real UID of the user even if it belongs to the Administrators
   group.