Am Fr., 26. Okt. 2018 um 16:44 Uhr schrieb Peter Anglea <pe...@peteranglea.com>:
>
> I’m trying to use the -e (--evaluate) option to define a hash, not just a 
> single variable. For instance
>
>         lilypond -e ‘((define myhash (make-hash-table))(hashq-set! myhash 
> ‘foo “bar”))’ file.ly
>
> The above doesn’t work. I think, obviously, it’s breaking at the single quote 
> – ‘foo.
>
> I’ve tried escaping it with a backslash (\’foo) and a couple other things, 
> but nothing seems to work.
>
> Is it possible to run complex Scheme code in the command line option, and/or 
> am I just not escaping special characters the right way?

Well, from here it looks you used “” ‘’ -signs instead of " and '.
But even with correct ones your example will fail.

But you could do (at  least on Linux):

lilydevel -e "(begin (define myhash (make-hash-table))(hashq-set!
myhash 'foo \"bar\"))" file.ly

and in file.ly

#(use-modules (guile-user))
#(write (hashq-ref myhash 'foo))

returning "bar" as wished.

Otoh, I think the -e option is not very convenient for longer and/or
complex expressions.

Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to