-DEFUN ("file-attributes", Ffile_attributes, Sfile_attributes, 1, 1, 0,
- "Return a list of attributes of file FILENAME.\n\
-Value is nil if specified file cannot be opened.\n\
-Otherwise, list elements are:\n\
- 0. t for directory, string (name linked to) for symbolic link, or nil.\n\
- 1. Number of links to file.\n\
- 2. File uid.\n\
- 3. File gid.\n\
- 4. Last access time, as a list of two integers.\n\
- First integer has high-order 16 bits of time, second has low 16 bits.\n\
- 5. Last modification time, likewise.\n\
- 6. Last status change time, likewise.\n\
- 7. Size in bytes.\n\
- This is a floating point number if the size is too large for an integer.\n\
- 8. File modes, as a string of ten letters or dashes as in ls -l.\n\
- 9. t iff file's gid would change if file were deleted and recreated.\n\
-10. inode number. If inode number is larger than the Emacs integer,\n\
- this is a cons cell containing two integers: first the high part,\n\
- then the low 16 bits.\n\
-11. Device number.\n\
-\n\
-If file does not exist, returns nil.")
- (filename)
- Lisp_Object filename;
+DEFUN ("file-attributes", Ffile_attributes, Sfile_attributes, 1, 2, 0,
+ doc: /* Return a list of attributes of file FILENAME.
+Value is nil if specified file cannot be opened.
+
+ID-FORMAT specifies the preferred format of attributes uid and gid (see
+below) - valid values are 'string and 'integer. The latter is the default,
+but we plan to change that, so you should specify a non-nil value for
+ID-FORMAT if you use the returned uid or gid.
+
+Elements of the attribute list are:
+ 0. t for directory, string (name linked to) for symbolic link, or nil.
+ 1. Number of links to file.
+ 2. File uid as a string or an integer. If a string value cannot be
+ looked up, the integer value is returned.
+ 3. File gid, likewise.
+ 4. Last access time, as a list of two integers.
+ First integer has high-order 16 bits of time, second has low 16 bits.
+ 5. Last modification time, likewise.
+ 6. Last status change time, likewise.
+ 7. Size in bytes.
+ This is a floating point number if the size is too large for an integer.
+ 8. File modes, as a string of ten letters or dashes as in ls -l.
+ 9. t iff file's gid would change if file were deleted and recreated.
+10. inode number. If inode number is larger than the Emacs integer,
+ this is a cons cell containing two integers: first the high part,
+ then the low 16 bits.
+11. Device number. If it is larger than the Emacs integer, this is
+ a cons cell, similar to the inode number. */)
+ (filename, id_format)
+ Lisp_Object filename, id_format;