From MAILER-DAEMON Tue Dec 12 21:00:13 2023
Received: from list by lists.fsf.org with archive (Exim 4.90_1)
	id 1rDEXl-0000zg-Gm
	for mharc-tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 21:00:13 -0500
Received: from mail.fsf.org ([2001:470:142::13])
 by lists.fsf.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bill-auger@peers.community>)
 id 1rDED8-00087B-Mo
 for tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 20:38:54 -0500
Received: from aye.elm.relay.mailchannels.net ([23.83.212.6])
 by mail.fsf.org with esmtps
 (TLS1.2:ECDHE_SECP256R1__RSA_SHA512__AES_256_GCM:256) (Exim 4.93)
 (envelope-from <bill-auger@peers.community>) id 1rDECs-008r8L-H6
 for tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 20:38:53 -0500
X-Sender-Id: dreamhost|x-authsender|bill-auger@peers.community
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 1CA192C2487
 for <tech-volunteer-meeting@fsf.org>; Wed, 13 Dec 2023 01:38:34 +0000 (UTC)
Received: from pdx1-sub0-mail-a298.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id AE8E42C1306
 for <tech-volunteer-meeting@fsf.org>; Wed, 13 Dec 2023 01:38:33 +0000 (UTC)
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1702431513; a=rsa-sha256;
 cv=none;
 b=Ks2PXI8rEpN58vCCFM/NfWquP7iEg+2F85h+JZdR30l8APdHVwe9Q1THiFf5R2jHPkOofJ
 50EcoV0aQn19TutehzoKB+188ntJ/5b2L7YvLJ5tlaSKqmJ+4xkhq9bOL2BFiGHu0OvHvq
 uNf2T43OWzwj/4box4gzGLODpZxLQeLHkfSlZI45Uuo4LSO7W2HWY/mC0B58JGwcg1sc+t
 tYmuockAvex8ZGRFlHxjLwe81IGM9/7T+PLZbnLlwppRv2t/szcM+nTOaqm0N08+2r16Yy
 ehuyAgoIjLxgxw6SIiUsK2xFngKOZhC/MFd9QwYCVCBF8EgK33gmiiWvM+br6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net; s=arc-2022; t=1702431513;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:dkim-signature;
 bh=nZY9/d5uNdjxHTLrP8FCMtgRs2CKxV3VJau/XIYqIiA=;
 b=YZM1tTfVk8fRuDqtyYgB+ia4YezXQjQKUGktXdT4tQ6bp7ln1idxsSdA3ChXh5APWluv0n
 OijZzAJKttja89ZykxEx/ciU47IA1CMwlPQF8nNnGv6bbR9XAghWXVU0MuyuVEWDTRxClR
 L0gpXD4X3InTEIjhpzCirOVLWC0/ehtHhNasAppqq+ZwM+HClDS+0CVunfmKN6mzkY36Wn
 unJSNsTqayTGZuGMgjOIerIrm3VtVXdS2fxCZDIIYDuE0Lif2+WeB/xzKpNttDeNmm3R+u
 XRKMbcCPjfhS/WGC8ODxXxwNLmycrXRiK/zSInjTVoScKNzBYiefXkumP0zWhQ==
ARC-Authentication-Results: i=1; rspamd-5749745b69-tl9zp;
 auth=pass smtp.auth=dreamhost smtp.mailfrom=bill-auger@peers.community
