[libvirt] [PATCH][RFC] Add a rule for indenting labels
Eric Blake
eblake at redhat.com
Fri Mar 21 14:19:42 UTC 2014
On 03/21/2014 07:11 AM, Ján Tomko wrote:
> Indent labels by one space.
>
> Add the rule to HACKING and enforce it by syntax-check.
> ---
> Adding a space helps git's function context detection, but the fallout
> patch is over 800K.
>
> My reasoning for also indenting labels in nested code is that
> vim's cinoptions don't have a separate option for these labels
> (or I haven't searched hard enough?).
Alas, I don't know enough on vim to help there.
>
> Inspired by this thread:
> https://www.redhat.com/archives/libvir-list/2014-March/msg01310.html
>
> cfg.mk | 7 +++++++
> docs/hacking.html.in | 18 +++++++++++++++++-
> 2 files changed, 24 insertions(+), 1 deletion(-)
>
> diff --git a/cfg.mk b/cfg.mk
> index 559f719..1512fb2 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -898,6 +898,13 @@ sc_prohibit_virConnectOpen_in_virsh:
> halt='Use vshConnect() in virsh instead of virConnectOpen*' \
> $(_sc_search_regexp)
>
> +sc_require_space_before_label:
> + @prohibit='^(( {2})*|( {3})*)([_a-zA-Z0-9]+):$$' \
This doesn't do what you want; it sounds like you want to require all
labels to have (4n+1) spaces, so you want 4n+{0,2,3} to be forbidden.
Something like:
@prohibit='^( {4})*(| | )([_a-zA-Z0-9]+):$$'
> + exclude='( {4})*default:$$' \
> + in_vc_files='\.[ch]$$' \
> + halt="Labels should be indented by 4*n + 1 spaces" \
> + $(_sc_search_regexp)
The rest of this makes sense, if I can figure out why my emacs settings
aren't doing this already, and if we update .dir-locals.el in the same
patch.
> +<pre>
> +int foo()
> +{
> + if (wizz) {
> + retry:
> + goto retry;
> + }
> + cleanup:
> +}
Wouldn't actually compile (a label needs to be attached to a statement,
and our warnings coupled with -Werror would call out the fact that
cleanup: is unused), but gets the point across.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140321/0059c572/attachment-0001.sig>
More information about the libvir-list
mailing list