Project Info Name.......: gnu-hello
Description: GNU Hello


gnu-hello       
Info
Commit...:5b958cabf78b171bb2783124a7b8b37d6a2f4d8d
Author...:karl <>
Committer:karl <>
Date.....:Sun Jul 16 00:01:23 2006 +0000
Parents..:35d9b5fb76e0c0eaa57660c57dc412376589b85e

Message
[project @ 2006-07-16 00:01:23 by karl]
update manual

Changes
diff --git a/doc/ChangeLog b/doc/ChangeLog
line changes: +4/-0
index e5731f2..bc882d3
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2006-07-15  Karl Berry  <karl@gnu.org>
+
+	* hello.texi: thoroughly update the entire manual.
+
 2006-05-03  Karl Berry  <karl@gnu.org>
 
 	* hello.texi: bring somewhat up to date.

diff --git a/doc/hello.info b/doc/hello.info
line changes: +130/-81
index 2370c6c..b950bdd
--- a/doc/hello.info
+++ b/doc/hello.info
@@ -1,6 +1,6 @@
-This is hello.info, produced by makeinfo version 4.8 from hello.texi.
+This is hello.info, produced by makeinfo version 4.8.90 from hello.texi.
 
-   This manual is for GNU Hello (version 2.9.90, 3 May 2006), which
+   This manual is for GNU Hello (version 2.9.90, 15 July 2006), which
 prints a friendly greeting (and serves as an example GNU package).
 
    Copyright (C) 1992, 1993, 1996, 2002, 2005, 2006 Free Software
@@ -29,7 +29,7 @@ File: hello.info,  Node: Top,  Next: Overview,  Up: (dir)
 GNU Hello
 *********
 
-This manual is for GNU Hello (version 2.9.90, 3 May 2006).
+This manual is for GNU Hello (version 2.9.90, 15 July 2006).
 
 * Menu:
 
@@ -53,29 +53,46 @@ GNU General Public License, users are free (in perpetuity) to share and
 change it.
 
    Not to spoil the joke, but of course the practical purpose of GNU
-Hello is to serve as a minimal example of a GNU package.  It follows
-the GNU coding standards (*note Preface: (standards)Top.) and GNU
-maintainance standards (*note Preface: (maintain)Top.).  So although
-most manuals don't need to discuss the implementation, that is part of
-the goal here.
-
-   The Hello package also follows additional recommended development
-practices not embodied in the standards.  It uses Automake (*note
-Introduction: (Automake)Top.) and hence also Autoconf (*note
-Introduction: (Autoconf)Top.) for configuration, and Gnulib (*note
-Gnulib: (gnulib)Top.) to avoid duplication of common sources.
-
-   Internally, Hello uses the GNU `getopt_long' function to parse
-options, support GNU-style long options such as `--help'.  GNU Gettext
-(*note Introduction: (gettext)Top.) is used for internationalization
-support (Hello's greeting has been translated into many languages).
-Man pages are generated with GNU `help2man' (*note Overview:
-(help2man.GNU `help2man')Top.).  Finally, Texinfo (*note Introduction:
-(texinfo)Top.) is the documentation format for this manual.
+Hello is to serve as a minimal example of a GNU package.  So, although
+most manuals don't need to discuss the implementation of the programs
+they document, that is part of the goal here.
+
+   First, GNU Hello follows the GNU coding standards (*note Preface:
+(standards)Top.) and GNU maintainer standards (*note Preface:
+(maintain)Top.).  These are the basic documents which all GNU packages
+should adhere to.
+
+   The Hello package also implements recommended development practices
+not embodied in the standards, using other GNU packages.
+
+   * It uses Automake (*note Introduction: (Automake)Top.) and hence
+     also Autoconf (*note Introduction: (Autoconf)Top.)  for
+     configuration.
+
+   * It uses Gnulib (*note Gnulib: (gnulib)Top.) to enhance portability
+     and avoid duplication of common sources.
+
+   * GNU Gettext (*note Introduction: (gettext)Top.) is used for
+     internationalization support.  Hello's greeting has been translated
+     into many languages.
+
+   * Internally, Hello uses the GNU `getopt_long' function (*note
+     Getopt Long Options: (libc)Getopt Long Options.) to parse options,
+     thus supporting GNU-style long options such as `--help'.
+
+   * Man pages are generated with GNU `help2man' (*note Overview:
+     (help2man)Top.) from the `--help' output.  This relieves the
+     maintainers of the burden of maintaining man documentation
+     separately, yet provides a reasonable overview for man devotees.
+
+   * Finally, Texinfo (*note Introduction: (texinfo)Top.) is the
+     documentation format for this manual.  It supports output in Info,
+     HTML, PDF, DVI, plain text, XML, and other formats.
+
 
    GNU `hello' was written by Mike Haertel, David MacKenzie, Jan
 Brittenson, Charles Hannum, Roland McGrath, Noah Friedman, Karl
-Eichwalder, and The King.
+Eichwalder, Karl Berry, and The King.
 
 
 File: hello.info,  Node: Sample,  Next: Invoking hello,  Prev: Overview,  Up: Top
@@ -89,19 +106,30 @@ Here are some realistic examples of running GNU `hello'.
 
      Hello, world!
 