X-Sender-Id: dreamhost|x-authsender|bill-auger@peers.community
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|bill-auger@peers.community
X-MailChannels-Auth-Id: dreamhost
X-Fumbling-Shrill: 35287f4b72dd1d0c_1702431513841_2050342925
X-MC-Loop-Signature: 1702431513841:3811208232
X-MC-Ingress-Time: 1702431513841
Received: from pdx1-sub0-mail-a298.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.122.88.203 (trex/6.9.2); Wed, 13 Dec 2023 01:38:33 +0000
Received: from parabola.localdomain (024-183-181-070.res.spectrum.com
 [24.183.181.70])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 (Authenticated sender: bill-auger@peers.community)
 by pdx1-sub0-mail-a298.dreamhost.com (Postfix) with ESMTPSA id 4SqdRY21qczB4
 for <tech-volunteer-meeting@fsf.org>; Tue, 12 Dec 2023 17:38:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=peers.community;
 s=dreamhost; t=1702431513;
 bh=JXx3ahDW1PFoYbe55CrSKgjkeJPgl1APFK6nINEdAbY=;
 h=Date:From:To:Subject:Content-Type:Content-Transfer-Encoding;
 b=abNuO4GOYzltYf6Cxm5YbU6Rne5zIogCKNuRMzgahBVzxTlCBrtuMyD3lmTalve8o
 +O5fCLqOBA3qErm7nXNPmj05CiJxpPXYbQHCqDCg9rqPb2ZtSUwS843+bArV9CNndp
 22ffNZyO0z2nMLkB4Hq2QRCdGi/qNPyr1AnXUb15/qktZjzNTmt/S8hdMOG86QlOr7
 thtO2UcZ9FbhcI+rEfPEEJLdTBUEqTm/vvoXraabM65wPW4ywaLPuFEb/eolDHJ0Ou
 lfSXI+l4RqCKJDS5ShPzn7hGY6sGmdwhWToHNpI3f/V/WLjBg0XcamWUcIeUEIBiRT
 cKsu/PXlnfTig==
Date: Tue, 12 Dec 2023 20:38:03 -0500
From: bill-auger <bill-auger@peers.community>
To: tech-volunteer-meeting@fsf.org
Subject: [PATCH]: (1/2)  [bash-style-guide.mdwn]: typos and formatting
Message-ID: <20231212203803.48523385@parabola.localdomain>
Organization: parabola gnu/linux
X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=23.83.212.6;
 envelope-from=bill-auger@peers.community; helo=aye.elm.relay.mailchannels.net
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Mailman-Approved-At: Tue, 12 Dec 2023 21:00:12 -0500
X-BeenThere: tech-volunteer-meeting@fsf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <tech-volunteer-meeting.fsf.org>
List-Unsubscribe: <https://lists.fsf.org/mailman/options/tech-volunteer-meeting>, 
 <mailto:tech-volunteer-meeting-request@fsf.org?subject=unsubscribe>
List-Archive: <https://lists.fsf.org/archive/html/tech-volunteer-meeting>
List-Post: <mailto:tech-volunteer-meeting@fsf.org>
List-Help: <mailto:tech-volunteer-meeting-request@fsf.org?subject=help>
List-Subscribe: <https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting>, 
 <mailto:tech-volunteer-meeting-request@fsf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Dec 2023 01:38:55 -0000

=46rom f2f43ff429a58fd6d57602efeb5acb9802197789 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Tue, 12 Dec 2023 19:51:44 -0500
Subject: [PATCH 1/2] [bash-style-guide.mdwn]: typos and formatting

---
 sviki/fsf/bash-style-guide.mdwn | 145 +++++++++++++++++---------------
 1 file changed, 76 insertions(+), 69 deletions(-)

diff --git a/sviki/fsf/bash-style-guide.mdwn b/sviki/fsf/bash-style-guide.m=
dwn
index 3a1d5a3..5f5ffaf 100644
--- a/sviki/fsf/bash-style-guide.mdwn
+++ b/sviki/fsf/bash-style-guide.mdwn
@@ -1,6 +1,8 @@
 # FSF Tech Team Bash style guide
=20
-Contributions are welcome. Send patches to
+Contributions are welcome
+(`git svn clone --stdlayout svn://svn.savannah.gnu.org/administration/`).
+Send patches to
 <https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting>. Info on
 volunteering with the FSF tech team:
 <https://libreplanet.org/wiki/Group:FSF:Tech_Team_Volunteers>
@@ -15,7 +17,7 @@ freedom.
=20
 Useful:
=20
-* Man bash(1)
+* `info bash`
=20
 * <https://mywiki.wooledge.org/EnglishFrontPage>
=20
@@ -26,7 +28,7 @@ For a common example, see <https://mywiki.wooledge.org/Pa=
rsingLs>
=20
 About "portability": If you read something online that says, you should
 do it this way because is "more portable", you often want the exact
