git-commit-vandalism/Documentation
Jeff King 709ca730f8 run-command: encode signal death as a positive integer
When a sub-command dies due to a signal, we encode the
signal number into the numeric exit status as "signal -
128". This is easy to identify (versus a regular positive
error code), and when cast to an unsigned integer (e.g., by
feeding it to exit), matches what a POSIX shell would return
when reporting a signal death in $? or through its own exit
code.

So we have a negative value inside the code, but once it
passes across an exit() barrier, it looks positive (and any
code we receive from a sub-shell will have the positive
form). E.g., death by SIGPIPE (signal 13) will look like
-115 to us in inside git, but will end up as 141 when we
call exit() with it. And a program killed by SIGPIPE but run
via the shell will come to us with an exit code of 141.

Unfortunately, this means that when the "use_shell" option
is set, we need to be on the lookout for _both_ forms. We
might or might not have actually invoked the shell (because
we optimize out some useless shell calls). If we didn't invoke
the shell, we will will see the sub-process's signal death
directly, and run-command converts it into a negative value.
But if we did invoke the shell, we will see the shell's
128+signal exit status. To be thorough, we would need to
check both, or cast the value to an unsigned char (after
checking that it is not -1, which is a magic error value).

Fortunately, most callsites do not care at all whether the
exit was from a code or from a signal; they merely check for
a non-zero status, and sometimes propagate the error via
exit(). But for the callers that do care, we can make life
slightly easier by just using the consistent positive form.

This actually fixes two minor bugs:

  1. In launch_editor, we check whether the editor died from
     SIGINT or SIGQUIT. But we checked only the negative
     form, meaning that we would fail to notice a signal
     death exit code which was propagated through the shell.

  2. In handle_alias, we assume that a negative return value
     from run_command means that errno tells us something
     interesting (like a fork failure, or ENOENT).
     Otherwise, we simply propagate the exit code. Negative
     signal death codes confuse us, and we print a useless
     "unable to run alias 'foo': Success" message. By
     encoding signal deaths using the positive form, the
     existing code just propagates it as it would a normal
     non-zero exit code.

The downside is that callers of run_command can no longer
differentiate between a signal received directly by the
sub-process, and one propagated. However, no caller
currently cares, and since we already optimize out some
calls to the shell under the hood, that distinction is not
something that should be relied upon by callers.

