Subject: bug#48284: Dovecot <namespace-configuration> has two ‘location’ fields

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 18 May 2021 08:35:47 -0400

Hi Ludo,

Ludovic Courtès <[email-masked]> writes:

> I just noticed this compiler warning:
>
> gnu/services/mail.scm:431:0: warning: shadows previous definition of `%namespace-configuration-location-procedure' at gnu/services/mail.scm:431:0
> <unknown-location>: warning: shadows previous definition of `namespace-configuration-location' at <unknown-location>
>
>
> I believe this comes from the fact that ‘define-configuration’
> automatically introduces a ‘location’ field (for the source code
> location of <namespace-configuration> instantiations), which clashes
> with this one:
>
>   (location
>    (string "")
>    "Physical location of the mailbox. This is in same format as
> mail_location, which is also the default for it.")
>
> I think this was revealed by the fix in commit
> dd0826fbf345dfe7289cf943ed2d29edc51d543f.
>
> Probably the only sane way to address it is by renaming the field above.

We could also rename the define-configuration produced %location field
accessor to something more explicit such as $name-source-location
instead of $name-location, no?

I don't think that field is being used much at all, given it was
effectively broken prior to the above commit, so renaming it should go
mostly unnoticed.

Maxim