Hi all, I just committed the last compiler warning fixes and made the Debian 9 builds "AWARE". Now any compiler warnings on all 4 Debian builds will bomb the build in question and hence prevent the creation of a new snapshot tarball.
I mentioned[1] that the plustek-pp backend's indenting defied me but after some staring at the code I realized it was using a four spaces to the tab convention. Convincing my editor to do the same made it a lot easier to understand the intended behaviour but fixing the "mess" was still a very delicate affair. I had to change the mixed use of spaces and tabs used to indent to *exactly* match in order to silence compiler warnings. [1] https://lists.alioth.debian.org/pipermail/sane-devel/2017-June/035445.html This whole exercise has made me look at the whole code base in a little more detail and, quite frankly, the use of leading whitespace is a total and utter mess. Some places are better of than others but on the whole it's pretty pathetic. # Just make your editor visually distinguish spaces and tabs and you'll # see. I used Emacs' whitespace-mode (in its default configuration) and # it "lit up the place" in a variety of colours. So here's a few "rules" I'd like to apply in order to address this. Each file - uses either spaces or tabs for *all* of its leading whitespace This is *not* on a per line basis, this applies to the *whole* file. - if using tabs, these tabs may be followed by up to 7 spaces This is to accommodate n-space indent policies (where n mod 8 != 0) and assumes eight spaces to the tab. - if using tabs, uses eight spaces to the tab - if to be used by `make`, an initial whitespace character shall be a tab, independent of whether its on a continuation line or not Note, this says absolutely nothing about whitespace use after the first non-whitespace. That can still be a mess. The "rules" above are inspired by a combination of consistency, ease of checking/fixing and giving developers some leeway in applying their own preferences to their code. Whether to use spaces or tabs for each file will be decided on the basis of a count of tabs and spaces (and in case of doubt comparison with any related files so as to keep some kind of consistency between them). The criterion will be a majority of one over the other (taking into account the number of spaces to a tab). So, with n spaces to the tab, the larger value of n*number_of_leading_tabs and number_of_leading_spaces will decide the leading whitespace policy for a file. # Personally, I would much prefer to uses spaces everywhere the file # format permits (with a minor execption for files used by make, see # above) over the board. # You may find the following blog post of interest ;-) # # https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/ If anyone objects, I'm open to suggestions, including "Why bother? Just use spaces!" ;-) If I hear nothing, the tools/style-check.sh script will be modified to implement these rules and can then be use to check for any "violations" and (recursively) fix them. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org