def Engine::load_config
      
      Engine::expand_config
      
      opts = Raggle::CLI::parse_cli_options ARGV
      
      
      Dir::mkdir $config['config_dir'] unless test ?d , $config['config_dir']
      
      
      default_config = $config
      
      puts $config['msg_load_config'] if opts['mode'] == 'view'
      load $config['config_path'], false if test ?e, $config['config_path']
      
      
      user_config = $config
      $config = default_config
      $config.update user_config
      
      
      Engine::expand_config
      
      
      puts $config['msg_load_list'] if opts['mode'] == 'view'
      if $config['load_feed_list'] && test(?e, $config['feed_list_path'])
        
        feeds_str = File.read($config['feed_list_path'])
        
        
        if feeds_str =~ /^--- !ruby\/object:/
          feeds_str = feeds_str.select { |line| 
            line !~ /^(feeds:|--- !ruby\/object:)/ 
          }.map { |line| line.gsub(/^  /, '') }.join
        end
        
        $config['feeds'] ||= Raggle::Feed::List.new
        $config['feeds'].feeds = YAML::load(feeds_str)
      end
      
      if $config['feeds'] && $config['feeds'].size == 0
        $config['default_feeds'].each do |feed|
          $config['feeds'].add(feed['title'], feed['url'], feed['refresh'],
                               feed['lock_title?'], feed['save_items?'],
                               feed['site'], feed['desc'], feed['items'],
                               feed['image'], feed['category'], false,
                               feed['priority'])
        end
      end
      opts
    end