mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-08-06 00:29:44 +02:00
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.
This commit is contained in:
+22
-2
@@ -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/.
|
||||
|
||||
+8
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user