old_contents: # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
  # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
  
  """Run a simple trace function on a file of Python code."""
  
  import os, sys
  
  nest = 0
  
  def trace(frame, event, arg):
      global nest
  
      if nest is None:
          # This can happen when Python is shutting down.
          return None
  
      print("%s%s %s %d @%d" % (
          "    " * nest,
          event,
          os.path.basename(frame.f_code.co_filename),
          frame.f_lineno,
          frame.f_lasti,
          ))
  
      if event == 'call':
          nest += 1
      if event == 'return':
          nest -= 1
  
      return trace
  
  the_program = sys.argv[1]
  
  code = open(the_program).read()
  sys.settrace(trace)
  exec(code)
  
new_contents: # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
  # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
  
  """Run a simple trace function on a file of Python code."""
  
  import os, sys
  
  nest = 0
  
  def trace(frame, event, arg):
      global nest
  
      if nest is None:
          # This can happen when Python is shutting down.
          return None
  
      print("%s%s %s %d @%d" % (
          "    " * nest,
          event,
          os.path.basename(frame.f_code.co_filename),
          frame.f_lineno,
          frame.f_lasti,
          ))
  
      if event == 'call':
          nest += 1
      if event == 'return':
          nest -= 1
  
      return trace
  
  print(sys.version)
  the_program = sys.argv[1]
  
  code = open(the_program).read()
  sys.settrace(trace)
  exec(code)
  
subject: add version info to the run_trace helper