ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
ur5us has quit [Quit: Leaving]
nirvdrum has quit [Remote host closed the connection]
<kares[m]> 🙏
ur5us has joined #jruby
joast has quit [Ping timeout: 260 seconds]
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #jruby
ur5us has quit [Ping timeout: 260 seconds]
nirvdrum has joined #jruby
joast has joined #jruby
lucasb has joined #jruby
<enebo[m]> lopex: my new code only shows two errors (here is one): wrong constant name "\x{8260}"
<lopex> what encoding ?
<enebo[m]> lopex: this is deep in some set of MRI test methods so I do not know which encoding but does that value appear to be anything to you
<enebo[m]> I will figure that out though
<enebo[m]> NAME ENCODING: EUC-JP
<enebo[m]> NAME: ��
<enebo[m]> \243\301
<enebo[m]> lopex: comes from *%W"\u{391} \u{ff21}".flat_map {|c| [c, c.encode("cp932"), c.encode("euc-jp")]},
<lopex> bleh Windows-31J again, which is just sjis
<enebo[m]> Windoes-31J version passes
<enebo[m]> the EUC-JP version of it fails
<lopex> yeah, just saw that
<enebo[m]> Sorry I just pasted the line the EUC-JP string is made from and that cp932 just happened to be on the same line
<lopex> yeah, doable the same way
<enebo[m]> lopex: ah so you fixed this always for 31J and EUC-JP will just end up the same fix?
<lopex> or not..
<enebo[m]> This is my new classification of symbol port where symbols get an enum specifying whether it is a Const Class Identifier etc...
<enebo[m]> It uses a method headius already pushed (with a small change to process from an offset) IdUtil.isConstantInitial
<enebo[m]> Actually I doubt I need that offset at all now that I look at it
<lopex> so.. s = %W"\u{391} \u{ff21}".flat_map {|c| [c, c.encode("cp932"), c.encode("euc-jp")]}; Object.const_set(s[2], 1)
<lopex> weid [-90, -95] folds to [-90, -63]
<lopex> which is different so it sould pass
<enebo[m]> lopex: I will see what is not working...I assumed it was specifically not detecting it was a capital
<lopex> enebo[m]: if they're different it sohuld pass
<enebo[m]> lopex: it is only one codepoint right?
<lopex> as of if (r > 0 && (r != len || ByteList.memcmp(fold, 0, bytes, begin, r) != 0)) in idutil
<lopex> yeah
<enebo[m]> lopex: you are assuming I ported something correctly
<enebo[m]> oh it is in the capitalization method
<enebo[m]> isConstantInitial
<lopex> yeah
<lopex> enebo[m]: it's rb_sym_constant_char_p in mri
<enebo[m]> yeah
<lopex> oh, it's in the comment there
<enebo[m]> lopex: it is but I also ported about 60% of that method before I realized he had already made it
<enebo[m]> lopex: ok I see in debuffer fold and bytes have differences so I think that method is working
<enebo[m]> lopex: something else in my method and I see it
<enebo[m]> this advances through multiple bytes to figure out where capital letter is but then when I bump out of it my pointer is m++;
<enebo[m]> where it needs to be m+=codepoint length
<enebo[m]> lopex: but this is the like I ported: type = rb_sym_constant_char_p(m, e-m, enc) ? ID_CONST : ID_LOCAL;
<enebo[m]> I guess m is getting a new address as an outparam since it is an updated pointer?
<enebo[m]> nope
<lopex> no name is not changed
<enebo[m]> oh I see a problem m++ I am doing is not there in MRI method so it leaves pointer at initial character
<enebo[m]> so it drops to id: label and walks that first codepoint all over again
<lopex> yeah, no loops there in the switch
<lopex> or gotos
<lopex> which can be tricky
<enebo[m]> no but that m++ had nothing to do with a loop
<enebo[m]> there is a loop in that method down below
<enebo[m]> my code point walking method is only reading in the first 2 bytes of that string
<lopex> yeah, just m += rb_enc_mbclen(m, e, enc);
<enebo[m]> m = ByteListHelper.eachCodePointWhile(data, m, (index, codepoint, enc) ->
<enebo[m]> enc.isAlnum(codepoint) || codepoint == '_' || !Encoding.isAscii(codepoint));
<enebo[m]> heh
<enebo[m]> I think I see my error there now too
<enebo[m]> p < len should be p < end
<lopex> hah
<lopex> yeah
<enebo[m]> boo either the debugger did not pick up the change or it is still broken
<enebo[m]> lopex: so it does n = 2 for first weird A and then for second it gets n = 1 for what appears to look like a spacelike thing? and it fails which returns 2 which is the index of that first thing
<enebo[m]> The p < end was an error but in this case begin was 0 so it made no difference
<enebo[m]> err p < len
<enebo[m]> GHAHAHAHAHA
<enebo[m]> mri26 -e " s = %Q{\u{391} \u{ff21}}.encode(%q{euc-jp}); Object.const_set(s, 1)"
<enebo[m]> -e:1:in `const_set': wrong constant name "\x{A6A1} \x{A3C1}" (NameError)
<enebo[m]> Perhaps my m++ removal fixed the problem by returning a different expected error vs expecting this to actually work
<enebo[m]> lopex: FIXED!
<enebo[m]> bleh...so I think my problem was the m++; which would then try and walk codepoints from byte index 1 which would be an invalid codepoint
<lopex> not I'm confused bot \u{391} \u{ff21} fold
<enebo[m]> lopex: ok well that is a fine thing to be but I am going to leave that to you since I want to verify I am at least green testwise
<lopex> enebo[m]: there's a space in there
<lopex> that why
<enebo[m]> yes
<enebo[m]> so it was expecting an error
<lopex> aaa
<lopex> h
<lopex> ok
<enebo[m]> but I was getting another error because I cleaved the first byte off the first capital letter
<enebo[m]> which tells me there are not many tests/specs which test mbc capitals as this would fail all the time
<enebo[m]> lopex: I still need to make that method I displayed above have an ascii fast path
<enebo[m]> I do not want to scan to check though so that sort of sucks
<enebo[m]> I wish bytelist had CR
lanceball has quit [Changing host]
lanceball has joined #jruby
<enebo[m]> ok nevermind...I can still do this for symbols
<enebo[m]> I spaced out symbols will try as hard as possible to change encoding to US-ASCII
<enebo[m]> lopex: thank you for being my mbc security blanket
<olleolleolle[m]> https://github.com/jruby/warbler/pulls I managed to clear the queue of chores - now there are real things to review etc.
<enebo[m]> olleolleolle: thanks for putting your efforts into this
<olleolleolle[m]> My pleasure.
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:e2010a4 by Thomas E. Enebo): The build failed. https://travis-ci.org/jruby/jruby/builds/673491706 [41 min 39 sec]
travis-ci has left #jruby [#jruby]
MarcinMielyskiGi has quit [Ping timeout: 246 seconds]
rg_3[m] has quit [Ping timeout: 246 seconds]
MarcinMielyskiGi has joined #jruby
rg_3[m] has joined #jruby
ThomasEEneboGitt has quit [Ping timeout: 246 seconds]
ThomasEEneboGitt has joined #jruby
<enebo[m]> well that will teach me to not fo a full rebuild
fzakaria[m] has quit [Ping timeout: 246 seconds]
anubhav8421[m] has quit [Ping timeout: 246 seconds]
fzakaria[m] has joined #jruby
anubhav8421[m] has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:609a4ea by Thomas E. Enebo): The build was fixed. https://travis-ci.org/jruby/jruby/builds/673500857 [143 min 41 sec]
travis-ci has left #jruby [#jruby]
JasonRogers[m] has quit [*.net *.split]
ChrisSeatonGitte has quit [*.net *.split]
TimGitter[m]1 has quit [*.net *.split]
HarlemSquirrel has quit [*.net *.split]
Iambchop has quit [*.net *.split]
TimGitter[m]1 has joined #jruby
JasonRogers[m] has joined #jruby
ChrisSeatonGitte has joined #jruby
HarlemSquirrel has joined #jruby
Iambchop has joined #jruby
<headius[m]> baha
subbu is now known as subbu|lunch
CharlesOliverNut has quit [Ping timeout: 246 seconds]
CharlesOliverNut has joined #jruby
subbu|lunch is now known as subbu
<lopex> enebo[m]: code2mbcBlanket
claudiuinberlin has joined #jruby
<lopex> enebo[m]: the bad part of mri encoding is that they have two paths involving folds
<lopex> enebo[m]: and they're inconsitent
<lopex> mbcCaseFold, caseMap, and almost applyAllCaseFold all go different paths wrt casing
lucasb has quit [Quit: Connection closed for inactivity]
<lopex> headius[m]: tried to come up with a more typsafe way of restricting those ranges to encodings
<lopex> but since the api is frozen it;s hard to do
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]