-opposite. It often means that bash or gnu coreutils can do it in a more
+opposite. It often means that bash or GNU coreutils can do it in a more
 readable or otherwise better way. We all deserve to use systems where we
 can install and use GNU software, don't hamstring yourself for the sake
 of catering to less capable systems unless you really have some good
@@ -45,7 +47,7 @@ is in a git repo, try to make a commit which only changes=
 the style.
=20
 Scripts must be executable, preferably with no extension, but .sh is
 okay. lowercase-dash-separated. Scripts meant to be sourced (libraries)
-are more okay to have .sh extention. This is common practice scripts in
+are more okay to have .sh extension. This is common practice scripts in
 /usr/bin, don't have .sh, it's extraneous overhead to the person using
 it.
=20
@@ -54,11 +56,11 @@ https://www.gnu.org/licenses/license-recommendations.en=
.html .
=20
 # Shellcheck
=20
-The shebang should not have arguments so bash script-name works the
-same. Use the set command instead.
+The shebang should not have arguments; so `BASH script-name` works the
+same. Use the `set` command instead.
=20
=20
-Before using any script, it should have no output from
+Before using any script, it should have no output from:
=20
 ```
 shellcheck -x -e 2046,2068,2086,2206,2029,2033,2054,2164,2254 SCRIPT_FILE
@@ -71,13 +73,13 @@ The numbers are exceptions from the rules.
 The following exceptions are for quoting variables. Shellcheck complains
 that unquoted variables will do splitting and globbing. You should
 simply know this and account for this it in your code. Most variables
-are things we know don't have spaces and it would be too verbose to
-quote them all the time. If the variable could have characters like
-space, *, ?, [, then definitely quote it unless you want globing. If it
-the variable is the program's args, always quote it, because the person
-running it can easily make errors. For scripts which are expected to
-take untrusted input, or process files or variables which could have
-spaces, run shellcheck with no exceptions to verify quoting.
+are things that we know don't have spaces, and it would be too verbose to
+quote them all the time. If the variable could have characters such as
+spaces, *, ?, [, etc, then definitely quote it unless you want globbing. If
+the variable is set to one of the program's CLI args, always quote it,
+because the person running the script can easily make errors. For scripts
+which are expected to take un-trusted input, or process files or variables
+which could have spaces, run shellcheck with no exceptions to verify quoti=
ng.
=20
 ```
 # 2046 =3D unquoted $(cmd)
@@ -90,25 +92,25 @@ spaces, run shellcheck with no exceptions to verify quo=
ting.
 Miscellaneous exceptions:
=20
 ```
-# 2029 =3D Using unescaped variable in ssh call. Reason: This never
+# 2029 =3D Using un-escaped variable in ssh call. Reason: This never
   works, warning is generally a false positive.
=20
 # 2032 =3D Warning about calling shell function over ssh. There are ways
   for this to be a false positive, and we generally don't need a warning
   that shellcheck doesn't know if a command exists.
=20
-# 2033 =3D shell function as argument to another shell. Reason: This never
+# 2033 =3D Shell function as argument to another shell. Reason: This never
   works, warning is generally a false positive.
=20
 # 2054 =3D Array declaration contains a comma. Reason: This is warning of a
-  mistake based on how other languages work, but this would never work
-  as expected in bash and is a legitimate thing to do.
+  mistake based on how other languages work; but commas are not special
+  in BASH, and even unquoted, they are legitimate array elements.
=20
-# 2164 =3D cd without condition for failure. Reason: We use automatic error
+# 2164 =3D `cd` without condition for failure. Reason: We use automatic er=
ror
   handling.
 ```
=20
-This is based on shellcheck version: 0.8.0 from trisquel 11. A newer
+This is based on shellcheck version: 0.8.0 from Trisquel 11. A newer
 shellcheck probably has new rules worth ignoring.
=20
 ## Other shellcheck issues
@@ -121,11 +123,9 @@ to override the warning, eg:
 ```
=20
 If the shellcheck you are using is too old for -x, get a new one using
-package pinning or haskell stack.
+package pinning or Haskell stack.
=20
-
-
-For shellcheck SC2207/2206, how to avoid x=3D( $(cmd) ) and y=3D( $var ) s=
ince
+For shellcheck SC2207/2206, how to avoid `x=3D( $(cmd) )` and `y=3D( $var =
)` since
 it unnecessarily expands globs:
=20
 For splitting a variable on spaces without glob expansion:
@@ -208,26 +208,22 @@ fi
 readonly verbose
 ```
