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
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list