diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb
index 90eff47840..7c04230f67 100644
--- a/lib/rdoc/markup/to_html.rb
+++ b/lib/rdoc/markup/to_html.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'cgi/escape'
require 'cgi/util' unless defined?(CGI::EscapeExt)
+require 'prism'
##
# Outputs RDoc markup as HTML.
@@ -568,14 +569,7 @@ def list_end_for(list_type)
# Returns true if text is valid ruby syntax
def parseable?(text)
- verbose, $VERBOSE = $VERBOSE, nil
- catch(:valid) do
- eval("BEGIN { throw :valid, true }\n#{text}")
- end
- rescue SyntaxError
- false
- ensure
- $VERBOSE = verbose
+ Prism.parse_success?(text)
end
##