about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix Rosencrantz <f_rosencrantz@users.sourceforge.net>2002-05-20 14:29:47 +0000
committerFelix Rosencrantz <f_rosencrantz@users.sourceforge.net>2002-05-20 14:29:47 +0000
commit9b9b21cc67a66870be34021119294dda606c6c80 (patch)
tree422e80d36956bb73a972a2ab80817bfe69aecaf8
parentcd3578ed9434868fab8da3031e83de5017332205 (diff)
downloadzsh-9b9b21cc67a66870be34021119294dda606c6c80.tar.gz
zsh-9b9b21cc67a66870be34021119294dda606c6c80.tar.xz
zsh-9b9b21cc67a66870be34021119294dda606c6c80.zip
Function for Tom Lord's arch SCM tool. It still has many problems,
but seems to be the fullest larch completion function so far.
-rw-r--r--Completion/Unix/Command/.distfiles2
-rw-r--r--Completion/Unix/Command/_larch1947
2 files changed, 1948 insertions, 1 deletions
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index 81c905f45..524b2bc26 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -17,5 +17,5 @@ _diff         _gs           _make         _psutils      _tin	_apm  _mail
 _last         _loadkeys     _modutils     _ruby         _sysctl _links _samba
 _user_admin   _rsync        _arping	  _spamassassin _mtools       _ifconfig
 _fsh          _chkconfig    _cdcd         _irssi        _mysqldiff    _sccs
-_netcat
+_netcat       _larch
 '
