[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp
From: |
lilypond |
Subject: |
Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp |
Date: |
Mon, 19 Mar 2012 13:44:47 +0000 |
Comment #7 on issue 2216 by address@hidden: AU: Document all options for
lilypond -dhelp
http://code.google.com/p/lilypond/issues/detail?id=2216
Well, that's what happens if you say (set! some-symbol value): the variable
addressed by the interned symbol some-symbol is assigned a value.
The respective code in main.cc is:
case 'd':
{
string arg (option_parser->optional_argument_str0_);
ssize eq = arg.find ('=');
string key = arg;
string val = "#t";
if (eq != NPOS)
{
key = arg.substr (0, eq);
val = arg.substr (eq + 1, arg.length () - 1);
}
init_scheme_variables_global
+= "(cons \'" + key + " '" + val + ")\n";
}
This is somewhat disconcerting since init_scheme_variables_global is
augmented with text, meaning that it is reasonably easy to sneak in
arbitrary code here by supplying a key containing spaces. To me, it would
seem reasonably to have the whole of init_scheme_variables_global not
evaluated but just read, in which case the expression would rather be
+= "( " + key + " . " + val + " )\n";
of course, if unmatched parens or quotes are contained in key and val, one
can again meddle with what is happening here. Instead of building strings
here, directly building a Scheme expression would likely make more sense.
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/18
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/18
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/19
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/19
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/19
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/19
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp,
lilypond <=
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/20
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/20
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/20
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/20
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/22
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/23
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/23
- Message not available
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, lilypond, 2012/03/24
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, Ian Hulin, 2012/03/19
- Re: Issue 2216 in lilypond: AU: Document all options for lilypond -dhelp, James, 2012/03/20