00:06
shellac has joined #jruby
00:37
shellac has quit [Quit: Computer has gone to sleep.]
02:20
michael_imac has joined #jruby
02:20
michael_mbp has quit [Ping timeout: 248 seconds]
02:20
michael_imac is now known as michael_mbp
02:44
deobalds has joined #jruby
06:32
raeoks has joined #jruby
07:13
dave_ has joined #jruby
07:27
dave_ has quit [Remote host closed the connection]
07:30
dave_ has joined #jruby
07:43
dave_ has quit [Remote host closed the connection]
07:49
olle has joined #jruby
08:17
raeoks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
08:51
shellac has joined #jruby
08:55
<
headius_ >
kares: yay extend
08:58
dave_ has joined #jruby
09:02
raeoks has joined #jruby
09:12
vtunka has joined #jruby
09:16
dave_ has quit [Remote host closed the connection]
09:21
dave_ has joined #jruby
09:24
shellac has quit [Quit: Computer has gone to sleep.]
09:43
<
olle >
I am prepping a Issue document of the 2.5 Ruby changes, with checkboxes
10:16
shellac has joined #jruby
10:35
olle has quit [Quit: olle]
10:38
Puffball has quit [Remote host closed the connection]
11:00
dave__ has joined #jruby
11:01
dave_ has quit [Read error: Connection reset by peer]
11:09
jeremyevans has quit [Ping timeout: 240 seconds]
11:19
dave__ has quit [Remote host closed the connection]
11:23
deobalds has quit [Quit: Computer has gone to sleep.]
11:25
dave_ has joined #jruby
11:29
dave_ has quit [Remote host closed the connection]
11:30
dave_ has joined #jruby
11:30
claudiuinberlin has joined #jruby
11:33
jeremyevans has joined #jruby
11:34
dave_ has quit [Ping timeout: 246 seconds]
11:36
olle has joined #jruby
12:17
shellac has quit [Quit: Leaving]
12:36
bbrowning_away is now known as bbrowning
13:19
raeoks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
13:23
dave_ has joined #jruby
13:37
shellac has joined #jruby
13:51
vtunka has quit [Quit: vtunka]
14:02
bbrowning is now known as bbrowning_away
15:37
dave_ has quit [Remote host closed the connection]
15:38
dave_ has joined #jruby
15:43
dave_ has quit [Ping timeout: 276 seconds]
15:55
<
eregon >
I'm updating ruby/spec today
16:06
<
eregon >
Please add tags for failing specs
16:21
olle has quit [Quit: olle]
16:24
<
enebo >
eregon: thanks
16:42
raeoks has joined #jruby
16:44
cschneid has quit [Read error: Connection reset by peer]
16:44
cschneid- has joined #jruby
16:46
raeoks has quit [Client Quit]
17:10
bbrowning_away is now known as bbrowning
17:18
shellac has quit [Quit: Computer has gone to sleep.]
17:24
<
enebo >
eregon: I added to 14143 something which might help (well who knows)
17:24
<
enebo >
eregon: I feel like any exception is a weird semantic but if you combine with the confusion of silent death it is frustrating
17:25
<
enebo >
eregon: I sort of think most people would think any exception is too forgiving
17:34
<
eregon >
enebo: thanks :)
17:35
<
enebo >
eregon: when I wrote that out it made me relive all the frustration of trying to deal with this problem before I learned I could enable thread backtraces
17:35
<
enebo >
eregon: also we were not green either
17:36
<
enebo >
eregon: ah I see those printf ones
17:36
<
enebo >
eregon: were those 2.4?
17:36
<
eregon >
no, it's not new behavior, it was just not spec'd yet
17:37
<
eregon >
we have specs for TracePoint now as well
17:37
<
eregon >
those are nasty when they fail, as they might end up killing mspec
17:38
<
eregon >
I have a fix to avoid that, but still it's tricky as the TracePoint block is called, even on tracePoint.disable :D
17:51
<
eregon >
I'll pull that fix in JRuby, might avoid some troubles :)
17:52
shellac has joined #jruby
17:52
<
GitHub135 >
jruby/master fd9c503 Benoit Daloze: Squashed 'spec/ruby/' changes from bacedc5..e2d0d1e...
17:52
<
GitHub135 >
jruby/master a8d3ceb Benoit Daloze: Merge ruby/spec commit 'fd9c503a25064ff7d42e15dcf361840341827ba6'
18:12
claudiuinberlin has joined #jruby
18:14
shellac has quit [Ping timeout: 252 seconds]
19:57
GitHub162 has joined #jruby
19:57
GitHub162 has left #jruby [#jruby]
19:57
<
GitHub162 >
jcodings/master cfb047b Marcin Mielzynski: remove vanilla
21:36
s778 has joined #jruby
21:39
<
lopex >
via func trace ?
21:40
<
lopex >
the other question is, do we really want to use gperf
21:42
<
headius_ >
lopex: outputs our things?
21:42
headius_ is now known as headius
21:42
<
lopex >
headius: dest.print("};\n\n")
21:42
<
headius >
oh generates code for us
21:42
<
lopex >
keep the logic
21:42
<
lopex >
replace the output
21:43
<
headius >
yeah no easy way I can see
21:43
<
headius >
the outputs are intermingled with logic
21:44
<
lopex >
headius: struggling with that and parsing their output
21:44
<
lopex >
so reconsidering things...
21:44
<
headius >
body.sub!(/\b(return\s+&)([^;]+);/, '\1'"#{key}_Table[#{v}].to;")
21:44
<
headius >
I can't even read some of this
21:44
<
lopex >
ours arent any better
21:45
<
lopex >
current ones
21:45
<
lopex >
but we just scan atm
21:45
<
headius >
what does this generate?
21:45
<
headius >
what files
21:46
<
lopex >
headius: casefold.h and name2ctype.h
21:46
<
lopex >
headius: look at yout local ruby build
21:47
<
lopex >
our old jcondigs scripts no longer hold
21:48
<
lopex >
looking at transcoding generation too.
21:48
<
headius >
yeah looking
21:50
<
headius >
casefold.h doesn't look too bad
21:51
<
lopex >
they download unicode official data via makefiles
21:52
<
lopex >
which is bad for us
21:52
<
lopex >
headius: well, it looks bad bacause so far we've been parsing that
21:53
<
lopex >
like : L(2)|0x1F60, 0x0399, L(1)|0x1FA0, L(2)|0x1F68, 0x0399,
21:53
<
lopex >
it's not a gperf thing
21:53
<
lopex >
or hold a minute
21:54
<
lopex >
we either parse that or replicate their logic to generate
21:54
<
lopex >
headius: ^^
21:54
<
lopex >
so we need to make a decisian
21:55
<
headius >
I was just reading the name2ctype header and about gperf
21:55
<
lopex >
headius: I guess we dont want java gperf ?
21:55
<
lopex >
it will be a whole of that gperf bloat
21:55
<
lopex >
which wont give us anything
21:55
<
headius >
yeah I dunno, probably not
21:56
<
lopex >
those lookups are no as expensive
21:56
<
lopex >
like \Range{whatever}
21:56
<
lopex >
in the regexp
21:57
<
lopex >
or am I missing something
21:57
s778 has quit [Quit: leaving]
21:57
<
headius >
parsing what they generate is always going to be fragile
21:58
<
lopex >
mri gets this free since it's just a dll load with those thins
21:58
s778 has joined #jruby
21:58
<
lopex >
headius: we;ve been doing that since the beggining
21:58
<
lopex >
but I agress
21:58
<
headius >
so their scripts generate input for gperf?
21:58
<
headius >
yeah I know
21:59
<
lopex >
no they use gperf along the way
21:59
<
lopex >
so we can reuse the logic
21:59
<
lopex >
and try to skip the gperf
22:00
<
lopex >
first question is to intercept the output via trace ?
22:00
<
lopex >
since it's so intertwined
22:01
<
headius >
they call out to gperf in that lookup_hash
22:01
<
lopex >
yea, we dont need that
22:01
<
lopex >
headius: but how to reuse the logic
22:02
<
headius >
yeah tricky
22:02
<
lopex >
headius: intercept tyhose wirtes ?
22:02
<
headius >
and do what?
22:03
<
headius >
me neither
22:03
<
lopex >
and make it no fragile
22:03
<
headius >
I think we need to refactor this and move the lines of C into some other structure
22:04
<
headius >
so we'd have our own lookup_hash at least
22:04
<
headius >
that skips perfect hashing
22:05
<
headius >
so they generate the hash and then the rest of that function is just massaging the output
22:06
<
headius >
what a mess
22:06
<
lopex >
but I want to intercept just part of that
22:06
<
lopex >
we just need the structures noting else
22:06
<
lopex >
assume dest.print("# error ONIG_UNICODE_VERSION_STRING mismatch\n")
22:07
<
headius >
C is a ghetto
22:07
<
lopex >
jcking macros
22:07
<
headius >
table generation is simple enough
22:07
<
headius >
we just need to swap in functions for the C-specific bits I'd say
22:08
<
lopex >
form unicode data ? yeah
22:08
<
headius >
dest.print(define_constant(name, expr))
22:08
<
headius >
the actual array structure should be fine as is, yes?
22:09
<
lopex >
you mean to replicate c ?
22:09
<
lopex >
or reuse their code ?
22:09
<
headius >
to reuse their code
22:10
<
headius >
so options...there seems to be a few actually
22:10
<
lopex >
what about other c syntaxes ?
22:10
<
lopex >
macros etc ?
22:10
<
headius >
parsing their source is one end, making this generate our source is the other
22:10
<
lopex >
I see no easy way of replacing that
22:10
<
headius >
the other option is that this is only 420 lines
22:11
<
headius >
maybe we just make our own
22:11
<
headius >
a large part of this logic is C-wrangling
22:11
<
lopex >
dest.print("#if defined ONIG_UNICODE_VERSION_STRING && !( \\\n")
22:11
<
lopex >
it's a little worrying
22:11
<
headius >
most of that will be constant for us though
22:12
<
headius >
all that seems to be doing is error if compiling against the wrong onig
22:12
<
headius >
we don't care about that...we'd remove it or not implement generate_header() or something
22:13
<
lopex >
headius: I have an idea
22:14
<
lopex >
headius: you're the commiter of mri, so they'll accept zero change logic, that just rejiggers the methods so we can hook up ?
22:14
<
headius >
that's right
22:14
<
headius >
and in my opinion it would be good cleanup anyway
22:14
<
headius >
this is a mess
22:15
<
lopex >
I can make to changes, will you go for it ?
22:16
<
lopex >
that wasnt english
22:16
<
lopex >
headius: I can rejigger mri scripts so we can hook up
22:18
<
headius >
yeah sounds good
22:18
<
headius >
nobody will care as long as it still works for MRI and we don't start putting JRuby code in it :-)
22:20
<
lopex >
headius: then we should also do for transcoders
22:20
<
headius >
I agree...and I guess we have to because they changed, eh?
22:21
<
lopex >
just to have the flow consistent
22:21
<
lopex >
you seem more doubtful as more we speak why ?
22:23
<
lopex >
we do too much hacking now wrt transcoders too
22:24
<
headius >
the trans files are basically ERB C templates
22:24
<
lopex >
well, mri is mri, so the old days I thought mri might change some of that data for it;s own purposes
22:25
<
lopex >
I woudnt be surprised
22:25
<
lopex >
yeah, erb since the ages
22:26
<
lopex >
headius: the third choice is we can parse the binaries :P
22:27
<
headius >
we could load the C code into libclang and generate Java from the actual structure
22:27
<
lopex >
so can I happily assume we can back push our things to mri ?
22:29
<
headius >
lopex: yes
22:35
<
GitHub7 >
jruby/jruby-9.1 1705c5f Charles Oliver Nutter: Remove mri_test_env.rb
22:35
<
lopex >
headius: btw, what about those \K tests ?
22:36
<
headius >
I haven't done anything with them
22:36
<
lopex >
in ruby suite
22:36
<
lopex >
headius: those shoult be enabled now
22:36
<
headius >
yeah I'll have a look
22:36
<
headius >
I'm working on MRI suite right now anyway
22:36
<
lopex >
do they untag automatically ?
22:37
<
lopex >
test_regexp and test_array
22:37
<
headius >
array also?
22:37
<
lopex >
test_shared_marking
22:37
<
lopex >
whatever it is
22:37
<
headius >
I have to update excludes manually but it's no big deal
22:38
<
headius >
I just run without them and trim
22:38
<
headius >
ooo four fewer in test_regexp
22:38
<
headius >
K wasn't one of them
22:39
<
headius >
I'll see what failed
22:40
<
headius >
ah looks nice
22:40
<
lopex >
who ordered that ?
22:40
<
headius >
<"foobazquux/foobazquux"> expected but was
22:40
<
headius >
<"bazquux/bazquux">.
22:41
<
lopex >
new failure ?
22:41
<
headius >
that's the \K failure
22:41
<
headius >
"foobarbazquux/foobarbazquux".gsub(/foo\Kbar/, "")
22:42
<
headius >
match begin must be off
22:43
<
lopex >
well it matches
22:44
<
lopex >
what that match var in ruby I forger ?
22:45
<
lopex >
ah $~ tells nil
22:46
<
lopex >
and am not upto date
22:46
<
lopex >
headius: easily reduced ?
22:46
<
headius >
well that line is it
22:46
<
headius >
it should only replace bar but it replaces foobar
22:47
<
lopex >
and the assertion ?
22:49
<
headius >
interestingly, this just produces "bar": "foobarbazquux/foobarbazquux".match(/foo\Kbar/)[0]
22:49
<
lopex >
that bug number might be helful
22:52
bbrowning is now known as bbrowning_away
23:06
<
headius >
I thought it would be the begin offset but then it shows the match right
23:06
<
headius >
so I don't know
23:07
<
headius >
I'm back to getting CI green for now
23:07
<
lopex >
just need more reducing
23:52
s778 has quit [Quit: leaving]