code: def run_in_subprocess(code, filename_suffix, arguments, working_directory):
      
      temporary_file = tempfile.NamedTemporaryFile(mode='wb',
                                                   suffix=filename_suffix)
      temporary_file.write(code.encode('utf-8'))
      temporary_file.flush()
  
      process = subprocess.Popen(arguments + [temporary_file.name],
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.PIPE,
                                 cwd=working_directory)
  
      def run():
          """Yield errors."""
          raw_result = process.communicate()
          if process.returncode != 0:
              return (raw_result[1].decode(get_encoding()),
                      temporary_file.name)
  
      return run
docs: Return None on success.