Fix the same logic in t/test-terminal.perl for consistency [jc:
raised by Jonathan in the discussion].

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-06 11:09:18 -08:00
..
howto correct spelling: an URL -> a URL 2012-03-28 08:47:23 -07:00
pt_BR
RelNotes Git 1.8.0 2012-10-21 13:56:23 -07:00
technical run-command: encode signal death as a positive integer 2013-01-06 11:09:18 -08:00
.gitattributes
.gitignore Documentation: ignore *.pdf files 2011-08-08 09:30:12 -07:00
asciidoc.conf Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11 2012-09-11 11:08:40 -07:00
blame-options.txt use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
build-docdep.perl
cat-texi.perl
cmd-list.perl
CodingGuidelines Documentation/CodingGuidelines: spell out more shell guidelines 2012-08-15 11:00:39 -07:00
config.txt Merge branch 'pp/maint-doc-pager-config' 2012-11-04 08:00:38 -05:00
date-formats.txt
diff-config.txt diff: diff.context configuration gives default to -U 2012-09-30 20:16:01 -07:00
diff-format.txt
diff-generate-patch.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
diff-options.txt Documentation: Fix misspellings 2012-06-22 14:25:04 -07:00
docbook-xsl.css
docbook.xsl
everyday.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
fetch-options.txt Doc: shallow clone deepens _to_ new depth 2012-09-18 21:47:12 -07:00
fix-texi.perl
git-add.txt Doc add: link gitignore 2012-09-18 21:49:46 -07:00
git-am.txt Merge branch 'jb/am-include' 2012-04-20 15:49:16 -07:00
git-annotate.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-apply.txt apply: document --3way option 2012-07-09 14:40:03 -07:00
git-archimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-archive.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-bisect-lk2009.txt
git-bisect.txt bisect: add support for bisecting bare repositories 2011-08-09 10:26:18 -07:00
git-blame.txt git blame: document that it always follows origin across whole-file renames 2012-09-21 12:14:19 -07:00
git-branch.txt Merge branch 'po/maint-docs' 2012-09-25 10:39:52 -07:00
git-bundle.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-cat-file.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-check-attr.txt Teach '--cached' option to check-attr 2011-09-22 16:38:22 -07:00
git-check-ref-format.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-checkout-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-checkout.txt Merge branch 'jc/maint-checkout-fileglob-doc' into maint-1.7.11 2012-09-14 20:45:03 -07:00
git-cherry-pick.txt Merge branch 'cw/cherry-pick-allow-empty-message' 2012-09-03 15:53:37 -07:00
git-cherry.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-citool.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-clean.txt Doc clean: add See Also link 2012-09-18 21:49:50 -07:00
git-clone.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
git-column.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
git-commit-tree.txt Revert "git-commit-tree(1): update synopsis" 2012-07-17 13:11:03 -07:00
git-commit.txt Merge branch 'tj/maint-doc-commit-sign' 2012-11-04 08:00:47 -05:00
git-config.txt Sync with 1.7.11.6 2012-09-11 11:23:54 -07:00
git-count-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-credential-cache--daemon.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
git-credential-cache.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
git-credential-store.txt command-list: mention git-credential-* helpers 2012-08-08 12:11:54 -07:00
git-credential.txt Documentation: list git-credential in plumbing commands 2012-08-08 09:59:17 -07:00
git-cvsexportcommit.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-cvsimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-cvsserver.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-daemon.txt Merge branch 'jc/daemon-access-hook' 2012-09-03 15:54:03 -07:00
git-describe.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-diff-files.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-diff-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-diff-tree.txt docs: fix some antique example output 2011-05-26 22:15:39 -07:00
git-diff.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-difftool.txt mergetool,difftool: Document --tool-help consistently 2012-08-10 08:07:41 -07:00
git-fast-export.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-fast-import.txt Merge branch 'er/doc-fast-import-done' into maint 2012-09-18 14:33:52 -07:00
git-fetch-pack.txt fetch-pack: new --stdin option to read refs from stdin 2012-04-02 13:47:15 -07:00
git-fetch.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-filter-branch.txt Documentation/git-filter-branch: Move note about effect of removing commits 2012-09-18 12:51:58 -07:00
git-fmt-merge-msg.txt Document merge.branchdesc configuration variable 2012-02-23 11:20:15 -08:00
git-for-each-ref.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
git-format-patch.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
git-fsck-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-fsck.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-gc.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-get-tar-commit-id.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-grep.txt grep: add a grep.patternType configuration setting 2012-08-03 09:58:02 -07:00
git-gui.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-hash-object.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-help.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-http-backend.txt ref namespaces: documentation 2011-07-11 09:35:46 -07:00
git-http-fetch.txt Mark http-fetch without -a as deprecated 2011-08-23 21:36:20 -07:00
git-http-push.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-imap-send.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-index-pack.txt index-pack: support multithreaded delta resolving 2012-05-07 15:48:15 -07:00
git-init-db.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-init.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-instaweb.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
git-log.txt doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt 2012-09-06 13:26:50 -07:00
git-lost-found.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-ls-files.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-ls-remote.txt ls-remote: document the '--get-url' option 2012-09-07 10:58:35 -07:00
git-ls-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mailinfo.txt Merge branch 'tr/maint-mailinfo' 2012-01-12 23:34:26 -08:00
git-mailsplit.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-base.txt merge-base: "--is-ancestor A B" 2012-08-31 11:45:33 -07:00
git-merge-file.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-merge-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-one-file.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-tree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
git-mergetool--lib.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-mergetool.txt Merge branch 'da/difftool-updates' 2012-08-27 11:55:17 -07:00
git-mktag.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-mktree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-mv.txt mv: honor --verbose flag 2011-12-12 11:52:31 -08:00
git-name-rev.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-notes.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-p4.txt git-p4: add submit --conflict option and config varaiable 2012-09-16 21:52:53 -07:00
git-pack-objects.txt remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
git-pack-redundant.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-pack-refs.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-parse-remote.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-patch-id.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-peek-remote.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune-packed.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-pull.txt man: git pull -r is a short for --rebase 2012-08-17 00:26:52 -07:00
git-push.txt Merge branch 'mm/maint-doc-remote-tracking' 2012-11-04 07:59:57 -05:00
git-quiltimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-read-tree.txt Merge branch 'jh/fetch-head-update' 2012-01-06 12:44:01 -08:00
git-rebase.txt rebase -i: Teach "--edit-todo" action 2012-09-17 20:59:14 -07:00
git-receive-pack.txt Sync with 1.7.6.2 2011-09-06 11:42:12 -07:00
git-reflog.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-relink.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-remote-ext.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-remote-fd.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-remote-helpers.txt Add documentation for the 'bidi-import' capability of remote-helpers 2012-10-07 14:10:17 -07:00
git-remote-testgit.txt (short) documentation for the testgit remote helper 2011-09-01 15:52:02 -07:00
git-remote.txt remote: prefer subcommand name 'remove' to 'rm' 2012-09-06 13:23:22 -07:00
git-repack.txt fsck: --no-dangling omits "dangling object" information 2012-02-28 14:55:39 -08:00
git-replace.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-repo-config.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-request-pull.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-rerere.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-reset.txt doc: git-reset: make "<mode>" optional 2012-10-29 01:37:07 -04:00
git-rev-list.txt show: --ignore-missing 2011-05-19 10:55:54 -07:00
git-rev-parse.txt Merge branch 'jc/sha1-name-more' 2012-07-22 12:55:07 -07:00
git-revert.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-rm.txt submodule: teach rm to remove submodules unless they contain a git directory 2012-09-29 11:33:31 -07:00
git-send-email.txt send-email: document the --smtp-debug option 2012-02-27 10:29:24 -08:00
git-send-pack.txt Revert "Merge branch 'cb/maint-quiet-push' into maint" 2011-09-06 11:10:41 -07:00
git-sh-i18n--envsubst.txt correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
git-sh-i18n.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-sh-setup.txt Merge branch 'tr/doc-sh-setup' into maint 2011-12-28 11:42:51 -08:00
git-shell.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-shortlog.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
git-show-branch.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-show-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-show-ref.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-show.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-stage.txt doc: add missing git footers 2011-03-11 10:59:16 -05:00
git-stash.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-status.txt status: add --long output format option 2012-10-18 15:01:35 -07:00
git-stripspace.txt Update documentation for stripspace 2011-12-12 16:48:54 -08:00
git-submodule.txt Merge branch 'jl/submodule-add-by-name' 2012-10-29 04:12:12 -04:00
git-svn.txt Document git-svn fetch --log-window-size parameter 2012-10-26 09:32:53 -04:00
git-symbolic-ref.txt symbolic-ref --short: abbreviate the output unambiguously 2012-02-27 15:58:36 -08:00
git-tag.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-tar-tree.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-tools.txt
git-unpack-file.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-unpack-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-update-index.txt update-index: upgrade/downgrade on-disk index version 2012-04-04 09:57:50 -07:00
git-update-ref.txt Merge branch 'bw/log-all-ref-updates-doc' into maint 2011-08-16 11:41:28 -07:00
git-update-server-info.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-upload-archive.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-upload-pack.txt Merge branch 'js/ref-namespaces' 2011-08-17 17:35:38 -07:00
git-var.txt ident: report passwd errors with a more friendly message 2012-05-22 09:08:20 -07:00
git-verify-pack.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-verify-tag.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-web--browse.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-whatchanged.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-write-tree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git.txt Git 1.8.0 2012-10-21 13:56:23 -07:00
gitattributes.txt Merge branch 'jc/ll-merge-binary-ours' into maint 2012-10-17 10:26:51 -07:00
gitcli.txt gitcli: parse-options lets you omit tail of long options 2012-10-04 20:30:27 -07:00
gitcore-tutorial.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
gitcredentials.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitcvs-migration.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
gitdiffcore.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitglossary.txt
githooks.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitignore.txt Merge branch 'nd/doc-ignore' into maint 2012-10-17 10:28:42 -07:00
gitk.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
gitmodules.txt Teach "git submodule add" the --name option 2012-09-29 21:49:11 -07:00
gitnamespaces.txt Documentation/gitnamespaces.txt: cater to older asciidoc 2011-09-16 09:20:23 -07:00
gitrepository-layout.txt Doc repository-layout: Show refs/replace 2012-10-25 06:56:39 -04:00
gitrevisions.txt
gittutorial-2.txt Use correct grammar in diffstat summary line 2012-02-03 23:19:42 -08:00
gittutorial.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00
gitweb.conf.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
gitweb.txt Documentation/gitweb: trivial English fixes 2012-03-23 11:22:04 -07:00
gitworkflows.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
glossary-content.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
howto-index.sh
i18n.txt
install-doc-quick.sh docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
install-webdoc.sh
mailmap.txt
Makefile Documentation/Makefile: Allow custom XMLTO binary 2012-09-19 16:35:10 -07:00
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt Documentation: remote tracking branch -> remote-tracking branch 2012-10-25 06:55:46 -04:00
merge-options.txt merge: backport GIT_MERGE_AUTOEDIT support 2012-03-20 15:39:10 -07:00
merge-strategies.txt merge: teach -Xours/-Xtheirs to binary ll-merge driver 2012-09-08 21:27:19 -07:00
pretty-formats.txt Documentation: Document signature showing options 2012-09-20 10:28:51 -07:00
pretty-options.txt Documentation: Document signature showing options 2012-09-20 10:28:51 -07:00
pull-fetch-param.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
rev-list-options.txt log --grep: accept --basic-regexp and --perl-regexp 2012-10-09 23:21:30 -07:00
revisions.txt Merge branch 'nd/branch-v-alignment' 2012-09-07 11:10:02 -07:00
sequencer.txt revert: introduce --abort to cancel a failed cherry-pick 2011-11-22 18:16:59 -08:00
SubmittingPatches SubmittingPathces: remove Cogito reference 2011-09-11 20:53:00 -07:00
urls-remotes.txt
urls.txt Git url doc: mark ftp/ftps as read-only and deprecate them 2012-10-08 14:18:19 -07:00
user-manual.conf docs: monospace listings in docbook output 2012-08-07 14:30:52 -07:00
user-manual.txt Documentation: describe subject more precisely 2012-09-13 21:30:21 -07:00