From: Julien Rioux <jrioux@physics.utoronto.ca>
Date: Mon, 30 Apr 2012 13:07:11 +0000 (-0400)
Subject: Fix the linking of files from lilypond by lilypond-book.
X-Git-Tag: release/2.15.39-1~22
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=38e1cad48d14f0b0f9286b4bb8891051a5f82d1e;p=lilypond.git

Fix the linking of files from lilypond by lilypond-book.
---

diff --git a/python/book_snippets.py b/python/book_snippets.py
index e8fbd50317..f3a11ccca9 100644
--- a/python/book_snippets.py
+++ b/python/book_snippets.py
@@ -621,7 +621,7 @@ printing diff against existing file." % filename)
     def link_all_output_files (self, output_dir, output_dir_files, destination):
         existing, missing = self.all_output_files (output_dir, output_dir_files)
         if missing:
-            print '\nMissing', missing
+            error (_ ('Missing files: %s') % ', '.join (missing))
             raise CompileError(self.basename())
         for name in existing:
             if (self.global_options.use_source_file_names
@@ -651,7 +651,7 @@ printing diff against existing file." % filename)
             except AttributeError:
                 shutil.copyfile (src, dst)
             except OSError:
-                print '\nCould not overwrite file', dst
+                error (_ ('Could not overwrite file %s') % dst)
                 raise CompileError(self.basename())
 
     def additional_files_to_consider (self, base, full):
diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py
index 41df22da59..7fcec344de 100644
--- a/scripts/lilypond-book.py
+++ b/scripts/lilypond-book.py
@@ -464,12 +464,15 @@ def do_process_cmd (chunks, input_name, options):
     else:
         progress (_ ("All snippets are up to date..."))
 
-    if options.lily_output_dir != options.output_dir:
-        output_files = split_output_files (options.lily_output_dir)
+    progress (_ ("Linking files..."))
+    abs_lily_output_dir = os.path.join (options.original_dir, options.lily_output_dir)
+    abs_output_dir = os.path.join (options.original_dir, options.output_dir)
+    if abs_lily_output_dir != abs_output_dir:
+        output_files = split_output_files (abs_lily_output_dir)
         for snippet in snippets:
-            snippet.link_all_output_files (options.lily_output_dir,
+            snippet.link_all_output_files (abs_lily_output_dir,
                                            output_files,
-                                           options.output_dir)
+                                           abs_output_dir)
 
 
 ###
@@ -641,6 +644,8 @@ def do_options ():
         global_options.output_dir = os.path.expanduser (global_options.output_dir)
         global_options.include_path.insert (0, inverse_relpath (original_dir, global_options.output_dir))
 
+    global_options.include_path.insert (0, ".%s" % os.path.sep)
+
     # Load the python packages (containing e.g. custom formatter classes)
     # passed on the command line
     nr = 0