<GitHub58>
[jruby] nomadium opened pull request #4991: Update File#path to raise IOError for files opened with File::Constants::TMPFILE option (ruby-2.5...file-path-now-raises-ioerror-when-tmpfile) https://git.io/vNuXN
shellac has quit [Quit: Computer has gone to sleep.]
rrutkowski has quit [Remote host closed the connection]
<lopex>
we cannot put that straight in this conversation
<lopex>
shall we start over ?
<enebo>
lopex: sure
<lopex>
my claim is
<lopex>
joni/jcodings should not have any breaking changes across any jruby release
<lopex>
that update
<enebo>
ok
<lopex>
second
<lopex>
are you concerned about 2.5 mri changes that joins/jcodings has ?
<lopex>
*have
<enebo>
lopex: I just ask people who do work what they think the risks are
<enebo>
lopex: if they do not feel there are many then I feel better
<enebo>
lopex: so your first claim just now basically tells me you are not very concerned about breaking changes
<enebo>
lopex: but I think we confused each other earlier
<enebo>
lopex: most of what changes in both packages are largely corrections to data and some bug fixes and new features. earlier Ruby's will not see the new features unless they need them then that is fine. Bug fixes likely are not really an issue either (we do sometimes want to be bug for bug but I doubt many people want invalid encoded data). same for data updates.
<lopex>
9.1 is what compat ?
<enebo>
2.3.x
<lopex>
9.2 ?
<lopex>
2.4 ?
<enebo>
2.4
<lopex>
well, so let's go 9.2 whith all that changes
<enebo>
so it sounds like you should just point release both and put it on all three branches
<enebo>
oh hahahaha
<lopex>
er, I was serious :P
<enebo>
"lopex: joni/jcodings should not have any breaking changes across any jruby release"
<enebo>
lopex: so this seems like you changed your mind
<lopex>
enebo: well the unicode data
<lopex>
not sure how it breaks anything
<lopex>
but not wrt impls
<enebo>
lopex: are those data changes data fixes?
<lopex>
enebo: wrt unicode, range extensions and range additions
<enebo>
range extensions means broader range of data for some encodings?
<lopex>
yes
<lopex>
only for unicode
<lopex>
actully
shellac has quit [Quit: Computer has gone to sleep.]
<lopex>
*actually
<enebo>
lopex: so in Ruby 2.3 someone might try and use something in that range and it will not think it is valid right? but it will in 2.4 or later?
<lopex>
enebo: unicode doesnt like to break things too
<lopex>
yes
<lopex>
but not in hte reverse
<enebo>
lopex: Trying to think about how that will break anything though
<lopex>
yeah
<lopex>
enebo: welllll
<enebo>
I mean if anything it is something someone would report against us unless they also run on MRI
<enebo>
then they would maybe realize it is a 2.3 bug and not a JRuby bug
<lopex>
enebo: we can regenerate that data for 2.4 no problem
<lopex>
enebo: and spin 2.4 jcodings etc
<enebo>
lopex: I am just thinking about risk of having more up to date unicode data
<lopex>
well
<enebo>
lopex: If we add newer data to 9.1 than MRI 2.3.5 has will that cause bug reports
<lopex>
the it's bugs
<lopex>
2.4 bugs
<lopex>
*then
<lopex>
oh hell
<lopex>
I'll show you something
<enebo>
lopex: so 2.4 updated data but had some mistakes?
<enebo>
lopex: which they then fixed in 2.5 but not 2.4?
<lopex>
enebo: I thought we switched from talking about data
<lopex>
to code
<enebo>
lopex: I keep thinking about this from the standpoint of what will cause more issue reports
<enebo>
lopex: oh sorry ... ok just to be clear... you are not concerned with newer data
<enebo>
To me the data side seems like people will not mind more accurate encoding data
<lopex>
enebo: to the point user code is not prone
<lopex>
enebo: we definitely wont have any bugs
<enebo>
lopex: ok so to this end we could introduce a bug in behavior but that is always possible
<lopex>
the data is take from mri binaries
<lopex>
as always
<enebo>
lopex: sure but we don't version it in jcodings
<enebo>
or do we?
<lopex>
we dont have to
<lopex>
we can generate from mri 2.4
<lopex>
as I mentioned earlier
<enebo>
lopex: or 2.5?
<lopex>
now it's 2.5
<enebo>
ok
<lopex>
but it can be whatever down to 2.2. ?
<lopex>
or something
<enebo>
and 2.5 data in 2.4 and 2.3 should be ok because it is just fixes to the data
<enebo>
and some new feature data but that does not matter for 2.3 if 2.3 does not use that new feature data
<lopex>
not new feature data
<lopex>
just ranges
<lopex>
defined by unicode
<enebo>
so JRuby 9.1.x might start saying some byte sequences are properly encoded UTF-8 data (just an example) that a previous 9.1 release did not but most people will actually want that behavior
<enebo>
ok
<enebo>
most == all
<lopex>
ranges are just for character types
<lopex>
\p{foo}
<enebo>
ah ok
<enebo>
So possibly someone's regexp behavior will change but it will be more correct
<lopex>
foo is a set of codepoints defined by set of ranges
<lopex>
yes
<enebo>
I am just trying to think about what will change and if that will cause issues
<lopex>
paranoidaly it can
<lopex>
but those where not defined before so it must have been bugs in previous code
<lopex>
or
<enebo>
ok
<lopex>
somewhat vulnerable in other ways
<lopex>
it's just ranges
<enebo>
ok it sounds like the data updates are ok
<enebo>
behaviorally you just pointed to updates to oni which no doubt if we learn of them then they get fixed in the next point release
<lopex>
otherwise, joni has dozens of issues fixed
<enebo>
unless newer oni is super unstable I guess that is not a big concern
<enebo>
and likely it will make our regexps work better in 9.1
<lopex>
enebo: because you're pointing to "change" definitions which I cannot address
<enebo>
unless it adds some non-2.3 feature outright
rrutkowski has joined #jruby
<lopex>
of course there's some set of incompatible changes
<lopex>
you're definitely referring to real code in the wild
<lopex>
which can have any sort of issues
<enebo>
lopex: yeah of course
<lopex>
but they're either reaaaly exceptional ofr have to be crafted
<enebo>
lopex: We cannot guarantee anything
<enebo>
lopex: ok so just update both as point releases and add to all three branches
<enebo>
lopex: It really does not sound like we have a lot to worry about
<lopex>
at last, we got to that point :P
<enebo>
lopex: yeah I just ask questions and I think you thought I was making a statement
<lopex>
yeah sure
<lopex>
I have no problem with taht
<enebo>
lopex: yeah cool
<lopex>
poh btw
<lopex>
enebo: want to see what \X in regexp expands to ?