From: Ted Zlatanov <tzz@lifelogs•com>
To: Junio C Hamano <gitster@pobox•com>
Cc: git@vger•kernel.org, Jeff King <peff@peff•net>
Subject: CodingGuidelines Perl amendment (was: [PATCH 1/3] Add contrib/credentials/netrc with GPG support)
Date: Wed, 06 Feb 2013 10:10:08 -0500 [thread overview]
Message-ID: <871ucto4vj.fsf_-_@lifelogs.com> (raw)
In-Reply-To: <7v7gmn1xqi.fsf@alter.siamese.dyndns.org> (Junio C. Hamano's message of "Mon, 04 Feb 2013 15:10:45 -0800")
On Mon, 04 Feb 2013 15:10:45 -0800 Junio C Hamano <gitster@pobox•com> wrote:
JCH> Ted Zlatanov <tzz@lifelogs•com> writes:
JCH> I thought that we tend to avoid Emacs/Vim formatting cruft left in
JCH> the file. Do we have any in existing file outside contrib/?
>>
>> No, but it's a nice way to express the settings so no one is guessing
>> what the project prefers. At least for me it's not an issue anymore,
>> since I understand your criteria better now, so let me know if you want
>> me to express it in the CodingGuidelines, in a dir-locals.el file, or
>> somewhere else.
JCH> Historically we treated this from CodingGuidelines a sufficient
JCH> clue:
JCH> As for more concrete guidelines, just imitate the existing code
JCH> (this is a good guideline, no matter which project you are
JCH> contributing to). It is always preferable to match the _local_
JCH> convention. New code added to git suite is expected to match
JCH> the overall style of existing code. Modifications to existing
JCH> code is expected to match the style the surrounding code already
JCH> uses (even if it doesn't match the overall style of existing code).
JCH> but over time people wanted more specific guidelines and added
JCH> language specific style guides there. We have sections that cover
JCH> C, shell and Python, and I do not think adding Perl would not hurt.
The following is how I have interpreted the Perl guidelines. I hope
it's OK to include Emacs-specific settings; they make it much easier to
reindent code to be acceptable.
I will submit as a patch if you think this is reasonable at all.
The org-mode markers around the code are just a suggestion.
For Perl 5 programs:
- Most of the C guidelines above apply.
- We try to support Perl 5.8 and later ("use Perl 5.008").
- use strict and use warnings are strongly preferred.
- As in C (see above), we avoid using braces unnecessarily (but Perl
forces braces around if/unless/else/foreach blocks, so this is not
always possible).
- Don't abuse statement modifiers (unless $youmust).
- We try to avoid assignments inside if().
- Learn and use Git.pm if you need that functionality.
- For Emacs, it's useful to put the following in
GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode:
#+begin_src lisp
((nil . ((indent-tabs-mode . t)
(tab-width . 8)
(fill-column . 80)))
(cperl-mode . ((cperl-indent-level . 8)
(cperl-extra-newline-before-brace . nil)
(cperl-merge-trailing-else . t))))
#+end_src
next prev parent reply other threads:[~2013-02-06 15:10 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 19:13 [PATCH] git-send-email: add ~/.authinfo parsing Michal Nazarewicz
2013-01-29 19:53 ` Junio C Hamano
2013-01-29 21:08 ` [PATCHv2] " Michal Nazarewicz
2013-01-29 22:38 ` Junio C Hamano
2013-01-30 0:03 ` [PATCHv3] " Michal Nazarewicz
2013-01-30 0:34 ` Junio C Hamano
2013-01-30 7:43 ` [PATCH] " Jeff King
2013-01-30 15:57 ` Junio C Hamano
2013-01-31 15:23 ` Ted Zlatanov
2013-01-31 19:38 ` Jeff King
2013-02-02 11:57 ` Ted Zlatanov
2013-02-03 19:41 ` Jeff King
2013-02-04 16:40 ` Ted Zlatanov
2013-02-04 16:42 ` [PATCH 1/3] Add contrib/credentials/netrc with GPG support Ted Zlatanov
2013-02-04 16:57 ` Ted Zlatanov
2013-02-04 17:24 ` Junio C Hamano
2013-02-04 18:33 ` Ted Zlatanov
2013-02-04 19:06 ` Junio C Hamano
2013-02-04 19:40 ` Ted Zlatanov
2013-02-04 23:10 ` Junio C Hamano
2013-02-06 15:10 ` Ted Zlatanov [this message]
2013-02-06 16:29 ` CodingGuidelines Perl amendment Junio C Hamano
2013-02-06 17:45 ` demerphq
2013-02-06 18:08 ` Ted Zlatanov
2013-02-06 18:14 ` Junio C Hamano
2013-02-06 18:18 ` demerphq
2013-02-06 17:55 ` [PATCH] Update CodingGuidelines for Perl 5 Ted Zlatanov
2013-02-06 18:05 ` CodingGuidelines Perl amendment Ted Zlatanov
2013-02-06 18:16 ` Junio C Hamano
2013-02-06 18:27 ` Ted Zlatanov
2013-02-06 18:25 ` demerphq
2013-02-06 18:35 ` Ted Zlatanov
2013-02-06 18:44 ` demerphq
2013-02-06 18:54 ` Ted Zlatanov
2013-02-06 19:37 ` Junio C Hamano
2013-02-06 19:49 ` [PATCH v2] Update CodingGuidelines for Perl 5 Ted Zlatanov
2013-02-04 16:42 ` [PATCH 2/3] Skip blank and commented lines in contrib/credentials/netrc Ted Zlatanov
2013-02-04 16:43 ` [PATCH 3/3] Fix contrib/credentials/netrc minor issues: exit quietly; use 3-parameter open; etc Ted Zlatanov
2013-02-04 17:27 ` Junio C Hamano
2013-02-04 18:41 ` Ted Zlatanov
2013-02-04 16:33 ` [PATCH] git-send-email: add ~/.authinfo parsing Michal Nazarewicz
2013-02-04 17:00 ` Ted Zlatanov
2013-02-04 20:10 ` Jeff King
2013-02-04 20:28 ` Ted Zlatanov
2013-02-04 20:59 ` Jeff King
2013-02-04 21:08 ` Ted Zlatanov
2013-02-04 21:22 ` Jeff King
2013-02-04 21:41 ` Ted Zlatanov
2013-02-05 23:10 ` Junio C Hamano
2013-02-06 8:11 ` Matthieu Moy
2013-02-06 14:53 ` Ted Zlatanov
2013-02-06 15:10 ` Matthieu Moy
2013-02-06 15:58 ` Ted Zlatanov
2013-02-06 16:41 ` Matthieu Moy
2013-02-06 17:40 ` Ted Zlatanov
2013-02-06 18:11 ` [PATCH 0/4] Allow contrib/ to use Git's Makefile for perl code Matthieu Moy
2013-02-06 18:11 ` [PATCH 1/4] Makefile: extract perl-related rules to make them available from other dirs Matthieu Moy
2013-02-07 19:16 ` Junio C Hamano
2013-02-06 18:11 ` [PATCH 2/4] perl.mak: introduce $(GIT_ROOT_DIR) to allow inclusion from other directories Matthieu Moy
2013-02-06 18:11 ` [PATCH 3/4] Makefile: factor common configuration in git-default-config.mak Matthieu Moy
2013-02-07 19:28 ` Junio C Hamano
2013-02-08 17:05 ` Matthieu Moy
2013-02-08 17:31 ` [PATCH 1/2] Makefile: make script-related rules usable from subdirectories Matthieu Moy
2013-02-08 17:31 ` [PATCH 2/2] git-remote-mediawiki: use toplevel's Makefile Matthieu Moy
2013-02-06 18:11 ` [PATCH 4/4] git-remote-mediawiki: use Git's Makefile to build the script Matthieu Moy
2013-02-07 19:28 ` Junio C Hamano
2013-02-08 4:28 ` Jeff King
2013-02-08 17:34 ` Matthieu Moy
2013-02-08 17:43 ` Jeff King
2013-02-08 18:13 ` Junio C Hamano
2013-02-08 18:15 ` Jeff King
2013-02-06 21:57 ` [PATCH] git-send-email: add ~/.authinfo parsing Jeff King
2013-02-06 23:12 ` Ted Zlatanov
2013-02-07 7:08 ` Matthieu Moy
2013-02-07 14:30 ` Ted Zlatanov
2013-02-06 13:26 ` Michal Nazarewicz
2013-02-06 14:47 ` Ted Zlatanov
2013-01-30 15:03 ` Ted Zlatanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871ucto4vj.fsf_-_@lifelogs.com \
--to=tzz@lifelogs$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=peff@peff$(echo .)net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox