Just noticed that the following wasn't CC'ed to the whole list:

From: John Cowan <xxxxxx@ccil.org>
Date: Wednesday, August 21, 2019 7:57 PM

On Wed, Aug 21, 2019 at 8:47 PM <xxxxxx@ancell-ent.com> wrote:

Can't it get that by taking (user-info:name a-user-info-record) as an argument?  That does return the raw pw_gecos field.

Our original design was just (parse-full-name string) -> string list.  But that doesn't fly because it doesn't have the user-info object to get the user-info:name (login name).   So I changed it to accept the user-info object, from which it pulls the name and full-name fields.

I hadn't noticed that "grab from login name" requirement in the parsing.  I could argue, well, a procedure that takes two strings, but with the addition of Doing the Right Thing for Windows I accept this.

In text you added to with-raw-mode:

Therefore, it makes no sense to use any read operation on the terminal
except read-char.
No character is given special handling; all are passed to the
application exactly as received.
Echoing of input is disabled on the terminal during the execution of <code>thunk</code>
and then is re-enabled.

Does it make sense to allow the user to ask for more than one character with the existing min argument?

Committed a change to recommend read-string as well as read-char.

And now all three with- and without- procedures are implemented in Chibi Scheme. and work on Bionic Beaver Linux and OpenBSD 6.5.  Implementing them for real definitely helped refine their definitions in the SRFI.

- Harold