about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorDaniel Shahaf <danielsh@apache.org>2020-01-15 22:49:09 +0000
committerDaniel Shahaf <danielsh@apache.org>2020-01-15 22:49:09 +0000
commite899c21863a69226b4e650940c327a3b460023c0 (patch)
tree58e626a6f5c3c38e88c729d756ad563c10a80787 /Completion
parent22c0fe02a53bedb03f6aef5d0e476bbadc655995 (diff)
parentc7bc62aa0674d3677ce019333f4b8cd95aa8d189 (diff)
downloadzsh-e899c21863a69226b4e650940c327a3b460023c0.tar.gz
zsh-e899c21863a69226b4e650940c327a3b460023c0.tar.xz
zsh-e899c21863a69226b4e650940c327a3b460023c0.zip
Merge remote-tracking branch 'origin/master' into 5.9
Right now, as we're preparing to tag the 5.8 release, the 5.9 branch is
maintained as a topic branch off master.

* origin/master:
  45287: zshexpn: Describe parameter elision and add some introductory prose
  45302: bin_umask(): Queue signals around umask().
  users/24656: docs: Add an example of setting and querying zstyles
  users/24659: Cross-ref doc for matchers.
  45296: D02glob: Clean up after test from users/24633
  45290: New helper script for listing XFail tests.
  users/24633: Add an xfail test for users/24619.
  unposted: additional typo fix
  45280: _git: add -local variants
  users/24628 (fixed): More doc for selectw-word-style widgets.
  45266: Fix losetup completion, broken in da085b7a20729401c725f91ae930200d0deda64f (41720).
  unposted: Fix punctuation.
  use /dev/fd on Cygwin for process substitution
  unposted: Two additional typo fixes.
  Fix typos reported by codespell in shell code
  Fix typos reported by codespell in Src/
  45269: Fix misspellings in completions and elsewhere.
  45261: _gcc: Detect clang-as-gcc
  unposted: internal: Remove Vim modeline that interferes with ztst.vim.
  unposted: internal: ztst.vim: Use :syn-sync to work around (#x) and "`\\\\\\\\`" confusing the highlighting.
  unposted: internal: zyodl.vim: Support glob qualifiers in example()'s
  unposted: internal: zyodl.vim: Support yodl comments.
  github #44: Allow completion for picocom to list symlinks to character devices
  45245: _gcc: add some clang specific warnings
  45231: _rsync: When completing remote modules, ignore more of the motd.
  unposted: _tac: Eliminate superfluous variable
  45226: _man: Improve completion of file paths
  45184: Clarify documentation of %-sequences understood by compadd -[Xx]
  45239: Remove 'appendhistory' from zsh-newuser-install
  45218: add more options to swaks completion
  45196: fix completion after make -C, allowing for -C being used multiple times
  unposted (after 45183): Fix yodl error: "contrib.yo:4457: No macro: back(...)".
  45181: Fix workers/45164: ${(S)%%} will now consider the empty string as a potential match.
  45183: Improve documentation examples
  unposted: Add some tests for ${(S)}, including a regression test for workers/45164.
  45169/0002 (tweaked for trailing newlines): Add an expected-to-fail test for workers/44007.
  45169/0001: In the test suite, allow test cases to be marked as expected to fail.
  users/24582 + users/24583: Add regression tests for the previous commit.
  24581: Fix array assignments in shell word splitting and completion.
  45160: zshexpn: Expand documentation of (S)
  45150 + 45152: zshexpn: Use a more minimal example in the documentation of (#b).
  unposted: internal: Vim ztst support: Add an ftplugin in addition to the syntax highlighter.
  45130: _multi_parts: Always pass -f to compadd if given by caller
  unposted: zerrmsg(): Fix macro guard missed in previous commit
  unposted: ChangeLog for last commit
  internal: Allow %L in zerrmsg() in non-debug builds, too.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/BSD/Command/_mixerctl2
-rw-r--r--Completion/Base/Utility/_multi_parts2
-rw-r--r--Completion/Darwin/Command/_fs_usage2
-rw-r--r--Completion/Darwin/Type/_mac_files_for_application2
-rw-r--r--Completion/Debian/Command/_sbuild2
-rw-r--r--Completion/Linux/Command/_brctl2
-rw-r--r--Completion/Linux/Command/_findmnt2
-rw-r--r--Completion/Linux/Command/_losetup2
-rw-r--r--Completion/Linux/Command/_ltrace2
-rw-r--r--Completion/Mandriva/Command/_urpmi6
-rw-r--r--Completion/Redhat/Command/_yum2
-rw-r--r--Completion/Unix/Command/_attr2
-rw-r--r--Completion/Unix/Command/_cat2
-rw-r--r--Completion/Unix/Command/_ecasound2
-rw-r--r--Completion/Unix/Command/_gcc23
-rw-r--r--Completion/Unix/Command/_git25
-rw-r--r--Completion/Unix/Command/_graphicsmagick8
-rw-r--r--Completion/Unix/Command/_growisofs2
-rw-r--r--Completion/Unix/Command/_iconv2
-rw-r--r--Completion/Unix/Command/_imagemagick10
-rw-r--r--Completion/Unix/Command/_links2
-rw-r--r--Completion/Unix/Command/_luarocks6
-rw-r--r--Completion/Unix/Command/_make15
-rw-r--r--Completion/Unix/Command/_man9
-rw-r--r--Completion/Unix/Command/_moosic2
-rw-r--r--Completion/Unix/Command/_objdump4
-rw-r--r--Completion/Unix/Command/_od2
-rw-r--r--Completion/Unix/Command/_pandoc4
-rw-r--r--Completion/Unix/Command/_picocom2
-rw-r--r--Completion/Unix/Command/_ping2
-rw-r--r--Completion/Unix/Command/_pkg-config2
-rw-r--r--Completion/Unix/Command/_postgresql2
-rw-r--r--Completion/Unix/Command/_rclone2
-rw-r--r--Completion/Unix/Command/_rsync3
-rw-r--r--Completion/Unix/Command/_rubber2
-rw-r--r--Completion/Unix/Command/_ruby2
-rw-r--r--Completion/Unix/Command/_sed2
-rw-r--r--Completion/Unix/Command/_swaks22
-rw-r--r--Completion/Unix/Command/_tac6
-rw-r--r--Completion/Unix/Command/_transmission6
-rw-r--r--Completion/Unix/Type/_baudrates2
-rw-r--r--Completion/Unix/Type/_canonical_paths2
-rw-r--r--Completion/Unix/Type/_path_files2
-rw-r--r--Completion/openSUSE/Command/_osc2
44 files changed, 127 insertions, 80 deletions
diff --git a/Completion/BSD/Command/_mixerctl b/Completion/BSD/Command/_mixerctl
index a43aed4cb..d2a9ea3ee 100644
--- a/Completion/BSD/Command/_mixerctl
+++ b/Completion/BSD/Command/_mixerctl
@@ -8,4 +8,4 @@ _arguments -s -S -A "-*" \
   '(-a -n -v)-q[Suppress all printing when setting a variable]' \
   '(-a -n -v)-t[Attempt to select the next possible value of an enum]' \
   '(-q -t)-v[Show all possible values of variables]' \
-  '(-a)*:mixerctl varible:_multi_parts -i -S = -q . _cache_mixerctlvars'
+  '(-a)*:mixerctl variable:_multi_parts -i -S = -q . _cache_mixerctlvars'
diff --git a/Completion/Base/Utility/_multi_parts b/Completion/Base/Utility/_multi_parts
index 00e3e26cc..8a77ff0f0 100644
--- a/Completion/Base/Utility/_multi_parts
+++ b/Completion/Base/Utility/_multi_parts
@@ -15,7 +15,7 @@ typeset -U tmp1 matches
 
 zparseopts -D -a sopts \
     'J+:=group' 'V+:=group' 'x+:=expl' 'X+:=expl' 'P:=opts' 'F:=opts' \
-    S: r: R: q 1 2 o+: n f 'M+:=matcher' 'i=imm'
+    S: r: R: q 1 2 o+: n 'f=opts' 'M+:=matcher' 'i=imm'
 
 sopts=( "$sopts[@]" "$opts[@]" )
 if (( $#matcher )); then
diff --git a/Completion/Darwin/Command/_fs_usage b/Completion/Darwin/Command/_fs_usage
index 956816169..1d76cf86d 100644
--- a/Completion/Darwin/Command/_fs_usage
+++ b/Completion/Darwin/Command/_fs_usage
@@ -6,7 +6,7 @@ typeset -A opt_args
 _arguments -s -C -A '-*' : \
   '-e[exclude fs_usage and the specified processes from sampling]' \
   '-w[use wider output]' \
-  '*-f+[specify output filtering mode]:mode:(nework filesys pathname exec diskio cachehit)' \
+  '*-f+[specify output filtering mode]:mode:(network filesys pathname exec diskio cachehit)' \
   '-b[annotate disk I/O events with BootCache info]' \
   '(-R -S -E)-t+[specify run timeout]:seconds' \
   '(-t)-R+[specify raw trace file to process]:raw trace file:_files' \
diff --git a/Completion/Darwin/Type/_mac_files_for_application b/Completion/Darwin/Type/_mac_files_for_application
index 44516b4db..885b064fe 100644
--- a/Completion/Darwin/Type/_mac_files_for_application
+++ b/Completion/Darwin/Type/_mac_files_for_application
@@ -44,7 +44,7 @@ _mac_files_for_application() {
   local -a glob_patterns
   glob_patterns=()
 
-  # Try to get extentions from "Info.plist" XML file.
+  # Try to get extensions from "Info.plist" XML file.
   if [[ -f "$app_path/Contents/Info.plist" ]]; then
     local -a exts types
     _mac_parse_info_plist
diff --git a/Completion/Debian/Command/_sbuild b/Completion/Debian/Command/_sbuild
index 0cb3dc3b9..a32b5e8c5 100644
--- a/Completion/Debian/Command/_sbuild
+++ b/Completion/Debian/Command/_sbuild
@@ -115,7 +115,7 @@ _sbuild() {
     '--finished-build-commands=[run commands after package is built]:commands' \
     '--build-failed-commands=[run commands after dpkg-buildpackage fails]:commands' \
     '--chroot-cleanup-commands=[run commands after chroot cleanup]:commands' \
-    '--post-build-commands=[run commands after package is build sucessfuly]:commands' \
+    '--post-build-commands=[run commands after package is built successfully]:commands' \
     '--post-build-failed-commands[run commands after package failed to build]:commands' \
     '--anything-failed-commands=[run commands for all --xxx-failed-commands option]:commands' \
     '--log-external-command-output[external commands output are logged]' \
diff --git a/Completion/Linux/Command/_brctl b/Completion/Linux/Command/_brctl
index 6e65d122c..4d053d5cb 100644
--- a/Completion/Linux/Command/_brctl
+++ b/Completion/Linux/Command/_brctl
@@ -13,7 +13,7 @@ if (( CURRENT == 2 )); then
     hairpin:toggle\ hairpin\ mode\ on\ a\ port
     showmacs:show\ a\ list\ of\ learned\ MAC\ addresses
     setageing:set\ MAC\ address\ ageing\ time
-    setgcint:set\ grabage\ collection\ interval
+    setgcint:set\ garbage\ collection\ interval
     stp:control\ use\ of\ spanning\ tree\ protocol
     showstp:show\ bridge\ stp\ info
     setbridgeprio:set\ bridge\ priority
diff --git a/Completion/Linux/Command/_findmnt b/Completion/Linux/Command/_findmnt
index 1e570aabd..9f13e695f 100644
--- a/Completion/Linux/Command/_findmnt
+++ b/Completion/Linux/Command/_findmnt
@@ -32,7 +32,7 @@ _arguments -s -C \
   '(H -U --uniq)'{-U,--uniq}'[ignore filesystems with duplicated mount targets]' \
   '(H -u --notruncate)'{-u,--notruncate}'[do not truncate text in columns]' \
   '(H -v --nofsroot)'{-v,--nofsroot}'[do not print \[/dir\] in the SOURCE column]' \
-  '(H -w --timeout)'{-w+,--timeout}'[specify timeout for --poll]:miliseconds: ' \
+  '(H -w --timeout)'{-w+,--timeout}'[specify timeout for --poll]:milliseconds: ' \
   '(H -x --verify)'{-x,--verify}'[check mount table content]' \
   '(H)--verbose[print more information]' \
   '(H)1: :->sources_targets' \
diff --git a/Completion/Linux/Command/_losetup b/Completion/Linux/Command/_losetup
index d826e8d51..54debe19e 100644
--- a/Completion/Linux/Command/_losetup
+++ b/Completion/Linux/Command/_losetup
@@ -1,4 +1,4 @@
-#lcompdef losetup -value-,LOOPDEV_DEBUG,-default-
+#compdef losetup -value-,LOOPDEV_DEBUG,-default-
 
 if [[ $service = *LOOPDEV_DEBUG* ]]; then
   local expl
diff --git a/Completion/Linux/Command/_ltrace b/Completion/Linux/Command/_ltrace
index e48d8ec98..b60f8c355 100644
--- a/Completion/Linux/Command/_ltrace
+++ b/Completion/Linux/Command/_ltrace
@@ -5,7 +5,7 @@ local root hlp="-h --help -V --version"
 (( EUID )) && root='!'
 
 _arguments -s -S $args \
-  "(-c -a --align $hlp)"{-a+,--align=}"[align return values in a secific column]:column [$((COLUMNS*5/8))]" \
+  "(-c -a --align $hlp)"{-a+,--align=}"[align return values in a specific column]:column [$((COLUMNS*5/8))]" \
   "(-c $hlp)-A+[specify maximum number of array elements to print]:elements" \
   "(-c -b --no-signals $hlp)"{-b,--no-signals}"[don't print signals]" \
   "(-a --align -A -b --no-signals -i -n --indent -r -s -t -tt -ttt -T $hlp)-c[count time and calls, and report a summary on exit]" \
diff --git a/Completion/Mandriva/Command/_urpmi b/Completion/Mandriva/Command/_urpmi
index 00994c70f..d897f2c4b 100644
--- a/Completion/Mandriva/Command/_urpmi
+++ b/Completion/Mandriva/Command/_urpmi
@@ -87,7 +87,7 @@ _urpmi() {
     "($help)--auto[automatically select a package in choices]"
     "($help)--force[force invocation even if some packages do not exist]"
     "($help)--parallel[distributed urpmi across machines of alias]:urpmi alias name:_urpmi_parallel_alias"
-    "($help)--root[use another root for rpm installation]:root diretory:_files -/"
+    "($help)--root[use another root for rpm installation]:root directory:_files -/"
     "($help)--test[test only, do not modify system]"
     "($help)-a[select all matches on command line]"
   )
@@ -147,7 +147,7 @@ _urpmi() {
 	"($help : -)"{--help,-h}"[print usage information]" \
 	"($help :)-a[select all media]" \
 	"($help)-c[clean headers cache directory]" \
-	"($help)-y[fuzzy mathing on media names]" \
+	"($help)-y[fuzzy matching on media names]" \
 	"(-a)"{,\*}":media:_sequence _urpmi_media" \
        && ret=0
     ;;
@@ -189,7 +189,7 @@ _urpmi() {
 	"($help)--more-choices[propose more choices than the default]" \
 	"($help --no-resume)--resume[resume transfer of partially-downloaded files]" \
 	"($help --resume)--no-resume[do not resume transfer of partially-downloaded files]" \
-	"($help)--root[use another root for rpm installation]:root diretory:_files -/" \
+	"($help)--root[use another root for rpm installation]:root directory:_files -/" \
 	"($help)--skip[packages which installation should be skipped]:packages: " \
 	"($help)--split-length[small transaction length]:transaction length: " \
 	"($help)--split-level[split in small transaction]:transaction size: " \
diff --git a/Completion/Redhat/Command/_yum b/Completion/Redhat/Command/_yum
index 8abd23ebb..a30aa579f 100644
--- a/Completion/Redhat/Command/_yum
+++ b/Completion/Redhat/Command/_yum
@@ -39,7 +39,7 @@ _yum() {
     '--color=[control whether color is used]:(always auto never)' \
     '--releasever=[set value of $releasever in yum config and repo files]:value' \
     "--downloadonly[don't update, just download]" \
-    '--downloaddir=[specify alternate directory to store packages]:directort:_directories' \
+    '--downloaddir=[specify alternate directory to store packages]:directory:_directories' \
     '--setopt=[set arbitrary config and repo options]:option' \
     '--bugfix[include bugfix relevant packages in updates]' \
     '--security[include security relevant packages in updates]' \
diff --git a/Completion/Unix/Command/_attr b/Completion/Unix/Command/_attr
index d8d4ed260..121c0c539 100644
--- a/Completion/Unix/Command/_attr
+++ b/Completion/Unix/Command/_attr
@@ -56,7 +56,7 @@ case $service in
       '-r[act recursively]' \
       '-s[act on symbolic links]' \
       '(-w)-v[always display file name]' \
-      '(-c -d)-x[use hexademical format for value input and output]' \
+      '(-c -d)-x[use hexadecimal format for value input and output]' \
       '*: :_files' \
       + '(op)' \
       '(-l -x)-c[remove all attributes]' \
diff --git a/Completion/Unix/Command/_cat b/Completion/Unix/Command/_cat
index c78dc4cd9..74d7278b8 100644
--- a/Completion/Unix/Command/_cat
+++ b/Completion/Unix/Command/_cat
@@ -51,7 +51,7 @@ elif [[ $OSTYPE = solaris* ]]; then
     '*: :_files'
   )
 else
-  # POSIX reqires '-u', and most OSes may support '-n'
+  # POSIX requires '-u', and most OSes may support '-n'
   args=(
     '-n[number all output lines]'
     '-u[do not buffer output]'
diff --git a/Completion/Unix/Command/_ecasound b/Completion/Unix/Command/_ecasound
index 7ad08d0e1..a39e426db 100644
--- a/Completion/Unix/Command/_ecasound
+++ b/Completion/Unix/Command/_ecasound
@@ -36,7 +36,7 @@ _arguments -C \
   '*-eS\:-[audio stamp]:stamp-id (int)' \
   '*-ea\:-[amplify signal]:amplification value (percent)' \
   '*-eac\:-[amplify signal of channel]: :->eac' \
-  '*-eaw\:-[amplify singal (clipping)]: :->eaw' \
+  '*-eaw\:-[amplify signal (clipping)]: :->eaw' \
   '*-eal\:-[limits audio level]:limit (percent)' \
   '*-ec\:-[compressor (a simple one)]: :->ec' \
   '*-eca\:-[a more advanced compressor]: :->eca' \
diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc
index 0061cfa3b..9ec09200e 100644
--- a/Completion/Unix/Command/_gcc
+++ b/Completion/Unix/Command/_gcc
@@ -13,6 +13,11 @@ if [[ "$service" = -value-* ]]; then
     args2=()
   fi
 else
+  # On some systems (macOS), cc/gcc/g++ are actually clang; treat them accordingly
+  [[ $service != clang* ]] &&
+  _pick_variant clang=clang unix --version &&
+  service=clang-$service
+
   args2=( '*:input file:_files -g "*.([cCmisSoak]|cc|cpp|cxx|ii|k[ih])(-.)"' )
 fi
 
@@ -350,10 +355,12 @@ if [[ "$service" = clang* ]]; then
         "-nostdinc[Do not search standard system directories or compiler builtin directories for include files]"
         "-nostdlibinc[Do not search standard system directories for include files]"
         "-nobuiltininc[Do not search builtin directory for include files]"
+        "--help[Display this information]"
     )
 else
     args+=(
       '-flto=-[Enable link-time optimization]::jobs:'
+      '*--help=-[Display this information]:class:->help'
     )
 fi
 
@@ -427,7 +434,6 @@ args+=(
   '*-isystem:second include path directory (system):_files -/'
   '--sysroot=-[Use <directory> as the root directory for headers and libraries]:directory:_files -/'
   '-pass-exit-codes[Exit with highest error code from a phase]'
-  '*--help=-[Display this information]:class:->help'
   '--target-help[Display target specific command line options]'
   '-dumpspecs[Display all of the built in spec strings]'
   '-dumpversion[Display the version of the compiler]'
@@ -676,7 +682,6 @@ args+=(
   '-Wunderflow[Warn about underflow of numerical constant expressions]'
   '-Wuninitialized[Warn about uninitialized automatic variables]'
   '-Wunknown-pragmas[Warn about unrecognized pragmas]'
-  '-Wunreachable-code[Does nothing. Preserved for backward compatibility]'
   '-Wunsafe-loop-optimizations[Warn if the loop cannot be optimized due to nontrivial assumptions]'
   '-Wunsuffixed-float-constants[Warn about unsuffixed float constants]'
   '-Wunused-but-set-parameter[Warn when a function parameter is only set, otherwise unused]'
@@ -730,6 +735,20 @@ args+=(
   '-Werror=-[Treat specified warning as error (or all if none specified)]::warning:->werror'
   '-Wfatal-errors[Exit on the first error occurred]'
 )
+# clang specific warnings
+if [[ "$service" = clang* ]]; then
+  args+=(
+    '-Wunreachable-code[Warn on code that will not be executed]'
+    '-Wunreachable-code-aggressive[Controls -Wunreachable-code, -Wunreachable-code-break, -Wunreachable-code-return]'
+    '-Wunreachable-code-break[Warn when break will never be executed]'
+    '-Wunreachable-code-loop-increment[Warn when loop will be executed only once]'
+    '-Wunreachable-code-return[Warn when return will not be executed]'
+  )
+else
+  args+=(
+    '-Wunreachable-code[Does nothing. Preserved for backward compatibility]'
+  )
+fi
 # optimizers (from --help=optimizers), except for -O
 args+=(
 # --help=optimizers,^joined
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index fa3d99f2f..8e0d57789 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -1187,7 +1187,7 @@ _git-log () {
       fi
 
       # TODO: Write a wrapper function that checks whether we have a
-      # committish range or comittish and calls __git_tree_files
+      # committish range or committish and calls __git_tree_files
       # appropriately.
       if __git_is_committish_range $line[1]; then
 	__git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0
@@ -1671,7 +1671,7 @@ _git-shortlog () {
           ;;
         (*)
           # TODO: Write a wrapper function that checks whether we have a
-          # committish range or comittish and calls __git_tree_files
+          # committish range or committish and calls __git_tree_files
           # appropriately.
           if __git_is_committish_range $line[1]; then
             __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0
@@ -2101,7 +2101,7 @@ _git-switch() {
   case $state in
     branches)
       if [[ -n ${opt_args[(i)--guess]} ]]; then
-	# --guess is the default but if it has been explictly specified,
+	# --guess is the default but if it has been explicitly specified,
 	# we'll only complete remote branches
 	__git_remote_branch_names_noprefix && ret=0
       else
@@ -4352,7 +4352,7 @@ _git-send-email () {
     '--smtp-pass=[specify password to use for SMTP-AUTH]::password' \
     '--smtp-server=[specify SMTP server to connect to, or sendmail command]: : __git_sendmail_smtpserver_values' \
     '--smtp-server-port=[specify port to connect to SMTP server on]:smtp port:_ports' \
-    '--smtp-server-option=[specify the outgoing SMTP server option to use]:SMPT server option' \
+    '--smtp-server-option=[specify the outgoing SMTP server option to use]:SMTP server option' \
     '--smtp-ssl-cert-path=[path to ca-certificates (directory or file)]:ca certificates path:_files' \
     '--smtp-user=[specify user to use for SMTP-AUTH]:smtp user:_users' \
     '(--no-smtp-auth)--smtp-auth=[specify allowed AUTH mechanisms]:space-separated list of mechanisms' \
@@ -5421,7 +5421,7 @@ _git-verify-pack () {
     '*:index file:_files -g "*.idx(-.)"'
 }
 
-# Synching Repositories
+# Syncing Repositories
 
 (( $+functions[_git-daemon] )) ||
 _git-daemon () {
@@ -5432,7 +5432,7 @@ _git-daemon () {
     '--strict-paths[match paths exactly]' \
     '--access-hook=-[allow an external tool to accept or decline service]:path:_directories' \
     '--base-path=-[remap all the path requests as relative to the given path]:path:_directories' \
-    '--base-path-relaxed[allow lookup of base path witout prefix]' \
+    '--base-path-relaxed[allow lookup of base path without prefix]' \
     '--interpolated-path=-[dynamically construct alternate paths]:path:_directories' \
     '--export-all[allow pulling from all repositories without verification]' \
     '(--port --listen --user --group)--inetd[run server as an inetd service]' \
@@ -6100,7 +6100,7 @@ _git_column_layouts() {
     '(always never)auto[show in columns if the output is to the terminal]' \
     '(row plain)column[fill columns before rows]' \
     '(column plain)row[fill rows before columns]' \
-    '(column row)plain[show in one colum]' \
+    '(column row)plain[show in one column]' \
     '(nodense)dense[make unequal size columns to utilize more space]' \
     '(dense)nodense[make equal size columns]'
 }
@@ -6116,15 +6116,22 @@ __git_date_formats () {
 
   date_formats=(
     relative:'show dates relative to the current time'
-    local:'show timestamps in local timezone'
+    local:'show timestamps in the local timezone'
     iso{,8601}:'show timestamps in ISO 8601 format'
+    iso{,8601}-local:'show timestamps in ISO 8601 format in the local timezone'
     iso-strict:'show timestamps in strict ISO 8601 format'
+    iso-strict-local:'show timestamps in strict ISO 8601 format in the local timezone'
     rfc{,2822}:'show timestamps in RFC 2822 format'
+    rfc{,2822}-local:'show timestamps in RFC 2822 format in the local timezone'
     short:'show only date but not time'
+    short-local:'show only date but not time in the local timezone'
     raw:'show date in internal raw git format (%s %z)'
+    raw-local:'show date in internal raw git format (%s %z) in the local timezone'
     human:'elide some current and recent date elements'
+    human-local:'elide some current and recent date elements in the local timezone'
     unix:'show date as a Unix epoch timestamp'
-    default:'show timestamp in the original timezone'
+    default:'show timestamp in rfc-like format'
+    default-local:'show timestamp in rfc-like format in the local timezone'
   )
 
   _describe -t date-formats 'date format' date_formats -- '( format\:custom\ format )' -S :
diff --git a/Completion/Unix/Command/_graphicsmagick b/Completion/Unix/Command/_graphicsmagick
index cc541d891..dc799085b 100644
--- a/Completion/Unix/Command/_graphicsmagick
+++ b/Completion/Unix/Command/_graphicsmagick
@@ -40,7 +40,7 @@ case "$words[2]" in
       '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
       '*-dither[apply dithering]' \
       '*-edge:edge detection factor (0.0 - 99.9%%)' \
-      '*-endian:image endianess:(MSB LSB)' \
+      '*-endian:image endianness:(MSB LSB)' \
       '*+endian' \
       '*-enhance[enhance noisy image]' \
       '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
@@ -162,7 +162,7 @@ case "$words[2]" in
       '-descend[descend window hierarchy]' \
       '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
       '-dither[apply dithering]' \
-      '(+endian)-endian:image endianess:(MSB LSB)' \
+      '(+endian)-endian:image endianness:(MSB LSB)' \
       '(-endian)+endian' \
       '-frame[include window manager frame]' \
       '(- *)-help[display help information]' \
@@ -214,7 +214,7 @@ case "$words[2]" in
       '*-dither[apply dithering]' \
       '*+dither[render Postscript without aliasing]' \
       '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
-      '*-endian:image endianess:(MSB LSB)' \
+      '*-endian:image endianness:(MSB LSB)' \
       '*+endian' \
       '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
       '*-frame[draw frame around image]' \
@@ -293,7 +293,7 @@ case "$words[2]" in
       '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
       '-edge:edge detection factor (0.0 - 99.9%%)' \
       '-emboss[emboss image]' \
-      '(+endian)-endian:image endianess:(MSB LSB)' \
+      '(+endian)-endian:image endianness:(MSB LSB)' \
       '(-endian)+endian' \
       '-enhance[enhance image]' \
       '-equalize[histogram equalization]' \
diff --git a/Completion/Unix/Command/_growisofs b/Completion/Unix/Command/_growisofs
index 741a7516b..8f4da4030 100644
--- a/Completion/Unix/Command/_growisofs
+++ b/Completion/Unix/Command/_growisofs
@@ -208,7 +208,7 @@ else
     '-G[specify path and file-name of a generic boot-image]:boot image:_files' \
     '-hard-disk-boot[specify that the el torito boot-image  is a hard-disk image]' \
     '-no-emul-boot[specify that the el torito boot-image is a "no emulation" image]' \
-    '-no-boot[specify that the el torito CD should be markes an non-bootable]' \
+    '-no-boot[specify that the el torito CD should be marked non-bootable]' \
     '-boot-load-seg[specify the load-segment address of the boot-image for a "no emulation" image]:segment address' \
     '-boot-lead-size[specify the number of 512-byte sectors to load in "no emulation" mode]:load sectors' \
     '-boot-info-table[specify that a 56-byte table of CD-ROM-layout information should be written]' \
diff --git a/Completion/Unix/Command/_iconv b/Completion/Unix/Command/_iconv
index e6daad938..bf04acfe4 100644
--- a/Completion/Unix/Command/_iconv
+++ b/Completion/Unix/Command/_iconv
@@ -38,7 +38,7 @@ if _pick_variant -r variant libiconv='GNU*libiconv' glibc='(Free Soft|GNU*libc|G
   _arguments -C -S -s : $args && return 0
 
   if [[ $state = *_codeset ]]; then
-    # suffix is meaningfull only for output encoding
+    # suffix is meaningful only for output encoding
     if [[ $state = to_codeset ]] && compset -P '*[^/]/'; then
       _wanted suffix expl suffix compadd "$@" /TRANSLIT /IGNORE && ret=0
     else
diff --git a/Completion/Unix/Command/_imagemagick b/Completion/Unix/Command/_imagemagick
index c2c9dc478..3afa108ae 100644
--- a/Completion/Unix/Command/_imagemagick
+++ b/Completion/Unix/Command/_imagemagick
@@ -44,7 +44,7 @@ case "$service" in
       '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
       '*-dither[apply dithering]' \
       '*-edge:edge detection factor (0.0 - 99.9%%)' \
-      '*-endian:image endianess:(MSB LSB)' \
+      '*-endian:image endianness:(MSB LSB)' \
       '*+endian' \
       '*-enhance[enhance noisy image]' \
       '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
@@ -166,7 +166,7 @@ case "$service" in
       '-descend[descend window hierarchy]' \
       '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
       '-dither[apply dithering]' \
-      '(+endian)-endian:image endianess:(MSB LSB)' \
+      '(+endian)-endian:image endianness:(MSB LSB)' \
       '(-endian)+endian' \
       '-frame[include window manager frame]' \
       '(- *)-help[display help information]' \
@@ -218,7 +218,7 @@ case "$service" in
       '*-dither[apply dithering]' \
       '*+dither[render Postscript without aliasing]' \
       '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
-      '*-endian:image endianess:(MSB LSB)' \
+      '*-endian:image endianness:(MSB LSB)' \
       '*+endian' \
       '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
       '*-frame[draw frame around image]' \
@@ -297,7 +297,7 @@ case "$service" in
       '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
       '-edge:edge detection factor (0.0 - 99.9%%)' \
       '-emboss[emboss image]' \
-      '(+endian)-endian:image endianess:(MSB LSB)' \
+      '(+endian)-endian:image endianness:(MSB LSB)' \
       '(-endian)+endian' \
       '-enhance[enhance image]' \
       '-equalize[histogram equalization]' \
@@ -511,7 +511,7 @@ case "$service" in
       '-file:output file:_files' \
       '-get[get files]' \
       '-port:port: _ports' \
-      '-proxy:host of proxy ftp deamon:_hosts' \
+      '-proxy:host of proxy ftp daemon:_hosts' \
       '-print[print files]' \
       '-prune[process files from remote directory]' \
       '-put[put files]' \
diff --git a/Completion/Unix/Command/_links b/Completion/Unix/Command/_links
index 3f55e9c8b..495937709 100644
--- a/Completion/Unix/Command/_links
+++ b/Completion/Unix/Command/_links
@@ -37,7 +37,7 @@ _arguments -C \
   '-memory-cache-size[cache memory]:size (bytes) [1048576]' \
   '-image-cache-size[image cache memory]:size (bytes) [1048576]' \
   '-font-cache-size[specify font cache size]:size (bytes) [2097152]' \
-  "-aggressive-cache[cache everything regardless of server's caching recomendations]:enable [1]:((1\\:on 0\\:off))" \
+  "-aggressive-cache[cache everything regardless of server's caching recommendations]:enable [1]:((1\\:on 0\\:off))" \
   '-address-preference[specify IP version preference]:preference:((
     0\:system\ default
     1\:prefer\ IPv4
diff --git a/Completion/Unix/Command/_luarocks b/Completion/Unix/Command/_luarocks
index c73a75a03..0915765dc 100644
--- a/Completion/Unix/Command/_luarocks
+++ b/Completion/Unix/Command/_luarocks
@@ -135,7 +135,7 @@ ___luarocks_installed_rocks_cache_policy(){
   #   ) if configuration files are newer:
   #     * set and cache the values from the commands above
   #   ) else:
-  #     * retrive from cache the values of the commands above
+  #     * retrieve from cache the values of the commands above
   #   ) end if
   # ) end if
 
@@ -190,7 +190,7 @@ ___luarocks_installed_rocks_cache_policy(){
 }
 (( $+functions[__luarocks_installed_rocks] )) ||
 __luarocks_installed_rocks(){
-  # This function optionally recieves one argument of the tree in which
+  # This function optionally receives one argument of the tree in which
   # installed rocks are searched for. If this argument is used, the installed
   # rocks which will be completed by this function will not use the cache which
   # is valid only for installed rocks on default trees like /usr/lib/luarocks
@@ -305,7 +305,7 @@ __luarocks_installed_rocks(){
     fi
   fi
 }
-# Used to complete one or more of the followings:
+# Used to complete one or more of the following:
 # - .rockspec file
 # - .src.rock file
 # - external rock
diff --git a/Completion/Unix/Command/_make b/Completion/Unix/Command/_make
index 06971f07a..21ed56184 100644
--- a/Completion/Unix/Command/_make
+++ b/Completion/Unix/Command/_make
@@ -120,12 +120,12 @@ _make-parseMakefile () {
 
 _make() {
 
-  local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir
+  local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir nul=$'\0'
   local context state state_descr line
   local -a option_specs
   local -A VARIABLES VAR_ARGS opt_args
   local -aU TARGETS keys
-  local ret=1
+  local -i cdir=-1 ret=1
 
   # VAR=VAL on the current command line
   for tmp in $words; do
@@ -142,7 +142,7 @@ _make() {
     incl="(-|)include"
     option_specs=(
       '(-B --always-make)'{-B,--always-make}'[unconditionally make all targets]'
-      '*'{-C,--directory=}'[change directory first]:change to directory:->dir'
+      '*'{-C,--directory=}'[change directory first]:change to directory:->cdir'
       '-d[print lots of debug information]'
       '--debug=-[print various types of debug information]:debug options:->debug'
       '(-e --environment-overrides)'{-e,--environment-overrides}'[environment variables override makefiles]'
@@ -177,7 +177,7 @@ _make() {
     # Basic make options only.
     incl=.include
     option_specs=(
-      '-C[change directory first]:directory:->dir'
+      '-C[change directory first]:directory:->cdir'
       '-I[include directory for makefiles]:directory:->dir'
       '-f[specify makefile]:makefile:->file'
       '-o[specify file not to remake]:file not to remake:->file'
@@ -188,11 +188,12 @@ _make() {
   _arguments -s $option_specs \
     '*:make target:->target' && ret=0
 
-  basedir=${(Q)~opt_args[-C]:-${opt_args[--directory]}}
-  VAR_ARGS[CURDIR]="${basedir:=$PWD}"
+  [[ $state = cdir ]] && cdir=-2
+  basedir=${(j./.)${${~"${(@s.:.):-$PWD:${(Q)${opt_args[-C]:-$opt_args[--directory]}//\\:/$nul}}"}[(R)/*,cdir]}//$nul/:}
+  VAR_ARGS[CURDIR]="${basedir}"
 
   case $state in
-    (dir)
+    (*dir)
     _description directories expl "$state_descr"
     _files "$expl[@]" -W $basedir -/ && ret=0
     ;;
diff --git a/Completion/Unix/Command/_man b/Completion/Unix/Command/_man
index 41ae85a1f..7d55201e3 100644
--- a/Completion/Unix/Command/_man
+++ b/Completion/Unix/Command/_man
@@ -381,7 +381,12 @@ _man() {
 
     (( $#sects )) || return 1
 
-    _tags manuals.${^sects}
+    if [[ $PREFIX$SUFFIX == */* ]]; then
+      _tags manuals.${^sects} files
+    else
+      _tags manuals.${^sects}
+    fi
+
     while _tags; do
       for sect_dirname in $sects; do
         d=$sect_dirname
@@ -390,6 +395,8 @@ _man() {
         _requested manuals.$sect_dirname expl "manual page, section $d" _man_pages &&
             ret=0
       done
+      [[ $PREFIX$SUFFIX == */* ]] &&
+      _requested files expl directory _files -/ && ret=0
       (( ret )) || return 0
     done
     ## To fall back to other sections' manpages when completing filenames, like
diff --git a/Completion/Unix/Command/_moosic b/Completion/Unix/Command/_moosic
index f22fe16c5..54d768c8c 100644
--- a/Completion/Unix/Command/_moosic
+++ b/Completion/Unix/Command/_moosic
@@ -83,7 +83,7 @@ _moosic_add_cmds() {
     "noloop:turn loop mode off"
     "toggle-loop:toggle loop mode"
     "reconfigure:daemon reload configuration file"
-    "showconfig:show dameon filetype associations"
+    "showconfig:show daemon filetype associations"
     "start-server:starts new instance of daemon with given options"
     {quit,exit,die}":quit daemon"
     )
diff --git a/Completion/Unix/Command/_objdump b/Completion/Unix/Command/_objdump
index 987b10bb0..989cd3f0b 100644
--- a/Completion/Unix/Command/_objdump
+++ b/Completion/Unix/Command/_objdump
@@ -52,8 +52,8 @@ case $variant in
       '(-m --architecture)'{-m+,--architecture=}'[specify the target architecture]:architecture:->architectures'
       \*{-M+,--disassembler-options=}'[pass target specific information to the disassembler]:option:->disassembler_options'
 
-      "(-E --endian)-E+[assume endianess when disassembling]:endianess:((B\:\"assume big endian format when disassembling\" L\:\"assume little endian format when disassembling\"))"
-      "(-E --endian)--endian=[assume endianess when disassembling]:endianess:((big\:\"assume big endian format when disassembling\" little\:\"assume little endian format when disassembling\"))"
+      "(-E --endian)-E+[assume endianness when disassembling]:endianness:((B\:\"assume big endian format when disassembling\" L\:\"assume little endian format when disassembling\"))"
+      "(-E --endian)--endian=[assume endianness when disassembling]:endianness:((big\:\"assume big endian format when disassembling\" little\:\"assume little endian format when disassembling\"))"
 
       '--file-start-context[include context from start of file (with -S)]'
       \*{-I+,--include=}'[add directory to search list for source files]:directory:_files -/'
diff --git a/Completion/Unix/Command/_od b/Completion/Unix/Command/_od
index 046018131..7673a225b 100644
--- a/Completion/Unix/Command/_od
+++ b/Completion/Unix/Command/_od
@@ -26,7 +26,7 @@ if _pick_variant gnu=GNU unix --version; then
   args=( ${(R)args:#(|\*)(|\(*\))-[hBIL]*} )
   args+=(
     '--traditional'
-    '--endian=[swap input bytes]:endianess:(big little)'
+    '--endian=[swap input bytes]:endianness:(big little)'
     {-S+,--strings=-}'[output strings of at least specified bytes long]:length'
     {-w-,--width=-}'[output specified bytes per line]:bytes'
     '(- : *)--help[display help and exit]'
diff --git a/Completion/Unix/Command/_pandoc b/Completion/Unix/Command/_pandoc
index d70d3cf0a..29d3724e0 100644
--- a/Completion/Unix/Command/_pandoc
+++ b/Completion/Unix/Command/_pandoc
@@ -335,9 +335,9 @@ _arguments -C \
   '--data-dir=[specify the user data directory to search for pandoc data files]:dir:_pandoc_data_dir' \
   '--base-header-level=[specify the base level for headers (defaults to 1)]:number:_pandoc_header_level' \
   '--strip-empty-paragraphs[deprecated. Use the +empty_paragraphs extension instead]: :' \
-  '--indented-code-classes=[classes to use for indented code blocks]:class:{_message "Classes seperated with ,"}' \
+  '--indented-code-classes=[classes to use for indented code blocks]:class:{_message "Classes separated with ,"}' \
   '*--filter=[specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written]:file:_pandoc_filter' \
-  '*--lua-filter=[transform the document in a similar fashion as JSON filters (see --filter), but use pandoc'"'"'s build-in lua filtering system]:file:_pandoc_lua_filter' \
+  '*--lua-filter=[transform the document in a similar fashion as JSON filters (see --filter), but use pandoc'"'"'s built-in lua filtering system]:file:_pandoc_lua_filter' \
   {-p,--preserve-tabs}'[preserve tabs instead of converting them to spaces]: :' \
   '--tab-stop=[specify the number of spaces per tab (default is 4)]:number:{_message -r "choose a number equals to or greater then 1"}' \
   '--track-changes=[specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature]: :_pandoc_track_changes' \
diff --git a/Completion/Unix/Command/_picocom b/Completion/Unix/Command/_picocom
index 4b8b3ea2e..9059b03e8 100644
--- a/Completion/Unix/Command/_picocom
+++ b/Completion/Unix/Command/_picocom
@@ -47,7 +47,7 @@ function _picocom () {
            '--omap[define output character map]:output character map:'
            '--emap[define local echo character map]:local echo character map:'
            '(--help -h)'{--help,-h}'[display help message]'
-           '*:device:_files -g "*(%c)"' )
+           '*:device:_files -g "*(-%c)"' )
 
     _arguments -C : "${args[@]}"
 }
diff --git a/Completion/Unix/Command/_ping b/Completion/Unix/Command/_ping
index 3cb6e1008..274204264 100644
--- a/Completion/Unix/Command/_ping
+++ b/Completion/Unix/Command/_ping
@@ -139,7 +139,7 @@ case ${variant}:${${service#ping}:-4} in
   darwin*:6)
     args+=(
       '-B+[bind the socket to specified interface for sending]:interface:_net_interfaces'
-      '-G+[specify max,min,increment size for ICMP payload for sweeping pings]:max,min,incr (defalt min=0 incr=1)'
+      '-G+[specify max,min,increment size for ICMP payload for sweeping pings]:max,min,incr (default min=0 incr=1)'
       '-z+[specify traffic class]:traffic class'
     )
   ;|
diff --git a/Completion/Unix/Command/_pkg-config b/Completion/Unix/Command/_pkg-config
index 43773967e..cae6a6293 100644
--- a/Completion/Unix/Command/_pkg-config
+++ b/Completion/Unix/Command/_pkg-config
@@ -36,7 +36,7 @@ arguments=(
       "--print-requires[list all modules the package requires]"
       "--print-requires-private[list all modules the package requires for static linking (see --static)]"
 #      "--msvc-syntax[output linker flags in a form compatible with MSVC++ (Windows only)]"
-#      "--dont-define-prefix[disables automatic overiding of the variable \"prefix\" (Windows only)]"
+#      "--dont-define-prefix[disables automatic overriding of the variable \"prefix\" (Windows only)]"
 #      "--prefix-variable=[set the name of the variable \"prefix\" (Windows only)]:prefix value"
       "*: :->packages"
 )
diff --git a/Completion/Unix/Command/_postgresql b/Completion/Unix/Command/_postgresql
index f0c70a164..595eb1cb4 100644
--- a/Completion/Unix/Command/_postgresql
+++ b/Completion/Unix/Command/_postgresql
@@ -610,7 +610,7 @@ _pgsql_initdb() {
     + x # Exclusive options
     $common_opts_excl
     + '(l)' # Locale options (general)
-    {-l+,--locale=}'[specify locale (all catgories)]: :_locales'
+    {-l+,--locale=}'[specify locale (all categories)]: :_locales'
     '--no-locale[equivalent to --locale=C]'
     + lc # Locale options (specific) -- unlike createdb, NOT exclusive with -l
     '--lc-collate=[specify LC_COLLATE setting]: :_locales'
diff --git a/Completion/Unix/Command/_rclone b/Completion/Unix/Command/_rclone
index 01d851fa1..40f06e0ba 100644
--- a/Completion/Unix/Command/_rclone
+++ b/Completion/Unix/Command/_rclone
@@ -33,7 +33,7 @@ commands=(
   "lsjson\:'list directories and objects in the path in JSON format'"
   "lsl\:'list the objects in path with modification time, size and path'"
   "md5sum\:'produce an md5sum file for all the objects in the path'"
-  "mkdir\:'make the path if it doesnt already exist'"
+  "mkdir\:'make the path if it does not already exist'"
   "mount\:'mount the remote as file system on a mountpoint'"
   "move\:'move files from source to dest'"
   "moveto\:'move file or directory from source to dest'"
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index c1404c908..56efd7b13 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -51,10 +51,11 @@ elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then
   fi
 
   remfiles=(${${(f)"$(_call_program files rsync $pat 2>/dev/null)"}:#([ 	]|MOTD:)*})
+  remfiles=( ${(M)remfiles:#*$'\t'*} )
 
   remmodules=(${remfiles/[ 	]##/:})
 
-  _describe "remote modules" remmodules -S/
+  _describe -V "remote modules" remmodules -S/
 
 elif compset -P 'rsync://'; then
   _rsync_user_or_host / "$@"
diff --git a/Completion/Unix/Command/_rubber b/Completion/Unix/Command/_rubber
index f66540a9f..bd97470dd 100644
--- a/Completion/Unix/Command/_rubber
+++ b/Completion/Unix/Command/_rubber
@@ -59,7 +59,7 @@ case "$service" in
       '--boxes[report overfull and underfull boxes]' \
       '--check[report errors or warnings default action]' \
       '--deps[show the target file s dependencies]' \
-      '--errors[show all errors that occured during compilation]' \
+      '--errors[show all errors that occurred during compilation]' \
       '--refs[show the list of undefined references]' \
       '--warnings[show all LaTeX warnings]' \
       ':LaTeX file:_files -g "*.(tex|dtx|lhs|w)(-.)"'
diff --git a/Completion/Unix/Command/_ruby b/Completion/Unix/Command/_ruby
index 11df80f5d..3ed25a3f0 100644
--- a/Completion/Unix/Command/_ruby
+++ b/Completion/Unix/Command/_ruby
@@ -49,7 +49,7 @@ opts=(
   '--jit[enable jit with default options]'
   '--jit-warnings[enable printing JIT warnings]'
   '--jit-debug[enable JIT debugging (very slow)]'
-  '--jit-wait[wait until JIT compilation is finished everytime (for testing)]'
+  '--jit-wait[wait until JIT compilation is finished every time (for testing)]'
   '--jit-save-temps[save JIT temporary files]'
   '--jit-verbose=-[print JIT logs of level num or less to stderr]:maximum log level [0]'
   '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [1000]'
diff --git a/Completion/Unix/Command/_sed b/Completion/Unix/Command/_sed
index b08eaa281..73227901e 100644
--- a/Completion/Unix/Command/_sed
+++ b/Completion/Unix/Command/_sed
@@ -38,7 +38,7 @@ cmds_end=(
   'n:read the next line of input into pattern space'
   'N:append the next line of input to the pattern space'
   'p:print the current pattern space'
-  'P:print upto the first newline of the current pattern space'
+  'P:print up to the first newline of the current pattern space'
   'x:exchange hold and pattern spaces'
   '}:end group'
 )
diff --git a/Completion/Unix/Command/_swaks b/Completion/Unix/Command/_swaks
index a0ffb53ad..0e92221bd 100644
--- a/Completion/Unix/Command/_swaks
+++ b/Completion/Unix/Command/_swaks
@@ -1,5 +1,8 @@
 #compdef swaks
 
+local ign
+
+(( $#words > 2 )) && ign='!'
 _arguments \
   '(-s --server -p --port)'{-s+,--server=}'[target host[:port\]]:host[\:port]:_hosts' \
   '(-p --port)'{-p+,--port=}'[target port number]:port number:(25 465 587)' \
@@ -27,14 +30,27 @@ _arguments \
       ESMTPS\:EHLO\ STARTTLS\ 25
       ESMTPSA\:EHLO\ STARTTLS\ 25\ authenticated
       ))' \
-  '-tls[TLS required]' \
-  '(-tlsos --tls-optional-strict)'{-tlsos,--tls-optional-strict}'[TLS iff offered by target]' \
+  '(-tls -tlsos --tls-optional-strict)-tls[TLS required]' \
+  '(-tls -tlsos --tls-optional-strict)'{-tlsos,--tls-optional-strict}'[TLS iff offered by target]' \
   '(-tlsc --tls-on-connect)'{-tlsc,--tls-on-connect}'[TLS on connect (port 465)]' \
   '(-tlsp --tls-protocol)'{-tlsp,--tls-protocol=}':TLS protocol:(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)' \
   '-tls-cipher:OpenSSL cipher string: ' \
   '--tls-verify[verify TLS certificates]' \
   '--tls-ca-path=:OpenSSL CAfile or CAdir:_files' \
   '--tls-get-peer-cert=-:file to write (omit for STDOUT)' \
+  '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-a+,--auth=}'[use authentication, failing if no common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+  '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-ao,--auth-optional=}'[use authentication if common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+  '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-aos,--auth-optional-strict=}'[use authentication]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+  '(-ap --auth-password)'{-ap,--auth-password=}'[provide the password to be used for authentication]::password' \
+  \*{-ae,--auth-extra=}'[add extra information to authentication process]: :_values keywords
+	{realm,domain,dmd5-{serv-type,host,serv-name}}\:value' \
+  \*{-am,--auth-map=}'[map alternate names for authentication types]:alias=type,...' \
+  '(-apt --auth-plaintext)'{-apt,--auth-plaintext}'[show auth strings in plaintext when printing on screen]' \
+  '(-ahp --auth-hide-password)'{-ahp,--auth-hide-password}'[replace passwords with dummy string when printing to terminal]' \
   '(-d --data)'{-d+,--data=}'[specify DATA payload]:filename (or string with tokens):_files' \
   '*'{-ah,--add-header=}'[add headers]:<Header>\: Value' \
-  '*'{-h,--header=}'[replace headers]:<Header>\: Value'
+  '*'{-h,--header=}'[replace headers]:<Header>\: Value' \
+  "${ign}(-)--support[display capabilities and exit]" \
+  "--dump[display results of option processing but send no mail]" \
+  "${ign}(-)--help[display usage information]" \
+  "${ign}(-)--version[display version information]"
diff --git a/Completion/Unix/Command/_tac b/Completion/Unix/Command/_tac
index 7a15bffff..083fce91f 100644
--- a/Completion/Unix/Command/_tac
+++ b/Completion/Unix/Command/_tac
@@ -1,11 +1,7 @@
 #compdef tac gtac
 
-local variant
-
-_pick_variant -r variant gnu='Free Soft' unix --version
-
 # NetBSD (at least) has its own bare-bones version of this tool
-[[ $variant == gnu ]] || {
+_pick_variant gnu='Free Soft' unix --version || {
   _default
   return
 }
diff --git a/Completion/Unix/Command/_transmission b/Completion/Unix/Command/_transmission
index bd9c44c6f..8a4bebec3 100644
--- a/Completion/Unix/Command/_transmission
+++ b/Completion/Unix/Command/_transmission
@@ -50,7 +50,7 @@ local global_only_actions=(
   '(- :)'{-m,--portmap}'[enable portmapping via NAT-PMP or UPnP]'
   '(- :)'{-M,--no-portmap}'[disable portmapping]'
   '(- :)'{-o,--dht}'[enable distributed hash table]'
-  '(- :)'{-O,--no-dht}'[disable distribued hash table]'
+  '(- :)'{-O,--no-dht}'[disable distributed hash table]'
   '(- :)'{-u,--uplimit}'[limit the maximum upload speed to limit kB/s]:limit:{_message "limit in kB/sec"}'
   '(- :)'{-U,--no-uplimit}'[disable upload speed limits]'
   '(- :)--utp[enable uTP for peer connections]'
@@ -69,7 +69,7 @@ local torrent_add_options=(
   '(-c --incomplete-dir)'{-C,--no-incomplete-dir}'[don'"'"'t store incomplete torrents in a different directory]'
   {-w-,--download-dir=}'[when used in conjunction with --add, set the new torrent'"'"'s download folder]:dir:{_files -/}'
 )
-# `torrent_action_only_actions`: *actions* that can be speficied only when explicitly selecting a specific set of torrents
+# `torrent_action_only_actions`: *actions* that can be specified only when explicitly selecting a specific set of torrents
 local torrent_action_only_actions=(
   {-f,--files}'[get a file list for the current torrent(s)]'
   {-g,--get}'[mark file(s) for download]:torrent_file:_transmission-remote_torrent_get'
@@ -154,7 +154,7 @@ _transmission-remote_torrent(){
   local torrents_list_lines=(${(f)"$(transmission-remote "${authentication_args}" --list 2> /dev/null)"})
   local -a parts
   local -a torrents_ids torrents_names
-  # While itereating through every line in the output above, we don't need the
+  # While iterating through every line in the output above, we don't need the
   # first and last line which are just a header and summary
   for (( t = 2; t < ${#torrents_list_lines[@]} - 1; ++t )); do
     parts=(${(@s. .)torrents_list_lines[$t]})
diff --git a/Completion/Unix/Type/_baudrates b/Completion/Unix/Type/_baudrates
index 6e9ba4d97..a9d7fe541 100644
--- a/Completion/Unix/Type/_baudrates
+++ b/Completion/Unix/Type/_baudrates
@@ -11,7 +11,7 @@
 #
 #     -l LIMIT     Lower limit. Like -u but for the lower boundary.
 #
-#     -f FUNCTION  If given FUNCION is used as a predicate to filter the
+#     -f FUNCTION  If given FUNCTION is used as a predicate to filter the
 #                  value in the complete list to generate an arbitrary
 #                  sub-set.
 #
diff --git a/Completion/Unix/Type/_canonical_paths b/Completion/Unix/Type/_canonical_paths
index cddc3b405..a8fbbb524 100644
--- a/Completion/Unix/Type/_canonical_paths
+++ b/Completion/Unix/Type/_canonical_paths
@@ -96,7 +96,7 @@ _canonical_paths() {
 
     # This style controls how many parent directory links (..) to chase searching
     # for possible completions. The default is 8. Note that this chasing is
-    # triggered only when the user enters atleast a .. and the path completed
+    # triggered only when the user enters at least a .. and the path completed
     # contains only . or .. components. A value of 0 turns off .. link chasing
     # altogether.
 
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 19ae59629..06d9d8d51 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -425,7 +425,7 @@ for prepath in "$prepaths[@]"; do
 
   tmp1=( "$prepath$realpath$donepath$tmp2" )
 
-  # count of attemps for pws non-canonical hack
+  # count of attempts for pws non-canonical hack
   (( npathcheck = 0 ))
   while true; do
 
diff --git a/Completion/openSUSE/Command/_osc b/Completion/openSUSE/Command/_osc
index 97263da7d..3c479aea8 100644
--- a/Completion/openSUSE/Command/_osc
+++ b/Completion/openSUSE/Command/_osc
@@ -119,7 +119,7 @@ _osc_cmd_do() {
     local -a cmdlist
     local tag=0
     
-    # only start completion if theres some '-' on the line
+    # only start completion if there's some '-' on the line
     if ! [ "$words[2]" = "-" ]; then
 	_complete
 	return