diff --git a/Rakefile b/Rakefile index b8b05cbd..3c353120 100644 --- a/Rakefile +++ b/Rakefile @@ -41,7 +41,7 @@ file 'lib/racc/parser-text.rb' => ['lib/racc/parser.rb', __FILE__] do |t| text = File.read(source) text.gsub!(/^require '(.*)'$/) do - %[unless $".find {|p| p.end_with?('/#$1.rb')}\n$".push '#$1.rb'\n#{File.read("lib/#{$1}.rb")}\nend\n] + %[unless $".find {|p| p.end_with?('/#$1.rb')}\n$".push "\#{__dir__}/#$1.rb"\n#{File.read("lib/#{$1}.rb")}\nend\n] rescue $& end diff --git a/lib/racc/parserfilegenerator.rb b/lib/racc/parserfilegenerator.rb index 7846b584..236ff27d 100644 --- a/lib/racc/parserfilegenerator.rb +++ b/lib/racc/parserfilegenerator.rb @@ -135,8 +135,8 @@ def runtime_source def embed_library(src) line %[###### #{src.filename} begin] - line %[unless $".index '#{src.filename}'] - line %[$".push '#{src.filename}'] + line %[unless $".find {|p| p.end_with?('/#{src.filename}')}] + line %[$".push "\#{__dir__}/#{src.filename}"] put src, @params.convert_line? line %[end] line %[###### #{src.filename} end]