diff --git a/lib/erb/util.rb b/lib/erb/util.rb index dc9ab3831b..07151207bf 100644 --- a/lib/erb/util.rb +++ b/lib/erb/util.rb @@ -8,11 +8,14 @@ # TruffleRuby: lib/truffle/cgi/escape.rb requires 'cgi/util'. require 'cgi/escape' -# Load or define ERB::Escape#html_escape. -# We don't build the C extention 'cgi/escape' for JRuby, TruffleRuby, and WASM. -if $LOAD_PATH.resolve_feature_path('erb/escape') - require 'erb/escape' -else +begin + # We don't build the C extension for JRuby, TruffleRuby, and WASM + if $LOAD_PATH.resolve_feature_path('erb/escape') + require 'erb/escape' + end +rescue LoadError # resolve_feature_path raises LoadError on TruffleRuby 22.3.0 +end +unless defined?(ERB::Escape) # ERB::Escape # # A subset of ERB::Util. Unlike ERB::Util#html_escape, we expect/hope