=20
-Use local to make function local variables enforced. This adds
-readability and avoids error from using variable in an unintended
-scope. eg: `local y=3D5`
-
+Use `local` to properly scope variables as "function-local". This adds
+readability and avoids errors from using variables in unintended
+scopes. eg: `local y=3D5`
=20
 Never quote literal integers.
=20
-Prefer single quoting strings that have no subsitution (things that
-start with $).
-
-Non command options or path names can be optionally quoted. eg `x=3D'oo'`
-
+Prefer single-quoting strings that have no substitution (things that
+start with `$`).
=20
+Non-command options or path names can be optionally quoted, eg: `x=3D'oo'`.
=20
=20
 Functions:
=20
 Put all functions together near the top of the file after includes,
-constants, and set statements.
-
+constants, and `set` statements.
=20
 Always use `return 0`, never `return`, because you can return nonzero
 by accident otherwise.
@@ -248,8 +244,8 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returne=
d $?" >&2' ERR
 ```
=20
=20
-For scripts with functions, copy/paste or source the bash-bear script
-<https://savannah.nongnu.org/git/?group=3Dbash-bear-trap> , which will exi=
t on error and print stack traces.
+For scripts with functions, copy/paste or `source` the bash-bear script
+<https://savannah.nongnu.org/git/?group=3Dbash-bear-trap> , which will exi=
t on error and print a stack trace.
=20
 When you want to manually handle some error, use a variable, for example:
=20
@@ -260,26 +256,30 @@ test-func() {
   echo do stuff
   result=3Dfalse
 }
-test-funcc
+test-func
 $result || echo handling false result
=20
 echo this prints too
 ```
=20
 To allow a specific command to to fail, make it part of a conditional. eg:
+
+```
 iptables -D rule || [[ $? =3D=3D 1 ]] # allow exit code 1 when rule doesn'=
t exist
+```
=20
 ### Gotchas in automatic error handling:
=20
 ### Functions in conditionals
=20
-Don't put functions in conditionals generally because the trap is
+Don't put functions in conditionals generally, because the trap is
 ignored in that function call. Instead, use a result variable. However,
-it ok for very short functions when only the last line can fail. eg:
+it is okay for very short functions when only the last line can fail. eg:
=20
 ```
 afunc() { echo ok; "$@"; }
 ```
+
 ### Process Substitution
=20
 Don't use process substitution when the command inside could fail,
@@ -305,18 +305,28 @@ This won't be caught by error trap:
 echo hello $(command-that-could-fail)
 ```
=20
-Instead, do this
+Instead, do this:
=20
 ```
 var=3D$(command-that-could-fail)
 echo hello "$var"
 ```
=20
+Note that `var=3D` as shown above would be a global variable.
+In a function body, it is best to declare variables as function-local,
+as noted in the 'Variables:' section. However, be sure not to set the
+variable in the declaration command, which would re-introduce the bug
+we are trying to avoid here (it bypass the trap - shellcheck issue SC2155).
+If the variable should be declared with `local`, `declare`, `readonly`, et=
c,
+declare it without a value, then set it's value separately (eg: `local var=
`,
+or `local tmp` in the previous example).
+
 ### Arithmetic expressions
=20
-If there is a syntax error in the expression in a condional `((
-expression ))`, it returns 1it does not cause the program to exit. That
-is bad and a source of bugs.
+If there is a syntax error in a conditional expression `(( expression ))`,
+the condition is false-ish; but it will not cause the program to exit
+nor traps to fire. This is generally the case for conditionals
+(eg: `if` statements); but it is a common, yet avoidable source of bugs.
=20
 ```
 # Avoid this
@@ -350,7 +360,7 @@ fi
 ## Manual error checking
=20
 Explicit handling should
