$NetBSD: patch-aa,v 1.9 2010/09/16 12:02:05 taca Exp $

* Make sure to load YAML.
* Avoid access nil.

--- lib/rubygems/specification.rb.orig	2010-04-22 04:43:03.000000000 +0000
+++ lib/rubygems/specification.rb
@@ -476,6 +476,7 @@ class Gem::Specification
   # 'input' can be anything that YAML.load() accepts: String or IO.
 
   def self.from_yaml(input)
+    require 'yaml'
     input = normalize_yaml_input input
     spec = YAML.load input
 
@@ -837,12 +838,12 @@ class Gem::Specification
     end
 
     @files.delete_if            do |file| File.directory? file end
-    @test_files.delete_if       do |file| File.directory? file end
-    @executables.delete_if      do |file|
+    @test_files and @test_files.delete_if       do |file| File.directory? file end
+    @executables and @executables.delete_if      do |file|
       File.directory? File.join(bindir, file)
     end
-    @extra_rdoc_files.delete_if do |file| File.directory? file end
-    @extensions.delete_if       do |file| File.directory? file end
+    @extra_rdoc_files and @extra_rdoc_files.delete_if do |file| File.directory? file end
+    @extensions and @extensions.delete_if       do |file| File.directory? file end
 
     non_files = files.select do |file|
       !File.file? file
