I claim these are two separate things, and that we cleanly separate them for UNIX implementors, so they can primarily focus on the low level FFI, and simply supply the standard procedure to parse it with little or no change:
I agree. But should that procedure be documented in SRFI 170, or somewhere else? I can go either way on that, since we are now outside the domain of Posix.
In the user-info level have a "comments" field which is the raw pw_gecos field, and mention in the description that it's named the gecos field for historical reasons, and note the procedure to parse it.
I still feel strongly that the accessor should be called user-info:full-name, not user-info:comments. Granted, the result may contain more information than the full name, but I don't think that makes the accessor name significantly misleading if it is properly explained. Then `parse-full-name` can take the full name and return the parsed and &-expanded information as a list of strings. (The BSD finger(1) man page confirms that the login name is titlecased before it is interpolated, and that interpolation is done in the first field only. SRFI 129, which is not part of R7RS-large, contains titlecase algorithms and data.)
A cocky novice once said to Stallman: 'I can guess why the editor is called Emacs, but why is the justifier called Bolio?'. Stallman replied forcefully, 'Names are but names. Emack & Bolio's is the name of a popular ice cream shop in Boston town. Neither of these men had anything to do with the software.'
His question answered, yet unanswered, the novice turned to go, but Stallman called to him, 'Neither Emacs nor Bolio had anything to do with the ice cream shop, either.'
(This is known as the ice-cream koan.)
If the system is Windows, have the user-info procedure fill in this comments field in a manner that will be properly parsed by the supplied procedure. That violates the separation principle I mention above, but there will inevitably be a lot of that with Windows coming from a completely different branch of operating system history.
I think implementations on Windows SHOULD return the full name only, rather than trying to pull other information from Active Directory. If the full name as recorded by Windows contains a comma ("John Jones, Jr."), it's probably best to remove it. I'm going to look into Cygwin's notion of the gecos field further.
One more point: I want to bring back the `parent-pid` and `process-group` accessors as well as adding `session-id`. They don't fit well into my ProcessesCowan proposal, but they are harmless and trivial to implement.