-be done for almost all commands not builtin to bash.
+be done for almost all commands not builtin to BASH.
=20
 ```
 set -E -o pipefail
@@ -370,8 +380,8 @@ if [[ $? !=3D [01] ]]; then
 fi
 ```
=20
-3. If doing a best effort and not exiting on errors, exit code should be
-the higest error.
+If doing a best effort and not exiting on errors, the exit code should be
+the highest error.
=20
 ```
 error=3D0; trap 'error=3D$(($?>$error?$?:$error))' ERR
@@ -390,8 +400,8 @@ In some circumstances pipefail may be too blunt. In tha=
t case, check
=20
 # Misc
=20
-Prefer the use of builtins such as the Parameter Expansion functions in
-bash(1) as they are more robust.
+Prefer the use of built-ins such as the Parameter Expansion functions
+(see `info '(bash)Shell Parameter Expansion'`) as they are more robust.
=20
 ```
 # Prefer this:
@@ -404,14 +414,14 @@ substitution=3D"$(echo "${string}" | sed -e 's/^foo/b=
ar/')"
 ```
=20
=20
-Avoid eval.
+Avoid `eval`.
=20
-Avoid $_. It is easy to alter the environment so it is broken. So far
-seen this happen in interactive shell only.
+Avoid `$_`. It is easy to alter the environment such that it is broken.
+So far, we have seen this happen only in the interactive shell.
=20
 When a var might have spaces, double quote it.
=20
-When input is generally untrusted, protect against input that starts
+When input is generally un-trusted, protect against input that starts
 with dash.
=20
 ```
