lilypond-devel
[Top][All Lists]
Advanced

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

Re: '#:optional' in Scheme function documentation looks weird


From: Jean Abou Samra
Subject: Re: '#:optional' in Scheme function documentation looks weird
Date: Thu, 12 Aug 2021 01:26:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0



Le 09/08/2021 à 16:21, David Kastrup a écrit :
Werner LEMBERG <wl@gnu.org> writes:

In `notation.pdf`, section 'A.23, Scheme functions', the function
header

   (define-safe-public (check-context-path path #:optional location)

gets currently translated to

   check-context-path path . lambda*:G59
A quick work-around is to use Guile 2.x, as Jean has reported in
!808...
Is that actually better?  Last time I had contact with Guile-2.x in that
respect, it replaced the argument lists by generic a b c d . That would
be different here?

It would appear that Guile 2.2 mangles the argument
lists when not byte-compiling.

No, I'm not particularly proud of having introduced
code that depends on auto-compilation. Didn't notice.


How many of those do we have?
About a dozen.

One could redefine them manually, giving

check-context-path path . optional-location

or similar.
Could you take care of that?
It would be sort of a crutch.

It's also conveivable that define-safe-public could funnel off the
argument list into the documentation string before it gets replaced:
I remember doing something like that for markup commands since
Guile-2.x did not retain the argument lists.
Sounds promising.  Again, could you take care of that?
I'll take a look at what's happening here.  But again: Guile-2.x is
supposed to be better in that respect?  I find that surprising.


It is better when you use it the way their developers
want you to use it. Error locations are another thing
that is broken without compilation.

Sigh.



reply via email to

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