I was talking with Marc Feeley about inconsistencies between implementations in the behavior of the character-classifying functions like char-alphabetic?.  I decided to investigate Guile, and it turns out that these functions are defined in terms of SRFI 14:  (char-alphabetic? x) => (charset-contains? x char-set:letter).  

Checking SRFI 14, there is a section called "Unicode, Latin-1 and ASCII definitions of the standard character sets" that states what the various char-set:* sets contain in a Unicode Scheme, and Guile conforms closely to this.  A direct link to it is <https://srfi.schemers.org/srfi-14/srfi-14.html#StandardCharsetDefs>.

Unfortunately, these statements are very old, reflecting the Java 1.0 definitions of the corresponding predicates.  Not only has Unicode long since changed the rules on which these definitions are founded, but so has Java.  I have written the modern rules at <https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/CharsetDefinitions.md>.  Compatibility with Java probably made a lot of sense in 1999 when few languages had Unicode libraries; not so much 20 years later.

Now the question of what to do, and the reason I'm bringing this up here, depends on the status of the section in question.  Are the claims normative or merely factual?  If they are normative, then the only path to fixing them is to issue a new SRFI with the new definitions and deprecate SRFI 14 in favor of it.  But if they are factual, they can be fixed by erratum, though admittedly it would be an enormous erratum, covering a little more than 7 printed pages out of 20.  A third alternative is of course to do nothing.

I urge the regulars here to follow the link and see what they think. I've also copied Olin as author of SRFI 14.

-- 
John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
And they pack their lyrics till they're so damn dense
You could put 'em in your yard and you could use 'em for a fence.
      --Alan Chapman, "Everybody Wants to Be Sondheim"