Subject: bug#58446: 28.2; file-attribute-device-number returns a cons cell instead of an integer

From: Michael Albinus <[email-masked]>
Date: Fri, 14 Oct 2022 19:28:10 +0200

Stefan Monnier <[email-masked]> writes:

Hi Stefan,

>> (defsubst file-attribute-file-number (attributes)
>>   "The inode and device numbers in ATTRIBUTES returned by `file-attributes'.
>> It can be used to determine whether two files are identical."
>>   (nthcdr 10 attributes))
>>
>> WDYT?
>
> Sounds good, except:
>
> - The name `file-attribute-file-number` doesn't sound right
>   because it doesn't return a number.

The name is a reminiscence of the existing variable buffer-file-number,
which serves exactly the same purpose.

> - I wouldn't use `defsubst` (so it can more easily be modified in the
>   future, e.g. in case we add more fields to the attributes or use some
>   other representation for attributes).

All other accessor functions for file-attributes are defsubsts.

> - I would document it more abstractly, mentioning inode and device
>   number only as *examples* of things it might contain.

There is no intention to use it for anything else. It shall return
(nthcdr 10 attributes) like all the other file-attributes accessor
functions return for the respective slots.

>         Stefan

Best regards, Michael.