summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2014-09-10 11:53:50 +0100
committerPádraig Brady <P@draigBrady.com>2014-09-11 10:53:06 +0100
commite8715100cb2824fbd8ec724728a21fffdbcdb9f5 (patch)
treed86587e5962a3bb838eb20fe41940a5a2e3de8af
parente4627416b4be078a184372b9b0582517612a3c39 (diff)
downloadcoreutils-e8715100cb2824fbd8ec724728a21fffdbcdb9f5.tar.xz
doc: reference online info pages directly from man pages
* src/system.h (emit_ancillary_info): Add a direct reference to the corresponding online info documentation. Corresponding redirects were put in place on www.gnu.org to allow for concise links. * help2man: Adjust to add the "online help" link (and subsequent translation bugs link) to a "REPORTING BUGS" section. Also add the concise links for further information in --help to the "SEE ALSO" section, and dispense with the more verbose default for that.
-rwxr-xr-xman/help2man24
-rw-r--r--src/system.h13
2 files changed, 30 insertions, 7 deletions
diff --git a/man/help2man b/man/help2man
index bfeb98972..fe786ac22 100755
--- a/man/help2man
+++ b/man/help2man
@@ -405,16 +405,19 @@ s/\\/\x82/g;
# "(?:[\\w-]+ +)?" in the bug reporting pattern is used to indicate an
# optional word, so that either "Report bugs" or "Report _program_ bugs" will
# be matched.
-my $PAT_BUGS = _('Report +(?:[\w-]+ +)?bugs|Email +bug +reports +to');
+my $PAT_BUGS = _('Report +(?:[\w-]+ +)?bugs|' .
+ 'Email +bug +reports +to|' .
+ '.* +online +help:');
my $PAT_AUTHOR = _('Written +by');
my $PAT_OPTIONS = _('Options');
my $PAT_ENVIRONMENT = _('Environment');
my $PAT_FILES = _('Files');
my $PAT_EXAMPLES = _('Examples');
my $PAT_FREE_SOFTWARE = _('This +is +free +software');
+my $PAT_SEE_ALSO = _('Full +documentation');
# Start a new paragraph (if required) for these.
-s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR) /$1\n\n$2 /og;
+s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR|$PAT_SEE_ALSO) /$1\n\n$2 /og;
# Convert iso-8859-1 copyright symbol or (c) to nroff
# character.
@@ -462,6 +465,12 @@ while (length)
$sect = _('AUTHOR');
}
+ elsif (/^($PAT_SEE_ALSO)/o)
+ {
+ $sect = _('SEE ALSO');
+ $opt_no_info = 1;
+ }
+
# Examples, indicated by an indented leading $, % or > are
# rendered in a constant width font.
if (/^( +)([\$\%>] )\S/)
@@ -588,6 +597,17 @@ while (length)
# ...
s/\n([[:upper:]])/\n.br\n$1/g;
}
+ elsif ($sect eq _('SEE ALSO'))
+ {
+ # Handle external references of the form:
+ #
+ # GNU <package> online resources: <addr>
+ # Full documentation at: <addr>
+ # or available locally via: info ...
+ #
+ s/\'/\\(aq/g; # shell quotes for info command
+ s/\n(.)/\n.br\n$1/g; # separate lines for each item
+ }
}
# Check if matched paragraph contains /pat/.
diff --git a/src/system.h b/src/system.h
index 00180cb02..1682b3211 100644
--- a/src/system.h
+++ b/src/system.h
@@ -567,7 +567,10 @@ Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n\
static inline void
emit_ancillary_info (void)
{
+ char const * program = last_component (program_name);
+
printf (_("\n%s online help: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
+
/* Don't output this redundant message for English locales.
Note we still output for 'C' so that it gets included in the man page. */
const char *lc_messages = setlocale (LC_MESSAGES, NULL);
@@ -578,12 +581,12 @@ emit_ancillary_info (void)
the URLs at http://translationproject.org/team/. Otherwise, replace
the entire URL with your translation team's email address. */
printf (_("Report %s translation bugs to "
- "<http://translationproject.org/team/>\n"),
- last_component (program_name));
+ "<http://translationproject.org/team/>\n"), program);
}
- printf (_("For complete documentation, run: "
- "info '(coreutils) %s invocation'\n"),
- last_component (program_name));
+ printf (_("Full documentation at: <%s%s>\n"),
+ PACKAGE_URL, program);
+ printf (_("or available locally via: info '(coreutils) %s invocation'\n"),
+ program);
}
static inline void