GNU bug report logs - #58446
28.2; file-attribute-device-number returns a cons cell instead of an integer

Previous Next

Package: emacs;

Reported by: Thierry Volpiatto <thievol <at> posteo.net>

Date: Tue, 11 Oct 2022 18:18:02 UTC

Severity: normal

Found in version 28.2

Fixed in version 29.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #34 received at 58446 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Thierry Volpiatto <thievol <at> posteo.net>, Lars Ingebrigtsen <larsi <at> gnus.org>,
 58446 <at> debbugs.gnu.org
Subject: Re: bug#58446: 28.2; file-attribute-device-number returns a cons
 cell instead of an integer
Date: Fri, 14 Oct 2022 21:03:15 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

Hi Stefan,

>>> - 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.
>
> One error doesn't justify another.
> Maybe a better name would be "file identifier"?

True, but I'd let decide the maintainers.

>>> - 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.
>
> Every `defsubst` should be judged on its own individual value.
> This one doesn't seem to be justified.

As I said, it should be an "accessor function" for the result of
file-attributes. Just a stupid one, which returns inode and
device. That's the intention, and not something more sophisticated about
identifying a file.

>>> - 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.
>
> I did not suggest changing its implementation.  Only its documentation.
> The doc should describe the intended semantics of the return value
> without documenting how it's implemented.

The intended semantics is what's described. I understand that you see
something more for the future. I don't see it, sorry. No other use case
I could think of.

We have file-equal-p for more sophisticated checks, and this has even
file name handler support.

>         Stefan

Best regards, Michael.




This bug report was last modified 2 years and 299 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.