https://codereview.appspot.com/553480044/diff/557280043/scm/lily.scm File scm/lily.scm (right):
https://codereview.appspot.com/553480044/diff/557280043/scm/lily.scm#newcode111 scm/lily.scm:111: "This defines a variable @var{name} with the starting value An interesting DOC string method... define-syntax doesn't have anything like that? https://codereview.appspot.com/553480044/diff/557280043/scm/lily.scm#newcode123 scm/lily.scm:123: (define-syntax define-session The problem with define-syntax is that in Guile-1.8, it doesn't work properly because of some symbol changing behavior when defined, a bug that will not get fixed any more. I wish I'd remember what it was. It was something short like \once or \temporary or so. One could use it in the LilyPond core, but it failed in user documents. Ah right: pretty sure it was \void (namely the symbol 'void being bound to something). That makes it hard for people to get acquainted with it and maintain it in consequence. So let's see whether we manage to muddle through in a different manner. Do you have a useful test case? Should I just draw out the define-session thing and try to convince Guile-2.0 with the right incantations to byte compile it? I assume this is the same in Guile-2.2 (for which I have an Ubuntu package I don't need to compile)? Would this give us a chance to get somewhere? https://codereview.appspot.com/553480044/