You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Embedded parser mode fails on JRuby due to loaded feature diffs #94
The "embedded" mode that inlines racc sources fails to work on JRuby due to differences in how Ruby "loaded features" are managed. This leads to the following test failures:
Failure:
Racc::TestRaccCommand#test_echk_y [/Users/headius/projects/racc/test/test_racc_command.rb:50]:
LoadError: no such file to load -- racc/info
require at org/jruby/RubyKernel.java:976
require at /Users/headius/projects/jruby/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:59
(eval) at racc/parser.rb:10
module_eval at org/jruby/RubyModule.java:3054
<main> at test/tab/echk:48
This happens because loaded features in JRuby are currently usually the full system path to the relevant file. The embedding logic attempts to short circuit e.g. racc/info by inserting racc/info.rb into the loaded features global.
This is a bug in JRuby but I am filing this to discuss whether we might come up with a more robust way to embed those sources, such as actually removing all requires rather than modifying loaded features directly.
Activity
zenspider commentedon Aug 17, 2020
Is this still a thing?
hsbt commentedon Jan 11, 2023
@headius I'll close this. If you still have any issue, Please ping me.