diff --git a/Completion/Unix/Command/_larch b/Completion/Unix/Command/_larch
new file mode 100644
index 000000000..18af3823a
--- /dev/null
+++ b/Completion/Unix/Command/_larch
@@ -0,0 +1,1947 @@
+#compdef larch                                                                                                       
+#Generated by
+#   simple2long.xsl
+#   args.xsl
+#   For details see:
+#       http://www.geocities.com/f_rosencrantz/xml_completion.htm
+
+#Redefine command:_larch
+_larch()
+{ local context state line
+           typeset -A opt_args
+	_arguments  \
+		'-V:print version info:->--version' \
+		'-h:display help:->--help' \
+		'-H:display a list of subcommands:->--help-commands' \
+		'--all-commands[display a list of all subcommands]' \
+		'*:: :_larch_command' \
+           && return 0
+            
+case $state in
+  "--help");;
+  "--help-commands");;
+  "--version");;
+esac
+    }
+# define the dispatch function for larch
+(( $+functions[_larch_command] )) ||
+_larch_command () {
+  if (( ! $+_larch_cmds )); then
+    typeset -ga _larch_cmds
+    _larch_cmds=("my-id:print or change your id" \
+"my-default-archive:print or change your default archive" \
+"register-archive:record the location of an archive" \
+"whereis-archive:print the registered location of an archive" \
+"archives:report registered archives and their locations" \
+"init-tree:initialize a new project tree" \
+"tree-root:find and print the root of a project tree" \
+"tree-version:print the default version for a project tree" \
+"set-tree-version:set the default version for a source tree" \
+"inventory:inventory a source tree" \
+"tagging-method:print or change a project tree tagging method" \
+"tree-lint:audit a source tree" \
+"missing-tags:list files missing inventory tags" \
+"add:add an explicit inventory tag" \
+"delete:remove an explicit inventory tag" \
+"move:move an explicit inventory tag" \
+"explicit-default:set the default explicit tag for a directory" \
+"set-manifest:set the inventory manifest from project tree" \
+"manifest:print the inventory manifest" \
+"check-manifest:compare the inventory manifest to reality" \
+"mkpatch:compare two source trees and create a patch tree" \
+"dopatch:apply a patch tree to a source tree" \
+"patch-report:generate a report from a patch set" \
+"empty-patch:make a null patch set" \
+"make-archive:create a new archive directory" \
+"make-category:create a new category within an archive" \
+"make-branch:create a new branch within an archive" \
+"make-version:create a new version within an archive" \
+"categories:list the categories in an archive" \
+"branches:list the branches in an archive category" \
+"versions:list the versions in an archive branch" \
+"revisions:list the revisions in an archive version" \
+"cat-archive-log:print the contents of an archive log entry" \
+"archive-cache-revision:cache a full source tree in an archive" \
+"archive-cached-revisions:list full source trees cached in an archive" \
+"archive-uncache-revision:remove a cached revision from an archive" \
+"category-readme:print the =README of a category" \
+"branch-readme:print the =README of a branch" \
+"version-readme:print the =README of a version" \
+"make-log:initialize a new log file entry" \
+"logs:list patch logs in a project tree" \
+"add-log:add a version patch log to a project tree" \
+"remove-log:remove a version patch log from a project tree" \
+"log-ls:print version patches in a project tree" \
+"cat-log:print the contents of a project tree log entry" \
+"log-header-field:filter a header field from a log entry" \
+"changelog:generate a change log from a patch log" \
+"log-for-merge:generate a log entry bodyfor a merge" \
+"merge-points:report where two branches have been merged" \
+"new-on-branch:list tree patches new to a branch" \
+"import:archive a from-scratch base revision" \
+"commit:archive a revision" \
+"get:construct a project tree for a revision" \
+"get-patch:retrieve a patch set from an archive" \
+"lock-branch:lock a branch" \
+"lock-revision:acquire the lock for the next revision" \
+"push-mirror:update a read-only repository mirror" \
+"build-config:instantiate a multi-project tree" \
+"update-config:update a multi-project tree" \
+"replay-config:replay a multi-project tree" \
+"record-config:record a revision-specific configuration" \
+"show-config:show the revision frontier of a configuration" \
+"config-history:report the history of a configuration" \
+"update:merge local changes with the latest revision" \
+"replay:merge the latest revsion with local changes" \
+"delta-patch:compute and apply an arbitrary patch" \
+"star-merge:merge of mutually merged branches" \
+"make-sync-tree:prepare a tree that will synchronize branches" \
+"tag:create a continuation revision \(tag or branch\)" \
+"prepare-branch:create a project tree for a new branch" \
+"finish-branch:commit project tree as a new branch" \
+"join-branch:join-branch a sibling branch" \
+"whats-missing:print patches missing from a project tree" \
+"what-changed:compare project tree to cached pristine" \
+"file-diffs:compare file with cached pristine revision" \
+"pristines:list the pristine trees in a project tree" \
+"lock-pristine:lock a pristine revision locking" \
+"my-revision-library:print or set your revision library path" \
+"library-find:find a revision in a revision library" \
+"library-add:add a revision to a revision library" \
+"library-remove:remove a revision from a revision library" \
+"library-archives:list the archives in the revision library" \
+"library-categories:list categories in the revision library" \
+"library-branches:list branches in the revision library" \
+"library-versions:list versions in the revision library" \
+"library-revisions:list revisions in the revision library" \
+"library-log:print a log message from the library" \
+"library-file:find a file in a revision library" \
+"touched-files-prereqs:print prereqs of a revision" \
+"patch-set-web:create or update a patch-set web" \
+"update-distributions:build or update an FTP area" \
+"distribution-name:revision name -> distribution name" \
+"notify:trigger actions for changes to an archive" \
+"my-notifier:print or set your default notify directory" \
+"mail-new-categories:send email notices about new categories" \
+"mail-new-branches:send email notices about new branches" \
+"mail-new-versions:send email notices about new versions" \
+"mail-new-revisions:send email notices about new revisions" \
+"notify-library:add new revisions to the library" \
+"notify-browser:add new revisions to the browser" \
+"push-new-revisions:send email notices about new revisions" \
+"sendmail-mailx:send email with sendmail ala POSIX mailx" \
+)
+  fi
+  if (( CURRENT == 1 )); then
+    _tags commands && { _describe "larch commands" _larch_cmds }
+  else
+    local curcontext="$curcontext"
+
+    cmd="$words[1]"
+    if (( $#cmd )); then
+      curcontext="${curcontext%:*:*}:_larch_-${cmd}:"
+      _larch_$cmd
+    else
+      _message "unknown larch command: $words[1]"
+    fi
+  fi
+}
+    
+
+# subcommands
+(( $+functions[_larch_my-id] )) ||
+_larch_my-id () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--errname)-e:specify program name for errors:->prog' \
+		'(-e)--errname:specify program name for errors:->prog' \
+		'(--uid)-u[print only the UID portion of the id]' \
+		'(-u)--uid[print only the UID portion of the id]' \
+		'(--verbose)-v[print a reassuring message]' \
+		'(-v)--verbose[print a reassuring message]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_my-default-archive] )) ||
+_larch_my-default-archive () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the default archive name:->dfltarchive' \
+		'(-A)--archive:specify the default archive name:->dfltarchive' \
+		'(--errname)-e:specify program name for errors:->prog' \
+		'(-e)--errname:specify program name for errors:->prog' \
+		"(--silent)-s[don't print a reassuring message]" \
+		"(-s)--silent[don't print a reassuring message]" \
+		'(--delete)-d[unspecify your default archive]' \
+		'(-d)--delete[unspecify your default archive]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_register-archive] )) ||
+_larch_register-archive () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--verbose)-v[print a reassuring message]' \
+		'(-v)--verbose[print a reassuring message]' \
+		'(--delete)-d[remove a registered archive]' \
+		'(-d)--delete[remove a registered archive]' \
+		'(--force)-f[force removals and fail without]' \
+		'(-f)--force[force removals and fail without]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_whereis-archive] )) ||
+_larch_whereis-archive () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R[specify a local archive root]' \
+		'(-R)--root[specify a local archive root]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_archives] )) ||
+_larch_archives () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--names)-n[print archive names only]' \
+		'(-n)--names[print archive names only]' \
+		'(--locations)-l[print archive locations only]' \
+		'(-l)--locations[print archive locations only]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_init-tree] )) ||
+_larch_init-tree () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'--nested[init a nested project tree]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_tree-root] )) ||
+_larch_tree-root () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--silent)-s[suppress error messages --]' \
+		'(-s)--silent[suppress error messages --]' \
+		'--accurate[require that the project tree log]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_tree-version] )) ||
+_larch_tree-version () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_set-tree-version] )) ||
+_larch_set-tree-version () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archie)-A:specify the archive name:->archive' \
+		'(-A)--archie:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'-v[be verbose]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_inventory] )) ||
+_larch_inventory () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--source)-s[list source files]' \
+		'(-s)--source[list source files]' \
+		'(--precious)-p[list precious files]' \
+		'(-p)--precious[list precious files]' \
+		'(--backups)-b[list backup files]' \
+		'(-b)--backups[list backup files]' \
+		'(--junk)-j[list junk files]' \
+		'(-j)--junk[list junk files]' \
+		'(--unrecognized)-u[list unrecognized files]' \
+		'(-u)--unrecognized[list unrecognized files]' \
+		'(--trees)-t[list roots of nested trees]' \
+		'(-t)--trees[list roots of nested trees]' \
+		'(--report)-r[print a report]' \
+		'(-r)--report[print a report]' \
+		'(--directories)-d[list only directories]' \
+		'(-d)--directories[list only directories]' \
+		'(--files)-f[list only non-directories]' \
+		'(-f)--files[list only non-directories]' \
+		'(--both)-B[list both dirs and files]' \
+		'(-B)--both[list both dirs and files]' \
+		'--all[include arch control files]' \
+		'--nested[include nested trees]' \
+		"--unsorted[don't waste time sorting output]" \
+		'--tags[list with id tags]' \
+		'--explicit[require an explicit file tag]' \
+		'--implicit[use the implicit tagging method]' \
+		'--names[use the name-based tagging method]' \
+		'--precious-command:specify a command for:->cmd' \
+		'--backups-command:find ... -exec $cmd ";":->cmd' \
+		'--junk-command:for the indicated file type:->cmd' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_tagging-method] )) ||
+_larch_tagging-method () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_tree-lint] )) ||
+_larch_tree-lint () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--no-unrecognized[suppress the list of unrecognized files]' \
+		'--no-untagged[suppress the list of untagged files]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_missing-tags] )) ||
+_larch_missing-tags () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--files[list files only]' \
+		'--directories[list files only]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_add] )) ||
+_larch_add () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_delete] )) ||
+_larch_delete () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_move] )) ||
+_larch_move () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_explicit-default] )) ||
+_larch_explicit-default () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--delete)-d[remove the default]' \
+		'(-d)--delete[remove the default]' \
+		'(--force)-f[set: overwrite an existing default]' \
+		'(-f)--force[set: overwrite an existing default]' \
+		'(--weak)-w[set a weak default (see below)]' \
+		'(-w)--weak[set a weak default (see below)]' \
+		'--dont-care[use paths by default]' \
+		'(--dir[ectory])-D:cd to DIR:->DIR' \
+		'(-D)--dir[ectory]:cd to DIR:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_set-manifest] )) ||
+_larch_set-manifest () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--force)-f[overwrite an existing manifest]' \
+		'(-f)--force[overwrite an existing manifest]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_manifest] )) ||
+_larch_manifest () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_check-manifest] )) ||
+_larch_check-manifest () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_mkpatch] )) ||
+_larch_mkpatch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--explicit[force the explicit tagging method]' \
+		'--implicit[force the implicit tagging method]' \
+		'--names[force the name-based tagging method]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_dopatch] )) ||
+_larch_dopatch () { 
+	_arguments  \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		"--delete-removed[don't save removed files]" \
+		'--explicit[force the explicit tagging method]' \
+		'--implicit[force the implicit tagging method]' \
+		'--names[force the name-based tagging method]' \
+		'--forward[pass the --forward option to patch]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_patch-report] )) ||
+_larch_patch-report () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--diffs[include context diffs]' \
+		'--html[generate html instad of outline]' \
+		'--title:set the report title:->TITLE' \
+		'--no-intro[skip the introduction]' \
+		'--link-root[hyperlink root of the patch set dir]' \
+		'--omit-empty[omit empty sections]' \
+		'--compact[produce compact output (html only)]' \
+		'--target:specify a link target (html only):->TARGET' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_empty-patch] )) ||
+_larch_empty-patch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-archive] )) ||
+_larch_make-archive () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--readme)-r:save FILE as the README:->file' \
+		'(-r)--readme:save FILE as the README:->file' \
+		'(--update)-u[update an existing archive]' \
+		'(-u)--update[update an existing archive]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-category] )) ||
+_larch_make-category () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--readme)-r:save FILE as the README:->file' \
+		'(-r)--readme:save FILE as the README:->file' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-branch] )) ||
+_larch_make-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--readme)-r:save FILE as the README:->file' \
+		'(-r)--readme:save FILE as the README:->file' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-version] )) ||
+_larch_make-version () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--readme)-r:save FILE as the README:->file' \
+		'(-r)--readme:save FILE as the README:->file' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_categories] )) ||
+_larch_categories () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_branches] )) ||
+_larch_branches () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_versions] )) ||
+_larch_versions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[sort from newest to oldest]' \
+		'(-r)--reverse[sort from newest to oldest]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_revisions] )) ||
+_larch_revisions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[sort from newest to oldest]' \
+		'(-r)--reverse[sort from newest to oldest]' \
+		'(--summary)-s[print a summary of each patch]' \
+		'(-s)--summary[print a summary of each patch]' \
+		'(--creator)-c[print the creator id of each patch]' \
+		'(-c)--creator[print the creator id of each patch]' \
+		'(--date)-D[print the date of each patch]' \
+		'(-D)--date[print the date of each patch]' \
+		'(--full)-f[print full names of patch levels]' \
+		'(-f)--full[print full names of patch levels]' \
+		'--silent-error[no error message if the indicated]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_cat-archive-log] )) ||
+_larch_cat-archive-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--headers[show only log headers]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_archive-cache-revision] )) ||
+_larch_archive-cache-revision () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_archive-cached-revisions] )) ||
+_larch_archive-cached-revisions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_archive-uncache-revision] )) ||
+_larch_archive-uncache-revision () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_category-readme] )) ||
+_larch_category-readme () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_branch-readme] )) ||
+_larch_branch-readme () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_version-readme] )) ||
+_larch_version-readme () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-log] )) ||
+_larch_make-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_logs] )) ||
+_larch_logs () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--reverse)-r[sort from oldest to newest]' \
+		'(-r)--reverse[sort from oldest to newest]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'(--arch)-a:list only logs for ARCHIVE:->ARCHIVE' \
+		'(-a)--arch:list only logs for ARCHIVE:->ARCHIVE' \
+		'(--category)-c:list only logs in CATEGORY:->CATEGORY' \
+		'(-c)--category:list only logs in CATEGORY:->CATEGORY' \
+		'(--branch)-b:list only logs for BRANCH:->BRANCH' \
+		'(-b)--branch:list only logs for BRANCH:->BRANCH' \
+		'(--vsn)-v:list only logs for VERSION-NUMBER:->VERSION-NUMBER' \
+		'(-v)--vsn:list only logs for VERSION-NUMBER:->VERSION-NUMBER' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_add-log] )) ||
+_larch_add-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_remove-log] )) ||
+_larch_remove-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_log-ls] )) ||
+_larch_log-ls () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'(--reverse)-r[sort from newest to oldest]' \
+		'(-r)--reverse[sort from newest to oldest]' \
+		'(--summary)-s[print a summary of each patch]' \
+		'(-s)--summary[print a summary of each patch]' \
+		'(--creator)-c[print the creator id of each patch]' \
+		'(-c)--creator[print the creator id of each patch]' \
+		'(--date)-D[print the date of each patch]' \
+		'(-D)--date[print the date of each patch]' \
+		'--full[print full patch level names]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_cat-log] )) ||
+_larch_cat-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_log-header-field] )) ||
+_larch_log-header-field () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		"--literal[don't remove newlines,]" \
+		'--list[split field into items,]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_changelog] )) ||
+_larch_changelog () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-D:use project tree containing DIR:->DIR' \
+		'(-D)--dir:use project tree containing DIR:->DIR' \
+		'--no-files[exclude file lists from ChangeLog]' \
+		'--new-entry:make FILE the first (top) entry:->PATCH,FILE' \
+		"--untagged[don't implicitly tag the output file]" \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_log-for-merge] )) ||
+_larch_log-for-merge () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-D:use project tree containing DIR:->DIR' \
+		'(-D)--dir:use project tree containing DIR:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_merge-points] )) ||
+_larch_merge-points () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[list from most to least recent]' \
+		'(-r)--reverse[list from most to least recent]' \
+		'(--dir)-d:instead of searching the archive,:->DIR' \
+		'(-d)--dir:instead of searching the archive,:->DIR' \
+		'--full[list included patches by full name]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_new-on-branch] )) ||
+_larch_new-on-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[list from most to least recent]' \
+		'(-r)--reverse[list from most to least recent]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_import] )) ||
+_larch_import () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--log-file)-L:specify the log-file:->file' \
+		'(-L)--log-file:specify the log-file:->file' \
+		'--not-default[do not make this the default branch]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--begin[prepare a revision for check-in]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_commit] )) ||
+_larch_commit () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--log-file)-L:specify the log-file:->file' \
+		'(-L)--log-file:specify the log-file:->file' \
+		'--not-default[do not make this the default branch]' \
+		'--no-lint[do not tree-lint the project tree]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--seal[commit the version revision]' \
+		'--fix[commit a versionfix- patch level]' \
+		'--continuation:commit a continuation revision:->[archive/]prev-revision' \
+		'--out-of-date-ok[permit commit even if project tree is]' \
+		'--unchanged-ok[commit even if project tree is]' \
+		"--dry-run[don't actually commit -- just]" \
+		'--explicit[force the explicit tagging method]' \
+		'--implicit[force the implicit tagging method]' \
+		'--names[force the name-based tagging method]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_get] )) ||
+_larch_get () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		"--no-pristine[don't save a pristine copy]" \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_get-patch] )) ||
+_larch_get-patch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_lock-branch] )) ||
+_larch_lock-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'-e:use ERRNAME in error messages:->errname' \
+		'(--unlock)-u[release the indicated lock]' \
+		'(-u)--unlock[release the indicated lock]' \
+		'--break[break the indicated lock]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_lock-revision] )) ||
+_larch_lock-revision () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'-e:use ERRNAME in error messages:->errname' \
+		'(--unlock)-u[release the indicated lock]' \
+		'(-u)--unlock[release the indicated lock]' \
+		'--break[break the indicated lock]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_push-mirror] )) ||
+_larch_push-mirror () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		"--pull[pull, don't push]" \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_build-config] )) ||
+_larch_build-config () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_update-config] )) ||
+_larch_update-config () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'--force[pass the --force flag to update]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_replay-config] )) ||
+_larch_replay-config () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_record-config] )) ||
+_larch_record-config () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'(--force)-f[overwrite an existing config]' \
+		'(-f)--force[overwrite an existing config]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_show-config] )) ||
+_larch_show-config () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-d:cd to DIR first:->DIR' \
+		'(-d)--dir:cd to DIR first:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_config-history] )) ||
+_larch_config-history () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[list revisions from newest to oldest]' \
+		'(-r)--reverse[list revisions from newest to oldest]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_update] )) ||
+_larch_update () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--in-place[update in place]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--force[force update even if tree is up-to-date]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_replay] )) ||
+_larch_replay () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--exact[apply one patch specifically]' \
+		'--in-place[modify an existing directory]' \
+		'--list:read a list of patches to apply:->FILE' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_delta-patch] )) ||
+_larch_delta-patch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--in-place[modify an existing directory]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_star-merge] )) ||
+_larch_star-merge () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--in-place[star-merge in place]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--finish[finish a two-part merge]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_make-sync-tree] )) ||
+_larch_make-sync-tree () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		"--no-pristine[don't save a pristine copy]" \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_tag] )) ||
+_larch_tag () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--log-file)-L:specify the log-file:->file' \
+		'(-L)--log-file:specify the log-file:->file' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--seal[commit the version revision]' \
+		'--fix[commit a versionfix- patch level]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_prepare-branch] )) ||
+_larch_prepare-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_finish-branch] )) ||
+_larch_finish-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_join-branch] )) ||
+_larch_join-branch () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--in-place[modify an existing directory]' \
+		'--force[apply the patch even if the tree]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_whats-missing] )) ||
+_larch_whats-missing () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-d:specify project tree:->DIR' \
+		'(-d)--dir:specify project tree:->DIR' \
+		'(--reverse)-r[sort from oldest to newest]' \
+		'(-r)--reverse[sort from oldest to newest]' \
+		'(--summary)-s[print a summary of each patch]' \
+		'(-s)--summary[print a summary of each patch]' \
+		'(--full)-f[print full names of patch levels]' \
+		'(-f)--full[print full names of patch levels]' \
+		'--merges[print the merge list for each patch]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_what-changed] )) ||
+_larch_what-changed () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--dir:cd to DIR first:->DIR' \
+		'(--output)-o:specify an output directory name:->OUTUPT' \
+		'(-o)--output:specify an output directory name:->OUTUPT' \
+		'--diffs[include diffs in outline]' \
+		'--html[also generate HTML format output]' \
+		'--url[output should be a URL]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_file-diffs] )) ||
+_larch_file-diffs () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--html[produce HTML format output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_pristines] )) ||
+_larch_pristines () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--dir)-D:cd to DIR first:->DIR' \
+		'(-D)--dir:cd to DIR first:->DIR' \
+		'(--long)-l[long format listing]' \
+		'(-l)--long[long format listing]' \
+		'(--reverse)-r[reverse sort order]' \
+		'(-r)--reverse[reverse sort order]' \
+		'--unlocked[list only unlocked pristines]' \
+		'--locked[list only locked pristines]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_lock-pristine] )) ||
+_larch_lock-pristine () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--dir)-D:cd to DIR first:->DIR' \
+		'(-D)--dir:cd to DIR first:->DIR' \
+		'(--unlock)-u[unlock the revision]' \
+		'(-u)--unlock[unlock the revision]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_my-revision-library] )) ||
+_larch_my-revision-library () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--errname)-e:specify program name for errors:->prog' \
+		'(-e)--errname:specify program name for errors:->prog' \
+		"(--silent)-s[don't print a reassuring message]" \
+		"(-s)--silent[don't print a reassuring message]" \
+		'(--delete)-d[unspecify your library location]' \
+		'(-d)--delete[unspecify your library location]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-find] )) ||
+_larch_library-find () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--silent)-s[no output (except odd errors)]' \
+		'(-s)--silent[no output (except odd errors)]' \
+		'(--errname)-e:use NAME in error messages:->NAME' \
+		'(-e)--errname:use NAME in error messages:->NAME' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-add] )) ||
+_larch_library-add () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'--ignore-extra-args[ignore extra argyments]' \
+		"--skip-readmes[don't update readme files]" \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-remove] )) ||
+_larch_library-remove () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-archives] )) ||
+_larch_library-archives () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--reverse)-r[reverse the listing]' \
+		'(-r)--reverse[reverse the listing]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-categories] )) ||
+_larch_library-categories () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[reverse the listing]' \
+		'(-r)--reverse[reverse the listing]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-branches] )) ||
+_larch_library-branches () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[reverse the listing]' \
+		'(-r)--reverse[reverse the listing]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-versions] )) ||
+_larch_library-versions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[reverse the listing]' \
+		'(-r)--reverse[reverse the listing]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-revisions] )) ||
+_larch_library-revisions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'(--reverse)-r[reverse the listing]' \
+		'(-r)--reverse[reverse the listing]' \
+		'(--summary)-s[print a summary of each patch]' \
+		'(-s)--summary[print a summary of each patch]' \
+		'(--creator)-c[print the creator id of each patch]' \
+		'(-c)--creator[print the creator id of each patch]' \
+		'(--date)-D[print the date of each patch]' \
+		'(-D)--date[print the date of each patch]' \
+		'--full[print full patch level names]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-log] )) ||
+_larch_library-log () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--silent[suppress error messages for missing]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_library-file] )) ||
+_larch_library-file () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--tag[interpret FILE as an inventory tag]' \
+		'--this[find the tag of FILE relative to]' \
+		"--silent[don't print an error message]" \
+		'(--errname)-e:use NAME in error messages:->NAME' \
+		'(-e)--errname:use NAME in error messages:->NAME' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_touched-files-prereqs] )) ||
+_larch_touched-files-prereqs () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--show-files[list the overlapping files]' \
+		'--exclude:specify an ERE for files to ignore:->ERE' \
+		'--missing-from:list only patches not already:->DIR' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_patch-set-web] )) ||
+_larch_patch-set-web () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'(--dir)-D:use project tree containing DIR:->DIR' \
+		'(-D)--dir:use project tree containing DIR:->DIR' \
+		'(--title)-t:set the page title:->TITLE' \
+		'(-t)--title:set the page title:->TITLE' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_update-distributions] )) ||
+_larch_update-distributions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--root)-R:specify the local archive root:->root' \
+		'(-R)--root:specify the local archive root:->root' \
+		'(--archive)-A:specify the archive name:->archive' \
+		'(-A)--archive:specify the archive name:->archive' \
+		'--cache:cache directory for locally cached:->DIR' \
+		'--config:after checking out the revision, pass:->NAME' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_distribution-name] )) ||
+_larch_distribution-name () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--dist:use name, rather than the branch:->NAME' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_notify] )) ||
+_larch_notify () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'--silent[no output (except odd errors)]' \
+		'--quiet[brief output]' \
+		'--report[default output]' \
+		'--verbose[maximal output]' \
+		'--debug[debugging output]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_my-notifier] )) ||
+_larch_my-notifier () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'(--errname)-e:specify program name for errors:->prog' \
+		'(-e)--errname:specify program name for errors:->prog' \
+		"(--silent)-s[don't print a reassuring message]" \
+		"(-s)--silent[don't print a reassuring message]" \
+		'(--delete)-d[unspecify your library location]' \
+		'(-d)--delete[unspecify your library location]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_mail-new-categories] )) ||
+_larch_mail-new-categories () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_mail-new-branches] )) ||
+_larch_mail-new-branches () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_mail-new-versions] )) ||
+_larch_mail-new-versions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_mail-new-revisions] )) ||
+_larch_mail-new-revisions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_notify-library] )) ||
+_larch_notify-library () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_notify-browser] )) ||
+_larch_notify-browser () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_push-new-revisions] )) ||
+_larch_push-new-revisions () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'*: :_files' \
+           && return 0
+            }
+
+(( $+functions[_larch_sendmail-mailx] )) ||
+_larch_sendmail-mailx () { 
+	_arguments  \
+		'(--version)-V[print version info]' \
+		'(-V)--version[print version info]' \
+		'(--help)-h[display help]' \
+		'(-h)--help[display help]' \
+		'-s:set the message subject:->SUBJECT' \
+		'*: :_files' \
+           && return 0
+            }
+
+
+#Now call redefined function
+_larch "$*"