Thanks for looking into it.
The issue describes the situation well. I've almost succeded in
implementing the first solution with config (in oll core), but it was too
messy so I dropped it. But then, the new proposal with  "applyOpts" seems
to be more elegant.

Will keep an eye on oll activity,
Pedro

Em qui, 4 de abr de 2019 05:50, Urs Liska <li...@openlilylib.org> escreveu:

> Hi Pedro,
>
> I've now looked into the code, and the issue is the following
>
>     \loadPackage \with {
>       option = "B"
>     } local
>
> will set the option correctly, but only *after* loading the package. This
> means the option is available within your test.ly file after loading the
> package. This is basically a shorthand for loading the package and *then*
> configuring it.
>
> What is currently not possible is setting the option in a way that the
> package itself can make use of it. This is exactly the issue I referenced
> (only that I had only noticed it on the *module* level). So what is needed
> is basically a workaround similar to what you did, but it should be done in
> oll-core, not by an individual package.
>
> I hope this can be fixed rather soon (it shouldn't be that hard but I
> currently have to restrain myself from diving into such issues).
>
> Urs
> Am 30.03.19 um 23:45 schrieb Pedro Pessoa:
>
> Hello,
> I'm trying to use OLL infrastructure to organize my local toolset. I'm
> mostly trying to mimic the structure of other packages and modules. I've an
> aparently working package called 'local', where I intend to put all my
> personal tools as modules/submodules.
>
> I'm currently having an apparently simple problem dealing with options.
> The option I set on the loadPackage or loadModule "\with" does not take
> precedence over the value used in register the options.
>
> Eg:
> %%% file: local/package.ily
>
> \include "oll-core/package.ily"
> \registerOption local.option "A"
> #(display (getOption '(local option)))
>
> %%% end
>
> %%% file: whatever/project.ly
>
> \include "oll-core/package.ily"
> \loadPackage \with {
>       option = "B"
> } local
>
> %%% end
>
> -- Outputs: "A"
>
>
>
>
> I've came up with a workaround, but then I tought that is most likely I just
> don't know how to proper handle it. "\registerDefaultOpt" is a simple
> function that only register the value if the option is unregistered.
>
> %%% file: local/package.ily
>
> \include "oll-core/package.ily"
> \registerDefaultOpt local.option "A"
> #(display (getOption '(local option)))
>
> %%% end
>
> %%% file: whatever/project.ly
>
> \include "oll-core/package.ily"
> \registerOption local.option "B"
> \loadPackage local
>
> %%% end
>
> -- Outputs: "B"
>
>
>
> So the question is: how to properly handle this?
> Cheers,
> -- Pedro Pessoa
>
>
>
> --
> Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
>
> _______________________________________________
> lilypond-user mailing 
> listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to