CodingGuidelines: reword parameter expansion section
authorJunio C Hamano <gitster@pobox.com>
Wed, 13 Oct 2010 18:15:14 +0000 (11:15 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Oct 2010 18:15:14 +0000 (11:15 -0700)
Group entries related to parameter substitutions together and avoid
using the word "regexp" to refer to the ${parameter/pattern/string}
substitution (banned), as the pattern there is a shell glob and not
a regular expression.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/CodingGuidelines
index 8346c1972be24abf4e4269b9171a0eb456c2895a..09ffc46563cba1057b37ba4a5701858fb95c5dda 100644 (file)
@@ -35,25 +35,28 @@ For shell scripts specifically (not exhaustive):
    properly nests.  It should have been the way Bourne spelled
    it from day one, but unfortunately isn't.
 
    properly nests.  It should have been the way Bourne spelled
    it from day one, but unfortunately isn't.
 
- - We use ${parameter-word} and its [-=?+] siblings, and their
-   colon'ed "unset or null" form.
+ - We use POSIX compliant parameter substitutions and avoid bashisms;
+   namely:
 
 
- We use ${parameter#word} and its [#%] siblings, and their
-   doubled "longest matching" form.
  - We use ${parameter-word} and its [-=?+] siblings, and their
+     colon'ed "unset or null" form.
 
 
- - We use Arithmetic Expansion $(( ... )).
+   - We use ${parameter#word} and its [#%] siblings, and their
+     doubled "longest matching" form.
 
 
- - Inside Arithmetic Expansion, spell shell variables with $ in front
-   of them, as some shells do not grok $((x)) while accepting $(($x))
-   just fine (e.g. dash older than 0.5.4).
+   - No "Substring Expansion" ${parameter:offset:length}.
 
 
- No "Substring Expansion" ${parameter:offset:length}.
  - No shell arrays.
 
 
- No shell arrays.
  - No strlen ${#parameter}.
 
 
- No strlen ${#parameter}.
  - No pattern replacement ${parameter/pattern/string}.
 
 
- - No regexp ${parameter/pattern/string}.
+ - We use Arithmetic Expansion $(( ... )).
+
+ - Inside Arithmetic Expansion, spell shell variables with $ in front
+   of them, as some shells do not grok $((x)) while accepting $(($x))
+   just fine (e.g. dash older than 0.5.4).
 
  - We do not use Process Substitution <(list) or >(list).
 
 
  - We do not use Process Substitution <(list) or >(list).