Subject: Re: [bug#35790] [PATCH 1/2] lint: Move the linting code to a different module.

From: Christopher Baines <[email-masked]>
Date: Mon, 15 Jul 2019 20:51:35 +0100

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

> Hi Chris!
>
> Christopher Baines <[email-masked]> skribis:
>
>> Ludovic Courtès <[email-masked]> writes:
>>
>>> Christopher Baines <[email-masked]> skribis:
>>>
>>>> To try and move towards making programatic access to the linting code easier,
>>>> this commit separates out the linting script, from the linting functionality
>>>> that it uses.
>>>
>>> For the final version, please write a change log.
>>
>> Sure, any suggestions about how to write it? I wasn't sure whether to
>> list everything that had been moved from (guix scripts lint) to (guix
>> lint), or say that the file has moved, and list the things that have
>> been moved back.
>
> Maybe something like:
>
>   * guix/scripts/lint.scm (check-foo, check-bar): Move to…
>   * guix/lint.scm: … here.
>
> and also mention things that go beyond simply moving things around (if
> applicable).
>
> But again, don’t spend a whole day on this, it’s mostly so the future us
> have an easily searchable log.

Ok, I've made an initial attempt at this, and re-sent the patches.

>> Actually, now that I've run make, that's spotted some problems in some
>> checks.
>>
>> guix/lint.scm:198:17: warning: possibly unbound variable `texi->plain-text'
>> guix/lint.scm:406:8: warning: possibly unbound variable `texi->plain-text'
>> guix/lint.scm:737:36: warning: possibly unbound variable `fill-paragraph'
>> guix/lint.scm:738:36: warning: possibly unbound variable `fill-paragraph'
>> guix/lint.scm:743:20: warning: possibly unbound variable `fill-paragraph'
>>
>> I don't think these are as easy to solve, as these functions come from
>> (guix ui).
>
> Ah yes, indeed.
>
> In that case it’s OK because (guix ui) is used as part of the linter’s
> job.  Perhaps for clarity we should write:
>
>   #:use-module ((guix ui) #:select (texi->plain-text fill-paragraph))
>
> Uses of the ‘warning’ procedure or similar UI functionality should be
> left to (guix scripts lint), though.

I've made this #:use-module change, and also moved emit-warnings to the
(guix scripts lint) module.

I've re-sent all 4 patches now.

Thanks,

Chris