aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2018-12-28 00:13:06 +1300
committerTom Ryder <tom@sanctum.geek.nz>2018-12-28 00:13:06 +1300
commit8215cba30d96b421ff0b434b5900fa60af5e1a4b (patch)
treee0a800d9f03580d8daf7524f40cafd8fe9e28061
parentMerge branch 'release/v4.0.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-8215cba30d96b421ff0b434b5900fa60af5e1a4b.tar.gz
dotfiles-8215cba30d96b421ff0b434b5900fa60af5e1a4b.zip
Merge branch 'release/v4.1.0'v4.1.0
* release/v4.1.0: Bump VERSION Correct typo in stub vimrc Remove some vestigial Bash 2.05 guards/comments Break up some long lines Two-space sentences in VimL comments Two-space sentences in shell comments Break up some long lines Fix long lines in manual pages Two-space sentences in manual pages Adjust sentence spacing of README.md Remove highlight double-quote VimL comment strings
-rw-r--r--README.md109
-rw-r--r--VERSION4
-rw-r--r--bash/bash_completion.d/_text_filenames.bash2
-rw-r--r--bash/bash_completion.d/bd.bash4
-rw-r--r--bash/bash_completion.d/make.bash2
-rw-r--r--bash/bashrc.d/keep.bash2
-rw-r--r--bash/bashrc.d/prompt.bash5
-rw-r--r--bin/ax.sh2
-rw-r--r--bin/chn.mi52
-rw-r--r--bin/dub.sh6
-rw-r--r--bin/eds.sh3
-rw-r--r--bin/gwp.awk3
-rw-r--r--bin/han.bash10
-rw-r--r--bin/mi5.awk8
-rw-r--r--bin/pa.sh2
-rw-r--r--bin/paz.sh2
-rw-r--r--bin/rep.sh4
-rw-r--r--bin/rndi.awk2
-rw-r--r--bin/sta.sh2
-rw-r--r--bin/tlcs.mi54
-rw-r--r--bin/xgo.sh12
-rw-r--r--bin/xrbg.sh2
-rw-r--r--gnupg/gpg.conf.mi53
-rw-r--r--ksh/kshrc.d/keep.ksh2
-rw-r--r--ksh/shrc.d/ksh.sh14
-rw-r--r--man/man1/apf.1df12
-rw-r--r--man/man1/ax.1df5
-rw-r--r--man/man1/bp.1df4
-rw-r--r--man/man1/br.1df2
-rw-r--r--man/man1/brnl.1df2
-rw-r--r--man/man1/ca.1df2
-rw-r--r--man/man1/cf.1df2
-rw-r--r--man/man1/cfr.1df6
-rw-r--r--man/man1/chc.1df10
-rw-r--r--man/man1/chn.1df6
-rw-r--r--man/man1/clog.1df2
-rw-r--r--man/man1/clrd.1df6
-rw-r--r--man/man1/clwr.1df4
-rw-r--r--man/man1/dam.1df2
-rw-r--r--man/man1/dub.1df4
-rw-r--r--man/man1/edda.1df2
-rw-r--r--man/man1/eds.1df2
-rw-r--r--man/man1/exm.1df4
-rw-r--r--man/man1/fnl.1df4
-rw-r--r--man/man1/gms.1df6
-rw-r--r--man/man1/grc.1df2
-rw-r--r--man/man1/gscr.1df2
-rw-r--r--man/man1/gwp.1df10
-rw-r--r--man/man1/han.1df4
-rw-r--r--man/man1/htref.1df2
-rw-r--r--man/man1/igex.1df4
-rw-r--r--man/man1/isgr.1df2
-rw-r--r--man/man1/jfc.1df4
-rw-r--r--man/man1/jfcd.1df4
-rw-r--r--man/man1/jfp.1df2
-rw-r--r--man/man1/loc.1df4
-rw-r--r--man/man1/maybe.1df4
-rw-r--r--man/man1/med.1df4
-rw-r--r--man/man1/mex.1df2
-rw-r--r--man/man1/mftl.1df2
-rw-r--r--man/man1/mi5.1df21
-rw-r--r--man/man1/mim.1df4
-rw-r--r--man/man1/mkcp.1df2
-rw-r--r--man/man1/mked.1df2
-rw-r--r--man/man1/mkmv.1df4
-rw-r--r--man/man1/mkvi.1df2
-rw-r--r--man/man1/mode.1df2
-rw-r--r--man/man1/motd.1df2
-rw-r--r--man/man1/murl.1df2
-rw-r--r--man/man1/mw.1df2
-rw-r--r--man/man1/nlbr.1df2
-rw-r--r--man/man1/oii.1df2
-rw-r--r--man/man1/osc.1df2
-rw-r--r--man/man1/pa.1df2
-rw-r--r--man/man1/paz.1df2
-rw-r--r--man/man1/ped.1df4
-rw-r--r--man/man1/plmu.1df2
-rw-r--r--man/man1/pp.1df4
-rw-r--r--man/man1/pph.1df2
-rw-r--r--man/man1/pst.1df2
-rw-r--r--man/man1/pvi.1df4
-rw-r--r--man/man1/quo.1df2
-rw-r--r--man/man1/rep.1df2
-rw-r--r--man/man1/rgl.1df2
-rw-r--r--man/man1/rnda.1df2
-rw-r--r--man/man1/rndf.1df6
-rw-r--r--man/man1/rndi.1df4
-rw-r--r--man/man1/rndl.1df2
-rw-r--r--man/man1/rnds.1df2
-rw-r--r--man/man1/shb.1df2
-rw-r--r--man/man1/sls.1df2
-rw-r--r--man/man1/slsf.1df4
-rw-r--r--man/man1/sqs.1df2
-rw-r--r--man/man1/sta.1df2
-rw-r--r--man/man1/stex.1df2
-rw-r--r--man/man1/swr.1df4
-rw-r--r--man/man1/tl.1df4
-rw-r--r--man/man1/tlcs.1df8
-rw-r--r--man/man1/tm.1df6
-rw-r--r--man/man1/trs.1df4
-rw-r--r--man/man1/try.1df4
-rw-r--r--man/man1/urlh.1df2
-rw-r--r--man/man1/urlmt.1df4
-rw-r--r--man/man1/vest.1df4
-rw-r--r--man/man1/vex.1df2
-rw-r--r--man/man1/wro.1df2
-rw-r--r--man/man1/xgo.1df2
-rw-r--r--man/man1/xrbg.1df2
-rw-r--r--man/man1/xrq.1df2
-rw-r--r--man/man6/acq.6df2
-rw-r--r--man/man6/dr.6df2
-rw-r--r--man/man6/philsay.6df2
-rw-r--r--man/man6/pks.6df2
-rw-r--r--man/man6/rndn.6df6
-rw-r--r--man/man6/xyzzy.6df2
-rw-r--r--man/man8/sue.8df2
-rw-r--r--mutt/muttrc4
-rw-r--r--readline/inputrc3
-rw-r--r--sh/profile.d/options.sh2
-rw-r--r--sh/shrc.d/gt.sh4
-rw-r--r--sh/shrc.d/hgrep.sh2
-rw-r--r--sh/shrc.d/pd.sh2
-rw-r--r--sh/shrc.d/rd.sh2
-rw-r--r--sh/shrc.d/scr.sh2
-rw-r--r--sh/shrc.d/sd.sh4
-rw-r--r--sh/shrc.d/ud.sh2
-rw-r--r--vim/after/syntax/sh.vim16
-rw-r--r--vim/after/syntax/vim.vim2
-rw-r--r--vim/vimrc.stub.vim2
-rw-r--r--zsh/profile.d/zsh.sh4
-rw-r--r--zsh/zshrc2
-rw-r--r--zsh/zshrc.d/keep.zsh6
132 files changed, 298 insertions, 286 deletions
diff --git a/README.md b/README.md
index b66b8a13..d2db5107 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ For the default `all` target, you'll need a POSIX-fearing userland, including
The installation `Makefile` will overwrite things standing in the way of its
installed files without backing them up, so read the output of `make -n
install` before running `make install` to make sure you aren't going to lose
-anything unexpected. If you're still not sure, install it in a temporary
+anything unexpected. If you're still not sure, install it in a temporary
directory so you can explore:
$ tmpdir=$(mktemp -d)
@@ -33,8 +33,8 @@ directory so you can explore:
$ env -i HOME="$tmpdir" TERM="$TERM" "$SHELL" -l
The default `install` target will install these targets and all their
-dependencies. Note that you don't actually have to have any of this except `sh`
-installed.
+dependencies. Note that you don't actually have to have any of this except
+`sh` installed.
* `install-bin`
* `install-bin-man`
@@ -51,14 +51,14 @@ The `install-login-shell` looks at your `SHELL` environment variable and tries
to figure out which shell's configuration files to install, falling back on
`install-sh`.
-The remaining files can be installed with the other `install-*` targets. Try
+The remaining files can be installed with the other `install-*` targets. Try
`awk -f bin/mftl.awk Makefile` in the project's root directory to see a list.
### Configuration
To save a set of `make` targets useful for a specific user or host, you can
save them in a newline-separated file `~/.dotfiles.conf`, and install using
-that with the special `install-conf` target. This can include variable
+that with the special `install-conf` target. This can include variable
settings, too:
$ cd
@@ -117,28 +117,28 @@ Configuration is included for:
for Unix
The configurations for shells, GnuPG, Mutt, tmux, and Vim are the most
-expansive, and most likely to be of interest. The i3 configuration is mostly
+expansive, and most likely to be of interest. The i3 configuration is mostly
changed to make window switching behave like Vim windows and tmux panes do, and
there's a fair few resources defined for rxvt-unicode.
### Shell
My `.profile` and other files in `sh` are written in POSIX shell script, so
-they should work in most `sh(1)` implementations. Individual scripts called by
+they should work in most `sh(1)` implementations. Individual scripts called by
`.profile` are saved in `.profile.d` and iterated on login for ease of
-management. Most of these boil down to exporting variables appropriate to the
+management. Most of these boil down to exporting variables appropriate to the
system and the software it has available.
Configuration that should be sourced for all POSIX-fearing interactive shells
-is kept in `~/.shrc`, with subscripts read from `~/.shrc.d`. There's a shim in
-`~/.shinit` to act as `ENV`. I make an effort to target POSIX for my functions
+is kept in `~/.shrc`, with subscripts read from `~/.shrc.d`. There's a shim in
+`~/.shinit` to act as `ENV`. I make an effort to target POSIX for my functions
and scripts where I can so that the same files can be loaded for all shells.
On GNU/Linux I use Bash, on BSD I use some variant of Korn Shell, preferably
`ksh93` if it's available.
My Bash is written to work with [any version 3.0 or
-newer](http://wiki.bash-hackers.org/scripting/bashchanges). This is why I use
+newer](http://wiki.bash-hackers.org/scripting/bashchanges). This is why I use
older syntax for certain things such as appending items to arrays:
array[${#array[@]}]=$item
@@ -168,12 +168,12 @@ A terminal session with my prompt looks something like this:
[1] 28937
remote:~/.dotfiles(master+!){1}$
-The hostname is elided if not connected via SSH. The working directory with
-tilde abbreviation for `$HOME` is always shown. The rest of the prompt expands
+The hostname is elided if not connected via SSH. The working directory with
+tilde abbreviation for `$HOME` is always shown. The rest of the prompt expands
based on context to include these elements in this order:
* Whether in a Git repository if applicable, and punctuation to show repository
- status including reference to upstreams at a glance. Subversion support can
+ status including reference to upstreams at a glance. Subversion support can
also be enabled (I need it at work), in which case a `git:` or `svn:` prefix
is added appropriately.
* The number of running background jobs, if non-zero.
@@ -185,16 +185,16 @@ do about what you'd expect.
If you start up Bash, Korn shell, or Z shell, and it detects that it's not your
login shell, the prompt will display an appropriate prefix.
-This is all managed within the `prompt` function. There's some mildly hacky
+This is all managed within the `prompt` function. There's some mildly hacky
logic on `tput` codes included such that it should work correctly for most
common terminals using both `termcap(5)` and `terminfo(5)`, including \*BSD
-systems. It's also designed to degrade gracefully for eight-color and no-color
+systems. It's also designed to degrade gracefully for eight-color and no-color
terminals.
#### Functions
If a function can be written in POSIX `sh` without too much hackery, I put it
-in `sh/shrc.d` to be loaded by any POSIX interactive shell. Those include:
+in `sh/shrc.d` to be loaded by any POSIX interactive shell. Those include:
* Four functions for using a "marked" directory, which I find a more manageable
concept than the `pushd`/`popd` directory stack:
@@ -255,8 +255,8 @@ non-POSIX features, as compatibility allows:
#### Completion
I find the `bash-completion` package a bit too heavy for my tastes, and turn it
-off using a stub file installed in `~/.config/bash_completion`. The majority of
-the time I just want to complete paths anyway, and this makes for a quicker
+off using a stub file installed in `~/.config/bash_completion`. The majority
+of the time I just want to complete paths anyway, and this makes for a quicker
startup without a lot of junk functions in my Bash namespace.
I do make some exceptions with completions defined in `.bash_completion.d`
@@ -272,23 +272,23 @@ files, for things I really do get tired of typing repeatedly:
For commands that pretty much always want to operate on text, such as text file
or stream editors, I exclude special file types and extensions I know are
-binary. I don't actually read the file, so this is more of a heuristic thing,
+binary. I don't actually read the file, so this is more of a heuristic thing,
and sometimes it will get things wrong.
-I also add completions for my own scripts and functions where useful. The
+I also add completions for my own scripts and functions where useful. The
completions are dynamically loaded if Bash is version 4.0 or greater.
Otherwise, they're all loaded on startup.
#### Korn shell
These are experimental; they are mostly used to tinker with MirBSD `mksh`, AT&T
-`ksh93`, and OpenBSD `pdksh`. All shells in this family default to a yellow
+`ksh93`, and OpenBSD `pdksh`. All shells in this family default to a yellow
prompt if detected.
#### Z shell
-These are experimental; I do not like Z shell much at the moment. The files
-started as a joke (`exec bash`). `zsh` shells default to having a prompt
+These are experimental; I do not like Z shell much at the moment. The files
+started as a joke (`exec bash`). `zsh` shells default to having a prompt
colored cyan.
### GnuPG
@@ -302,15 +302,15 @@ neither tilde nor `$HOME` expansion works for this.
### Mutt
My mail is kept in individual Maildirs under `~/Mail`, with `inbox` being where
-most unfiltered mail is sent. I use
+most unfiltered mail is sent. I use
[Getmail](http://pyropus.ca/software/getmail/),
[maildrop](https://www.courier-mta.org/maildrop/), and
[msmtp](https://marlam.de/msmtp/); the configurations for these are not
-included here. I sign whenever I have some indication that the recipient might
+included here. I sign whenever I have some indication that the recipient might
be using a PGP implementation, and I encrypt whenever I have a public key
-available for them. The GnuPG and S/MIME interfacing is done with
+available for them. The GnuPG and S/MIME interfacing is done with
[GPGme](https://www.gnupg.org/related_software/gpgme/), rather than defining
-commands for each crypto operation. I wrote [an article about this
+commands for each crypto operation. I wrote [an article about this
setup](https://sanctum.geek.nz/arabesque/linux-crypto-email/) if it sounds
appealing.
@@ -324,7 +324,7 @@ I've butchered the URxvt Perl extensions `selection-to-clipboard` and
only extension I define in `~/.Xresources`.
The included `.Xresources` file assumes that `urxvt` can use 256 colors and
-Perl extensions. If you're missing functionality, try changing
+Perl extensions. If you're missing functionality, try changing
`perl-ext-common` to `default`.
### tmux
@@ -335,26 +335,26 @@ and uses non-login shells, with an attempt to control the environment to stop
shells thinking they have access to an X display.
The shell scripts in `bin` include `tm(1df)`, a shortcut to make `attach` into
-the default command if no arguments are given and sessions do already exist. My
-`~/.inputrc` file binds Alt+M to run that, and Tmux in turn binds the same key
-combination to detach.
+the default command if no arguments are given and sessions do already exist.
+My `~/.inputrc` file binds Alt+M to run that, and Tmux in turn binds the same
+key combination to detach.
### Vim
The majority of the Vim configuration is just setting options, with a fair few
-mappings and remappings, both global and buffer-local. I try not to deviate too
-much from the Vim defaults behavior in terms of interactive behavior and
-keybindings. It's extensively commented, mostly because I was reading through
-it one day and realized I'd forgotten what half of it did. System-specific
+mappings and remappings, both global and buffer-local. I try not to deviate
+too much from the Vim defaults behavior in terms of interactive behavior and
+keybindings. It's extensively commented, mostly because I was reading through
+it one day and realized I'd forgotten what half of it did. System-specific
configuration files go in `~/.vim/config`.
#### Filetypes
I define my own `filetype.vim` and `scripts.vim`, so that filetype detection
-works in a way I like, and loads quickly. They are very unlikely to suit you as
-they are, but you might be able to extend them with your favourite filetypes.
-If you delete both of them from `~/.vim`, you'll get the stock filetype
-detection back.
+works in a way I like, and loads quickly. They are very unlikely to suit you
+as they are, but you might be able to extend them with your favourite
+filetypes. If you delete both of them from `~/.vim`, you'll get the stock
+filetype detection back.
#### Plugins
@@ -371,15 +371,15 @@ to [vim.org](https://www.vim.org/account/profile.php?user_id=73687).
I also define a few rules specific to file types I often edit in
`~/.vim/after/ftplugin`, including some buffer-local mapping targets for
-checking, linting, and tidying, and a few more in `~/.vim/after/indent`. There
+checking, linting, and tidying, and a few more in `~/.vim/after/indent`. There
are also a few tweaks to core syntax files in `~/.vim/after/syntax`, especially
-for shell script (`sh.vim`). Some of these filetype plugins are also due to be
+for shell script (`sh.vim`). Some of these filetype plugins are also due to be
separately distributed and installed via submodules instead.
#### Compilers
I define a few of my own `:compiler` scripts for `~/.vim/compiler`, for use for
-checking and linting of appropriate filetypes. Because checking (does it
+checking and linting of appropriate filetypes. Because checking (does it
compile?) and linting (is it correct and well-written?) are separate processes
for me, I bind them separately with local leader maps; for example, for `perl`
filetypes, `,c` switches `makprg` to `perl -c`, and `,l` to `perlcritic`.
@@ -387,7 +387,7 @@ filetypes, `,c` switches `makprg` to `perl -c`, and `,l` to `perlcritic`.
#### Neovim
I test my configuration every now and then with the [Neovim
-fork](https://neovim.io/). There's an `install-neovim` target to run
+fork](https://neovim.io/). There's an `install-neovim` target to run
`install-vim` with the appropriate paths changed.
Its [godless arrogance](https://twitter.com/tpope/status/437019518444240896)
@@ -399,14 +399,14 @@ Scripts
-------
Where practical, I make short scripts into POSIX (but not Bourne) `sh(1)`,
-`awk(1)`, or `sed(1)` scripts in `~/.local/bin`. I try to use shell functions
+`awk(1)`, or `sed(1)` scripts in `~/.local/bin`. I try to use shell functions
only when I actually need to, which tends to be when I need to tinker with the
namespace of the user's current shell.
Installed by the `install-bin` target:
* Three SSH-related scripts:
- * `sls(1df)` prints hostnames read from a `ssh_config(5)` file. It uses
+ * `sls(1df)` prints hostnames read from a `ssh_config(5)` file. It uses
`slsf(1df)` to read each one.
* `sra(1df)` runs a command on multiple hosts read from `sls(1df)` and
prints output.
@@ -451,8 +451,9 @@ Installed by the `install-bin` target:
shortcut.
* `tlcs(1df)` executes a command and uses `tl(1df)` to tag standard output
and standard error lines, and color them if you want.
- * `unf(1df)` joins lines with leading spaces to the previous line. Intended
- for unfolding HTTP headers, but it should work for most RFC 822 formats.
+ * `unf(1df)` joins lines with leading spaces to the previous line.
+ Intended for unfolding HTTP headers, but it should work for most RFC 822
+ formats.
* Six simple aggregate scripts for numbers:
* `max(1df)` prints the maximum.
* `mean(1df)` prints the mean.
@@ -534,14 +535,14 @@ Installed by the `install-bin` target:
* `gred(1df)` is a more logically-named `grep -v`.
* `gwp(1df)` searches for alphanumeric words in a similar way to `grep(1)`.
* `han(1df)` provides a `keywordprg` for Vim's Bash script file type that will
- look for `help` topics. You could use it from the shell too.
+ look for `help` topics. You could use it from the shell too.
* `igex(1df)` wraps around a command to allow you to ignore error conditions
that don't actually worry you, exiting with 0 anyway.
* `ix(1df)` posts its input to the `ix.io` pastebin.
* `jfp(1df)` prints its input, excluding any shebang on the first line only.
* `loc(1df)` is a quick-search wrapped around `find(1)`.
* `maybe(1df)` is like `true(1)` or `false(1)`; given a probability of success,
- it exits with success or failure. Good for quick tests.
+ it exits with success or failure. Good for quick tests.
* `mex(1df)` makes given filenames in `$PATH` executable.
* `mi5(1df)` is a crude preprocessor for `m4`.
* `mim(1df)` starts an interactive Mutt message with its input.
@@ -584,7 +585,7 @@ Installed by the `install-bin` target:
`new-session` if it doesn't.
* `trs(1df)` replaces strings (not regular expression) in its input.
* `try(1df)` repeats a command up to a given number of times until it succeeds,
- only printing error output if all three attempts failed. Good for tolerating
+ only printing error output if all three attempts failed. Good for tolerating
blips or temporary failures in `cron(8)` scripts.
* `umake(1df)` iterates upwards through the directory tree from `$PWD` until it
finds a Makefile for which to run `make(1)` with the given arguments.
@@ -619,7 +620,7 @@ Manuals
-------
The `install-bin` and `install-games` targets install manuals for each script
-they install. If you want to use the manuals, you may need to add
+they install. If you want to use the manuals, you may need to add
`~/.local/share/man` to your `~/.manpath` or `/etc/manpath` configuration,
depending on your system.
@@ -628,7 +629,7 @@ Testing
You can check that both sets of shell scripts are syntactically correct with
`make check-bash`, `make check-sh`, or `make check` for everything including
-the scripts in `bin` and `games`. There's no proper test suite for the actual
+the scripts in `bin` and `games`. There's no proper test suite for the actual
functionality (yet).
There are also optional `lint` targets, if you have the appropriate tools
@@ -654,7 +655,7 @@ See ISSUES.markdown.
License
-------
-Public domain; see the included `UNLICENSE` file. It's just configuration and
+Public domain; see the included `UNLICENSE` file. It's just configuration and
simple scripts, so do whatever you like with it if any of it's useful to you.
If you're feeling generous, please join and/or donate to a free software
advocacy group, and let me know you did it because of this project:
diff --git a/VERSION b/VERSION
index 22c48d03..07261313 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v4.0.0
-Wed Dec 26 05:31:40 UTC 2018
+tejr dotfiles v4.1.0
+Thu Dec 27 11:13:06 UTC 2018
diff --git a/bash/bash_completion.d/_text_filenames.bash b/bash/bash_completion.d/_text_filenames.bash
index b6e035ad..0f7f6dd8 100644
--- a/bash/bash_completion.d/_text_filenames.bash
+++ b/bash/bash_completion.d/_text_filenames.bash
@@ -3,7 +3,7 @@
#
# I've seen some very clever people figure out ways to actually read the files
# or run something like file(1) over them to make an educated guess as to
-# whether they're binary or not, but I don't really want to go that far. It's
+# whether they're binary or not, but I don't really want to go that far. It's
# not supposed to be perfect, just a bit more likely to complete singly with
# the thing I want, and I want it to stay fast.
#
diff --git a/bash/bash_completion.d/bd.bash b/bash/bash_completion.d/bd.bash
index f6ca3a6b..8aa6f063 100644
--- a/bash/bash_completion.d/bd.bash
+++ b/bash/bash_completion.d/bd.bash
@@ -33,8 +33,8 @@ _bd() {
# Continue if we have at least one non-root ancestor
((ai)) || return
- # Add quoted ancestors to new array; for long paths, this is faster than
- # forking a subshell for `printf %q` on each item
+ # Add quoted ancestors to new array; for long paths, this is faster
+ # than forking a subshell for `printf %q` on each item
while read -d / -r ancestor ; do
ancestors_quoted[aqi++]=$ancestor
done < <(printf '%q/' "${ancestors[@]}")
diff --git a/bash/bash_completion.d/make.bash b/bash/bash_completion.d/make.bash
index b3148ff1..e39cc53e 100644
--- a/bash/bash_completion.d/make.bash
+++ b/bash/bash_completion.d/make.bash
@@ -7,7 +7,7 @@ fi
_make() {
# Find a legible Makefile according to the POSIX spec (look for "makefile"
- # first, then "Makefile"). You may want to add "GNU-makefile" after this.
+ # first, then "Makefile"). You may want to add "GNU-makefile" after this.
local mf
for mf in makefile Makefile '' ; do
! [[ -e $mf ]] || break
diff --git a/bash/bashrc.d/keep.bash b/bash/bashrc.d/keep.bash
index 191dac4b..6796aae7 100644
--- a/bash/bashrc.d/keep.bash
+++ b/bash/bashrc.d/keep.bash
@@ -2,7 +2,7 @@
# keep -- Main function for bashkeep; provided with a list of NAMEs, whether
# shell functions or variables, writes the current definition of each NAME to a
# directory $BASHKEEP (defaults to ~/.bashkeep.d) with a .bash suffix, each of
-# which is reloaded each time this file is called. This allows you to quickly
+# which is reloaded each time this file is called. This allows you to quickly
# arrange to keep that useful shell function or variable you made inline on
# subsequent logins.
#
diff --git a/bash/bashrc.d/prompt.bash b/bash/bashrc.d/prompt.bash
index 26e10cd4..f9678f20 100644
--- a/bash/bashrc.d/prompt.bash
+++ b/bash/bashrc.d/prompt.bash
@@ -160,8 +160,9 @@ prompt() {
fi
# There are some untracked and unignored files
- if git ls-files --directory --error-unmatch --exclude-standard \
- --no-empty-directory --others -- ':/*' ; then
+ if git ls-files --directory --error-unmatch \
+ --exclude-standard --no-empty-directory \
+ --others -- ':/*' ; then
state=${state}'?'
fi
diff --git a/bin/ax.sh b/bin/ax.sh
index 0007cbed..50b839cf 100644
--- a/bin/ax.sh
+++ b/bin/ax.sh
@@ -18,5 +18,5 @@ esac
# Important note: there's little stopping the user from putting a fully-fledged
# Awk program into the expression; don't use this anywhere that code injection
-# could wreck your life. See manual page ax(1df).
+# could wreck your life. See manual page ax(1df).
awk -v form="$form" 'BEGIN{printf form,('"$expr"');exit}'
diff --git a/bin/chn.mi5 b/bin/chn.mi5
index dfc1000c..28178ac0 100644
--- a/bin/chn.mi5
+++ b/bin/chn.mi5
@@ -11,7 +11,7 @@ fi
c=$1
shift
-# Check the repetition count looks sane. Zero is fine!
+# Check the repetition count looks sane. Zero is fine!
if [ "$c" -lt 0 ] ; then
printf >&2 '%s: Nonsensical negative count\n' "$self"
exit 2
diff --git a/bin/dub.sh b/bin/dub.sh
index efdae4e9..7556241f 100644
--- a/bin/dub.sh
+++ b/bin/dub.sh
@@ -9,9 +9,9 @@ dir=${1:-.} lim=${2:-10}
# Enter the target dir or bail
cd -- "$dir" || exit
-# Some find(1) devilry to deal with newlines as safely as possible. The idea is
-# not even to touch them, and warn about their presence; better the results are
-# wrong than malformed
+# Some find(1) devilry to deal with newlines as safely as possible. The idea
+# is not even to touch them, and warn about their presence; better the results
+# are wrong than malformed
nl=$(printf '\n/')
find . ! -name . -prune \( \
-name '*'"${nl%/}"'*' \
diff --git a/bin/eds.sh b/bin/eds.sh
index c692cb30..7e719e9d 100644
--- a/bin/eds.sh
+++ b/bin/eds.sh
@@ -1,4 +1,5 @@
-# Create and edit executable scripts in a directory EDSPATH (defaults to ~/.local/bin)
+# Create and edit executable scripts in a directory EDSPATH (defaults to
+# ~/.local/bin)
# Need at least one script name
if [ "$#" -eq 0 ] ; then
diff --git a/bin/gwp.awk b/bin/gwp.awk
index 60013add..fcfa5eab 100644
--- a/bin/gwp.awk
+++ b/bin/gwp.awk
@@ -14,7 +14,8 @@ BEGIN {
# match case-insensitively
word = tolower(ARGV[1])
- # Blank the first argument so Awk doesn't try to read data from it as a file
+ # Blank the first argument so Awk doesn't try to read data from it as a
+ # file
ARGV[1] = ""
# Bail out if we don't have a suitable word
diff --git a/bin/han.bash b/bin/han.bash
index 3c4f6637..6ab0b3e7 100644
--- a/bin/han.bash
+++ b/bin/han.bash
@@ -1,14 +1,10 @@
# Abstract calls to Bash help vs man(1)
self=han
-# Ensure we're using at least version 2.05. Weird arithmetic syntax needed here
-# due to leading zeroes and trailing letters in some 2.x version numbers (e.g.
-# 2.05a).
+# Ensure we're using at least version 3.0
# shellcheck disable=SC2128
-[ -n "$BASH_VERSINFO" ] || exit
-((BASH_VERSINFO[0] == 2)) &&
- ((10#${BASH_VERSINFO[1]%%[![:digit:]]*} < 5)) &&
- exit
+[ -n "$BASH_VERSINFO" ] || exit # Check version array exists (>=2.0)
+((BASH_VERSINFO[0] >= 3)) || exit # Check actual major version number
# Figure out the options with which we can call help; Bash >=4.0 has an -m
# option which prints the help output in a man-page like format
diff --git a/bin/mi5.awk b/bin/mi5.awk
index 7acb6f3b..0a00d1d7 100644
--- a/bin/mi5.awk
+++ b/bin/mi5.awk
@@ -55,8 +55,8 @@ bmac && NF {
# Start off neither quoting nor macroing.
iquo = imac = 0
- # Crude and slow, clansman. Your parser was no better than that of a clumsy
- # child.
+ # Crude and slow, clansman. Your parser was no better than that of a
+ # clumsy child.
for (i = 1; i <= length(src); ) {
# Inline macro expansion: commented
@@ -100,8 +100,8 @@ bmac && NF {
# Escape quote terminators
if (substr(src, i, length(unquote)) == unquote) {
- # Dear Mr. President. There are too many variables nowadays.
- # Please eliminate three. I am NOT a crackpot.
+ # Dear Mr. President. There are too many variables nowadays.
+ # Please eliminate three. I am NOT a crackpot.
dst = dst unquote unquote quote
i += length(unquote)
diff --git a/bin/pa.sh b/bin/pa.sh
index 4cfa9dce..7e3e14f8 100644
--- a/bin/pa.sh
+++ b/bin/pa.sh
@@ -1,3 +1,3 @@
-# Print arguments, one per line. Compare paz(1df).
+# Print arguments, one per line. Compare paz(1df).
[ "$#" -gt 0 ] || exit 0
printf '%s\n' "$@"
diff --git a/bin/paz.sh b/bin/paz.sh
index e9b81bd7..32d2355f 100644
--- a/bin/paz.sh
+++ b/bin/paz.sh
@@ -1,3 +1,3 @@
-# Print arguments, terminated by null chars. Compare pa(1df).
+# Print arguments, terminated by null chars. Compare pa(1df).
[ "$#" -gt 0 ] || exit 0
printf '%s\0' "$@"
diff --git a/bin/rep.sh b/bin/rep.sh
index e53cbac3..522187b6 100644
--- a/bin/rep.sh
+++ b/bin/rep.sh
@@ -11,13 +11,13 @@ fi
c=$1
shift
-# Check the repetition count looks sane. Zero is fine!
+# Check the repetition count looks sane. Zero is fine!
if [ "$c" -lt 0 ] ; then
printf >&2 '%s: Nonsensical negative count\n' "$self"
exit 2
fi
-# Run the command the specified number of times. Stop immediately as soon as a
+# Run the command the specified number of times. Stop immediately as soon as a
# run fails.
while [ "${n=1}" -le "$c" ] ; do
"$@" || exit
diff --git a/bin/rndi.awk b/bin/rndi.awk
index 02e0574f..7d9c640b 100644
--- a/bin/rndi.awk
+++ b/bin/rndi.awk
@@ -1,4 +1,4 @@
-# Get a low-quality random number between two integers. Depending on the awk
+# Get a low-quality random number between two integers. Depending on the awk
# implementation, if you don't have rnds(1df) available to generate a seed of
# sufficient quality, you might get very predictable random numbers based on
# the current epoch second.
diff --git a/bin/sta.sh b/bin/sta.sh
index 5736842a..a32e87f6 100644
--- a/bin/sta.sh
+++ b/bin/sta.sh
@@ -1,5 +1,5 @@
# Print list of sls(1df) hostnames that exit 0 when a connection is attempted
-# and the optional given command is run. Discard stdout, but preserve stderr.
+# and the optional given command is run. Discard stdout, but preserve stderr.
sls | while read -r hostname ; do
# shellcheck disable=SC2029
ssh -nq -- "$hostname" "$@" >/dev/null || continue
diff --git a/bin/tlcs.mi5 b/bin/tlcs.mi5
index a3e17c82..519a41f8 100644
--- a/bin/tlcs.mi5
+++ b/bin/tlcs.mi5
@@ -71,8 +71,8 @@ fi
include(`include/mktd.m4')
%>
-# Execute the command, passing stdout and stderr to tl(1df) calls as appropriate
-# via named pipes
+# Execute the command, passing stdout and stderr to tl(1df) calls as
+# appropriate via named pipes
out=$td/out err=$td/err
mkfifo -- "$out" "$err" || exit
tl -p "$out_pref" -s "$out_suff" < "$out" &
diff --git a/bin/xgo.sh b/bin/xgo.sh
index e627f9c6..1b9f83da 100644
--- a/bin/xgo.sh
+++ b/bin/xgo.sh
@@ -12,7 +12,8 @@ for url do (
# Look for patterns in the URL that suggest transformations
case $url in
- # If this is a GitHub or GitLab link, swap "blob" for "raw" to get the actual file
+ # If this is a GitHub or GitLab link, swap "blob" for "raw" to get the
+ # actual file
(*://github.com/*/blob/*|*://gitlab.com/*/blob/*)
url=$(printf '%s\n' "$url" | sed 's_/blob/_/raw/_')
;;
@@ -20,7 +21,8 @@ for url do (
# Dig out the plain text for pastebin.com links
(*://pastebin.com/*)
# shellcheck disable=SC2016
- url=$(printf '%s\n' "$url" | sed 's_/[A-Za-z0-9][A-Za-z0-9]*$_/raw&_')
+ url=$(printf '%s\n' "$url" |
+ sed 's_/[A-Za-z0-9][A-Za-z0-9]*$_/raw&_')
;;
# If this is a not-direct imgur link and not to an album, swap URL
@@ -28,10 +30,12 @@ for url do (
# the MIME type will tell us)
(*://imgur.com/a/*) ;;
(*://imgur.com/*)
- url=$(printf '%s\n' "$url" | sed 's_imgur\.com_i.imgur.com_;s/$/.jpg/')
+ url=$(printf '%s\n' "$url" |
+ sed 's_imgur\.com_i.imgur.com_;s/$/.jpg/')
;;
- # If this is a YouTube video without a given start time, load it in mpv(1)
+ # If this is a YouTube video without a given start time, load it in
+ # mpv(1)
(*[/.]youtube.com/watch*[?\&]t=) ;;
(*[/.]youtube.com/watch*)
mpv -- "$url" && exit
diff --git a/bin/xrbg.sh b/bin/xrbg.sh
index 617a9b43..0c7262c0 100644
--- a/bin/xrbg.sh
+++ b/bin/xrbg.sh
@@ -1,3 +1,3 @@
-# Apply a random background image. Requires rndf(1df) and feh(1).
+# Apply a random background image. Requires rndf(1df) and feh(1).
bg=$(rndf "${XBACKGROUNDS:-"$HOME"/.xbackgrounds}") || exit
feh --bg-scale --no-fehbg -- "$bg"
diff --git a/gnupg/gpg.conf.mi5 b/gnupg/gpg.conf.mi5
index ee502692..97726d20 100644
--- a/gnupg/gpg.conf.mi5
+++ b/gnupg/gpg.conf.mi5
@@ -10,7 +10,8 @@ default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB
# In the absence of any other recipient, encrypt messages for myself
default-recipient-self
-# Show complete dates and use proper column separation for --with-colon listing mode
+# Show complete dates and use proper column separation for --with-colon listing
+# mode
fixed-list-mode
# Use only fingerprints as key IDs
diff --git a/ksh/kshrc.d/keep.ksh b/ksh/kshrc.d/keep.ksh
index 629b2fe6..c1546deb 100644
--- a/ksh/kshrc.d/keep.ksh
+++ b/ksh/kshrc.d/keep.ksh
@@ -9,7 +9,7 @@ esac
# keep -- Main function for kshkeep; provided with a list of NAMEs, whether
# shell functions or variables, writes the current definition of each NAME to a
# directory $KSHKEEP (defaults to ~/.kshkeep.d) with a .ksh suffix, each of
-# which is reloaded each time this file is called. This allows you to quickly
+# which is reloaded each time this file is called. This allows you to quickly
# arrange to keep that useful shell function or variable you made inline on
# subsequent logins.
#
diff --git a/ksh/shrc.d/ksh.sh b/ksh/shrc.d/ksh.sh
index cc6eeb32..5ad14b9c 100644
--- a/ksh/shrc.d/ksh.sh
+++ b/ksh/shrc.d/ksh.sh
@@ -1,15 +1,15 @@
# If we're running some kind of ksh, we'll need to source its specific
-# configuration if it was defined or if we can find it. Bash and Zsh invoke
+# configuration if it was defined or if we can find it. Bash and Zsh invoke
# their own rc files first, which I've written to then look for ~/.shrc; ksh
# does it the other way around.
# Unfortunately, this isn't very simple, because KSH_VERSION is set by PDKSH
# and derivatives, and in ksh93t+ and above, but not in earlier versions of
-# ksh93. To make matters worse, the best way I can find for testing the version
-# makes other shells throw tantrums.
+# ksh93. To make matters worse, the best way I can find for testing the
+# version makes other shells throw tantrums.
-# Does the name of our shell have "ksh" in it at all? This is in no way
-# guaranteed. It's just a heuristic that e.g. Bash shouldn't pass.
+# Does the name of our shell have "ksh" in it at all? This is in no way
+# guaranteed. It's just a heuristic that e.g. Bash shouldn't pass.
case $0 in
*ksh*) ;;
*) return ;;
@@ -19,8 +19,8 @@ esac
# before we proceed ...
if [ -z "$KSH_VERSION" ] ; then
- # Test whether we have content in the .sh.version variable. Suppress errors
- # and run it in a subshell to work around parsing error precedence.
+ # Test whether we have content in the .sh.version variable. Suppress
+ # errors and run it in a subshell to work around parsing error precedence.
# shellcheck disable=SC2234
( test -n "${.sh.version}" ) 2>/dev/null || return
diff --git a/man/man1/apf.1df b/man/man1/apf.1df
index 025af010..9c89857c 100644
--- a/man/man1/apf.1df
+++ b/man/man1/apf.1df
@@ -8,14 +8,14 @@ foorc
foo --bar baz
.SH DESCRIPTION
Add newline-delimited arguments read from a file to a command's arguments
-(before any given ones) before running it. This is intended as a quick way of
+(before any given ones) before running it. This is intended as a quick way of
implementing *rc files for interactive shell calls to programs that don't
support such files, without having to use broken environment variables like GNU
grep(1)'s GREP_OPTIONS.
.P
This enables you to use arguments with shell metacharacters and spaces in them
-that you do not want expanded. The only exception is that you cannot have
-newlines in any of the arguments. This was done to keep POSIX sh(1)
+that you do not want expanded. The only exception is that you cannot have
+newlines in any of the arguments. This was done to keep POSIX sh(1)
compatibility.
.P
For example, given this simple program in our $PATH, printargs:
@@ -56,10 +56,10 @@ Or just a shell function, if it's only wanted for interactive shells:
.P
$ printargs() { apf "$HOME"/.printargsrc printargs "$@" ; }
.P
-It's not considered an error if the file doesn't exist or is empty. If it's a
+It's not considered an error if the file doesn't exist or is empty. If it's a
directory or otherwise not byte-readable, an error will be printed to stderr,
-but execution of the called program will continue anyway. Blank lines or lines
-beginning with # are also ignored. Both leading and trailing whitespace is
+but execution of the called program will continue anyway. Blank lines or lines
+beginning with # are also ignored. Both leading and trailing whitespace is
preserved.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/ax.1df b/man/man1/ax.1df
index 40125167..981938e0 100644
--- a/man/man1/ax.1df
+++ b/man/man1/ax.1df
@@ -14,8 +14,9 @@ evaluates an expression given on the command line with awk(1) and prints its
result using awk's printf, with an optional format specified preceding the
expression.
.SH SECURITY
-Note that the second argument has no evaluation protection on it. There's very
+Note that the second argument has no evaluation protection on it. There's very
little to stop a user putting a fully-fledged awk program in as the second
-argument if they needed to. Don't accept untrusted user input in this argument!
+argument if they needed to. Don't accept untrusted user input in this
+argument!
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/bp.1df b/man/man1/bp.1df
index fb13507f..93f08f74 100644
--- a/man/man1/bp.1df
+++ b/man/man1/bp.1df
@@ -10,8 +10,8 @@ BROWSER=firefox
.SH DESCRIPTION
.B bp
reads an URL from stdin, with an "URL:" prompt if stdin is a terminal, and runs
-br(1df) against it. It was written because the author hates quoting URLs on the
-command line.
+br(1df) against it. It was written because the author hates quoting URLs on
+the command line.
.SH SEE ALSO
br(1df), ap(1df)
.SH AUTHOR
diff --git a/man/man1/br.1df b/man/man1/br.1df
index 05d662bc..a84a55d3 100644
--- a/man/man1/br.1df
+++ b/man/man1/br.1df
@@ -13,7 +13,7 @@ BROWSER=firefox
.SH DESCRIPTION
.B br
just execs the program in the $BROWSER environment variable with the given
-arguments. That's it.
+arguments. That's it.
.SH SEE ALSO
bp(1df), xgo(1df), xgoc(1df)
.SH AUTHOR
diff --git a/man/man1/brnl.1df b/man/man1/brnl.1df
index e15eadce..7ebc0fcc 100644
--- a/man/man1/brnl.1df
+++ b/man/man1/brnl.1df
@@ -13,7 +13,7 @@ command |
.B brnl
.SH DESCRIPTION
.B brnl
-strips trailing HTML linebreaks (<br>) from content. It reverses nlbr(1df).
+strips trailing HTML linebreaks (<br>) from content. It reverses nlbr(1df).
.SH SEE ALSO
htenc(1df), htdec(1df), nlbr(1df)
.SH AUTHOR
diff --git a/man/man1/ca.1df b/man/man1/ca.1df
index 06f3e100..72d8f411 100644
--- a/man/man1/ca.1df
+++ b/man/man1/ca.1df
@@ -7,7 +7,7 @@
arg1 arg2 arg3
.SH DESCRIPTION
.B ca
-counts all its arguments and prints the count. Useful for quickly counting a
+counts all its arguments and prints the count. Useful for quickly counting a
glob expansion.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/cf.1df b/man/man1/cf.1df
index f9d09e8e..5a7d23dc 100644
--- a/man/man1/cf.1df
+++ b/man/man1/cf.1df
@@ -13,7 +13,7 @@ dir1 dir2
.SH DESCRIPTION
.B cf
counts all the entries in the given directories using find(1) and prints the
-count. It defaults to the current directory.
+count. It defaults to the current directory.
.SH SEE ALSO
cfr(1df)
.SH AUTHOR
diff --git a/man/man1/cfr.1df b/man/man1/cfr.1df
index 8c3fc563..5b9376ba 100644
--- a/man/man1/cfr.1df
+++ b/man/man1/cfr.1df
@@ -13,9 +13,9 @@ dir1 dir2
.SH DESCRIPTION
.B cf
counts all the entries in the directory trees rooted at the given arguments,
-and prints the total. It defaults to the current directory. It should correctly
-handle corner cases like filenames with newlines in them. It will count but
-will not follow symbolic links.
+and prints the total. It defaults to the current directory. It should
+correctly handle corner cases like filenames with newlines in them. It will
+count but will not follow symbolic links.
.SH SEE ALSO
cf(1df), tot(1df)
.SH AUTHOR
diff --git a/man/man1/chc.1df b/man/man1/chc.1df
index e447d7a7..9e0caaf3 100644
--- a/man/man1/chc.1df
+++ b/man/man1/chc.1df
@@ -13,19 +13,21 @@ CACHE_PATH DURATION COMMAND [ARG1...]
runs the command given in its third argument onwards, and saves the output in
the file with path given in the first argument, and on each subsequent request
before the duration in the second argument expires, it emits the content
-directly, rather than running the command. If it's run after the expiry date,
+directly, rather than running the command. If it's run after the expiry date,
it runs the command again, and refreshes the cache.
.P
This is intended as a quick way to just add three words in front of any given
-expensive command to prevent it running too often. This might be particularly
+expensive command to prevent it running too often. This might be particularly
useful if a script is called to get data far more often than it actually needs
to poll to get that data.
.P
-No file locking is implemented. If you need it, you're probably already at the
+No file locking is implemented. If you need it, you're probably already at the
point that you need to write a proper solution, but you could always use Linux
flock(1) or daemontool's setlock(1) in the command if you're stubborn:
.P
- flock -x /var/lock/example.chc chc /var/cache/example.chc 20 curl http://www.example.com/
+ flock -x /var/lock/example.chc \\
+ chc /var/cache/example.chc 20 \\
+ curl http://www.example.com/
.P
If you want to express the duration in human-readable terms, sec(1df) might be
useful too.
diff --git a/man/man1/chn.1df b/man/man1/chn.1df
index 5e9c702d..ab24691d 100644
--- a/man/man1/chn.1df
+++ b/man/man1/chn.1df
@@ -35,13 +35,13 @@ But this won't:
.SH CAVEATS
It's slow.
.P
-It's not a real pipe. The commands are run successively, not in parallel. That
-means you can't pass one line to it and have it return another line before
+It's not a real pipe. The commands are run successively, not in parallel.
+That means you can't pass one line to it and have it return another line before
sending EOF, for unbuffered (e.g. linewise) tools.
.P
There's almost certainly a better way to do this, fixing one or both of the
above issues, and possibly even in shell; maybe with curlier file descriptor
-logic to save unneeded open(2) syscalls. I smell `eval` usage on the horizon.
+logic to save unneeded open(2) syscalls. I smell `eval` usage on the horizon.
.SH SEE ALSO
maybe(1df), rep(1df), try(1df)
.SH AUTHOR
diff --git a/man/man1/clog.1df b/man/man1/clog.1df
index f9300347..d2bc46ac 100644
--- a/man/man1/clog.1df
+++ b/man/man1/clog.1df
@@ -24,7 +24,7 @@ leading date(1), and writes it to the file with path in environment variable
CLOG, defaulting to ~/.clog, terminating each entry with two hyphens.
.P
If there are no files to read and standard input is coming from a terminal, and
-rlwrap(1) is found, it will be used for the line editing. If not, just the
+rlwrap(1) is found, it will be used for the line editing. If not, just the
terminal's cooked mode will be used.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/clrd.1df b/man/man1/clrd.1df
index 25e7e677..96b7b6e3 100644
--- a/man/man1/clrd.1df
+++ b/man/man1/clrd.1df
@@ -7,9 +7,9 @@
file
.SH DESCRIPTION
.B clrd
-clears the screen and runs tail -f on the given file. It will not run if stdout
-is not a terminal. This is for use in minimal socket-network programs like
-ii(1), along with clwr(1df).
+clears the screen and runs tail -f on the given file. It will not run if
+stdout is not a terminal. This is for use in minimal socket-network programs
+like ii(1), along with clwr(1df).
.SH SEE ALSO
clwr(1df), ii(1)
.SH AUTHOR
diff --git a/man/man1/clwr.1df b/man/man1/clwr.1df
index e8fa1ea9..0a977d1e 100644
--- a/man/man1/clwr.1df
+++ b/man/man1/clwr.1df
@@ -8,8 +8,8 @@ file
.SH DESCRIPTION
.B clwr
clears the screen, accepts a line of input from stdin, writes it to the given
-file, and loops. This is for use in minimal socket-network programs like ii(1),
-along with clrd(1df).
+file, and loops. This is for use in minimal socket-network programs like
+ii(1), along with clrd(1df).
.SH SEE ALSO
clrd(1df), ii(1)
.SH AUTHOR
diff --git a/man/man1/dam.1df b/man/man1/dam.1df
index 62036473..0992bc91 100644
--- a/man/man1/dam.1df
+++ b/man/man1/dam.1df
@@ -9,7 +9,7 @@ dam
| prog2
.SH DESCRIPTION
.B dam
-buffers all its input before emitting it as output. Useful if you don't
+buffers all its input before emitting it as output. Useful if you don't
actually want a line-by-line flow between programs, such as pasting a complete
document into a sed(1) pipeline on the terminal.
.SH AUTHOR
diff --git a/man/man1/dub.1df b/man/man1/dub.1df
index 69a4c8e0..19603cf2 100644
--- a/man/man1/dub.1df
+++ b/man/man1/dub.1df
@@ -13,11 +13,11 @@
.SH DESCRIPTION
.B dub
lists the biggest entries in a given directory, defaulting to the current
-directory. It defaults to printing 10 entries unless a second argument is
+directory. It defaults to printing 10 entries unless a second argument is
given.
.SH CAVEATS
Skips filenames with newlines in them with an explicit warning to stderr, for
-the least dangerous POSIX-compatible approach. Even so, you probably shouldn't
+the least dangerous POSIX-compatible approach. Even so, you probably shouldn't
use this in critical scripts.
.SH SEE ALSO
du(1)
diff --git a/man/man1/edda.1df b/man/man1/edda.1df
index 0daef171..cce91c5a 100644
--- a/man/man1/edda.1df
+++ b/man/man1/edda.1df
@@ -7,7 +7,7 @@
FILE1 [FILE2...] < script.ed
.SH DESCRIPTION
Duplicate any data on stdin into a temporary file, and run ed(1) options over
-each of the files given as arguments. Example:
+each of the files given as arguments. Example:
.P
$ edda /etc/app.d/*.conf <<'EOF'
,s/foo/bar/g
diff --git a/man/man1/eds.1df b/man/man1/eds.1df
index 5dc1674d..ae1fbb6d 100644
--- a/man/man1/eds.1df
+++ b/man/man1/eds.1df
@@ -6,7 +6,7 @@
.B eds [EDITOR_OPTS] [--] FILE1 [FILE2...]
.SH DESCRIPTION
Create and edit executable scripts in a directory EDSPATH (defaults to
-~/.local/bin). Makes any created files executable for convenience.
+~/.local/bin). Makes any created files executable for convenience.
.P
$ eds myscript
$ eds myscript newscript
diff --git a/man/man1/exm.1df b/man/man1/exm.1df
index 25b3cf4a..99220e29 100644
--- a/man/man1/exm.1df
+++ b/man/man1/exm.1df
@@ -8,11 +8,11 @@
.SH DESCRIPTION
.B exm
works around a quirk of Vim that causes it to clear the screen when invoked as
-ex(1) interactively. It applies Vim's -T option to force the terminal to a
+ex(1) interactively. It applies Vim's -T option to force the terminal to a
"dumb" terminal.
.SH CAVEATS
This breaks switching to visual mode with :visual completely, as the terminal
-will persist in its dumb state. I'm not sure there's a way to fix this. If
+will persist in its dumb state. I'm not sure there's a way to fix this. If
there were a Vim :autocmd for mode switching, it might be possible, or perhaps
by wrapping :visual somehow to :set terminal=$TERM before the switch.
.SH AUTHOR
diff --git a/man/man1/fnl.1df b/man/man1/fnl.1df
index d085df6b..5c878b69 100644
--- a/man/man1/fnl.1df
+++ b/man/man1/fnl.1df
@@ -8,8 +8,8 @@ command arg1 ...
.SH DESCRIPTION
.B fnl
runs the command specifies in its arguments, writing any stdout and stderr to
-separate temporary files created with mktd(1df), and then runs wc(1) over them to
-show their statistics and full paths.
+separate temporary files created with mktd(1df), and then runs wc(1) over them
+to show their statistics and full paths.
.SH SEE ALSO
igex(1df)
.SH AUTHOR
diff --git a/man/man1/gms.1df b/man/man1/gms.1df
index b6b0f716..4a20297f 100644
--- a/man/man1/gms.1df
+++ b/man/man1/gms.1df
@@ -8,7 +8,7 @@
.B gms
runs getmail(1) for each file matching the pattern ~/.getmail/getmailrc.*,
doing much the same thing as the getmails(1) script included in the Getmail
-distribution. It differs from that script in a few ways:
+distribution. It differs from that script in a few ways:
.IP \[bu] 4
It includes per-rc-file locking so that at most one getmail(1) process runs for
the same account, but allows multiple instances of gms(1df) to run at the same
@@ -16,8 +16,8 @@ time.
.IP \[bu]
It runs the requests in parallel using fork(2)/wait(2).
.IP \[bu]
-It uses try(1df) to attempt each fetch three times, with 15 seconds between each
-attempt, and only prints errors if all three attempts fail.
+It uses try(1df) to attempt each fetch three times, with 15 seconds between
+each attempt, and only prints errors if all three attempts fail.
.SH SEE ALSO
getmail(1), try(1df)
.SH AUTHOR
diff --git a/man/man1/grc.1df b/man/man1/grc.1df
index 3eab5d0b..9ae32818 100644
--- a/man/man1/grc.1df
+++ b/man/man1/grc.1df
@@ -10,7 +10,7 @@
.SH DESCRIPTION
.B grc
checks whether the given directory (defaulting to the working directory) is a
-Git repository and has pending changes. Normally this emits no output.
+Git repository and has pending changes. Normally this emits no output.
.SH SEE ALSO
git(1), isgr(1df)
.SH AUTHOR
diff --git a/man/man1/gscr.1df b/man/man1/gscr.1df
index 93683681..c1c1836c 100644
--- a/man/man1/gscr.1df
+++ b/man/man1/gscr.1df
@@ -14,7 +14,7 @@
.B gscr
runs the git fsck, reflog --expire, and gc commands to get rid of dangling
commit objects in a repository and pack the repository down as small as
-possible. Each command will only run if the one before it exited non-zero.
+possible. Each command will only run if the one before it exited non-zero.
.SH SEE ALSO
git(1), fgscr(1df), isgr(1df)
.SH AUTHOR
diff --git a/man/man1/gwp.1df b/man/man1/gwp.1df
index c84cc12c..88881454 100644
--- a/man/man1/gwp.1df
+++ b/man/man1/gwp.1df
@@ -7,13 +7,13 @@
.br
.SH DESCRIPTION
.B gwp
-searches for complete alphanumeric words (not regular expressions) in the input and
-prints the line if found. This means you can search for "test" and it won't
-print lines just because they contain "latest". It's good for searching prose
-or poetry rather than code.
+searches for complete alphanumeric words (not regular expressions) in the input
+and prints the line if found. This means you can search for "test" and it
+won't print lines just because they contain "latest". It's good for searching
+prose or poetry rather than code.
.P
This is intended as a workaround for the absence of a portable implementation
-of "word boundaries" in POSIX. Instead, this awk(1) script breaks each line
+of "word boundaries" in POSIX. Instead, this awk(1) script breaks each line
down into alphanumeric words and tests each one for case-insensitive equality.
.P
It does not emulate all of grep(1)'s features by any means, but does include
diff --git a/man/man1/han.1df b/man/man1/han.1df
index 1372fd90..3b2ae8f3 100644
--- a/man/man1/han.1df
+++ b/man/man1/han.1df
@@ -7,8 +7,8 @@
.I (HELPTOPIC | MANARGS...)
.SH DESCRIPTION
If called with a single argument, try running the help builtin for the given
-keyword, writing its output to a file. If it succeeds, show that. If not, pass
-the call to man(1).
+keyword, writing its output to a file. If it succeeds, show that. If not,
+pass the call to man(1).
.P
This was written so it could be used as a 'keywordprg' in Vim for Bash files;
you can then use the K normal-mode binding over both shell builtins (e.g. read,
diff --git a/man/man1/htref.1df b/man/man1/htref.1df
index 922188dc..61335519 100644
--- a/man/man1/htref.1df
+++ b/man/man1/htref.1df
@@ -9,7 +9,7 @@ htenc urls |
.SH DESCRIPTION
.B htref
looks for http:// and https:// URLs, and wraps <a href="..."> tags around them
-pointing to the same URL. HTML encoding of the URL should be done before this
+pointing to the same URL. HTML encoding of the URL should be done before this
step.
.P
All characters that are not spaces, tabs, or angle brackets are included in the
diff --git a/man/man1/igex.1df b/man/man1/igex.1df
index d2920c05..79627d0b 100644
--- a/man/man1/igex.1df
+++ b/man/man1/igex.1df
@@ -5,8 +5,8 @@
.SH USAGE
.B igex VAL1[,VAL2,VAL3,...] COMMAND [ARG1...]
.SH DESCRIPTION
-Runs the given command and checks its exit value. If it matches any of the
-ignored values given in the first argument, exits 0. Otherwise, exits with the
+Runs the given command and checks its exit value. If it matches any of the
+ignored values given in the first argument, exits 0. Otherwise, exits with the
command's exit value as normal.
.P
$ igex 1 false
diff --git a/man/man1/isgr.1df b/man/man1/isgr.1df
index 0f313579..f7141089 100644
--- a/man/man1/isgr.1df
+++ b/man/man1/isgr.1df
@@ -10,7 +10,7 @@
.SH DESCRIPTION
.B isgr
exits with 0 if the given directory (or the current directory if one is not
-given) appears to be a working copy of a Git repository. It exits 1 otherwise.
+given) appears to be a working copy of a Git repository. It exits 1 otherwise.
All output from the git(1) commands used to check this is suppressed.
.SH SEE ALSO
git(1), gscr(1df), fgscr(1df), grc(1df)
diff --git a/man/man1/jfc.1df b/man/man1/jfc.1df
index 135fefa8..dea87a2f 100644
--- a/man/man1/jfc.1df
+++ b/man/man1/jfc.1df
@@ -10,8 +10,8 @@
.SH DESCRIPTION
.B jfc
adds all the changed/added files in a Git repository and commits them silently
-with a stock message. This is for cases where you're tracking content and
-changes but don't need to care about being rigorous with commit messages. The
+with a stock message. This is for cases where you're tracking content and
+changes but don't need to care about being rigorous with commit messages. The
author uses it for his ~/.remind files.
.SH NOTES
Can you guess what it stands for?
diff --git a/man/man1/jfcd.1df b/man/man1/jfcd.1df
index 5ca631b3..e62f307f 100644
--- a/man/man1/jfcd.1df
+++ b/man/man1/jfcd.1df
@@ -8,8 +8,8 @@
.SH DESCRIPTION
.B jfcd
watches a directory recursively with inotifywait(1) and commits all changes
-with jfc(1df) as it detects them. It logs its output and errors to syslog using
-logger(1).
+with jfc(1df) as it detects them. It logs its output and errors to syslog
+using logger(1).
.SH SEE ALSO
git(1), inotifywait(1), jfc(1df), logger(1)
.SH AUTHOR
diff --git a/man/man1/jfp.1df b/man/man1/jfp.1df
index 6e9e18f2..eb0070bb 100644
--- a/man/man1/jfp.1df
+++ b/man/man1/jfp.1df
@@ -19,7 +19,7 @@ because it's a shebang.
.SH DESCRIPTION
.B jfp
prints all the input given to it except for the first line if it starts with a
-shebang "#!". This means it can be used in a shebang to simply echo the entire
+shebang "#!". This means it can be used in a shebang to simply echo the entire
remaining contents of the script.
.SH NOTES
Can you guess what it stands for?
diff --git a/man/man1/loc.1df b/man/man1/loc.1df
index a70d2d9b..7284432d 100644
--- a/man/man1/loc.1df
+++ b/man/man1/loc.1df
@@ -10,7 +10,7 @@ PATTERN1 [PATTERN2...]
is a simple wrapper around find(1) which searches in the current directory tree
for filenames matching a pattern, and prints them to stdout, newline-separated.
It skips dotfiles and symbolic links, and doesn't recurse further into a
-directory if it matches the terms. It is intended only for interactive use as a
-shortcut.
+directory if it matches the terms. It is intended only for interactive use as
+a shortcut.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/maybe.1df b/man/man1/maybe.1df
index a8658c71..e2e436fc 100644
--- a/man/man1/maybe.1df
+++ b/man/man1/maybe.1df
@@ -12,11 +12,11 @@ DENOMINATOR
NUMERATOR DENOMINATOR
.SH DESCRIPTION
Like true(1) or false(1), but exits with success randomly with a given
-probability. Good for using in tests. Exits with 2 rather than 1 on usage
+probability. Good for using in tests. Exits with 2 rather than 1 on usage
errors.
.P
The numerator defaults to 1 and the denominator to 2 for a roughly equal chance
-of success or failure. rndi(1df) is used for the randomness.
+of success or failure. rndi(1df) is used for the randomness.
.P
$ maybe
$ maybe 3
diff --git a/man/man1/med.1df b/man/man1/med.1df
index 0cef9e42..872af8e0 100644
--- a/man/man1/med.1df
+++ b/man/man1/med.1df
@@ -14,7 +14,7 @@ file1 file2
.SH DESCRIPTION
.B med
collects all the newline-delimited numbers given as input, and prints the
-median. It uses the mean of the two median values if the number of records is
-even. The input must be sorted, and a warning will be issued if it isn't.
+median. It uses the mean of the two median values if the number of records is
+even. The input must be sorted, and a warning will be issued if it isn't.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/mex.1df b/man/man1/mex.1df
index 5c387594..d5bf6efa 100644
--- a/man/man1/mex.1df
+++ b/man/man1/mex.1df
@@ -15,7 +15,7 @@ name
.SH DESCRIPTION
Iterate through the directories named in $PATH looking for files with any of
the specified names that do not have the executable permissions bit set, and
-attempt to set them if any such files are found. Exit nonzero if any of the
+attempt to set them if any such files are found. Exit nonzero if any of the
names were not found, or if any of the permissions changes failed.
.SH SEE ALSO
chmod(1), eds(1df)
diff --git a/man/man1/mftl.1df b/man/man1/mftl.1df
index 7fb8f9a6..fd84e781 100644
--- a/man/man1/mftl.1df
+++ b/man/man1/mftl.1df
@@ -21,7 +21,7 @@ Any targets it finds that are simple strings or filenames that look like they
should be referenced by the user are printed uniquely sorted to stdout.
.P
This is not 100% accurate (and probably can't be); GNU Make's heresies make it
-particularly complicated. For simple POSIX-ish Makefiles, it should work well.
+particularly complicated. For simple POSIX-ish Makefiles, it should work well.
The idea is to get an overview of what's accessible in a Makefile without
having to page through the whole thing.
.SH SEE ALSO
diff --git a/man/man1/mi5.1df b/man/man1/mi5.1df
index 53d98bf1..41ed876f 100644
--- a/man/man1/mi5.1df
+++ b/man/man1/mi5.1df
@@ -19,15 +19,15 @@ prog |
.SH DESCRIPTION
.B mi5
is a simple and crude m4 preprocessor to make using m4 slightly more bearable
-and predictable for its author, who wants badly to like m4 but doesn't. It's
+and predictable for its author, who wants badly to like m4 but doesn't. It's
primarily intended for situations where the majority of a file is simple static
text, and only a few simple macros need to be defined and expanded, which
-covers almost every usage case for the author. It's written to work with any
+covers almost every usage case for the author. It's written to work with any
POSIX awk and to generate output for any POSIX m4.
.P
mi5 inverts m4's usual approach by approaching most of the file as if it were
part of an m4 quote, with <% and %> as the (default) delimiters to specify
-markers in which macro expansion should occur. This is therefore a way to
+markers in which macro expansion should occur. This is therefore a way to
shoehorn m4 into working in a way reminiscent of templating libraries or
languages like PHP.
.P
@@ -41,16 +41,17 @@ Macros can be expanded as blocks:
%>
.P
For this format, `dnl' macros to delete newlines for each declaration are
-inserted for you. Blank lines are skipped, and leading and trailing spaces are
-ignored. The above code therefore produces no actual output, as it only has two
-define calls.
+inserted for you. Blank lines are skipped, and leading and trailing spaces are
+ignored. The above code therefore produces no actual output, as it only has
+two define calls.
.P
-For inline expansion, the syntax is similar, but the behaviour slightly different:
+For inline expansion, the syntax is similar, but the behaviour slightly
+different:
.P
The value of the FOO macro is <% FOO %>.
.P
Spaces immediately after the opening delimiter and before the closing delimiter
-are ignored, but spaces produced within the macro are preserved. `dnl` macros
+are ignored, but spaces produced within the macro are preserved. `dnl` macros
are not inserted for inline blocks.
.P
Ideally, you do your complex macro definition in a block at the top of your
@@ -58,9 +59,9 @@ file, and your simple macro expansion of those results in an inline.
.SH CAVEATS
There's no way to escape the delimiters.
.P
-Inline expansions cannot span multiple lines. Use blocks for that.
+Inline expansions cannot span multiple lines. Use blocks for that.
.P
-Doesn't cope at all with `changequote'. If you need to specify different ones
+Doesn't cope at all with `changequote'. If you need to specify different ones
from this tool's point of view, you can change the "quote" and "unquote" vars
in the same way as "open" and "shut", but if you're getting to that point then
you should probably write raw m4.
diff --git a/man/man1/mim.1df b/man/man1/mim.1df
index e70c7fa5..5476c132 100644
--- a/man/man1/mim.1df
+++ b/man/man1/mim.1df
@@ -11,8 +11,8 @@ curl http://example.net/ |
.SH DESCRIPTION
.B mim
takes all its input and puts it into a temporary file for mutt(1) to read with
-its -i option, redirecting the terminal input appropriately. This allows you to
-concatenate or pipe input straight into a new Mutt message.
+its -i option, redirecting the terminal input appropriately. This allows you
+to concatenate or pipe input straight into a new Mutt message.
.P
The author wrote it so that he could use ! and :! commands in Vim with it, to
email sections of buffers to people conveniently.
diff --git a/man/man1/mkcp.1df b/man/man1/mkcp.1df
index 1beae4a8..7a4c03e3 100644
--- a/man/man1/mkcp.1df
+++ b/man/man1/mkcp.1df
@@ -11,7 +11,7 @@ filea fileb newdir/newsubdir
.SH DESCRIPTION
.B mkcp
combines mkdir(1) and cp(1) into one call, creating the last argument as a
-directory and recursively copying the remaining arguments into it. If the
+directory and recursively copying the remaining arguments into it. If the
directory creation fails, the script stops before attempting the copy.
.SH SEE ALSO
mkdir(1), cp(1), mkmv(1df)
diff --git a/man/man1/mked.1df b/man/man1/mked.1df
index 202ba386..8020f404 100644
--- a/man/man1/mked.1df
+++ b/man/man1/mked.1df
@@ -8,7 +8,7 @@ file0 dir1/file1 dir2/subdir/file2
.SH DESCRIPTION
.B mked
iterates through its arguments and creates the full paths to each of them
-before running $EDITOR with the same arguments. If the directory creation
+before running $EDITOR with the same arguments. If the directory creation
fails, the script stops before invoking the editor.
.SH SEE ALSO
mked(1)
diff --git a/man/man1/mkmv.1df b/man/man1/mkmv.1df
index f00fe266..f8ebf590 100644
--- a/man/man1/mkmv.1df
+++ b/man/man1/mkmv.1df
@@ -11,8 +11,8 @@ filea fileb newdir/newsubdir
.SH DESCRIPTION
.B mkmv
combines mkdir(1) and mv(1) into one call, creating the last argument as a
-directory and moving the remaining arguments into it. If the directory creation
-fails, the script stops before attempting the move.
+directory and moving the remaining arguments into it. If the directory
+creation fails, the script stops before attempting the move.
.SH SEE ALSO
mkdir(1), mv(1), mkmv(1df)
.SH AUTHOR
diff --git a/man/man1/mkvi.1df b/man/man1/mkvi.1df
index f0f215d4..0ff33e84 100644
--- a/man/man1/mkvi.1df
+++ b/man/man1/mkvi.1df
@@ -8,7 +8,7 @@ file0 dir1/file1 dir2/subdir/file2
.SH DESCRIPTION
.B mkvi
iterates through its arguments and creates the full paths to each of them
-before running $VISUAL with the same arguments. If the directory creation
+before running $VISUAL with the same arguments. If the directory creation
fails, the script stops before invoking the editor.
.SH SEE ALSO
mked(1)
diff --git a/man/man1/mode.1df b/man/man1/mode.1df
index 5b675fd3..57782bef 100644
--- a/man/man1/mode.1df
+++ b/man/man1/mode.1df
@@ -14,7 +14,7 @@ file1 file2
.SH DESCRIPTION
.B mode
collects all the newline-delimited numbers given as input, and prints the
-mode. If two values have the same frequency (i.e. a multimodal distribution),
+mode. If two values have the same frequency (i.e. a multimodal distribution),
it will print one of them, but which one depends on whether your awk(1) sorts
array indexes...
.SH AUTHOR
diff --git a/man/man1/motd.1df b/man/man1/motd.1df
index 6e8725ce..eb66b158 100644
--- a/man/man1/motd.1df
+++ b/man/man1/motd.1df
@@ -6,7 +6,7 @@
.B motd
.SH DESCRIPTION
.B motd
-emits /etc/motd to stdout, if found. The filename can be overriden with the
+emits /etc/motd to stdout, if found. The filename can be overriden with the
MOTD variable.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/murl.1df b/man/man1/murl.1df
index 088158b0..86fe878a 100644
--- a/man/man1/murl.1df
+++ b/man/man1/murl.1df
@@ -1,7 +1,7 @@
.TH MURL 1df "June 2016" "Manual page for murl"
.SH NAME
.B murl
-\- convert Markdown to HTML with pandoc(1) and extract URLs from it with hurl(1df)
+\- convert Markdown to HTML with pandoc(1), extract URLs with hurl(1df)
.SH SYNOPSIS
.B murl
README.md
diff --git a/man/man1/mw.1df b/man/man1/mw.1df
index 51623600..36d5273c 100644
--- a/man/man1/mw.1df
+++ b/man/man1/mw.1df
@@ -11,7 +11,7 @@ prog1 |
.SH DESCRIPTION
.B mw
separates the input into space-delimited words and prints them one per line,
-with no deduplication or sorting. It's a fairly naïve approach to the problem
+with no deduplication or sorting. It's a fairly naïve approach to the problem
but it works fine as a crude initial approach.
.SH NOTES
This was written after watching that lovely old AT&T video where members of the
diff --git a/man/man1/nlbr.1df b/man/man1/nlbr.1df
index 3cdde6c1..5e1ca85d 100644
--- a/man/man1/nlbr.1df
+++ b/man/man1/nlbr.1df
@@ -13,7 +13,7 @@ command |
.B nlbr
.SH DESCRIPTION
.B nlbr
-adds trailing HTML linebreaks (<br>) to content. Good for running after
+adds trailing HTML linebreaks (<br>) to content. Good for running after
htenc(1df).
.SH SEE ALSO
htenc(1df), htdec(1df), brnl(1df)
diff --git a/man/man1/oii.1df b/man/man1/oii.1df
index 6d1cf601..d232c03b 100644
--- a/man/man1/oii.1df
+++ b/man/man1/oii.1df
@@ -12,6 +12,6 @@ CMD [ARGS ...]
.SH DESCRIPTION
Run the given program passing in stdin but only if at least one byte of input
is actually received, rather like the -E switch to mail(1) behaves on
-bsd-mailx. If no input is received, exit silently with an error status.
+bsd-mailx. If no input is received, exit silently with an error status.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/osc.1df b/man/man1/osc.1df
index 9fb61dde..46208dd5 100644
--- a/man/man1/osc.1df
+++ b/man/man1/osc.1df
@@ -16,7 +16,7 @@ editing.
.P
It's intended to be run as an interactive tool for cases where you want to
focus more on debugging the data exchange with the actual server, and not
-debugging the OpenSSL negotiation itself. The author finds it handy for poking
+debugging the OpenSSL negotiation itself. The author finds it handy for poking
his STARTTLS SMTP mailserver.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/pa.1df b/man/man1/pa.1df
index 4800c085..091fee8c 100644
--- a/man/man1/pa.1df
+++ b/man/man1/pa.1df
@@ -7,7 +7,7 @@
arg1 arg2 arg3
.SH DESCRIPTION
.B pa
-prints each of its arguments followed by a newline. If there are no arguments,
+prints each of its arguments followed by a newline. If there are no arguments,
it does nothing.
.SH SEE ALSO
paz(1df)
diff --git a/man/man1/paz.1df b/man/man1/paz.1df
index b34fa6c4..922edd3a 100644
--- a/man/man1/paz.1df
+++ b/man/man1/paz.1df
@@ -7,7 +7,7 @@
arg1 arg2 arg3
.SH DESCRIPTION
.B pa
-prints each of its arguments followed by a null character. If there are no
+prints each of its arguments followed by a null character. If there are no
arguments, it does nothing.
.SH SEE ALSO
pa(1df)
diff --git a/man/man1/ped.1df b/man/man1/ped.1df
index 041e73c5..1952fb17 100644
--- a/man/man1/ped.1df
+++ b/man/man1/ped.1df
@@ -10,8 +10,8 @@ ped
.SH DESCRIPTION
.B ped
saves all its standard input into a temporary file and runs $EDITOR, or ed(1)
-if unset, on that file. Once the editor exits, it emits the contents of the
-same file (changed or unchanged). This can be used as a way to edit data
+if unset, on that file. Once the editor exits, it emits the contents of the
+same file (changed or unchanged). This can be used as a way to edit data
manually as it goes through a pipe.
.SH SEE ALSO
pst(1df), pvi(1df)
diff --git a/man/man1/plmu.1df b/man/man1/plmu.1df
index 4cae1d85..92e0a550 100644
--- a/man/man1/plmu.1df
+++ b/man/man1/plmu.1df
@@ -8,7 +8,7 @@
.B plmu
iterates through a list of the modules installed in the current plenv(1)
version of Perl, excluding any defined in ~/.plenv/non-cpanm-modules, and
-attempts to upgrade each of them, reporting any errors. It does not run any
+attempts to upgrade each of them, reporting any errors. It does not run any
tests, so it's just a shortcut for your personal Perl installation tinkerings,
and not for any production deployment of plenv[1].
.SH SEE ALSO
diff --git a/man/man1/pp.1df b/man/man1/pp.1df
index 0bb55cd1..19fa1584 100644
--- a/man/man1/pp.1df
+++ b/man/man1/pp.1df
@@ -13,8 +13,8 @@ with a slash, in which case they are printed verbatim.
The path need not actually exist.
.SH CAVEATS
Newlines in filenames will still work, but the results won't really make sense
-as they'll be indistinguishable from newlines separating the files. This is for
-generating human-readable file lists, not for machines.
+as they'll be indistinguishable from newlines separating the files. This is
+for generating human-readable file lists, not for machines.
.SH SEE ALSO
pph(1df)
.SH AUTHOR
diff --git a/man/man1/pph.1df b/man/man1/pph.1df
index b99d2a8e..489e7118 100644
--- a/man/man1/pph.1df
+++ b/man/man1/pph.1df
@@ -10,7 +10,7 @@
runs pp(1df) on the arguments to print the full path to each one, and also
prepends the machine's hostname and a colon to each line.
.SH CAVEATS
-Newlines in filenames will mess this up. This is for generating human-readable
+Newlines in filenames will mess this up. This is for generating human-readable
file lists, not for machines.
.SH SEE ALSO
pp(1df)
diff --git a/man/man1/pst.1df b/man/man1/pst.1df
index d24cda4e..86536914 100644
--- a/man/man1/pst.1df
+++ b/man/man1/pst.1df
@@ -16,7 +16,7 @@ pst ed
.B pst
saves all its standard input into a temporary file and runs the interactive
command given, defaulting to a suitable pager, and then emits the contents of
-the same file (changed or unchanged) after the program exits. This can be used
+the same file (changed or unchanged) after the program exits. This can be used
as a way to watch the progress of data as it goes through the pipe, or to
manually edit it.
.SH SEE ALSO
diff --git a/man/man1/pvi.1df b/man/man1/pvi.1df
index 2c0903c9..333a2833 100644
--- a/man/man1/pvi.1df
+++ b/man/man1/pvi.1df
@@ -10,8 +10,8 @@ pvi
.SH DESCRIPTION
.B pvi
saves all its standard input into a temporary file and runs $VISUAL, or vi(1)
-if unset, on that file. Once the editor exits, it emits the contents of the
-same file (changed or unchanged). This can be used as a way to edit data
+if unset, on that file. Once the editor exits, it emits the contents of the
+same file (changed or unchanged). This can be used as a way to edit data
manually as it goes through a pipe.
.SH SEE ALSO
pst(1df), ped(1df)
diff --git a/man/man1/quo.1df b/man/man1/quo.1df
index 56cf685a..c09f4fd8 100644
--- a/man/man1/quo.1df
+++ b/man/man1/quo.1df
@@ -17,7 +17,7 @@ FILE1 [FILE2...]
.SH DESCRIPTION
.B quo
quotes its input by inserting a right-angle bracket followed by a space at the
-start of every unquoted line. If the line was already quoted, it adds another
+start of every unquoted line. If the line was already quoted, it adds another
level of right-angle brackets.
.SH SEE ALSO
wro(1df)
diff --git a/man/man1/rep.1df b/man/man1/rep.1df
index 8971f392..f9c84e2e 100644
--- a/man/man1/rep.1df
+++ b/man/man1/rep.1df
@@ -7,7 +7,7 @@
COUNT
COMMAND [ARG1...]
.SH DESCRIPTION
-Run the given command the specified number of times. Zero is a valid count;
+Run the given command the specified number of times. Zero is a valid count;
nothing happens.
.SH SEE ALSO
chn(1df), maybe(1df), try(1df), watch(1)
diff --git a/man/man1/rgl.1df b/man/man1/rgl.1df
index 13001d59..778b08b7 100644
--- a/man/man1/rgl.1df
+++ b/man/man1/rgl.1df
@@ -14,7 +14,7 @@ file < patterns
.SH DESCRIPTION
.B rgl
("read, grep, loop") searches the files given in its arguments for each of the
-patterns given on standard input with grep(1). If it detects its input is a
+patterns given on standard input with grep(1). If it detects its input is a
terminal, it provides a prompt for the next pattern, in color if possible.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/rnda.1df b/man/man1/rnda.1df
index 5cdf708c..ecdfb790 100644
--- a/man/man1/rnda.1df
+++ b/man/man1/rnda.1df
@@ -7,7 +7,7 @@
arg1 arg2 arg3
.SH DESCRIPTION
.B rnda
-prints a random choice from the given arguments. It uses rndi(1df), which is
+prints a random choice from the given arguments. It uses rndi(1df), which is
probably not a high-quality source, but should differ within seconds and
between runs on most systems.
.SH SEE ALSO
diff --git a/man/man1/rndf.1df b/man/man1/rndf.1df
index a089378b..4e6c4780 100644
--- a/man/man1/rndf.1df
+++ b/man/man1/rndf.1df
@@ -11,9 +11,9 @@
.SH DESCRIPTION
.B rndf
prints the name a random file (excluding dot files) from the given directory,
-defaulting to the current directory. It uses rndi(1df), which is probably not a
-high-quality source, but should differ within seconds and between runs on most
-systems.
+defaulting to the current directory. It uses rndi(1df), which is probably not
+a high-quality source, but should differ within seconds and between runs on
+most systems.
.SH SEE ALSO
rndi(1df), rnda(1df), rndl(1df), rnds(1df), rndn(6df)
.SH AUTHOR
diff --git a/man/man1/rndi.1df b/man/man1/rndi.1df
index e9588ab7..85c99e1a 100644
--- a/man/man1/rndi.1df
+++ b/man/man1/rndi.1df
@@ -11,8 +11,8 @@ returns a random integer ranging from the first argument to the second argument
in a POSIX-compliant way (using awk), using rnds(1df) if available for a seed.
.P
The answer returned is low-quality; on some platforms, it may even return the
-same result if run within the same second. This should not be used in any sort
-of security or statistical context. The author wrote it to support scripts to
+same result if run within the same second. This should not be used in any sort
+of security or statistical context. The author wrote it to support scripts to
choose a random background image from a directory.
.SH SEE ALSO
rnda(1df), rndf(1df), rndl(1df), rnds(1df), rndn(6df)
diff --git a/man/man1/rndl.1df b/man/man1/rndl.1df
index 0e952724..3123e1a3 100644
--- a/man/man1/rndl.1df
+++ b/man/man1/rndl.1df
@@ -13,7 +13,7 @@ command |
.B rndl
.SH DESCRIPTION
.B rndl
-prints a random line from its input, using rnds(1df) as a seed. This is
+prints a random line from its input, using rnds(1df) as a seed. This is
probably not a high-quality source, but should differ within seconds and
between runs on most systems.
.SH SEE ALSO
diff --git a/man/man1/rnds.1df b/man/man1/rnds.1df
index 0a4dbc15..5f5cb347 100644
--- a/man/man1/rnds.1df
+++ b/man/man1/rnds.1df
@@ -12,7 +12,7 @@
uses POSIX tools to try and find a random number device on the system and emits
the first field of a cksum(1) based on it as a low-quality random numeric seed.
The only optional argument allows specifying the number of random bytes to
-read, defaulting to 32. This is intended as a low-quality seed for rndi(1df).
+read, defaulting to 32. This is intended as a low-quality seed for rndi(1df).
.P
/dev/urandom is tried first, then /dev/arandom, then /dev/random, before the
script gives up and emits nothing.
diff --git a/man/man1/shb.1df b/man/man1/shb.1df
index a1cb884a..b6b0182c 100644
--- a/man/man1/shb.1df
+++ b/man/man1/shb.1df
@@ -17,7 +17,7 @@ then emits the contents of stdin.
.P
This is intended as a minimal way to make portable shebang lines for Makefiles
or other building or installation frameworks, handling subtleties like sed(1)
-being located in /bin on Linux, but /usr/bin on BSD. It should work with any
+being located in /bin on Linux, but /usr/bin on BSD. It should work with any
POSIX-compliant sh(1).
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/sls.1df b/man/man1/sls.1df
index 730be440..83c13201 100644
--- a/man/man1/sls.1df
+++ b/man/man1/sls.1df
@@ -11,7 +11,7 @@ ssh_config_alt1 ssh_config_alt2
.B sls
runs slsf(1df) on the given set of ssh_config(5) files to print the first
non-wildcard hostname on each "Host" line, defaulting to /etc/ssh/ssh_config
-and ~/.ssh/config if they exist. Suitable for use in batch scripts like
+and ~/.ssh/config if they exist. Suitable for use in batch scripts like
sra(1df).
.SH SEE ALSO
slsf(1df), sra(1df), sta(1df), ssh(1), ssh_config(5)
diff --git a/man/man1/slsf.1df b/man/man1/slsf.1df
index 03ee46a3..31453dca 100644
--- a/man/man1/slsf.1df
+++ b/man/man1/slsf.1df
@@ -11,8 +11,8 @@ cat ~/.ssh_config |
.SH DESCRIPTION
.B slsf
iterates through the ssh_config(5) files given as its input and prints the
-first name given on each "Host" line, as long as it contains no wildcards. Most
-users will probably want the sls(1df) frontend.
+first name given on each "Host" line, as long as it contains no wildcards.
+Most users will probably want the sls(1df) frontend.
.P
Within the file, a comment "### nosls" on its own line will exclude all
following output unless an "### sls" comment is read to resume it again:
diff --git a/man/man1/sqs.1df b/man/man1/sqs.1df
index c3b1af55..72f3f4b1 100644
--- a/man/man1/sqs.1df
+++ b/man/man1/sqs.1df
@@ -9,6 +9,6 @@
.SH DESCRIPTION
.B sqs
renames any of the files given as its trailing arguments to remove a trailing
-HTTP query string. It is not an error if none of the files have the extension.
+HTTP query string. It is not an error if none of the files have the extension.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/sta.1df b/man/man1/sta.1df
index 36551f81..079561b3 100644
--- a/man/man1/sta.1df
+++ b/man/man1/sta.1df
@@ -9,7 +9,7 @@
.B sta
attempts a connection and optionally runs a nominated command on all the hosts
returned by sls(1df), and prints the hostname if connected and if the optional
-command has an exit value of 0. The stdout from the commands is discarded, but
+command has an exit value of 0. The stdout from the commands is discarded, but
stderr is shown.
.SH SEE ALSO
sra(1df), sls(1df)
diff --git a/man/man1/stex.1df b/man/man1/stex.1df
index ebbea7ad..b5d98fe2 100644
--- a/man/man1/stex.1df
+++ b/man/man1/stex.1df
@@ -9,7 +9,7 @@
.SH DESCRIPTION
.B stex
renames any of the files given as its trailing arguments to remove the
-extension given as its first argument. It is not an error if none of the files
+extension given as its first argument. It is not an error if none of the files
have the extension.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/swr.1df b/man/man1/swr.1df
index 4c40a6f0..3acc7be5 100644
--- a/man/man1/swr.1df
+++ b/man/man1/swr.1df
@@ -18,7 +18,7 @@ circumstances.
This even works for the first argument (i.e. the command), provided that it
will run on the local system once copied in.
.SH CAVEATS
-You can't write to remote files with it. The arguments only work as input
+You can't write to remote files with it. The arguments only work as input
streams, so e.g. "cp .vimrc remote:.vimrc" won't do what you expect.
.P
This only works for simple commands; you can't put shell syntax into any of the
@@ -28,7 +28,7 @@ The whole script will stop if even one of its arguments can't be copied in, as
there's no way to tell whether it's safe to proceed without some of the data.
.P
Don't even think about using this for mission-critical cases or situations
-requiring high security. It's a convenience wrapper.
+requiring high security. It's a convenience wrapper.
.P
You may not need this at all if your shell has working command substitution and
you find its syntax clearer:
diff --git a/man/man1/tl.1df b/man/man1/tl.1df
index 0c686b8b..ec9307a8 100644
--- a/man/man1/tl.1df
+++ b/man/man1/tl.1df
@@ -7,10 +7,10 @@
[-p PREFIX] [-s SUFFIX] [--] [FILE1 FILE2 ...]
.SH DESCRIPTION
Tag lines from files or stdin with a string prefix or suffix before writing
-them to stdout. Specifying neither prefix nor suffix is acceptable, in which
+them to stdout. Specifying neither prefix nor suffix is acceptable, in which
case the stream is simply reproduced on stdout, acting like cat(1).
.P
-Specify a prefix with -p, and/or a suffix with -s. If no file arguments are
+Specify a prefix with -p, and/or a suffix with -s. If no file arguments are
given, defaults to reading standard input.
.P
$ tl -p 'file: ' /path/to/file
diff --git a/man/man1/tlcs.1df b/man/man1/tlcs.1df
index e8f4fefa..5433ac86 100644
--- a/man/man1/tlcs.1df
+++ b/man/man1/tlcs.1df
@@ -6,13 +6,13 @@
.B tlcs [-c] [-o STDOUT_PREFIX] [-e STDERR_PREFIX] [--] COMMAND [ARG1...]
.SH DESCRIPTION
Execute a command and tag the output of the stdout and stderr streams, line by
-line, using tl(1df) under the hood. Add -c when writing to a terminal to color
+line, using tl(1df) under the hood. Add -c when writing to a terminal to color
the lines.
.P
Specify a stdout prefix with -o (default "stdout: "), and/or a stderr prefix
-with -e (default "stderr: "). Option -c prints stdout lines in green and stderr
-lines in red if the respective streams are writing to appropriate terminals.
-Remaining arguments are assumed to be a command and its arguments.
+with -e (default "stderr: "). Option -c prints stdout lines in green and
+stderr lines in red if the respective streams are writing to appropriate
+terminals. Remaining arguments are assumed to be a command and its arguments.
.P
$ tlcs cat ~/.vimrc
$ tlcs -e 'FAIL: ' nonexistent-command
diff --git a/man/man1/tm.1df b/man/man1/tm.1df
index 125d69c1..84f5e6e8 100644
--- a/man/man1/tm.1df
+++ b/man/man1/tm.1df
@@ -5,8 +5,8 @@
.SH SYNOPSIS
.B tm
.SH DESCRIPTION
-If arguments are given, pass them to tmux(1) unchanged. If not, check if a tmux
-session exists; if it does, attach to it. If not, create a new session with
-name given in environment variable $TMUX_SESSION, default "default".
+If arguments are given, pass them to tmux(1) unchanged. If not, check if a
+tmux session exists; if it does, attach to it. If not, create a new session
+with name given in environment variable $TMUX_SESSION, default "default".
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man1/trs.1df b/man/man1/trs.1df
index 5b3ada3a..0ef0c297 100644
--- a/man/man1/trs.1df
+++ b/man/man1/trs.1df
@@ -14,9 +14,9 @@ STRING REPLACEMENT
.B trs
replaces the string given in its first argument with the string given in its
second, with no regex metacharacters, in a way that should work on all POSIX
-implementations. It is thereby the string complement for tr(1).
+implementations. It is thereby the string complement for tr(1).
.P
-The first argument cannot be a null string. The second argument can be blank
+The first argument cannot be a null string. The second argument can be blank
(but must still be specified) to implicitly delete all occurrences of the
string.
.SH CAVEATS
diff --git a/man/man1/try.1df b/man/man1/try.1df
index 63db5209..fd324009 100644
--- a/man/man1/try.1df
+++ b/man/man1/try.1df
@@ -6,12 +6,12 @@
.B try
[-n ATTEMPTS] [-s SLEEP] [--] COMMAND...
.SH DESCRIPTION
-Runs the given command up to a fixed number of times until it exits zero. If
+Runs the given command up to a fixed number of times until it exits zero. If
all attempts fail, writes buffered error output from all attempts to stderr.
.P
Option -n specifies the number of attempts, defaulting to 3; option -s
specifies in seconds how long to sleep between attempts, defaulting to 0.
-Options may be terminated with --. The remaining arguments are the command to
+Options may be terminated with --. The remaining arguments are the command to
run.
.P
$ try maybe
diff --git a/man/man1/urlh.1df b/man/man1/urlh.1df
index 8eeb359a..226c3f95 100644
--- a/man/man1/urlh.1df
+++ b/man/man1/urlh.1df
@@ -9,7 +9,7 @@ Content-Type
.SH DESCRIPTION
.B urlh
makes a cURL HEAD request for the given URL, and searches the headers for a key
-matching the given name, case-insensitively. It prints any matching values to
+matching the given name, case-insensitively. It prints any matching values to
stdout.
.SH SEE ALSO
curl(1), unf(1df), urlmt(1df)
diff --git a/man/man1/urlmt.1df b/man/man1/urlmt.1df
index cbc31bed..64fbab42 100644
--- a/man/man1/urlmt.1df
+++ b/man/man1/urlmt.1df
@@ -7,8 +7,8 @@
https://www.sanctum.geek.nz/
.SH DESCRIPTION
.B urlmt
-uses urlh(1df) to search for a Content-Type header for the given URL, and prints
-it with any trailing data (e.g. charset) trimmed off.
+uses urlh(1df) to search for a Content-Type header for the given URL, and
+prints it with any trailing data (e.g. charset) trimmed off.
.SH SEE ALSO
curl(1), unf(1df), urlh(1df)
.SH AUTHOR
diff --git a/man/man1/vest.1df b/man/man1/vest.1df
index e94e6a82..b398a624 100644
--- a/man/man1/vest.1df
+++ b/man/man1/vest.1df
@@ -11,8 +11,8 @@
.SH DESCRIPTION
.B vest
wraps the test(1) command, but prints an explicit "true" or "false" to stdout
-to show whether the test was true or false. It exits with the same value as the
-test it ran.
+to show whether the test was true or false. It exits with the same value as
+the test it ran.
.SH SEE ALSO
test(1), vex(1df)
.SH AUTHOR
diff --git a/man/man1/vex.1df b/man/man1/vex.1df
index e072bcb4..507a857d 100644
--- a/man/man1/vex.1df
+++ b/man/man1/vex.1df
@@ -11,7 +11,7 @@ test -f /foo/bar/baz
.SH DESCRIPTION
.B vex
runs the command given in its arguments, and prints "true" or "false" as the
-last line of stdout based on the command's exit value. It does not interfere
+last line of stdout based on the command's exit value. It does not interfere
with any output or error from the command itself.
.P
The exit value is the same as the command wrapped.
diff --git a/man/man1/wro.1df b/man/man1/wro.1df
index dc64046b..e65f5c99 100644
--- a/man/man1/wro.1df
+++ b/man/man1/wro.1df
@@ -16,7 +16,7 @@ Text on standard input.
^D
.SH DESCRIPTION
.B wro
-adds an email-style quote lead-in to its standard input. It's intended to
+adds an email-style quote lead-in to its standard input. It's intended to
receive input from quo(1df).
.SH SEE ALSO
quo(1df)
diff --git a/man/man1/xgo.1df b/man/man1/xgo.1df
index 368708a2..279c366d 100644
--- a/man/man1/xgo.1df
+++ b/man/man1/xgo.1df
@@ -8,7 +8,7 @@
.B xgo
examines each of its arguments, including making an HTTP HEAD request to try
and get its MIME type, and then opens an appropriate program to view it,
-falling back on $BROWSER. The choices of application are very opinionated.
+falling back on $BROWSER. The choices of application are very opinionated.
.SH FUTURE
There could probably be a MIME-type and/or URL-pattern to program configuration
file, rather than hard-coding it.
diff --git a/man/man1/xrbg.1df b/man/man1/xrbg.1df
index 481c9185..14bfbc7d 100644
--- a/man/man1/xrbg.1df
+++ b/man/man1/xrbg.1df
@@ -11,7 +11,7 @@ XBACKGROUNDS=/path/to/images
.B xrbg
searches for images in the directory named in the XBACKGROUNDS environment
variable (defaults to ~/.xbackgrounds), chooses a random one with rndf(1df),
-and applies it with feh(1). It's designed for use in ~/.xinitrc, but it seems
+and applies it with feh(1). It's designed for use in ~/.xinitrc, but it seems
to work when called manually from within an X session too.
.SH SEE ALSO
feh(1), rndf(1df)
diff --git a/man/man1/xrq.1df b/man/man1/xrq.1df
index d0bdeeb3..9dd7f0d1 100644
--- a/man/man1/xrq.1df
+++ b/man/man1/xrq.1df
@@ -11,6 +11,6 @@ URxvt.color0 URxvt.color9
.SH DESCRIPTION
.B xrq
runs xrdb(1) with the -query option and filters for the values of the named
-keys. It exits successfully if at least one of the named keys was found.
+keys. It exits successfully if at least one of the named keys was found.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man6/acq.6df b/man/man6/acq.6df
index a2f17250..62b01f5a 100644
--- a/man/man6/acq.6df
+++ b/man/man6/acq.6df
@@ -9,7 +9,7 @@ $
How may the stars be prevented from going out?
.SH DESCRIPTION
.B acq
-allows you to pose questions to AC, the interplanetary computer. Suggested
+allows you to pose questions to AC, the interplanetary computer. Suggested
topics include the fate of the universe and whether entropy is reversible.
.SH SEE ALSO
<http://multivax.com/last_question.html>
diff --git a/man/man6/dr.6df b/man/man6/dr.6df
index 14787691..b0dda69e 100644
--- a/man/man6/dr.6df
+++ b/man/man6/dr.6df
@@ -14,7 +14,7 @@ d6
.SH DESCRIPTION
.B dr
rolls dice according to the formulas used in D&D and other tabletop roleplaying
-games. It only allows d4, d6, d8, d10, d12, and d20 dice.
+games. It only allows d4, d6, d8, d10, d12, and d20 dice.
.SH SEE ALSO
rndi(1df)
.SH AUTHOR
diff --git a/man/man6/philsay.6df b/man/man6/philsay.6df
index 4de7c476..a5d7b68d 100644
--- a/man/man6/philsay.6df
+++ b/man/man6/philsay.6df
@@ -1,7 +1,7 @@
.TH PHILSAY 6df "July 2017" "Manual page for philsay"
.SH NAME
.B philsay
-\- Ha, ha, ha! ASCII art!
+\- Ha, ha, ha! ASCII art!
.SH USAGE
.B philsay
.br
diff --git a/man/man6/pks.6df b/man/man6/pks.6df
index dc430eff..8de04491 100644
--- a/man/man6/pks.6df
+++ b/man/man6/pks.6df
@@ -16,7 +16,7 @@ DICT=$HOME/dict
.B pks
.SH DESCRIPTION
.B pks
-picks the first word from a random line on a set of files and laughs at it. If
+picks the first word from a random line on a set of files and laughs at it. If
no files are given, it defaults to /usr/share/dict/words, or the value of DICT
(ha, ha!) if specified in the environment.
.P
diff --git a/man/man6/rndn.6df b/man/man6/rndn.6df
index 25a30513..b9157ae9 100644
--- a/man/man6/rndn.6df
+++ b/man/man6/rndn.6df
@@ -12,11 +12,11 @@ business-critical-process -t "$(\fBrndn\fR)"
.SH DESCRIPTION
.B rndn
uses an advanced but somewhat esoteric algorithm derived by Adams (2001) to
-return a random number. The seed can be derived internally or specified as an
+return a random number. The seed can be derived internally or specified as an
argument.
.P
-While rndn(6df) has proven robust in the author's production usage, its algorithm
-has not been formally verified.
+While rndn(6df) has proven robust in the author's production usage, its
+algorithm has not been formally verified.
.SH SEE ALSO
<http://dilbert.com/strip/2001-10-25>
.br
diff --git a/man/man6/xyzzy.6df b/man/man6/xyzzy.6df
index 042bb9eb..7270b95d 100644
--- a/man/man6/xyzzy.6df
+++ b/man/man6/xyzzy.6df
@@ -8,7 +8,7 @@
Invoking
.B xyzzy
in a directory will tag that directory as a target for teleportation, writing
-its name to the file ~/.xyzzy. Typing it again at any given point will then
+its name to the file ~/.xyzzy. Typing it again at any given point will then
change into that marked directory.
.SH AUTHOR
Tom Ryder <tom@sanctum.geek.nz>
diff --git a/man/man8/sue.8df b/man/man8/sue.8df
index f9633f51..ac59f952 100644
--- a/man/man8/sue.8df
+++ b/man/man8/sue.8df
@@ -7,7 +7,7 @@
FILE1 [FILE2...]
.SH DESCRIPTION
Run sudoedit(8) over the arguments given as the user that owns them all; exit
-with an error if they're not owned by a common user. This could be useful in
+with an error if they're not owned by a common user. This could be useful in
situations where you don't have full root access via sudo(8), or simply want
to be strict about working with least privilege.
.SH AUTHOR
diff --git a/mutt/muttrc b/mutt/muttrc
index 9ff4857d..1fb9274a 100644
--- a/mutt/muttrc
+++ b/mutt/muttrc
@@ -131,7 +131,9 @@ macro index,pager S 's<enter>' 'Save message blindly'
macro generic,index,browser,pager gm '!gms --quiet &<enter>' 'Run gms(1df)'
# Shortcut to add addresses to abook
-macro index,pager A '<pipe-message>abook --add-email-quiet<enter>' 'Add sender address to abook'
+macro index,pager A \
+ '<pipe-message>abook --add-email-quiet<enter>' \
+ 'Add sender address to abook'
# Machine or account specific settings
source ~/.muttrc.d/src|
diff --git a/readline/inputrc b/readline/inputrc
index 857952cd..87abcd49 100644
--- a/readline/inputrc
+++ b/readline/inputrc
@@ -53,8 +53,7 @@ $if Bash
# Expand ! history with a spacebar press
# Note that this makes your shell unusable if your Bash doesn't have
- # magic-space. It's had this feature since 2.02, which is below the minimum
- # 2.05a supported by these dotfiles.
+ # magic-space. It's had this feature since 2.02.
Space: magic-space
# Tab does traditional blocking completion
diff --git a/sh/profile.d/options.sh b/sh/profile.d/options.sh
index c60dd140..ad9d43ab 100644
--- a/sh/profile.d/options.sh
+++ b/sh/profile.d/options.sh
@@ -1,4 +1,4 @@
-# Cache the options available to certain programs. Run all this in a subshell
+# Cache the options available to certain programs. Run all this in a subshell
# (none of its state needs to endure in the session)
(
options() {
diff --git a/sh/shrc.d/gt.sh b/sh/shrc.d/gt.sh
index 193a2996..ef24a4bb 100644
--- a/sh/shrc.d/gt.sh
+++ b/sh/shrc.d/gt.sh
@@ -1,5 +1,5 @@
-# If the argument is a directory, change to it. If it's a file, change to its
-# parent. Stands for "get to".
+# If the argument is a directory, change to it. If it's a file, change to its
+# parent. Stands for "get to".
gt() {
# Check argument count
diff --git a/sh/shrc.d/hgrep.sh b/sh/shrc.d/hgrep.sh
index 9d7542b4..ba36ec99 100644
--- a/sh/shrc.d/hgrep.sh
+++ b/sh/shrc.d/hgrep.sh
@@ -1,4 +1,4 @@
-# Search shell history file for a pattern. If you put your whole HISTFILE
+# Search shell history file for a pattern. If you put your whole HISTFILE
# contents into memory, then you probably don't need this, as you can just do:
#
# $ history | grep PATTERN
diff --git a/sh/shrc.d/pd.sh b/sh/shrc.d/pd.sh
index d5257ba5..77f6bae9 100644
--- a/sh/shrc.d/pd.sh
+++ b/sh/shrc.d/pd.sh
@@ -1,6 +1,6 @@
# Attempt to change into the argument's parent directory; This is intended for
# use when you've got a file path in a variable, or in history, or in Alt+.,
-# and want to quickly move to its containing directory. In the absence of an
+# and want to quickly move to its containing directory. In the absence of an
# argument, this just shifts up a directory, i.e. `cd ..`
#
# Note this is equivalent to `ud 1`.
diff --git a/sh/shrc.d/rd.sh b/sh/shrc.d/rd.sh
index 5fbd5ac5..e6d761a6 100644
--- a/sh/shrc.d/rd.sh
+++ b/sh/shrc.d/rd.sh
@@ -1,5 +1,5 @@
# Replace the first instance of the first argument string with the second
-# argument string in $PWD, and make that the target of the cd builtin. This is
+# argument string in $PWD, and make that the target of the cd builtin. This is
# to emulate a feature of the `cd` builtin in Zsh that I like, but that I think
# should be a separate command rather than overloading `cd`.
#
diff --git a/sh/shrc.d/scr.sh b/sh/shrc.d/scr.sh
index 14a58ad1..19367ffc 100644
--- a/sh/shrc.d/scr.sh
+++ b/sh/shrc.d/scr.sh
@@ -1,5 +1,5 @@
# Create a temporary directory and change into it, to stop me putting stray
-# files into $HOME, and making the system do cleanup for me. Single optional
+# files into $HOME, and making the system do cleanup for me. Single optional
# argument is the string to use for naming the directory; defaults to "scr".
scr() {
# shellcheck disable=SC2164
diff --git a/sh/shrc.d/sd.sh b/sh/shrc.d/sd.sh
index 58d1a375..04b50f6d 100644
--- a/sh/shrc.d/sd.sh
+++ b/sh/shrc.d/sd.sh
@@ -72,7 +72,7 @@ sd() {
# Check the number of matches
case $# in
- # One match? Must be $PWD, so no siblings--throw in 0 just in
+ # One match? Must be $PWD, so no siblings--throw in 0 just in
# case, but that Shouldn't Happen (TM)
0|1)
printf >&2 'sd(): No siblings\n'
@@ -99,7 +99,7 @@ sd() {
esac
;;
- # Anything else? Multiple siblings--user will need to specify
+ # Anything else? Multiple siblings--user will need to specify
*)
printf >&2 'sd(): Multiple siblings\n'
return 1
diff --git a/sh/shrc.d/ud.sh b/sh/shrc.d/ud.sh
index f7f33caf..419f0446 100644
--- a/sh/shrc.d/ud.sh
+++ b/sh/shrc.d/ud.sh
@@ -9,7 +9,7 @@ ud() {
fi
set -- "${1:-1}" "${2:-"$PWD"}"
- # Check first argument, number of steps upward. "0" is weird, but valid;
+ # Check first argument, number of steps upward. "0" is weird, but valid;
# "-1" however makes no sense at all
if [ "$1" -lt 0 ] ; then
printf >&2 'ud(): Invalid step count\n'
diff --git a/vim/after/syntax/sh.vim b/vim/after/syntax/sh.vim
index bdedaf65..95ec5546 100644
--- a/vim/after/syntax/sh.vim
+++ b/vim/after/syntax/sh.vim
@@ -20,12 +20,12 @@ endif
syntax clear shDerefWordError
" The syntax highlighter doesn't match parens for subshells for 'if' tests
-" correctly if they're on separate lines. This happens enough that it's
+" correctly if they're on separate lines. This happens enough that it's
" probably not worth keeping the error.
syntax clear shParenError
" The syntax highlighter flags this code with an error on the final square
-" bracket: `case $foo in [![:ascii:]]) ;; esac`, but that's all legal. I'm not
+" bracket: `case $foo in [![:ascii:]]) ;; esac`, but that's all legal. I'm not
" yet sure how to fix it, so will just turn the error group for now.
syntax clear shTestError
@@ -33,8 +33,8 @@ syntax clear shTestError
if exists('b:is_posix')
" Highlight some commands that are both defined by POSIX and builtin
- " commands in dash, as a rough but useable proxy for 'shell builtins'. This
- " list was mostly wrested from `man 1 dash`. Also include control structure
+ " commands in dash, as a rough but useable proxy for 'shell builtins'. This
+ " list was mostly wrested from `man 1 dash`. Also include control structure
" keywords like `break`, `continue`, and `return`.
syntax clear shStatement
syntax cluster shCommandSubList add=shStatement
@@ -76,7 +76,7 @@ if exists('b:is_posix')
" Core syntax/sh.vim puts IFS and other variables that affect shell function
" in another color, but a subset of them actually apply to POSIX shell too
- " (and plain Bourne). These are selected by searching the POSIX manpages. I
+ " (and plain Bourne). These are selected by searching the POSIX manpages. I
" added NLSPATH too, which wasn't in the original.
syntax clear shShellVariables
syntax cluster shCommandSubList add=shShellVariables
@@ -112,7 +112,7 @@ if exists('b:is_posix')
\ PWD
" Core syntax/sh.vim thinks 'until' is a POSIX control structure keyword,
- " but it isn't. Reset shRepeat and rebuild it with just 'while'. I only
+ " but it isn't. Reset shRepeat and rebuild it with just 'while'. I only
" sort-of understand what this does, but it works.
syntax clear shRepeat
syntax region shRepeat
@@ -127,7 +127,7 @@ if exists('b:is_posix')
" ${foo%bar}, ${foo%%bar}, ${foo#bar}, and ${foo##bar} are all valid forms
" of parameter expansion in POSIX, but sh.vim makes them conditional on
- " Bash or Korn shell. We reinstate them (slightly adapted) here.
+ " Bash or Korn shell. We reinstate them (slightly adapted) here.
syntax match shDerefOp contained
\ '##\|#\|%%\|%'
\ nextgroup=@shDerefPatternList
@@ -150,7 +150,7 @@ if exists('b:is_bash')
syntax clear bashAdminStatement
" Reduce bashStatement down to just builtins; highlighting 'grep' is not
- " very useful. This list was taken from `compgen -A helptopic` on Bash
+ " very useful. This list was taken from `compgen -A helptopic` on Bash
" 4.4.5.
syntax clear bashStatement
syntax keyword bashStatement
diff --git a/vim/after/syntax/vim.vim b/vim/after/syntax/vim.vim
new file mode 100644
index 00000000..acb5cdc5
--- /dev/null
+++ b/vim/after/syntax/vim.vim
@@ -0,0 +1,2 @@
+" Remove special highlighting for double-quoted strings in comments
+syntax clear vimCommentString
diff --git a/vim/vimrc.stub.vim b/vim/vimrc.stub.vim
index d0ac3bd5..b7aa1deb 100644
--- a/vim/vimrc.stub.vim
+++ b/vim/vimrc.stub.vim
@@ -1,5 +1,5 @@
" If we have non-tiny Vim version >=7, source real vimrc; this works because
-" tiny and/or ancient builds of Vim quietly igore all code in :if blocks
+" tiny and/or ancient builds of Vim quietly ignore all code in :if blocks
if v:version >= 700
runtime vimrc
finish
diff --git a/zsh/profile.d/zsh.sh b/zsh/profile.d/zsh.sh
index 37ec8014..530c5d5b 100644
--- a/zsh/profile.d/zsh.sh
+++ b/zsh/profile.d/zsh.sh
@@ -1,8 +1,8 @@
# Zsh before version 5.3.0 emulating POSIX sh(1) or Korn shell only sources the
# interactive shell startup file described in ENV if it's set after
-# /etc/profile is sourced, but before ~/.profile is. The other shells I have
+# /etc/profile is sourced, but before ~/.profile is. The other shells I have
# tried (including modern shells emulating POSIX sh(1)) wait until after
-# ~/.profile is read. This seems to have been fixed in Zsh commit ID fde365e,
+# ~/.profile is read. This seems to have been fixed in Zsh commit ID fde365e,
# which was followed by release 5.3.0.
# This hack is only applicable to interactive zsh invoked as sh/ksh, when ENV
diff --git a/zsh/zshrc b/zsh/zshrc
index 0e111364..25d90ead 100644
--- a/zsh/zshrc
+++ b/zsh/zshrc
@@ -1,6 +1,6 @@
# Clear away all aliases; we do this here rather than in $ENV because the ksh
# family of shells relies on aliases to implement certain POSIX utilities like
-# `fc` and `type`. Ignore output, as older Zsh seems not to implement this
+# `fc` and `type`. Ignore output, as older Zsh seems not to implement this
# (quelle surprise).
unalias -a >/dev/null 2>&1
diff --git a/zsh/zshrc.d/keep.zsh b/zsh/zshrc.d/keep.zsh
index c47748cd..869d2039 100644
--- a/zsh/zshrc.d/keep.zsh
+++ b/zsh/zshrc.d/keep.zsh
@@ -2,7 +2,7 @@
# keep -- Main function for zshkeep; provided with a list of NAMEs, whether
# shell functions or variables, writes the current definition of each NAME to a
# directory $ZSHKEEP (defaults to ~/.zshkeep.d) with a .zsh suffix, each of
-# which is reloaded each time this file is called. This allows you to quickly
+# which is reloaded each time this file is called. This allows you to quickly
# arrange to keep that useful shell function or variable you made inline on
# subsequent logins.
#
@@ -46,8 +46,8 @@ keep() {
# -h given; means show help
h)
cat <<EOF
-${FUNCNAME[0]}: Keep variables and functions in shell permanently by writing them to
-named scripts iterated on shell start, in \$ZSHKEEP (defaults to
+${FUNCNAME[0]}: Keep variables and functions in shell permanently by writing
+them to named scripts iterated on shell start, in \$ZSHKEEP (defaults to
~/.zshkeep.d).
USAGE: