Re: Remaining things to remove mostly per the 80/20 rule Lassi Kortela 12 Aug 2019 13:44 UTC
> It's not really that complex though - the subfield format is a gross > hack to be sure, but it has been quite uncontroversial over decades. > Just split at commas, take the first field and replace ampersand (if > any) with capitalized username. Any fields beyond the first are not > useful except for the now obscure finger. > > Not sure about that: some systems may use them internally to stash > stuff, given that *BSD supports them. That would indeed be a concern if we provided a facility to write the GECOS field. But since we are only reading it, I don't see a problem with throwing out the parts we're not sure how to use. > How about this: Do ampersand substitution, split on commas, return two > values: the first part as a string, the rest as a list of strings, and > keep the name "full-name". Thank you for considering it. If the other subfields are desired, I would serve them from a separate getter procedure like this: (user-info:full-name user-info) => first subfield of GECOS (user-info:personal-info user-info) => list of remaining subfields On some OS with a better thought out user database, the personal-info list could perhaps be an association list. Windows networks use Active Directory for user information. It's based on LDAP. Is anyone here familiar with what kinds of user info are stored in LDAP? I don't mean to say we should mandate any LDAP stuff in the SRFI, but it would be nice to give implementations a natural place to stash LDAP info if they want to do so. Maybe Windows has an easy API to access it. And on Unix there's NIS and LDAP too. Ugh. I'm out of my depth here. We could also just call it something like: (user-info:gecos-tail user-info) => list of remaining subfields But I secretly hope there will be some kind of distro-wide agreement to phase out GECOS :) > It may not be Posix, but it's always going > to be present in /etc/passwd vel sim. We are slowly winning you over to the Posix-is-only-one-of-several-guidelines camp :) > Should & substitution be done on all parts, or only the full name proper? I don't know. I'll ask on Unix Stack Exchange. > On the root of zoneinfo: I think we should expect the implementer of > SRFI 170 to figure out where it is, though we could say it's in > /usr/share/zoneinfo with these known exceptions, and may be elsewhere. One possibility is to readlink("/etc/localtime") and split the result at the last occurrence of "zoneinfo", trusting that the timezones are under some "zoneinfo" directory on all systems. However, knowing the mindset of Unix distributors at large, we are unlikely to have such luck. They can't even agree on whether development packages should be called "-dev" or "-devel", let alone anything more complex. At this rate, it would be simpler to hard-code a list of all known top-level timezones and trust that those don't change!