bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ghostscript fails with special characters in filename


From: Ian Hulin
Subject: Re: Ghostscript fails with special characters in filename
Date: Sun, 23 Aug 2009 15:22:04 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20090817)


Hi Reinhold,

Reinhold Kainhofer wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Ian,

On Sunday 23 August 2009 13:20:17 Ian Hulin wrote:
Hi Reinhold,
I've tried your patch for ly:format and "~S" here.

The latest one which also escapes "?
Yes.


It looks like a filename with quoted characters will cause the
compilation to hang:
[...]
address@hidden:~/Desktop/Development/ExsultateTest$ $devlilypond
--verbose \"Čača-file\".ly

verbose won't help us here, since it doesn't print the gs command executed. Can you add a line (ly:message "gs command: ~a") before the (ly:system cmd))) inthe file scm/backend-library.scm. This should cause lilypond to print out the exact gs command executed, so we can start debugging what gs or the shell doesn't like and what goes wrong. Here it seems to work...

Done, also added Entry and Exit trace points on ly_format results are below.


Cheers,
Reinhold

- --
I put some trace code at the start and end ly_format and recompiled.
This is the tail of the output from the non-quoted run:

Entering ly:format - param: -dDEVICEWIDTHPOINTS=~$ -dDEVICEHEIGHTPOINTS=~$
Exiting ly:format - param: -dDEVICEWIDTHPOINTS=~$ -dDEVICEHEIGHTPOINTS=~$
Entering ly:format - param: ~a ~a ~a ~a -dCompatibilityLevel=1.4 -dNOPAUSE 
-dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=~S -c .setpdfwrite -f ~S
Exiting ly:format - param: ~a ~a ~a ~a -dCompatibilityLevel=1.4 -dNOPAUSE 
-dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=~S -c .setpdfwrite -f ~S
Converting to `./file.pdf'...
gs command: gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 
-dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite 
-sOutputFile="./file.pdf" -c .setpdfwrite -f "file.ps"
address@hidden:~/Desktop/Development/ExsultateTest$

Here is the tail of the output from the quoted version, there are loads more calls to ly_format and then it enters the routine and hangs.

Entering ly:format - param: %%DocumentMedia: ~a ~2f ~2f ~a ~a ~a

Exiting ly:format - param: %%DocumentMedia: ~a ~2f ~2f ~a ~a ~a

Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: /~a ~a output-scale div selectfont
~a
~a print_glyphs
Exiting ly:format - param: /~a ~a output-scale div selectfont
~a
~a print_glyphs
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Exiting ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Exiting ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Exiting ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Exiting ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Exiting ly:format - param: ~4f ~4f ~4f ~4f ~4f draw_line
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4l draw_round_box
Exiting ly:format - param: ~4l draw_round_box
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4l draw_round_box
Exiting ly:format - param: ~4l draw_round_box
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~a /~a glyphshow Exiting ly:format - param: ~a /~a glyphshow Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~a /~a glyphshow Exiting ly:format - param: ~a /~a glyphshow Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~4f (textedit://~a:~a:~a:~a) mark_URI

Exiting ly:format - param: ~4f ~4f ~4f ~4f (textedit://~a:~a:~a:~a) mark_URI

Entering ly:format - param: ~a /~a glyphshow Exiting ly:format - param: ~a /~a glyphshow Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~a ~a currentpoint vector_add  ~a ~a currentpoint 
vector_add (~a) mark_URI
Exiting ly:format - param: ~a ~a currentpoint vector_add  ~a ~a currentpoint 
vector_add (~a) mark_URI
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: ~4f ~4f ~4f ~a~a
Exiting ly:format - param: ~4f ~4f ~4f ~a~a
Entering ly:format - param: /~a ~a output-scale div selectfont
~a
~a print_glyphs
Exiting ly:format - param: /~a ~a output-scale div selectfont
~a
~a print_glyphs
Entering ly:format - param: ~4f ~4f moveto ~a

Exiting ly:format - param: ~4f ~4f moveto ~a

Entering ly:format - param: -dDEVICEWIDTHPOINTS=~$ -dDEVICEHEIGHTPOINTS=~$
Exiting ly:format - param: -dDEVICEWIDTHPOINTS=~$ -dDEVICEHEIGHTPOINTS=~$
Entering ly:format - param: ~a ~a ~a ~a -dCompatibilityLevel=1.4 -dNOPAUSE 
-dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=~S -c .setpdfwrite -f ~S


Cheers,

Ian




reply via email to

[Prev in Thread] Current Thread [Next in Thread]