[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.