bug-lilypond
[Top][All Lists]
Advanced

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

Re: include-settings and path or file name with blanks


From: Colin Hall
Subject: Re: include-settings and path or file name with blanks
Date: Thu, 12 Apr 2012 16:35:51 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Thu, Apr 12, 2012 at 03:56:20PM +0100, Colin Hall wrote:
> On Thu, Apr 12, 2012 at 03:45:36PM +0100, Colin Hall wrote:
> > On Thu, Apr 12, 2012 at 11:12:36AM +0100, James wrote:
> > > Hello,
> > > 
> > > On 12 April 2012 01:28, Colin Hall <address@hidden> wrote:
> > > >
> > > > On Tue, Apr 10, 2012 at 05:45:42AM -0700, Eluze wrote:
> > > >>
> > > >> I can run LilyPond with
> > > >> --include="D:/data/ly/includes - copy" -dinclude-settings="myInit.ly"
> > > >>
> > > >> if the init file contains a blank it doesn't work
> > > >> --include="D:/data/ly/includes - copy" -dinclude-settings="myInit 2.ly"
> > > >>
> > > >> I have to use 4 sets of quotes
> > > >> --include="D:/data/ly/includes - copy" -dinclude-settings=""""myInit
> > > >> 2.ly""""
> > > >>
> > > >> this also work when the whole file with path is specified (and the 
> > > >> path or
> > > >> file name contains blanks):
> > > >> -dinclude-settings=""""D:/data/ly/includes - copy/myInit 2.ly""""
> > > >>
> > > >> so we have the funny situation where we can write
> > > >>
> > > >> lilypond ?-I"D:/data/ly/includes - copy"
> > > >> -dinclude-settings=""""D:/data/ly/includes - copy/myInit 2.ly"""" 
> > > >> test.ly
> > > >>
> > > >> should this be documented
> > > >
> > > > No reason why not.
> > > 
> > > Well yes, I'm still not even sure what the issue is here.
> > > 
> > > We have already know warnings about using these '-d' commands with
> > > Windows which are already explicitly stated, but just to dump this as
> > > a 'LilyPond' issue to fix in doc is not going to help.
> > > 
> > > http://lilypond.org/doc/v2.15/Documentation/usage/command_002dline-usage#basic-command-line-options-for-lilypond
> > > 
> > > See the 'Note' under the --evaluate command.
> > > 
> > > Is this just that?
> > 
> > I'll take a look.
> 
> Good point. That works on Linux just fine. See below.
> 
> prompt>
> prompt>
> prompt>lilypond -e '(define-public a 42)' -d 'include-settings="include 
> filename with spaces.ly"' bug.ly
> Running Lilypond 
> GNU LilyPond 2.15.35
> Processing `bug.ly'
> Parsing...
> Interpreting music... 
> Preprocessing graphical objects...
> Finding the ideal number of pages...
> Fitting music on 1 page...
> Drawing systems...
> Layout output to `bug.ps'...
> Converting to `./bug.pdf'...
> Success: compilation successfully completed
> prompt>
> prompt>
> prompt>
> 
> I'll try it on Windows.
> 

C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>ver

Microsoft Windows [Version 6.1.7601]

C:\Issue xxxx Eluze include files>dir
 Volume in drive C is Root
 Volume Serial Number is 9C9D-FBC8

 Directory of C:\Issue xxxx Eluze include files

12/04/2012  16:23    <DIR>          .
12/04/2012  16:23    <DIR>          ..
12/04/2012  09:34                39 bug.ly
12/04/2012  16:23            20,691 bug.pdf
12/04/2012  16:14    <DIR>          include - copy
12/04/2012  15:30                52 include filename with spaces.ly
12/04/2012  09:34                52 includefilenamenospaces.ly
               4 File(s)         20,834 bytes
               3 Dir(s)  133,684,461,568 bytes free

C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>"c:\Program Files 
(x86)\LilyPond-2.15.35\usr\bin\lilypond.exe" -e "(define-public a 42)" -d 
include-settings=includefilenamenospaces.ly bug.ly
GNU LilyPond 2.15.35
Processing `bug.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `bug.ps'...
Converting to `./bug.pdf'...
Success: compilation successfully completed

C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>"c:\Program Files 
(x86)\LilyPond-2.15.35\usr\bin\lilypond.exe" -e "(define-public a 42)" -d 
include-settings=""""include filename with spaces.ly"""" bug.ly
GNU LilyPond 2.15.35
Processing `bug.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `bug.ps'...
Converting to `./bug.pdf'...
Success: compilation successfully completed

C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>
C:\Issue xxxx Eluze include files>

So, I've tested it on Win7 SP1 and linux-x86_64 and in both cases a
lot of quoting is required to ensure that the -d option receives
intact any filenames that contain spaces.

I think that an enhancement request is reasonable but not unimportant.

I envisage users unfamiliar with command line quoting on Windows
wasting a lot of time on this. There is sufficient material here for a
documentation suggestion. If Eluze is happy to prepare one then I see
no reason not to document this.

Cheers,
Colin.

-- 

Colin Hall



reply via email to

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