code: def prepare_params(modeline, fileconfig, options):
      
      params = dict(skip=False, ignore=[], select=[], linters=[])
      if options:
          params['ignore'] = list(options.ignore)
          params['select'] = list(options.select)
  
      for config in filter(None, [modeline, fileconfig]):
          for key in ('ignore', 'select', 'linters'):
              params[key] += process_value(key, config.get(key, []))
          params['skip'] = bool(int(config.get('skip', False)))
      # TODO: skip what? This is causing erratic behavior for linters.
      params['skip'] = False
  
      params['ignore'] = set(params['ignore'])
      params['select'] = set(params['select'])
  
      return params
docs: Prepare and merge a params from modelines and configs.
  
      :return dict: