OK; I was going from what you'd recently added to the SRFI.  Is "first letter capitalized" sufficient in the context of Unicode strings??  If per SRFI 129 the first character is a titlecase character, what exactly should be done?

Taking a step back, given the common in the 1970s and probably 1960s method of making a username out of your initials, which I followed to create "hga", capitalizing that type of username makes absolutely no sense, e.g. "Rms", or for the co-inventors of Scheme, "Gjs" and "Gls".  Ditto for other usernames I've been forced to use by inflexible corporations or when "hga" was already taken.  Or, with 2 exceptions I can think of off the top of my head, the various semi-anonymous aliases I've used.

I wonder where and why this particular bit of ornamentation came from, especially since POSIX usernames are allowed to be case sensitive (although I wouldn't try that in a world getting eaten by systemd):


A string that is used to identify a user; see also User Database. To be portable across systems conforming to POSIX.1-2017, the value is composed of characters from the portable filename character set. The <hyphen-minus> character should not be used as the first character of a portable user name.


3.282 Portable Filename Character Set

The set of characters from which portable filenames are constructed.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 . _ -

- Harold

----- Original message -----
From: John Cowan <xxxxxx@ccil.org>
Date: Tuesday, August 27, 2019 9:45 AM

That works except that "titlecased" means "first letter uppercased, other letters lowercased", which is not the case (heh) here.

On Tue, Aug 27, 2019 at 9:53 AM <xxxxxx@ancell-ent.com> wrote:

From: John Cowan <xxxxxx@ccil.org>
Date: Monday, August 26, 2019 4:02 PM

On Mon, Aug 26, 2019 at 10:42 AM Lassi Kortela <xxxxxx@lassi.io> wrote:


Note that as the draft now points out, Cygwin's /etc/nsswitch.conf tells Cygwin what additional information, if any, to put in the GECOS field.
"any and all ampersands in the first element of the list are replaced by the result of user-info:name with the first letter capitalized and other letters intact. If user-info:name does not start with a letter, its case is unaltered."

Works for me.

That helps to clarify the algorithm.  Here's my not yet committed SRFI text that incorporates the above as simply as I can:

The raw value [of user-info:full-name] is split on commas, creating a list of strings to be returned. All ampersands in the first element of the list are replaced by user-info:full-name, which is titlecased if it starts with a letter.

- Harold