+   This is the output of the command `hello --traditional':
+
+     hello, world
+
    This is the output of the command `hello --help':
 
-     This is GNU Hello, THE greeting printing program.
-     Usage: hello [OPTION]
+     GNU hello, THE greeting printing program.
+
+     Usage: hello [OPTION]...
+
        -h, --help          display this help and exit
        -v, --version       display version information and exit
-       -t, --traditional   use traditional greeting format
 
-     Report bugs to bug-hello@gnu.org.
+       -t, --traditional       use traditional greeting format
+       -n, --next-generation   use next-generation greeting format
+       -g, --greeting=TEXT     use TEXT as the greeting message
 
-   This is the output of the command `hello --traditional':
+     Report bugs to bug-hello@gnu.org.
 
-     hello, world
+   For the `--help' output of GNU programs, it's strongly encouraged to
+include a brief (one or two sentences) description of what the program
+does, as well as the synopsis of how to run the program.  Any
+environment variables which affect execution should also be mentioned
+(Hello doesn't have any).
 
 
 File: hello.info,  Node: Invoking hello,  Next: Problems,  Prev: Sample,  Up: Top
@@ -115,21 +143,30 @@ The format for running the `hello' program is:
 
    `hello' supports the following options:
 
+`--greeting=TEXT'
+`-g TEXT'
+     Output TEXT.
+
 `--help'
 `-h'
-     Print an informative help message describing the options and then
-     exit.
+     Print an informative help message on standard output and exit
+     successfully.
 
-`--version'
-`-v'
-     Print the version number of `hello' on the standard error output
-     and then exit.
+`--next-generation'
+`-n'
+     Output a modern greeting, possibly including box-drawing
+     characters or other fancy stuff, using the Unicode UTF-8 locale.
 
 `--traditional'
 `-t'
      Use the traditional greeting message `hello, world' rather than
      the more modern `Hello, world!'.
 
+`--version'
+`-v'
+     Print the version number of `hello' on standard output and then
+     exit successfully.
+
 
 
 File: hello.info,  Node: Problems,  Next: Copying This Manual,  Prev: Invoking hello,  Up: Top
@@ -143,26 +180,28 @@ electronic mail to <bug-hello@gnu.org>.
    For bug reports, please include enough information for the
 maintainers to reproduce the problem.  Generally speaking, that means:
 
-   * the version number of Hello (which you can find by running
+   * The version number of Hello (which you can find by running
      `hello --version') and any other program(s) or       manual(s)
      involved.
 
-   * hardware and operating system names and versions.
+   * Hardware and operating system names and versions.
+
+   * The contents of any input files necessary to reproduce the bug.
 
-   * the contents of any input files necessary to reproduce the bug.
+   * The expected behavior and/or output.
 
-   * a description of the problem and samples of any erroneous output.
+   * A description of the problem and samples of any erroneous output.
 
-   * any unusual options you gave to `configure'.
+   * Any unusual options you gave to `configure'.
 
-   * anything else that you think would be helpful.
+   * Anything else that you think would be helpful.
 
    When in doubt whether something is needed or not, include it.  It's
 better to include too much than to leave out something important.
 
-   Patches are most welcome; if possible, please make them with
-`diff -c' (*note Overview: (diff)Top.) and include `ChangeLog' entries
-(*note Change Log: (emacs)Change Log.), and follow the existing coding
+   Patches are welcome; if possible, please make them with `diff -c'
+(*note Overview: (diff)Top.) and include `ChangeLog' entries (*note
+Change Log: (emacs)Change Log.).  Please follow the existing coding
 style.
 
 
@@ -616,61 +655,71 @@ Concept Index
 [index]
 * Menu:
 
-* --help:                                Invoking hello.       (line 14)
-* --traditional:                         Invoking hello.       (line 24)
-* --version:                             Invoking hello.       (line 19)
-* -h:                                    Invoking hello.       (line 14)
-* -t:                                    Invoking hello.       (line 24)
-* -v:                                    Invoking hello.       (line 19)
-* authors:                               Overview.             (line 33)
-* Autoconf:                              Overview.             (line 19)
-* Automake:                              Overview.             (line 19)
-* Brittenson, Jan:                       Overview.             (line 33)
+* --greeting:                            Invoking hello.       (line 14)
+* --help <1>:                            Invoking hello.       (line 18)
+* --help:                                Overview.             (line 36)
+* --next-generation:                     Invoking hello.       (line 23)
+* --traditional:                         Invoking hello.       (line 28)
+* --version:                             Invoking hello.       (line 33)
+* -g:                                    Invoking hello.       (line 14)
+* -h:                                    Invoking hello.       (line 18)
+* -n:                                    Invoking hello.       (line 23)
+* -t:                                    Invoking hello.       (line 28)
+* -v:                                    Invoking hello.       (line 33)
+* authors:                               Overview.             (line 50)
+* Autoconf:                              Overview.             (line 25)
+* Automake:                              Overview.             (line 25)
+* Berry, Karl:                           Overview.             (line 50)
+* Brittenson, Jan:                       Overview.             (line 50)
 * bug reporting:                         Problems.             (line  6)
 * checklist for bug reports:             Problems.             (line  9)
-* Eichwalder, Karl:                      Overview.             (line 33)
+* Eichwalder, Karl:                      Overview.             (line 50)
+* environment variables:                 Sample.               (line 31)
 * examples:                              Sample.               (line  6)
 * FDL, GNU Free Documentation License:   GNU Free Documentation License.
                                                                (line  6)
-* Friedman, Noah:                        Overview.             (line 33)
-* getopt_long:                           Overview.             (line 25)
-* getting help:                          Invoking hello.       (line  6)
-* GNU coding standards:                  Overview.             (line 12)
-* GNU maintenance standards:             Overview.             (line 12)
-* Gnulib:                                Overview.             (line 19)
+* Friedman, Noah:                        Overview.             (line 50)
+* Gettext:                               Overview.             (line 32)
+* GNU coding standards:                  Overview.             (line 17)
+* GNU maintainer standards:              Overview.             (line 17)
+* Gnulib:                                Overview.             (line 29)
 * greetings:                             Overview.             (line  6)
-* Haertel, Mike:                         Overview.             (line 33)
-* Hannum, Charles:                       Overview.             (line 33)
+* Haertel, Mike:                         Overview.             (line 50)
+* Hannum, Charles:                       Overview.             (line 50)
 * help:                                  Invoking hello.       (line  6)
+* help output:                           Sample.               (line 16)
+* Help2man:                              Overview.             (line 40)
 * invoking:                              Invoking hello.       (line  6)
 * joke, not:                             Overview.             (line 12)
-* King, The:                             Overview.             (line 33)
-* MacKenzie, David:                      Overview.             (line 33)
-* McGrath, Roland:                       Overview.             (line 33)
-* modern:                                Invoking hello.       (line 24)
+* King, The:                             Overview.             (line 50)
+* MacKenzie, David:                      Overview.             (line 50)
+* McGrath, Roland:                       Overview.             (line 50)
+* modern:                                Invoking hello.       (line 28)
 * options:                               Invoking hello.       (line  6)
 * overview:                              Overview.             (line  6)
-* patches, contributing:                 Problems.             (line 29)
+* patches, contributing:                 Problems.             (line 31)
 * problems:                              Problems.             (line  6)
 * reporting bugs:                        Problems.             (line  6)
-* sample:                                Sample.               (line  6)
-* standards, GNU coding:                 Overview.             (line 12)
-* standards, GNU maintenance:            Overview.             (line 12)
+* sample output:                         Sample.               (line  6)
+* standards, GNU coding:                 Overview.             (line 17)
+* standards, GNU maintainer:             Overview.             (line 17)
 * tail recursion:                        Concept Index.        (line  6)
-* traditional:                           Invoking hello.       (line 24)
+* Texinfo:                               Overview.             (line 45)
+* traditional:                           Invoking hello.       (line 28)
+* Unicode:                               Invoking hello.       (line 23)
 * usage:                                 Invoking hello.       (line  6)
-* version:                               Invoking hello.       (line  6)
+* UTF-8:                                 Invoking hello.       (line 23)
 
 
 
 Tag Table:
-Node: Top1067
-Node: Overview1476
-Node: Sample3173
-Node: Invoking hello3850
-Node: Problems4424
-Node: Copying This Manual5602
-Node: GNU Free Documentation License5841
-Node: Concept Index28250
+Node: Top1072
+Node: Overview1483
+Node: Sample3745
+Node: Invoking hello4857
+Node: Problems5643
+Node: Copying This Manual6863
+Node: GNU Free Documentation License7102
+Node: Concept Index29511
 
 End Tag Table

diff --git a/doc/hello.texi b/doc/hello.texi
line changes: +117/-61
index c588eba..b938c6f
--- a/doc/hello.texi
+++ b/doc/hello.texi
@@ -9,16 +9,16 @@
 This manual is for GNU Hello (version @value{VERSION}, @value{UPDATED}),
 which prints a friendly greeting (and serves as an example GNU package).
 
-Copyright (C) 1992, 1993, 1996, 2002, 2005, 2006 Free Software Foundation,
-Inc.
+Copyright @copyright{} 1992, 1993, 1996, 2002, 2005, 2006 Free
+Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
-and with the Back-Cover Texts as in (a) below.  A copy of the
-license is included in the section entitled ``GNU Free Documentation
+and with the Back-Cover Texts as in (a) below.  A copy of the license
+is included in the section entitled ``GNU Free Documentation
 License.''
 
 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
@@ -32,7 +32,6 @@ Software Foundation raise funds for GNU development.''
 @c Combine everything into one index (arbitrarily chosen to be the
 @c concept index).
 @syncodeindex op cp
-@syncodeindex fn cp
 
 @dircategory Basics
 @direntry
@@ -80,38 +79,66 @@ would otherwise be unavailable to them.  Because it is protected by
 the GNU General Public License, users are free (in perpetuity) to
 share and change it.
 
-@cindex GNU coding standards
-@cindex GNU maintenance standards
-@cindex standards, GNU coding
-@cindex standards, GNU maintenance
 @cindex joke, not
 Not to spoil the joke, but of course the practical purpose of GNU
-Hello is to serve as a minimal example of a GNU package.  It follows
-the GNU coding standards (@pxref{Top,,Preface,standards, GNU Coding
-Standards}) and GNU maintainance standards
-(@pxref{Top,,Preface,maintain, Information for GNU Maintainers}).  So
-although most manuals don't need to discuss the implementation, that
-is part of the goal here.
+Hello is to serve as a minimal example of a GNU package.  So, although
+most manuals don't need to discuss the implementation of the programs
+they document, that is part of the goal here.
+
+@cindex GNU coding standards
+@cindex GNU maintainer standards
+@cindex standards, GNU coding
+@cindex standards, GNU maintainer
+First, GNU Hello follows the GNU coding standards
+(@pxref{Top,,Preface,standards, GNU Coding Standards}) and GNU
+maintainer standards (@pxref{Top,,Preface,maintain, Information for
+GNU Maintainers}).  These are the basic documents which all GNU
+packages should adhere to.
 
+The Hello package also implements recommended development practices
+not embodied in the standards, using other GNU packages.
+
+@itemize @bullet
+
+@item
 @cindex Automake
 @cindex Autoconf
+It uses Automake (@pxref{Top,,Introduction,Automake,GNU Automake}) and
+hence also Autoconf (@pxref{Top,,Introduction,Autoconf,GNU Autoconf})
+for configuration.
+
+@item
 @cindex Gnulib
-The Hello package also follows additional recommended development
-practices not embodied in the standards.  It uses Automake
-(@pxref{Top,,Introduction,Automake,GNU Automake}) and hence also
-Autoconf (@pxref{Top,,Introduction,Autoconf,GNU Autoconf}) for
-configuration, and Gnulib (@pxref{Top,,Gnulib,gnulib,GNU gnulib}) to
-avoid duplication of common sources.
-
-@findex getopt_long
-Internally, Hello uses the GNU @code{getopt_long} function to parse
-options, support GNU-style long options such as @samp{--help}.  GNU
-Gettext (@pxref{Top,,Introduction,gettext,GNU Gettext}) is used for
-internationalization support (Hello's greeting has been translated
-into many languages).  Man pages are generated with GNU
-@code{help2man} (@pxref{Top,,Overview,help2man.GNU @code{help2man}}).
+It uses Gnulib (@pxref{Top,,Gnulib,gnulib,GNU gnulib}) to enhance
+portability and avoid duplication of common sources.
+
+@item
+@cindex Gettext
+GNU Gettext (@pxref{Top,,Introduction,gettext,GNU Gettext}) is used
+for internationalization support.  Hello's greeting has been translated
+into many languages.
+
+@item
+@opindex --help
+Internally, Hello uses the GNU @code{getopt_long} function
+(@pxref{Getopt Long Options,,,libc,GNU C Library}) to parse options,
+thus supporting GNU-style long options such as @option{--help}.
+
+@item
+@cindex Help2man
+Man pages are generated with GNU @code{help2man}
+(@pxref{Top,,Overview,help2man,GNU @code{help2man}}) from the
+@option{--help} output.  This relieves the maintainers of the burden
+of maintaining man documentation separately, yet provides a reasonable
+overview for man devotees.
+
+@item
+@cindex Texinfo
 Finally, Texinfo (@pxref{Top,,Introduction,texinfo,Texinfo}) is the
-documentation format for this manual.
+documentation format for this manual.  It supports output in Info,
+HTML, PDF, DVI, plain text, XML, and other formats.
+
+@end itemize
 
 @cindex authors
 @cindex Haertel, Mike
@@ -122,15 +149,16 @@ documentation format for this manual.
 @cindex Friedman, Noah
 @cindex Eichwalder, Karl
 @cindex King, The
+@cindex Berry, Karl
 GNU @code{hello} was written by Mike Haertel, David MacKenzie, Jan
 Brittenson, Charles Hannum, Roland McGrath, Noah Friedman, Karl
-Eichwalder, and @w{The King}.
+Eichwalder, Karl Berry, and @w{The King}.
 
 
 @node Sample
 @chapter Sample Output
 
-@cindex sample
+@cindex sample output
 @cindex examples
 
 Here are some realistic examples of running GNU @code{hello}.
@@ -141,34 +169,45 @@ This is the output of the command @samp{hello}:
 Hello, world!
 @end example
 
+This is the output of the command @samp{hello --traditional}:
+
+@example
+hello, world
+@end example
+
+@cindex help output
 This is the output of the command @samp{hello --help}:
 
 @example
-This is GNU Hello, THE greeting printing program.
-Usage: hello [OPTION]
+GNU hello, THE greeting printing program.
+
+Usage: hello [OPTION]...
+
   -h, --help          display this help and exit
   -v, --version       display version information and exit
-  -t, --traditional   use traditional greeting format
+
+  -t, --traditional       use traditional greeting format
+  -n, --next-generation   use next-generation greeting format
+  -g, --greeting=TEXT     use TEXT as the greeting message
 
 Report bugs to bug-hello@@gnu.org.
 @end example
 
-This is the output of the command @samp{hello --traditional}:
-
-@example
-hello, world
-@end example
+@cindex environment variables
+For the @option{--help} output of GNU programs, it's strongly
+encouraged to include a brief (one or two sentences) description of
+what the program does, as well as the synopsis of how to run the
+program.  Any environment variables which affect execution should also
+be mentioned (Hello doesn't have any).
 
 
 @node Invoking hello
 @chapter Invoking @code{hello}
 
 @cindex invoking
-@cindex version
 @cindex options
 @cindex usage
 @cindex help
-@cindex getting help
 
 The format for running the @code{hello} program is:
 
@@ -178,19 +217,28 @@ hello @var{option} @dots{}
 
 @code{hello} supports the following options:
 
-@table @samp
+@table @option
+@item --greeting=@var{text}
+@itemx -g @var{text}
+@opindex --greeting
+@opindex -g
+Output @var{text}.
+
 @item --help
 @itemx -h
 @opindex --help
 @opindex -h
-Print an informative help message describing the options and then exit.
-
-@item --version
-@itemx -v
-@opindex --version
-@opindex -v
-Print the version number of @code{hello} on the standard error output
-and then exit.
+Print an informative help message on standard output and exit
+successfully.
+
+@item --next-generation
+@itemx -n
+@opindex --next-generation
+@opindex -n
+@cindex Unicode
+@cindex UTF-8
+Output a modern greeting, possibly including box-drawing
+characters or other fancy stuff, using the Unicode UTF-8 locale.
 
 @item --traditional
 @itemx -t
@@ -201,6 +249,13 @@ and then exit.
 Use the traditional greeting message @samp{hello, world} rather 
 than the more modern @samp{Hello, world!}.
 
+@item --version
+@itemx -v
+@opindex --version
+@opindex -v
+Print the version number of @code{hello} on standard output
+and then exit successfully.
+
 @end table
 
 
@@ -219,24 +274,25 @@ For bug reports, please include enough information for the maintainers
 to reproduce the problem.  Generally speaking, that means:
 
 @itemize @bullet
-@item the version number of Hello (which you can find by running
+@item The version number of Hello (which you can find by running
       @w{@samp{hello --version}}) and any other program(s) or
       manual(s) involved.
-@item hardware and operating system names and versions.
-@item the contents of any input files necessary to reproduce the bug.
-@item a description of the problem and samples of any erroneous output.
-@item any unusual options you gave to @command{configure}.
-@item anything else that you think would be helpful.
+@item Hardware and operating system names and versions.
+@item The contents of any input files necessary to reproduce the bug.
+@item The expected behavior and/or output.
+@item A description of the problem and samples of any erroneous output.
+@item Any unusual options you gave to @command{configure}.
+@item Anything else that you think would be helpful.
 @end itemize
 
 When in doubt whether something is needed or not, include it.  It's
 better to include too much than to leave out something important.
 
 @cindex patches, contributing
-Patches are most welcome; if possible, please make them with
-@samp{@w{diff -c}} (@pxref{Top,, Overview, diff, Comparing and Merging
-Files}) and include @file{ChangeLog} entries (@pxref{Change Log,,,
-emacs, The GNU Emacs Manual}), and follow the existing coding style.
+Patches are welcome; if possible, please make them with @samp{@w{diff
+-c}} (@pxref{Top,, Overview, diff, Comparing and Merging Files}) and
+include @file{ChangeLog} entries (@pxref{Change Log,,, emacs, The GNU
+Emacs Manual}).  Please follow the existing coding style.
 
 
 @node Copying This Manual

diff --git a/doc/version.texi b/doc/version.texi
line changes: +2/-2
index c2360b7..2e694e5
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 3 May 2006
-@set UPDATED-MONTH May 2006
+@set UPDATED 15 July 2006
+@set UPDATED-MONTH July 2006
 @set EDITION 2.9.90
 @set VERSION 2.9.90

This website is licensed under AGPL-3.0. Feel free to copy!