Issue #1889 has been updated by Run Paint Run Run.


> RE.txt is for original Oniguruma, not for Ruby 1.9's regexp.
> We may need our own document.

Absolutely. :-) Can I open a ticket?

> I think, POSIX properties should follow UTS18.

UTS18 defines [[:word:]] as:  \p{alpha}, \p{gc=Mark}, \p{digit}, \p{gc=Connector_Punctuation}. Where 'digit' is defined elsewhere as Nd. So [[:word:]] shouldn't match No and Nl, which means that the current version is right, and the old wrong.

[[:print:]] is defined as \p{graph} \p{blank} -- \p{cntrl}, where '--' means 'set difference'. 
[[:graph:]] is defined as [^\p{space} \p{gc=Control} \p{gc=Surrogate} \p{gc=Unassigned}]. Private use characters are in the Co category, so neither [[:graph:]] or [[:print:]] encompasses them. Format characters are in category Cf, so neither [[:graph:]] nor [[:print:]] includes them.

[[:cntrl:]] is defined as \p{gc=Control}, i.e. members of Cc (not C, as you may expect). This again excludes format and private-use characters. 

So it appears that the patch was correct, and the previous Onigurma was wrong. I'll leave it you decide whether this needs backporting. Sorry for the trouble.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/1889

----------------------------------------
http://redmine.ruby-lang.org