@@ -419,31 +429,28 @@ rm -v -- "$var"
 rm -v ./* # a file could be named -rf
 ```
=20
-Avoid set -u. empty vars are useful, check for them with [[ $var ]]. set
--u just leads to explicitly setting variables to empty and other hackery
-to avoid unset errors, making it complication that is not worth
-it. shellcheck will find completely unset variables.
+Avoid `set -u`. Empty vars are useful. Check for them with [[ $var ]]. `set
+-u` only leads to explicitly setting variables to empty, and other hackery
+to avoid unset errors - a complication which is not worth the trouble.
+`shellcheck` will find completely unset variables.
=20
-Prefer $var except when ${var} is necessary or adds clarity, like "comb${x=
}ining strings"
+Prefer `$var` except when `${var}` is necessary or adds clarity, like `"co=
mb${x}ining strings"`.
=20
-Never use [. [[ is a special syntax which doesn't do variable expansion
+Never use `[`. `[[` is a special syntax which doesn't do variable expansion
 and avoids edge cases.
=20
 Note: ikiwiki has trouble formatting the double bracket below, get the
 raw page with `git svn clone --stdlayout svn://svn.savannah.gnu.org/admini=
stration/`
=20
-
 ```
-[[ $filename =3D=3D *.png ]] # righthand globs over lefthand. filename has=
 png extension
-# Quote only the righthand side when globbing is not desired.
-[[ $filename =3D=3D "*.png" ]] # filename is literal string "*.png"
+[[ "$filename" =3D=3D *.png ]] # right-hand globs over left-hand - matches=
 filename with .png extension
+# Quote only the right-hand side when globbing is not desired.
+[[ "$filename" =3D=3D "*.png" ]] # matches filename with literal asterisk =
"*.png"
 ```
=20
-Use double equal for string equality [[ $x =3D=3D 2 ]]
-
-
+Use double-equal for string equality, eg: `[[ "$x" =3D=3D 2 ]]`.
=20
-Use gnu getopts whenever there is more than one option, or an option and
+Use GNU getopts whenever there is more than one option, or an option and
 an argument. Reference info at:
 /usr/share/doc/util-linux/examples/getopt-parse.bash
=20
@@ -484,8 +491,8 @@ read arg1 arg2 <<<"$@"
 # License
=20
 Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
+are permitted in any medium and without royalty, provided that the copyrig=
ht
+notice and this notice are preserved. This file is offered as-is,
 without any warranty.
=20
 This GNU all-permissive license applies to all the files in this
--=20
2.42.1


From MAILER-DAEMON Tue Dec 12 21:00:14 2023
Received: from list by lists.fsf.org with archive (Exim 4.90_1)
	id 1rDEXm-0000zx-NE
	for mharc-tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 21:00:14 -0500
Received: from mail.fsf.org ([2001:470:142::13])
 by lists.fsf.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bill-auger@peers.community>)
 id 1rDEEe-0008Cr-QO
 for tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 20:40:29 -0500
Received: from bird.elm.relay.mailchannels.net ([23.83.212.17])
 by mail.fsf.org with esmtps
 (TLS1.2:ECDHE_SECP256R1__RSA_SHA512__AES_256_GCM:256) (Exim 4.93)
 (envelope-from <bill-auger@peers.community>) id 1rDEEa-008rOq-Mf
 for tech-volunteer-meeting@fsf.org; Tue, 12 Dec 2023 20:40:27 -0500
X-Sender-Id: dreamhost|x-authsender|bill-auger@peers.community
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 9FB2A9010E4
 for <tech-volunteer-meeting@fsf.org>; Wed, 13 Dec 2023 01:40:21 +0000 (UTC)
Received: from pdx1-sub0-mail-a298.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 5327F900E08
 for <tech-volunteer-meeting@fsf.org>; Wed, 13 Dec 2023 01:40:21 +0000 (UTC)
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1702431621; a=rsa-sha256;
 cv=none;
 b=3NrKoCjp6VXnPBxbjbxcCzVVl08WIyCMYRCB7duQ2MtcNqeJpTZhGZAmpcOT516MXlLE7C
 ve+GvkDawuJO0ZcBdMLS/Z0rcRd5kFIJUrZNfgIxrKDQ0KjNaLlFFvQs4+7YokkSa5Swn1
 Jvt/G/rAKFj4iMNq99T4PbSawHc3RHd1whE046jIkezwsZDmA/cbv8C/CPM+kTS4/64tGI
 ibulkvgmT+jv9B9GElKVu9umxzIyZfj/1Afk0SMmBnVcwBkUuV5xLEoVh2FLU9JufHsWTF
 n4LJ2kdl2reikIA/wtmLIMFD16kAQx6aeGu2gTNipHPntZSO36BkBj1uHwWGqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net; s=arc-2022; t=1702431621;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:dkim-signature;
 bh=Hw0E8zAzlGBpZwEvaIxSz5yXcsZhBXW7amDUkKLE6ew=;
 b=syXjSWcPenD69YhlNX2yEbKCy0X82AAGzA5+oe1Af0OeBdr2hKocLaXBINYlu2QmmLgqos
 gNfImhdCvUd3eIPllCxOJsGCZo96/aZBo43roLUOZuDCJiIvkl5M1JLvxw1LVOGqiru2Ot
 OMUF/zVrWv6vSNPqOJNiE365YavWgB6KBf/CXuzWqks0jt8epjowLFOHkREJBJ3tcuXRUP
 19lPmJBjoV7K6+QzHjkdaI+jMgH1YCI03C9RvPIogPPlfRNChUfzePG3h5J6zEWKbHakvx
 Q3NLU/2PY42oc0mvoHbbUd/f/481E97bGupDlN4TOLpl9M5URN6krs2rm+OIAw==
ARC-Authentication-Results: i=1; rspamd-6cb9686b59-fwr6j;
 auth=pass smtp.auth=dreamhost smtp.mailfrom=bill-auger@peers.community
X-Sender-Id: dreamhost|x-authsender|bill-auger@peers.community
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|bill-auger@peers.community
X-MailChannels-Auth-Id: dreamhost
X-Robust-Ski: 6174c68628b219d7_1702431621467_356544767
X-MC-Loop-Signature: 1702431621467:2642067807
X-MC-Ingress-Time: 1702431621467
Received: from pdx1-sub0-mail-a298.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.118.12.55 (trex/6.9.2); Wed, 13 Dec 2023 01:40:21 +0000
Received: from parabola.localdomain (024-183-181-070.res.spectrum.com
 [24.183.181.70])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 (Authenticated sender: bill-auger@peers.community)
 by pdx1-sub0-mail-a298.dreamhost.com (Postfix) with ESMTPSA id 4SqdTc6NZszB4
 for <tech-volunteer-meeting@fsf.org>; Tue, 12 Dec 2023 17:40:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=peers.community;
 s=dreamhost; t=1702431621;
 bh=Hw0E8zAzlGBpZwEvaIxSz5yXcsZhBXW7amDUkKLE6ew=;
 h=Date:From:To:Subject:Content-Type:Content-Transfer-Encoding;
 b=axNmq5xOtONOGBWYjTUnBDik8xGtrFoOXeQA0dJ13LszNjZf729IRZgpgEQBxYgC2
 j2CIfYFcE7IBgW/YuCkBfW/itm5+v1FdzFZVSnfmWpwtVbNFmeLUrcWdj0sZbWsgIW
 /PLQCIlwxvOujYGZN7ylVdPs76INHDDsg7WCUuv7oBECnfPCCfj1ad2GRR1JbNvi+J
 SYK3iTQVjzcdR/8x+BsQMdbuqBoZGQP2A+SihUHk2fdzZ0k/WmUbcoDUWp4A0EyebO
 p24AO307v9S1HjVPDG4Um5uR8t+f1DOpeQPx+gfmRNoxQ17M/fPeD/kEzy5W1W4adf
 JsyX3C0vN/X4A==
Date: Tue, 12 Dec 2023 20:39:51 -0500
From: bill-auger <bill-auger@peers.community>
To: tech-volunteer-meeting@fsf.org
Subject: [PATCH]: (2/2) [bash-style-guide.mdwn]: fix square brackets rendering
Message-ID: <20231212203951.2882a3b2@parabola.localdomain>
Organization: parabola gnu/linux
X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=23.83.212.17;
 envelope-from=bill-auger@peers.community; helo=bird.elm.relay.mailchannels.net
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Mailman-Approved-At: Tue, 12 Dec 2023 21:00:13 -0500
X-BeenThere: tech-volunteer-meeting@fsf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <tech-volunteer-meeting.fsf.org>
List-Unsubscribe: <https://lists.fsf.org/mailman/options/tech-volunteer-meeting>, 
 <mailto:tech-volunteer-meeting-request@fsf.org?subject=unsubscribe>
List-Archive: <https://lists.fsf.org/archive/html/tech-volunteer-meeting>
List-Post: <mailto:tech-volunteer-meeting@fsf.org>
List-Help: <mailto:tech-volunteer-meeting-request@fsf.org?subject=help>
List-Subscribe: <https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting>, 
 <mailto:tech-volunteer-meeting-request@fsf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Dec 2023 01:40:31 -0000

=46rom ebe3dc520ce26b3dca1281b146b87d924fd551ac Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Tue, 12 Dec 2023 19:52:45 -0500
Subject: [PATCH 2/2] [bash-style-guide.mdwn]: fix square brackets rendering

---
 sviki/fsf/bash-style-guide.mdwn | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/sviki/fsf/bash-style-guide.mdwn b/sviki/fsf/bash-style-guide.m=
dwn
index 5f5ffaf..f72d112 100644
--- a/sviki/fsf/bash-style-guide.mdwn
+++ b/sviki/fsf/bash-style-guide.mdwn
@@ -439,13 +439,10 @@ Prefer `$var` except when `${var}` is necessary or ad=
ds clarity, like `"comb${x}
 Never use `[`. `[[` is a special syntax which doesn't do variable expansion
 and avoids edge cases.
=20
-Note: ikiwiki has trouble formatting the double bracket below, get the
-raw page with `git svn clone --stdlayout svn://svn.savannah.gnu.org/admini=
stration/`
-
 ```
-[[ "$filename" =3D=3D *.png ]] # right-hand globs over left-hand - matches=
 filename with .png extension
+\[[ "$filename" =3D=3D *.png ]] # right-hand globs over left-hand - matche=
s filename with .png extension
 # Quote only the right-hand side when globbing is not desired.
-[[ "$filename" =3D=3D "*.png" ]] # matches filename with literal asterisk =
"*.png"
+\[[ "$filename" =3D=3D "*.png" ]] # matches filename with literal asterisk=
 "*.png"
 ```
=20
 Use double-equal for string equality, eg: `[[ "$x" =3D=3D 2 ]]`.
--=20
2.42.1


