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

From: Ludovic Courtès <[email-masked]>
Date: Mon, 15 Jul 2019 11:20:36 +0200

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.

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

Thanks,
Ludo’.