ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
_whitelogger has joined #jruby
shellac has joined #jruby
ur5us has quit [Ping timeout: 260 seconds]
xardion has quit [Remote host closed the connection]
victori has quit [Remote host closed the connection]
victori has joined #jruby
xardion has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
<headius[m]> g'day folks
<headius[m]> lopex: aha ok
<headius[m]> hmm seems like I have it implemented right but still rejecting those weird characters
<headius[m]> I must not have this case-folding bit correct
<headius[m]> enebo: we need to cache the symbol types if this is the pattern we're going to use
<headius[m]> going back into these codepoint loops every time we access something with a symbol is going to be a waste
<enebo[m]> well symbol can cache it as a field right?
<headius[m]> yeah in CRuby they have a series of type flags
<enebo[m]> but newSymbol or whatever will need a new set of signatures :)
<headius[m]> so they know forever if it's a constant name or an ivar name or whatever
<enebo[m]> I believe I even has FIXME on recording an enum for what it is
<headius[m]> I don't think so... it just needs to calculate for any new symbol what kind it is
<enebo[m]> I cannot use intellij now unless I futz around with dates or re-evaluate
<headius[m]> really?
<enebo[m]> Even though hiro sent in request last week I sent them a message this morning
<headius[m]> I rebooted yesterday and still working
<enebo[m]> on both machines I am locked out now
<enebo[m]> I am still on 2019.3
<enebo[m]> Perhaps they disabled checks in 2020.x
<headius[m]> I'm on 2019.2
<enebo[m]> oh heh ok well luck you then :)
<lopex> headius[m]: so the case folding branch is failing ?
* headius[m] uploaded an image: Screen Shot 2020-04-06 at 14.05.23.png (381KB) < https://matrix.org/_matrix/media/r0/download/matrix.org/oweWdBdRrKWbadKDLCPDdGmZ >
<headius[m]> lopex: yeah unsure if I have it right, will gist
<enebo[m]> oh haha
<enebo[m]> weird as hell mine expired on March 28
<enebo[m]> So you will enjoy a surprise tomorrow I bet unless they renew us
<enebo[m]> I don't know how we all have the same basic license block but have different days
<enebo[m]> perhaps it is based on when you first grab the new license
<headius[m]> dunno the significance of 28 vs 29 because they're both > 7 days ago
<headius[m]> beats me why it works
<enebo[m]> ok on 30 day eval license
<enebo[m]> I believe they added a grace period to this
<enebo[m]> Maybe it is 9 days or something
<headius[m]> did yours just stop working?
<headius[m]> FWIW I think for Java everything we need is in the community edition
<enebo[m]> YES
<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
<enebo[m]> enum looks a lot nicer
<headius[m]> lopex: `Object.const_set("\u{391}".encode("cp932"), 1)`
<headius[m]> lopex: code looks right, no?
<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
<lopex> ah that's from id.h.tmpl
<enebo[m]> this is from rb_id_attrset so I am unclear if this is all valid for symbol
<headius[m]> I pushed what I have
<headius[m]> I'm going to triage bugs for a bit and plan to spend rest of this week getting load service branch done
<enebo[m]> ok this is the magic for the type: https://gist.github.com/enebo/0bace27bf5cbd6122a6fb828d7a4b7bf
<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?)
ur5us has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:59a9569 by Charles Oliver Nutter): The build is still failing. https://travis-ci.org/jruby/jruby/builds/671813568 [169 min 20 sec]
travis-ci has left #jruby [#jruby]
<headius[m]> enebo: IDEA just started yelling at me *while* it was running
<headius[m]> so I just crossed the threshold
<enebo[m]> restart and go into 30 day eval mode
<headius[m]> ok
<headius[m]> enebo: eregon_ set up a similar dev build of JRuby here: https://github.com/ruby/jruby-dev-builder/releases
<headius[m]> it runs nightly and repackages our most recent successful maven snapshot appropriate to github actions/releases
<headius[m]> we could probably start pointing people at this nightly via https://github.com/ruby/jruby-dev-builder/releases/latest
<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
<headius[m]> it's so easy!
<lopex> only ported required bits, more of them
<lopex> [-125, -97] goes to [-125, -65]
travis-ci has joined #jruby
travis-ci has left #jruby [#jruby]
<travis-ci> jruby/jruby (master:530efd0 by Charles Oliver Nutter): The build is still failing. https://travis-ci.org/jruby/jruby/builds/671829395 [171 min 8 sec]
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby