Mathieu Lirzin <m...@openmailbox.org> skribis: > From 76f98cfc1567450913394ca871ebce40c8ed70e2 Mon Sep 17 00:00:00 2001 > From: Mathieu Lirzin <m...@openmailbox.org> > Date: Fri, 25 Sep 2015 00:37:36 +0200 > Subject: [PATCH] lint: Fix missing warning symbol. > > * guix/scripts/lint.scm (check-description-style): Set 'field' parameter > when emitting a warning in 'check-texinfo-markup'. This is a followup > to commit 2748ee3.
This is only one part of what the patch does. > diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm > index b0427f7..0adb3bf 100644 > --- a/guix/scripts/lint.scm > +++ b/guix/scripts/lint.scm > @@ -146,11 +146,11 @@ monad." > (define (check-texinfo-markup description) > "Check that DESCRIPTION can be parsed as a Texinfo fragment. If the > markup is valid return a plain-text version of DESCRIPTION, otherwise #f." > - (catch 'parser-error > - (lambda () (texi->plain-text description)) > - (lambda (keys . args) > - (emit-warning package (_ "Texinfo markup in description is invalid")) > - #f))) > + (unless (false-if-exception (texi->plain-text description)) > + (emit-warning package > + (_ "Texinfo markup in description is invalid") > + 'description) > + #f)) In general, it’s best to avoid ‘false-if-exception’ because it’s too coarse-grain. Here it’s probably OK though, because we want to catch any error that may occur in during the conversion. So this patch is OK (with appropriate commit log.) > Usage of ‘false-if-exception’ made me realize that ‘emit-warning’ is not > nicely composable. What about making it return ‘#f’ in order to compose > checks and warning together as boolean expressions? Is that idiomatic? > Maybe you have a better suggestion? Not sure I follow. Those ‘check’ procedures are only called for effect, not for value, right? Thanks, Ludo’.