<enebo[m]>
It forced me into the license screen and would not move past it because I no longer have a license
<enebo[m]>
It started this morning
<enebo[m]>
// FIXME: Symbol (like MRI) should get flag set for types of identifiers it can represent so we don't recalc this all the time (and others)
<headius[m]>
there ya go
<enebo[m]>
I made that FIXME when I made the validXXX methods for class/instance/constant
<enebo[m]>
class=cvar
<enebo[m]>
are there any overlapping types?
<headius[m]>
lopex: admittedly I am porting this blind but I thought I matched the C code
<enebo[m]>
@/@@/$/lowercase/capital
<headius[m]>
might be, I was thinking that
<headius[m]>
they should be bit flags probably
<enebo[m]>
I do not know how MRI does this but if they do not overlap then enum is nice
<enebo[m]>
but if they fit in flags I guess it is better
<headius[m]>
yeah it would be
<enebo[m]>
memory-wise? I mean how many symbols actually exist anyways
<headius[m]>
well, it would be a "bigger" field for an enum reference but it probably doesn't make much difference
<headius[m]>
fields smaller than int likely get padded to int, and reference fields are compressed down to int
<enebo[m]>
yeah
<headius[m]>
I realized these types would be nice on Friday, but then today realized it even more since the non-unicode case folding allocates some stuff
<lopex>
headius[m]: what char is fails on ?
<lopex>
*it
<enebo[m]>
we may have enough of flags for this too
<enebo[m]>
I guess I do not really care that much though
<headius[m]>
enebo: we need to gut IdUtil per the issue I filed too
<headius[m]>
there's still scads of paths using IdUtil against ID strings
<enebo[m]>
ah well we should definitely be retrieving symbol yeah
<headius[m]>
the code above is a port of the same logic in CRuby... apparently Unicode has a thing called "title case" I learned about last week 🤗
<lopex>
hmm [-50, -111] folds to [-50, -79]
<headius[m]>
so with title case and the non-unicode case fold logic this should be 100% for constant names
<lopex>
ah, cp932
<headius[m]>
more coffee brb
<headius[m]>
yeah
<headius[m]>
the cases failing are `"\u{391} \u{ff21}"` each with cp932 and euc-jp
<lopex>
BaseSJISEncoding might be broken
<headius[m]>
everything else is good at this point
<lopex>
and yeah, it has it;s owne folding
<lopex>
er
<headius[m]>
holy shit
<headius[m]>
Carl Quinn of Java Posse died from Covid-19
<enebo[m]>
yeah
<headius[m]>
I was offline all weekend and just saw this now
<headius[m]>
starting to hit closer to home now
<enebo[m]>
yeah I keep thinking a lot of us are not immune but less likely but then you see people getting it
<headius[m]>
this is the first person I knew personally
<lopex>
it's a new virus, noone was immune
<lopex>
like in flu
<lopex>
er, unlike
<lopex>
headius[m]: yeah, there's separate folding for sjis
<lopex>
bleh
<headius[m]>
ugh
<headius[m]>
two steps forward one step back
<headius[m]>
lopex: I'm going to commit this code as is for now
<headius[m]>
we will want the symbol type enum to avoid this heavy case-folding branch but this gets it working for the unicode title case chars at least
<enebo[m]>
ID_JUNK is a fun one I wonder why it exists
<enebo[m]>
I guess it is for any symbol which cannot represent anything
<enebo[m]>
junk as a name though
<enebo[m]>
ATTRSET is one I would not have thought of but they must use it for an opt and I see no reason not to just add it
<enebo[m]>
without seeing it I am guessing INVALID is -1
<enebo[m]>
which brings up another question :)
<enebo[m]>
wot...is_junk_id is only called in one place and it is looking at the symbol of kwrest
<enebo[m]>
there is also a rb_is_junk_sym which is a check to is_junk_sym but it is not used from ordinary C source (maybe something generated uses it or maybe it is for cexts?)
<headius[m]>
right now he's split it by OS but I'l sort out with him whether we can just make it a single package... feels weird to install a package labeled as "ubuntu" on macos
<enebo[m]>
yeah I am happy if we can just point to something easily
<enebo[m]>
and not have to maintain it specifically
<headius[m]>
this is at least better than dropping folks into a snapshot dir with dozens of recent builds
<enebo[m]>
yeah
<headius[m]>
I updated nightly page to link to this first, but with snapshot links still there