Subject: bug#2702: 23.0.91; ls -al under eshell doesn't work on Windows Vista

From: Eli Zaretskii <[email-masked]>
Date: Wed, 18 Mar 2009 04:59:50 -0400

> Date: Tue, 17 Mar 2009 16:48:21 -0600
> From: "Derek Kivi" <[email-masked]>
> Cc: 
> 
> In eshell, running the command "ls -al" can produce the following error:
> 
> c:/Derek $ ls -al
> 
> total 593
> Wrong type argument: integerp, -2023488832.0
> 
> >From correspondence with Eli Zaretskii on the help-emacs-windows mailing
> list, this is due to the fact that a user's uid can be a float larger
> than an Emacs Lisp integer can hold.
> 
> The owner of the .. directory (c: itself) appears to be a user called
> TrustedInstaller.

Thank you for your report.  Could you please post the full SID
(Security Identifier) of this TrustedInstaller user?  This user is new
with Vista, so I'd like to have its SID value to better understand
what it does to Emacs code (for example, why the numeric UID comes out
negative, as your report shows).

There are several utilities available to display the SID.  One of them
is `subinacl', which can be downloaded from here:

  http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en

After you install it, the following command line will display the SID
of the owner of the root directory of the C: drive:

  subinacl /file C:\ /display=sddl

Please post here the full output of that command.

>From info on the Internet, I understand that Vista comes with a
similar utility called icacls.exe, but I don't have a Vista where I'm
typing this, so I could not verify whether it can display the SID of
the owner, and what switches would you need to give it for that.

Thanks.