<commit_before># -*- encoding: us-ascii -*-

TOPLEVEL_BINDING = binding()

# Default kcode
Rubinius.kcode = "ASCII"

module Rubinius
  class Loader
    def initialize
      @exit_code    = 0
      @load_paths   = []
      @requires     = []
      @evals        = []
      @script       = nil
      @debugging    = false
      @run_irb      = true
      @printed_version = false
      @input_loop   = false
      @input_loop_print = false
      @input_loop_split = false
      @simple_options = false
      @early_option_stop = false
      @check_syntax = false

      @enable_gems = Rubinius.ruby19?
      @load_gemfile = false

      version = RUBY_VERSION.split(".").first(2).join(".")
      @gem_bins = ["#{version}/bin", "bin"].map do |dir|
        File.join Rubinius::GEMS_PATH, dir
      end
    end

    def self.debugger
      @debugger_proc
    end

    def self.debugger=(prc)
      @debugger_proc = prc
    end

    # Finish setting up after loading kernel.
    def preamble
      @stage = "running Loader preamble"

      Object.const_set :ENV, EnvironmentVariables.new

      # set terminal width
      width = 80
      if Terminal and ENV['TERM'] and !ENV['RBX_NO_COLS']
        begin
          `which tput &> /dev/null`
          if $?.exitstatus == 0
            res = `tput cols`.to_i
            width = res if res > 0
          end
        end
      end
      Rubinius.const_set 'TERMINAL_WIDTH', width

      $VERBOSE = false

      # We export the language mode into the environment so subprocesses like
      # extension compiling during gem installs use the correct mode.
      options = ENV["RBXOPT"]
      language_mode = "-X#{Rubinius::RUBY_LIB_VERSION}"
      unless options and options.include? language_mode
        ENV["RBXOPT"] = "#{options} #{language_mode}".strip
      end<commit_msg>Setup method visibility for the TOPLEVEL_BINDING<commit_after># -*- encoding: us-ascii -*-

TOPLEVEL_BINDING = binding()

# Default kcode
Rubinius.kcode = "ASCII"

module Rubinius
  class Loader
    def initialize
      @exit_code    = 0
      @load_paths   = []
      @requires     = []
      @evals        = []
      @script       = nil
      @debugging    = false
      @run_irb      = true
      @printed_version = false
      @input_loop   = false
      @input_loop_print = false
      @input_loop_split = false
      @simple_options = false
      @early_option_stop = false
      @check_syntax = false

      @enable_gems = Rubinius.ruby19?
      @load_gemfile = false

      version = RUBY_VERSION.split(".").first(2).join(".")
      @gem_bins = ["#{version}/bin", "bin"].map do |dir|
        File.join Rubinius::GEMS_PATH, dir
      end
    end

    def self.debugger
      @debugger_proc
    end

    def self.debugger=(prc)
      @debugger_proc = prc
    end

    # Finish setting up after loading kernel.
    def preamble
      @stage = "running Loader preamble"

      Object.const_set :ENV, EnvironmentVariables.new

      # Set the default visibility for the top level binding
      TOPLEVEL_BINDING.variables.method_visibility = :private

      # set terminal width
      width = 80
      if Terminal and ENV['TERM'] and !ENV['RBX_NO_COLS']
        begin
          `which tput &> /dev/null`
          if $?.exitstatus == 0
            res = `tput cols`.to_i
            width = res if res > 0
          end
        end
      end
      Rubinius.const_set 'TERMINAL_WIDTH', width

      $VERBOSE = false

      # We export the language mode into the environment so subprocesses like
      # extension compiling during gem installs use the correct mode.
      options = ENV["RBXOPT"]
      language_mode = "-X#{Rubinius::RUBY_LIB_VERSION}"
      unless options and options.include? language_mode
        ENV["RBXOPT"] = "#{options} #{language_mode}".strip
      end
{'fraction_non_alphanumeric': 0.09670619235836628, 'fraction_numerical': 0.004216073781291172, 'mean_word_length': 2.1217105263157894, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6389350', 'n_tokens_mistral': 1228, 'n_tokens_neox': 1163, 'n_words': 309}