summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-09-13 09:43:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-09-13 09:43:21 -0700
commit5280f9a0cd1f9ba200422ebba65d1e0133410995 (patch)
treebf85ce4e320a769d7e0903ff52ccfde13a422666
downloadman-5280f9a0cd1f9ba200422ebba65d1e0133410995.tar.gz
man-5280f9a0cd1f9ba200422ebba65d1e0133410995.tar.bz2
man-5280f9a0cd1f9ba200422ebba65d1e0133410995.zip
Initial.man-1.6g
-rw-r--r--COPYING339
-rw-r--r--DOAP.rdf.xml85
-rw-r--r--HISTORY128
-rw-r--r--INSTALL70
-rw-r--r--LSM26
-rw-r--r--Makefile76
-rw-r--r--Makefile.in76
-rw-r--r--README41
-rw-r--r--README.GNU-WIN3232
-rw-r--r--README.HP83
-rw-r--r--README.IRIX28
-rw-r--r--SPDX.rdf.xml35
-rw-r--r--TODO28
-rw-r--r--catopen/README29
-rw-r--r--catopen/catopen.c209
-rwxr-xr-xconf_script87
-rwxr-xr-xconfigure1379
-rw-r--r--gencat/Makefile18
-rw-r--r--gencat/gencat.c265
-rw-r--r--gencat/gencat.h107
-rw-r--r--gencat/genlib.c892
-rw-r--r--gencat/msgcat.h178
-rw-r--r--man/Makefile65
-rw-r--r--man/Makefile.in61
-rw-r--r--man/bg.txt1
-rw-r--r--man/bg/README7
-rw-r--r--man/bg/apropos.man37
-rw-r--r--man/bg/makewhatis.man104
-rw-r--r--man/bg/man.conf.man59
-rw-r--r--man/bg/man.man472
-rw-r--r--man/bg/whatis.man39
-rw-r--r--man/cs.txt1
-rw-r--r--man/cs/apropos.man29
-rw-r--r--man/cs/man.conf.man43
-rw-r--r--man/cs/man.man239
-rw-r--r--man/cs/whatis.man32
-rw-r--r--man/da.txt1
-rw-r--r--man/da/apropos.man30
-rw-r--r--man/da/man.conf.man45
-rw-r--r--man/da/man.man253
-rw-r--r--man/da/whatis.man32
-rw-r--r--man/de.txt1
-rw-r--r--man/de/README6
-rw-r--r--man/de/apropos.man29
-rw-r--r--man/de/man.conf.man43
-rw-r--r--man/de/man.man225
-rw-r--r--man/de/whatis.man31
-rw-r--r--man/el.txt1
-rw-r--r--man/el/apropos.man29
-rw-r--r--man/el/hman.man71
-rw-r--r--man/el/makewhatis.man109
-rw-r--r--man/el/man.conf.man45
-rw-r--r--man/el/man.man491
-rw-r--r--man/el/man2html.man157
-rw-r--r--man/el/whatis.man31
-rw-r--r--man/en.txt1
-rw-r--r--man/en/apropos.136
-rw-r--r--man/en/apropos.man32
-rw-r--r--man/en/makewhatis.8104
-rw-r--r--man/en/makewhatis.man100
-rw-r--r--man/en/man.1528
-rw-r--r--man/en/man.conf.550
-rw-r--r--man/en/man.conf.man46
-rw-r--r--man/en/man.man524
-rw-r--r--man/en/whatis.138
-rw-r--r--man/en/whatis.man34
-rw-r--r--man/es.txt1
-rw-r--r--man/es/README9
-rw-r--r--man/es/apropos.man41
-rw-r--r--man/es/makewhatis.man108
-rw-r--r--man/es/man.conf.man55
-rw-r--r--man/es/man.man240
-rw-r--r--man/es/whatis.man43
-rw-r--r--man/fi.txt1
-rw-r--r--man/fi/apropos.man26
-rw-r--r--man/fi/man.conf.man39
-rw-r--r--man/fi/man.man286
-rw-r--r--man/fi/whatis.man28
-rw-r--r--man/fr.txt1
-rw-r--r--man/fr/apropos.man47
-rw-r--r--man/fr/makewhatis.man123
-rw-r--r--man/fr/man.conf.man77
-rw-r--r--man/fr/man.man496
-rw-r--r--man/fr/whatis.man49
-rw-r--r--man/hr.txt1
-rw-r--r--man/hr/apropos.man31
-rw-r--r--man/hr/man.conf.man56
-rw-r--r--man/hr/man.man280
-rw-r--r--man/hr/whatis.man35
-rw-r--r--man/it.txt1
-rw-r--r--man/it/apropos.man37
-rw-r--r--man/it/makewhatis.man103
-rw-r--r--man/it/man.conf.man55
-rw-r--r--man/it/man.man504
-rw-r--r--man/it/whatis.man39
-rw-r--r--man/ja.txt1
-rw-r--r--man/ja/apropos.man34
-rw-r--r--man/ja/man.conf.man47
-rw-r--r--man/ja/man.man262
-rw-r--r--man/ja/whatis.man34
-rw-r--r--man/ko.txt1
-rw-r--r--man/ko/apropos.man25
-rw-r--r--man/ko/man.conf.man42
-rw-r--r--man/ko/man.man264
-rw-r--r--man/ko/whatis.man29
-rw-r--r--man/nl.txt1
-rw-r--r--man/nl/apropos.man28
-rw-r--r--man/nl/man.conf.man42
-rw-r--r--man/nl/man.man259
-rw-r--r--man/nl/whatis.man32
-rw-r--r--man/pl.txt1
-rw-r--r--man/pl/apropos.man35
-rw-r--r--man/pl/man.conf.man49
-rw-r--r--man/pl/man.man427
-rw-r--r--man/pl/whatis.man37
-rw-r--r--man/pt.txt1
-rw-r--r--man/pt/README6
-rw-r--r--man/pt/apropos.man28
-rw-r--r--man/pt/man.conf.man39
-rw-r--r--man/pt/man.man156
-rw-r--r--man/pt/whatis.man30
-rw-r--r--man/ro.txt1
-rw-r--r--man/ro/apropos.man32
-rw-r--r--man/ro/makewhatis.man96
-rw-r--r--man/ro/man.conf.man42
-rw-r--r--man/ro/man.man434
-rw-r--r--man/ro/man2html.man144
-rw-r--r--man/ro/whatis.man34
-rw-r--r--man/sl.txt1
-rw-r--r--man/sl/apropos.man29
-rw-r--r--man/sl/man.conf.man42
-rw-r--r--man/sl/man.man263
-rw-r--r--man/sl/whatis.man31
-rw-r--r--man2html/Makefile70
-rw-r--r--man2html/Makefile.in66
-rw-r--r--man2html/README91
-rw-r--r--man2html/TODO43
-rw-r--r--man2html/abbrev.c62
-rw-r--r--man2html/cgibase.c143
-rw-r--r--man2html/defs.h41
-rw-r--r--man2html/glimpse_filters3
-rw-r--r--man2html/hman96
-rw-r--r--man2html/hman.169
-rwxr-xr-xman2html/hman.sh96
-rw-r--r--man2html/locales/en/hman.169
-rw-r--r--man2html/locales/en/man2html.1151
-rw-r--r--man2html/locales/fr/man2html.1165
-rw-r--r--man2html/locales/it/hman.171
-rw-r--r--man2html/locales/it/man2html.1153
-rw-r--r--man2html/man2html.1151
-rw-r--r--man2html/man2html.c3241
-rw-r--r--man2html/scripts/cgi-aux/man/man.aux75
-rw-r--r--man2html/scripts/cgi-aux/man/mansearch.aux49
-rw-r--r--man2html/scripts/cgi-aux/man/mansearchhelp.aux295
-rwxr-xr-xman2html/scripts/cgi-bin/man/man2html109
-rwxr-xr-xman2html/scripts/cgi-bin/man/mansearch192
-rwxr-xr-xman2html/scripts/cgi-bin/man/mansearchhelp32
-rwxr-xr-xman2html/scripts/cgi-bin/man/mansec183
-rwxr-xr-xman2html/scripts/cgi-bin/man/manwhatis208
-rw-r--r--man2html/strdefs.c176
-rw-r--r--misc/README4
-rw-r--r--misc/locales/it/manlint.166
-rw-r--r--misc/man-preformat.c332
-rw-r--r--misc/manlint225
-rw-r--r--misc/manlint.163
-rw-r--r--msgs/Makefile.in34
-rw-r--r--msgs/README25
-rw-r--r--msgs/gencat.in3
-rwxr-xr-xmsgs/gencat207fix.sh2
-rwxr-xr-xmsgs/inst.sh38
-rw-r--r--msgs/mess.bg191
-rw-r--r--msgs/mess.bg.codeset1
-rw-r--r--msgs/mess.cs170
-rw-r--r--msgs/mess.cs.codeset1
-rw-r--r--msgs/mess.da170
-rw-r--r--msgs/mess.da.codeset1
-rw-r--r--msgs/mess.de186
-rw-r--r--msgs/mess.de.codeset1
-rw-r--r--msgs/mess.el171
-rw-r--r--msgs/mess.el.codeset1
-rw-r--r--msgs/mess.en188
-rw-r--r--msgs/mess.en.codeset1
-rw-r--r--msgs/mess.es170
-rw-r--r--msgs/mess.es.codeset1
-rw-r--r--msgs/mess.fi170
-rw-r--r--msgs/mess.fi.codeset1
-rw-r--r--msgs/mess.fr190
-rw-r--r--msgs/mess.fr.codeset1
-rw-r--r--msgs/mess.hr170
-rw-r--r--msgs/mess.hr.codeset1
-rw-r--r--msgs/mess.it190
-rw-r--r--msgs/mess.it.codeset1
-rw-r--r--msgs/mess.ja171
-rw-r--r--msgs/mess.ja.codeset1
-rw-r--r--msgs/mess.ko171
-rw-r--r--msgs/mess.ko.codeset1
-rw-r--r--msgs/mess.nl189
-rw-r--r--msgs/mess.nl.codeset1
-rw-r--r--msgs/mess.pl188
-rw-r--r--msgs/mess.pl.codeset1
-rw-r--r--msgs/mess.pt165
-rw-r--r--msgs/mess.pt.codeset1
-rw-r--r--msgs/mess.ro170
-rw-r--r--msgs/mess.ro.codeset1
-rw-r--r--msgs/mess.ru170
-rw-r--r--msgs/mess.ru.codeset1
-rw-r--r--msgs/mess.sl171
-rw-r--r--msgs/mess.sl.codeset1
-rw-r--r--msgs/mess.zh_TW.UTF-8170
-rw-r--r--src/Makefile124
-rw-r--r--src/Makefile.in120
-rwxr-xr-xsrc/apropos88
-rw-r--r--src/apropos.sh88
-rw-r--r--src/defs.h26
-rw-r--r--src/different.c72
-rw-r--r--src/different.h3
-rw-r--r--src/glob.c682
-rw-r--r--src/glob.h1
-rw-r--r--src/gripedefs.h87
-rw-r--r--src/gripes.c139
-rw-r--r--src/gripes.h5
-rw-r--r--src/join.c28
-rwxr-xr-xsrc/makemsgbin0 -> 11755 bytes
-rw-r--r--src/makemsg.c175
-rwxr-xr-xsrc/makewhatis460
-rw-r--r--src/makewhatis.in456
-rw-r--r--src/makewhatis.sh456
-rw-r--r--src/man-config.c297
-rw-r--r--src/man-config.h6
-rw-r--r--src/man-getopt.c322
-rw-r--r--src/man-getopt.h6
-rw-r--r--src/man-iconv.c163
-rw-r--r--src/man-iconv.h1
-rw-r--r--src/man.c1366
-rw-r--r--src/man.conf144
-rw-r--r--src/man.conf.in140
-rw-r--r--src/man.h22
-rwxr-xr-xsrc/man2dvi36
-rw-r--r--src/manfile.c337
-rw-r--r--src/manfile.h36
-rw-r--r--src/manpath.c412
-rw-r--r--src/manpath.h5
-rw-r--r--src/msg.c106
-rwxr-xr-xsrc/mwi19
-rw-r--r--src/ndir.h51
-rw-r--r--src/paths.h43
-rw-r--r--src/paths.h.in39
-rw-r--r--src/to_cat.c171
-rw-r--r--src/to_cat.h3
-rw-r--r--src/util.c305
-rw-r--r--src/util.h13
-rw-r--r--src/version.h1
-rwxr-xr-xsrc/whatis88
-rw-r--r--version1
254 files changed, 31979 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..a43ea21
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/DOAP.rdf.xml b/DOAP.rdf.xml
new file mode 100644
index 0000000..34e15e9
--- /dev/null
+++ b/DOAP.rdf.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Project xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <name>man</name>
+ <created>2010-09-01</created>
+ <programming-language>C, Shell</programming-language>
+ <os>All Linux distributions, commercial *NIX derivatives (including OS-X), *BSD, Windows with Cygwin, Plan 9</os>
+ <shortdesc xml:lang="en">The man suite: man, man2html, hman, whatis, apropos, man2dvi</shortdesc>
+ <description xml:lang="en">
+ man is a man pager. It has support for compressed
+ pages (both man pages and cat pages), and for locale
+ ($LANG) and for message catalogs ($LC_MESSAGES). It
+ will format files given explicitly (man ./foo.man.gz).
+ It conforms to FSSTND or FHS, and handles stray cats.
+ * man2html is a utility that converts man pages to html
+ * hman is a man browser that uses your favorite browser.
+ For use with lynx, no http daemon is required.
+ Keywords: man manpath apropos whatis makewhatis
+ man.conf man2html man2dvi hman manual pager browser
+ keyword search.</description>
+ <download-page rdf:resource="http://primates.ximian.com/~flucifredi/man/" />
+ <homepage rdf:resource="http://primates.ximian.com/~flucifredi/man/" />
+ <license rdf:resource="http://usefulinc.com/doap/licenses/gpl" />
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Federico Lucifredi</foaf:name>
+ <foaf:mbox rdf:resource="mailto:flucifredi@acm.org" />
+ </foaf:Person>
+ </maintainer>
+ <release>
+ <Version>
+ <name>Latest Stable Release: 1.6g</name>
+ <created>2010-12-31</created>
+ <revision>1.6g</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6f</name>
+ <created>2007-12-31</created>
+ <revision>1.6f</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6e</name>
+ <created>2006-11-20</created>
+ <revision>1.6e</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6d</name>
+ <created>2006-6-16</created>
+ <revision>1.6d</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6c</name>
+ <created>2006-1-23</created>
+ <revision>1.6c</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6b</name>
+ <created>2005-9-19</created>
+ <revision>1.6b</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6a</name>
+ <created>2005-8-21</created>
+ <revision>1.6a</revision>
+ </Version>
+ </release>
+ <release>
+ <Version>
+ <name>1.6</name>
+ <created>2006-6-20</created>
+ <revision>1.6</revision>
+ </Version>
+ </release>
+</Project>
diff --git a/HISTORY b/HISTORY
new file mode 100644
index 0000000..a07edda
--- /dev/null
+++ b/HISTORY
@@ -0,0 +1,128 @@
+man-1.6g - 'Murcielago'
+
+- Fixed "man cut cut" throwing an error (Fedora #542852) (Ivana Varekova, flc).
+- Corrections to the man.man German locale translation (Stefan Bacher).
+- flawed treatment of Awk in configure script (Elias Pipping).
+- announcement mailing list set up (man-announce@googlegroups.com) (flc).
+- Minor fix to LZMA support (Per Øyvind Karlsen - Mandriva team).
+- Added XZ compression support (Per Øyvind Karlsen).
+- Improvements to extension handling (R. Urban, V. Zell - CYGWIN project).
+- Releases now gpg signed. Validation instructions on primary distribution
+ site (flc).
+- DOAP.rdf enabled on primary distribution site (flc).
+- EXPERIMENTAL: SPDX.rdf enabled on primary distro site (flc).
+- Changes to LSM file (flc).
+
+man-1.6f - 'Flying Fox'
+
+- Fixed incorrect shell-unsafe verification alphabet missing ampersand simbol.
+ This was being caught by another part of the code but yet still a bug (flc).
+- Unified Posix locale to the C one (J. Pello, flc).
+- Additional checks for defined but empty PAGER environment variable (flc).
+- Don't update whatis files on read-only partitions (Mike Frysinger).
+- Added bzip support to man2dvi (Charles Clément).
+- Added bzip support to man2html (Fabiano Castro Pereira).
+- EXPERIMENTAL: added LZMA suport to man (Per Øyvind Karlsen - Mandriva team).
+- EXPERIMENTAL: added LZMA suport to makewhatis (Per Øyvind Karlsen, flc).
+- README updates: cygwin (Volker Zell).
+- Added "MANUAL SECTIONS" header to man.man (flc).
+- Fixes to avoid shebang mangling in generated scripts (Mike Frysinger).
+- makewhatis fix allowing spaces in pathnames for CYGWIN project (Volker Zell).
+- Minor corrections to the German message catalog (Volker Zell).
+- Updated Dutch Message catalog (Benno Schulenberg).
+- Minor doc changes (flc).
+
+man-1.6e - 'Dracula'
+
+- Sections used by makewhatis set via environment variable MANSECT, falling
+ back to man.conf's MANSECT setting as man does (Mike Frysinger).
+- Removed use of implicit prototypes - besides being sloppy, it leads to issues
+ on 64 bit platforms (Mike frysinger, flc).
+- Building will now honor pre-existing LDFLAGS if set (Mike Frysinger).
+- Updated Italian man pages (Giulio Daprelá).
+- Updated Spanish man pages (B. Albiñana, flc).
+- Corrected a minor bug in makewhatis' tempdir generation (flc).
+- EXPERIMENTAL: support for Plan 9 rc shell lists (Michael Haardt).
+- Overdue LSM v4 format compliance (flc).
+- Minor corrections and cleanup (flc).
+
+man-1.6d
+
+- Fixed freeing of unallocated memory in '-K' under unsafe flag (flc).
+- Corrected a bug introduced in 1.6c makewhatis - thanks to the packagers
+ that promptly pointed it out (flc).
+- corrected off-by-one in LANG splitting code (no security aspect) (flc).
+- added support for DESTDIR in man2html's Makefile (Claudio Fontana).
+- Fixed -D option (flc).
+- Header fix for variable header location of TIOCGWINSZ (Eugene Kotlyarov).
+- Corrected erroneous encoding of FR locale man pages translation (flc).
+- EXEEXT and DESTDIR fixes for gencat (Volker Zell).
+- Minor correction of CYGWIN support (Volker Zell).
+- Updated Polish message catalog and select man pages (M. Garski).
+- Minor corrections to man pages, and the German message catalog
+ (flc, Volker Zell, others).
+- Constricted locale settings for gencat (Fedora Project).
+- Corrections to makewhatis exit codes and signal handling (flc).
+- Fixes in man2html parsing (Fedora Project).
+- Minor additional corrections (flc).
+
+man-1.6c
+
+- Corrected missing format string, but no privilege escalation was involved
+ (flc, Ville-Skyttä).
+- pscan format string audit run - nothing further found (flc).
+- Updated Bulgarian locale man pages translation and message catalog
+ (Alexander Shopov).
+- makewhatis and other minor changes to support BG locale
+ (Alexander Shopov, flc).
+- Updated Italian locale message catalog translation (flc).
+- Updated French man pages, with new man2html page (Alain Portal).
+
+man-1.6b
+
+- Additional changes for parallel Make (Octavio Ruiz).
+- New French locale man pages translation (Alain Portal).
+- New French locale message catalog translation (Alain Portal).
+- Minor changes in manual pages (Giorgos Keramidas, flc).
+- Minor corrections in the docs (flc).
+
+man-1.6a
+
+- Fixes to support parallel Make (Mike Frysinger).
+- Fixes in mess.en message catalog (Martin von Gagern).
+- Corrections and updates to the manual (flc).
+
+man-1.6
+
+- New Maintainer Federico Lucifredi (flucifredi@acm.org).
+- Ability to hand HTML man pages off to a browser added (Eric S. Raymond).
+
+man-1.5p
+
+- Chinese messages (CHAO, Wei-Lun) - unused
+- Russian messages
+- Set DEFAULT_NLSPATH to "/usr/share/locale/%L/%N"
+- Prefer LC_MESSAGES over LANG
+- Don't (potentially) use a pager with apropos and whatis
+- Superfluous security fix
+- Filter .iX macros out when constructing whatis database
+- Allow globbed MANPATH items like /opt/*/man
+- Return a correct status
+- Continue search when an appropriate page was found to be inaccessible
+
+man-1.5o2:
+
+- Fixed man -k segfault
+- Allow man -k "text with spaces"
+
+man-1.5o1:
+
+- Fixed man2html array overflow
+
+man-1.5o:
+
+- Polish messages, non-dummy codesets (Jakub Bogusz <qboosh@pld-linux.org>)
+- CYGWIN fix for perl manpages (with :: in filename)
+- Fix for certain awk versions in mansec (NISHIMURA Daisuke)
+- When asked for a nonexisting page in section 1p, do not also try section 1
+
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..230177e
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,70 @@
+INSTALLATION
+
+NOTE! The default configuration file has moved from
+/usr/lib/man.config or /etc/man.conf to /usr/share/misc/man.conf.
+Remove the former two.
+The country code dk has been replaced by the language code da.
+If you had Danish man pages installed, these should probably be moved.
+
+The quick installation goes in three steps:
+ 1. configure -default
+ 2. make
+ 3. make install
+
+This should suffice for most people. The defaults are:
+ Only English man pages, no message catalogs, man not suid,
+ handle compressed man pages, compress cat pages, create cat pages
+ whenever the appropriate directory exists,
+ follow FHS by putting cat pages under /var/cache/man provided that
+ that directory exists.
+
+In order to select man pages in other languages, replace Step 1 by
+ 1. configure +lang de,en,nl
+or perhaps (especially when making a general distribution) by
+ 1. configure +lang all
+This yields all the defaults, except for the language setting.
+
+People who want something other than the default also use three steps:
+1. configure -ask
+2. make
+3. make install
+but have to answer a lot of questions during configure.
+
+In somewhat greater detail:
+
+1. Run configure. This will grope around your system a bit and then
+ ask you a number of questions. It will create a Makefile from the
+ file Makefile.in. You may have to do some fine tuning to get things
+ to work exactly right on your system. If you do, I'd like to know
+ what changes you had to make to get things working.
+
+ Man uses groff (nroff, troff) to format man pages. If you don't
+ have *roff, then you can only use preformatted man pages.
+
+ You can make man suid to some uid, say man, where man is the owner
+ of the directories (like /usr/man/cat*) for formatted man pages.
+ That way man can write formatted pages there, even when the directory
+ does not have universal write permission. However, it is fairly easy
+ to spoof man, so really this setup is not very different from the one
+ where /usr/man/cat* has universal write permission.
+ Never make man suid bin or daemon or root!
+
+ Of course it is not necessary at all to cache formatted man pages.
+ Formatting usually takes less than a second, and by not having
+ preformatted pages one avoids problems with window width, integrity, etc.
+
+2. Look at the man.conf file. This determines the programs and extensions
+ used in compressing and uncompressing cat pages. It also determines
+ the system-wide mappings from bin directories to man page directories.
+ It was constructed by configure; you might want to make some changes.
+
+3. Do a `make all', try it out, and then if you're happy with that, do
+ a `make install'. You don't need to be root to use this set of
+ programs.
+ [Note: if you want to try man with the new, not yet installed, man.conf
+ file, use "man -C ./man.conf ...".]
+
+4. Install the whatis database(s) by running makewhatis. If you want
+ to keep things absolutely current, you'll need to run this whenever
+ you add new man pages. You might want to add an entry in your
+ crontab.
diff --git a/LSM b/LSM
new file mode 100644
index 0000000..2baa123
--- /dev/null
+++ b/LSM
@@ -0,0 +1,26 @@
+Begin4
+Title: man
+Version: 1.6g
+Entered-date: 2010-12-31
+Description: * man is a man pager. It has support for compressed
+ pages (both man pages and cat pages), and for locale
+ ($LANG) and for message catalogs ($LC_MESSAGES). It
+ will format files given explicitly (man ./foo.man.gz).
+ It conforms to FSSTND or FHS, and handles stray cats.
+ * man2html is a utility that converts man pages to html
+ * hman is a man browser that uses your favorite browser.
+ For use with lynx, no http daemon is required.
+ Keywords: man manpath apropos whatis makewhatis
+ man.conf man2html man2dvi hman manual pager browser
+ keyword search
+Keywords: man, man2html, hman, whatis, apropos, man2dvi
+Author: John Eaton, Richard Verhoeven, Michael Hamilton,
+ Andries Brouwer, Federico lucifredi (flucifredi@acm.org)
+Maintained-by: Federico Lucifredi (flucifredi@acm.org)
+Primary-site: http://primates.ximian.com/~flucifredi/man/
+ 251k man-1.6g.tar.gz
+ 1378 man-1.6g.lsm
+Alternate-site: http://www.people.fas.harvard.edu/~lucifred/man/
+Alternate-site: ftp://metalab.unc.edu/pub/Linux/apps/doctools/man/
+Copying-policy: Copyright by authors. Distributable under GPL.
+End
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3fc74e0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,76 @@
+# Makefile for man
+# [need allow_null_glob_expansion=true]
+# The parts behind
+
+all: Makefile conf_script source manhtml manpages
+ @echo; echo 'You can now do "make install"'
+
+# On a machine with time before distribution time
+# it may be necessary to touch all distributed files
+
+Makefile: Makefile.in configure
+ @echo "Please run configure first"
+ exit 1
+
+conf_script: configure
+ @echo "Please run configure first"
+ exit 1
+
+src/Makefile: conf_script src/Makefile.in
+ cd src; ../conf_script Makefile
+
+man2html/Makefile: conf_script man2html/Makefile.in
+ cd man2html; ../conf_script Makefile
+
+man/Makefile: conf_script man/Makefile.in
+ cd man; ../conf_script Makefile
+
+msgs/Makefile: conf_script msgs/Makefile.in
+ cd msgs; ../conf_script Makefile
+
+makefiles: src/Makefile man2html/Makefile man/Makefile msgs/Makefile
+
+source: src/Makefile
+ cd src; $(MAKE)
+
+manhtml: man2html/Makefile source
+ cd man2html; $(MAKE)
+
+manpages: man/Makefile
+ cd man; $(MAKE) subdirs
+
+
+
+
+
+
+
+install: src/Makefile man/Makefile man2html/Makefile
+ cd src; $(MAKE) install
+ cd man2html; $(MAKE) install
+ cd man; $(MAKE) installsubdirs
+
+ @echo; echo 'Done.'
+ @echo 'In case you want to browse man pages using a www browser,'
+ @echo '"cd man2html", read README, and perhaps "make install-scripts".'
+# @echo; echo 'Done. In case you want to mount /usr read-only, please'
+# @echo 'install a symlink /usr/man/whatis -> /var/catman/whatis, or so.'
+
+clean: src/Makefile man/Makefile msgs/Makefile man2html/Makefile
+ cd src; $(MAKE) clean
+ cd man2html; $(MAKE) clean
+ cd man; $(MAKE) cleansubdirs
+ cd msgs; $(MAKE) clean
+ cd gencat; $(MAKE) clean
+ rm -f core *~
+
+spotless distclean reallyclean: clean
+ cd src; $(MAKE) spotless
+ cd man2html; $(MAKE) spotless
+ cd man; $(MAKE) spotlesssubdirs
+ cd msgs; $(MAKE) spotless
+ cd gencat; $(MAKE) clean
+ rm -f conf_script Makefile
+
+DISTR = COPYING README README.HP README.RedHat README.GNU-WIN32 INSTALL \
+ Makefile.in configure src man2html man msgs gencat catopen misc
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..fedb23c
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,76 @@
+# Makefile for man
+# [need allow_null_glob_expansion=true]
+# The parts behind % are removed when no message catalogs should be installed
+
+all: Makefile conf_script source manhtml manpages %messages
+ @echo; echo 'You can now do "make install"'
+
+# On a machine with time before distribution time
+# it may be necessary to touch all distributed files
+
+Makefile: Makefile.in configure
+ @echo "Please run configure first"
+ exit 1
+
+conf_script: configure
+ @echo "Please run configure first"
+ exit 1
+
+src/Makefile: conf_script src/Makefile.in
+ cd src; ../conf_script Makefile
+
+man2html/Makefile: conf_script man2html/Makefile.in
+ cd man2html; ../conf_script Makefile
+
+man/Makefile: conf_script man/Makefile.in
+ cd man; ../conf_script Makefile
+
+msgs/Makefile: conf_script msgs/Makefile.in
+ cd msgs; ../conf_script Makefile
+
+makefiles: src/Makefile man2html/Makefile man/Makefile msgs/Makefile
+
+source: src/Makefile
+ cd src; $(MAKE)
+
+manhtml: man2html/Makefile source
+ cd man2html; $(MAKE)
+
+manpages: man/Makefile
+ cd man; $(MAKE) subdirs
+
+%messages: gencat/gencat msgs/Makefile source
+% cd msgs; $(MAKE)
+
+%gencat/gencat:
+% cd gencat; $(MAKE)
+
+install: src/Makefile man/Makefile man2html/Makefile %msgs/Makefile
+ cd src; $(MAKE) install
+ cd man2html; $(MAKE) install
+ cd man; $(MAKE) installsubdirs
+% cd msgs; $(MAKE) install
+ @echo; echo 'Done.'
+ @echo 'In case you want to browse man pages using a www browser,'
+ @echo '"cd man2html", read README, and perhaps "make install-scripts".'
+# @echo; echo 'Done. In case you want to mount /usr read-only, please'
+# @echo 'install a symlink /usr/man/whatis -> /var/catman/whatis, or so.'
+
+clean: src/Makefile man/Makefile msgs/Makefile man2html/Makefile
+ cd src; $(MAKE) clean
+ cd man2html; $(MAKE) clean
+ cd man; $(MAKE) cleansubdirs
+ cd msgs; $(MAKE) clean
+ cd gencat; $(MAKE) clean
+ rm -f core *~
+
+spotless distclean reallyclean: clean
+ cd src; $(MAKE) spotless
+ cd man2html; $(MAKE) spotless
+ cd man; $(MAKE) spotlesssubdirs
+ cd msgs; $(MAKE) spotless
+ cd gencat; $(MAKE) clean
+ rm -f conf_script Makefile
+
+DISTR = COPYING README README.HP README.RedHat README.GNU-WIN32 INSTALL \
+ Makefile.in configure src man2html man msgs gencat catopen misc
diff --git a/README b/README
new file mode 100644
index 0000000..1ff31dd
--- /dev/null
+++ b/README
@@ -0,0 +1,41 @@
+man was written by John Eaton (jwe@bevo.che.wisc.edu).
+He does not maintain man anymore - please do not bother
+him with remarks about the current version, which is
+rather different from the original one.
+
+man-1.2 was released by Zeyd M. Ben-Halim (zmbenhal@netcom.com).
+
+man-1.3, man-1.4* and man-1.5* were released by Andries Brouwer (aeb@cwi.nl).
+
+In man-1.5 Richard Verhoeven's man2html was added, together with
+some scripts by Michael Hamilton.
+
+man-1.6 and versions following were released by Federico Lucifredi (flucifredi@acm.org).
+
+In man-1.6 Eric S. Raymond's browser-handoff functionality was added, with
+future minor versions planned to cleanup internationalization and cross
+platform support (Cygwin, solaris, and perhaps Win32). A bugfixing campaign
+is currently underway.
+
+The current maintainer is Federico Lucifredi (flucifredi@acm.org).
+
+The current version can usually be found at
+http://primates.ximian.com/~flucifredi/man/
+a backup distribution site is located at
+http://people.fas.harvard.edu/~lucifred/man/
+releases are also posted to the Metalab site regularly.
+
+Feedback from distribution packagers is very appreciated. Patches welcome!
+
+Man versions are codenamed for bats, starting with 1.6e.
+
+Development releases have an 'RC-' suffix followed by the release
+candidate number. Versions released under the 'RC' label are not
+to be included in stable distributions (and indeed no one has been
+to date - do not be the first to goof up!).
+
+There is a very different man program, also derived from
+John Eaton's original version (by Graeme W. Wilford)
+distributed under the name man_db, with version numbers
+like man_db-2.3.10. Do not confuse the two, they are
+mutually incompatible, although they perform nearly the same job.
diff --git a/README.GNU-WIN32 b/README.GNU-WIN32
new file mode 100644
index 0000000..c1a5c97
--- /dev/null
+++ b/README.GNU-WIN32
@@ -0,0 +1,32 @@
+Volker Zell writes:
+
+To run a precompiled version of man with Cygwin 1.5.24 and above you will need
+the following utilities
+
+ o man, bash, cygwin, bzip2, coreutils, gawk, groff, gzip and less
+
+Click on the "Install Cygwin now" link on the http://cygwin.com/ web page.
+This downloads setup.exe to your system. Save it and run setup, answer
+the questions and pick up the above mentioned packages from the different
+categories.
+
+
+Building from source
+====================
+
+Adjust the paths in configure and man2html/Makefile.in to suit your
+installation.
+
+man-1.6e builds with:
+
+ CC="gcc -O2 -DNONLS -DLC_MESSAGES=6" ./configure +fhs +lang all
+
+then issue:
+
+ make
+
+then:
+
+ make install
+
+Edit the installed man.conf to suit your site.
diff --git a/README.HP b/README.HP
new file mode 100644
index 0000000..f228155
--- /dev/null
+++ b/README.HP
@@ -0,0 +1,83 @@
+People tell me that HP uses compressed man pages named like
+ /usr/man/man1.Z/ls.1
+that is, the directory instead of the file has an extension.
+I have no access to HP machines, and do not know the details
+of this situation (what happens to cat files? to .so files?),
+but perhaps this man is usable in such a situation if one puts
+ MAN_HP_DIREXT=.Z
+in the environment. Untested.
+
+Tell me if this works, and if not what is wrong.
+I may yet gain access to an HP-UX box and verify this myself.
+flc - flucifredi@acm.org
+
+P.S.
+
+A report mentions cat1.Z cat1m.Z cat2.Z ... cat8.Z
+man1 man1.Z man1m man1m.Z ... man8 man8.Z man9.Z
+subdirectories of /usr/share/man,
+where the cat dirs are owned by bin:bin with mode 0777
+and the man dirs are owned by bin:bin with mode 0555.
+
+Scott Marovich adds:
+
+As far as your GNU software is concerned, the first very important point is:
+The paths used for compressed manual pages represent only the tip of a very
+deep iceberg: Historically, HP-UX derives from A.T.&T. UNIX System V (and
+System III before that) with some selected BSD features added later, and it
+doesn't even purport to be GNU-compatible. For many years HP sold a binary
+HP-UX port of the A.T.&T. Documenter's Work Bench as an optional product, and
+HP-UX's versions of "man(1)" and "nroff(1)" (etc.) strive to be DWB-compatible.
+Similarly, the manual pages use only plain, old, simple A.T.&T. "man(7)" macros,
+HP-UX's standard data-compression utility command is "compress(1)"/"zcat(1)"
+instead "gzip(1)", and HP-UX follows System V conventions about where to cache
+formatted pages: they go into directories such as "/usr[/share]/man/cat*"
+instead of "/var/cache/man" like under Linux. System V "man(1)" can optionally
+accept compressed input and/or produce compressed output, and it has a built-in
+algorithm for deciding which directories to use. Assuming, for example, that
+manual page "foo.1" is requested, the algorithm works like this:
+
+(Output-directory search:)
+If a "/usr[/share]/man/cat1.Z" directory exists, look for a cached (formatted,
+compressed) "foo.1" file in it; otherwise, if a "/usr[/share]/man/cat1"
+directory exists, look for a cached (formatted, uncompressed) "foo.1" file in
+it; otherwise, no formatted-and-cached form of the page exists. After an input
+page is formatted, it will be compressed and cached if the "cat1.Z" directory
+exists, or cached without compression if only the "cat1" directory exists, or
+discarded if neither exist.
+
+(Input-directory search:)
+If "/usr[/share]/man/man1.Z/foo.1" exists, then decompress and format this file;
+otherwise, if "/usr[/share]/man/foo.1" exists, then format this uncompressed
+file; otherwise, assume that the manual page is missing.
+
+Notice that:
+
+1. Priority is automatically given to fetching and storing manual pages in
+ compressed form if the necessary directories exist.
+
+2. Unlike GNU-compatible path naming schemes, the "regular" files containing
+ [un]formatted manual-page text do *not* have ".Z" (let alone ".gz") suffixes;
+only their containing directories do.
+
+As far as these file's protection modes are concerned, that's partly up to a
+local HP-UX system administrator. If one prefers not to have "man(1)" be a
+set-UID/GID binary, then the usual custom is:
+
+ man?[.Z] directories : mode 555
+ man?[.Z]/<name>.* files: mode 444
+ cat?[.Z] directories : mode 777
+ cat?[.Z]/<name>.* files: mode 666
+
+i.e., any user can delete any other user's cached, formatted pages. If one
+prefers to run "man(1)" as a set-UID/GID program for a little more control,
+then an alternative scheme is, say:
+
+ cat?[.Z] directories : mode 755/575
+ cat?[.Z]/<name>.* files: mode 644/464
+
+You also expressed some curiousity about the treatment of ".so" directives in
+compressed manual pages. The answer is simple: there aren't any. ".so" is
+rarely used in general, so the HP department responsible for producing HP-UX's
+manual pages decided to "soelim(1)" the small number of exceptions (before
+compressing the result) in order to avoid dealing with this problem.
diff --git a/README.IRIX b/README.IRIX
new file mode 100644
index 0000000..928d9bf
--- /dev/null
+++ b/README.IRIX
@@ -0,0 +1,28 @@
+The NLSPATH / locale stuff doesnt work under IRIX.
+(Patches are welcome.)
+
+---------------------------------------------------------------
+
+It is reported that IRIX uses /usr/share/man/[apu]_man/man[1-8]
+corresponding to admin, programmer and user pages.
+
+One finds files like /usr/share/catman/u_man/cat1/ls.z
+
+Maybe
+
+ MAN_IRIX_CATNAMES=1
+
+in the environment and
+
+ MANPATH /usr/share/man/a_man /usr/share/catman/a_man
+ MANPATH /usr/share/man/p_man /usr/share/catman/p_man
+ MANPATH /usr/share/man/u_man /usr/share/catman/u_man
+
+in the man.conf file
+will suffice to make this man work in an IRIX environment.
+Reports on success/failure are welcome.
+
+---------------------------------------------------------------
+
+
+flucifredi@acm.org
diff --git a/SPDX.rdf.xml b/SPDX.rdf.xml
new file mode 100644
index 0000000..9c1df8e
--- /dev/null
+++ b/SPDX.rdf.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+ xmlns="http://spx.org/rdf/ns/sdpx#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <SPDXDoc rdf:about="http://spdx.org">
+ <SPDXVersion>SPDX-1.0</SPDXVersion>
+ <UniqueID>c97012607ed9d75a6eee7e66d257a99a8ed86918</UniqueID>
+ <CreatedBy>Man Maintainer (Federico Lucifredi)</CreatedBy>
+ <Created>2010-09-15T18:31:00Z</Created>
+ <hasPackageOverview>
+ <PackageOverview>
+ <DeclaredName>Man 1.6g</DeclaredName>
+ <FileName>man-1.6g.tar.gz</FileName>
+ <URL rdf:resource="http://primates.ximian.com/~flucifredi/man/man-1.6g.tar.gz" />
+ <DeclaredLicense rdf:resource="http://spdx.org/rdf/licenses/GPL-2.0" />
+ <DeclaredCopyright>Man Maintainers (Federico Lucifredi, Andries Brouwer, Zeyd M. Ben-Halim, and John Eaton) and Contributors (Richard Verhoeven, Eric S. Raymond, Michael Hamilton, and others)</DeclaredCopyright>
+ <CopyrightDate>2010</CopyrightDate>
+ <ShortDesc>The man suite: man, man2html, hman, whatis, apropos, man2dvi.</ShortDesc>
+ <Description>man is a man pager. It has support for compressed
+ pages (both man pages and cat pages), and for locale
+ ($LANG) and for message catalogs ($LC_MESSAGES). It
+ will format files given explicitly (man ./foo.man.gz).
+ It conforms to FSSTND or FHS, and handles stray cats.
+ * man2html is a utility that converts man pages to html
+ * hman is a man browser that uses your favorite browser.
+ For use with lynx, no http daemon is required.
+ Keywords: man manpath apropos whatis makewhatis
+ man.conf man2html man2dvi hman manual pager browser
+ keyword search.</Description>
+ </PackageOverview>
+ </hasPackageOverview>
+ </SPDXDoc>
+</rdf:RDF>
+
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..1ccce13
--- /dev/null
+++ b/TODO
@@ -0,0 +1,28 @@
+Resuming regular releases after Grad School hiatus.
+
+Improvements and reviews of internationalization/localization.
+
+----> The localization and platform support are being addressed in the
+upcoming minor releases. Comments and patches welcome.
+
+----> UTF-8 support is in the works as well. Comments and patches welcome.
+
+hman does not use LANG; review coherence of ENV use.
+
+Review support under HP-UX, Irix, Solaris, AIX, OS-X and other *NIXes.
+
+Add support for missing macros in man2html.
+
+Are there security problems in the present setup?
+
+-----------------------------------------------------------
+MANPL gives page length - undocumented; may disappear again
+
+[But brobison@ecst.csuchico.edu likes it and says:
+it allows one to do something like:
+
+export LINES
+export MANPAGER='less -i'
+export MANPL='$(perl -e "print ($LINES - 1) / 6, \"i\";")'
+]
+
diff --git a/catopen/README b/catopen/README
new file mode 100644
index 0000000..dbe8a45
--- /dev/null
+++ b/catopen/README
@@ -0,0 +1,29 @@
+In the good old days, with libc 4.*.*,
+if NLSPATH was set to "/usr/lib/locale/%N/%L"
+and LANG to "fr", then catopen("man",0) would open /usr/lib/locale/man/fr.
+
+These days, with libc 5.0.9, catopen will fail because it does a call
+to setlocale, and if no locale has been setup, the C locale is assumed,
+independent of the LANG setting.
+
+In order to preserve the possibility to say "LANG=de man fstab"
+for systems where no locale has been set up, I enclose here
+the original version of catopen.
+
+Concerning correctness: as far as I know POSIX does not specify
+catopen(), and X/Open specifies catopen() without mentioning any
+relation to locale - indeed, catopen() predates locale.
+So, I think catopen() in libc 5.0.9 is broken.
+
+---
+
+Time goes on, and I just looked at glibc-2.0.5.
+Its catgets() contains (at least) two bugs, and will dump core.
+One is fixed in RedHat's glibc-2.0.5c-10; I have submitted a fix
+for the other. With a fixed catgets() things will work correctly.
+However, glibc does a secure_getenv("NLSPATH"), which means that
+the setting of NLSPATH is not taken into account for programs
+that are sgid or suid. Thus, if you make man suid or sgid, and
+want to use message catalogues, you have to install them in the
+default place - on my system that is /usr/share/locale/%L/man
+where %L is $LANG.
diff --git a/catopen/catopen.c b/catopen/catopen.c
new file mode 100644
index 0000000..2f756bc
--- /dev/null
+++ b/catopen/catopen.c
@@ -0,0 +1,209 @@
+/* catopen.c - aeb, 960107 */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <nl_types.h>
+
+extern char *index (const char *, int); /* not always in <string.h> */
+extern char *my_malloc(int); /* in util.c */
+
+#ifndef DEFAULT_NLSPATH
+# if __GLIBC__ >= 2
+# define DEFAULT_NLSPATH "/usr/share/locale/%L/%N"
+# else
+# define DEFAULT_NLSPATH "/usr/lib/locale/%N/%L"
+# endif
+#endif
+
+static nl_catd my_catopenpath(char *name, char *path);
+
+static /* this source included in gripes.c */
+nl_catd
+my_catopen(char *name, int oflag) {
+ nl_catd fd;
+
+ fd = catopen(name, oflag);
+
+ if (fd == (nl_catd) -1 && oflag) {
+ oflag = 0;
+ fd = catopen(name, oflag);
+ }
+
+ if (fd == (nl_catd) -1) {
+ char *nlspath;
+
+ /* The libc catopen fails - let us see if we can do better */
+ /* The quotes below are from X/Open, XPG 1987, Vol. 3. */
+
+ /*
+ * "In catopen(), the oflag argument is reserved for future use
+ * and should be set to 0."
+ */
+
+ if (oflag)
+ return fd; /* only treat the known case */
+
+ /*
+ * "If `name' contains a `/', then `name' specifies a pathname"
+ */
+ if (index(name, '/')) {
+#ifdef __GLIBC__
+ /* glibc uses a pointer type for nl_catd, not a fd */
+ return fd;
+#else
+ /* this works under libc5 */
+ return open(name, O_RDONLY);
+#endif
+ }
+
+ /*
+ * "If NLSPATH does not exist in the environment, or if a
+ * message catalog cannot be opened in any of the paths specified
+ * by NLSPATH, then an implementation defined default path is used"
+ */
+
+ nlspath = getenv("NLSPATH");
+ if (nlspath)
+ fd = my_catopenpath(name, nlspath);
+ if (fd == (nl_catd) -1)
+ fd = my_catopenpath(name, DEFAULT_NLSPATH);
+ }
+ return fd;
+}
+
+/*
+ * XPG 1987, Vol. 3, Section 4.4 specifies the environment
+ * variable NLSPATH (example:
+ * NLSPATH=/nlslib/%L/%N.cat:/nlslib/%N/%L
+ * where %L stands for the value of the environment variable LANG,
+ * and %N stands for the `name' argument of catopen().
+ * The environ(5) page specifies more precisely that
+ * LANG is of the form
+ * LANG=language[_territory[.codeset]]
+ * and adds %l, %t, %c for the three parts of LANG, without the
+ * _ or . and are NULL when these parts are missing.
+ * It also specifies %% for a single % sign.
+ * A leading colon, or a pair of adjacent colons, in NLSPATH
+ * specifies the current directory. (Meant is that "" stands for "%N".)
+ *
+ */
+static nl_catd
+my_catopenpath(char *name, char *nlspath) {
+ int fd;
+ nl_catd cfd = (nl_catd) -1;
+ char *path0, *path, *s, *file, *lang, *lang_l, *lang_t, *lang_c;
+ int langsz, namesz, sz, lang_l_sz, lang_t_sz, lang_c_sz;
+
+ namesz = strlen(name);
+
+ lang = getenv("LANG");
+ if (!lang)
+ lang = "";
+ langsz = strlen(lang);
+
+ lang_l = lang;
+ s = index(lang_l, '_');
+ if (!s) {
+ lang_t = lang_c = "";
+ lang_l_sz = langsz;
+ lang_t_sz = lang_c_sz = 0;
+ } else {
+ lang_l_sz = s - lang_l;
+ lang_t = s+1;
+ s = index(lang_t, '.');
+ if (!s) {
+ lang_c = "";
+ lang_t_sz = langsz - lang_l_sz - 1;
+ lang_c_sz = 0;
+ } else {
+ lang_t_sz = s - lang_t;
+ lang_c = s+1;
+ lang_c_sz = langsz - lang_l_sz - lang_t_sz - 2;
+ }
+ }
+
+ /* figure out how much room we have to malloc() */
+ sz = 0;
+ s = nlspath;
+ while(*s) {
+ if(*s == '%') {
+ s++;
+ switch(*s) {
+ case '%':
+ sz++; break;
+ case 'N':
+ sz += namesz; break;
+ case 'L':
+ sz += langsz; break;
+ case 'l':
+ sz += lang_l_sz; break;
+ case 't':
+ sz += lang_t_sz; break;
+ case 'c':
+ sz += lang_c_sz; break;
+ default: /* unknown escape - ignore */
+ break;
+ }
+ } else if (*s == ':' && (s == nlspath || s[-1] == ':')) {
+ sz += (namesz + 1);
+ } else
+ sz++;
+ s++;
+ }
+
+ /* expand the %L and %N escapes */
+ path0 = my_malloc(sz + 1);
+ path = path0;
+ s = nlspath;
+ while(*s) {
+ if(*s == '%') {
+ s++;
+ switch(*s) {
+ case '%':
+ *path++ = '%'; break;
+ case 'N':
+ strncpy(path, name, namesz); path += namesz; break;
+ case 'L':
+ strncpy(path, lang, langsz); path += langsz; break;
+ case 'l':
+ strncpy(path, lang_l, lang_l_sz); path += lang_l_sz; break;
+ case 't':
+ strncpy(path, lang_t, lang_t_sz); path += lang_t_sz; break;
+ case 'c':
+ strncpy(path, lang_c, lang_c_sz); path += lang_c_sz; break;
+ default: /* unknown escape - ignore */
+ break;
+ }
+ } else if (*s == ':' && (s == nlspath || s[-1] == ':')) {
+ strncpy(path, name, namesz); path += namesz;
+ *path++ = ':';
+ } else
+ *path++ = *s;
+ s++;
+ }
+ *path = 0;
+
+ path = path0;
+ while(path) {
+ file = path;
+ s = index(path, ':');
+ if (s) {
+ *s = 0;
+ path = s+1;
+ } else
+ path = 0;
+ fd = open(file, O_RDONLY);
+ if (fd != -1) {
+ /* we found the right catalog - but we don't know the
+ type of nl_catd, so close it again and ask libc */
+ close(fd);
+ cfd = catopen(file, 0);
+ break;
+ }
+ }
+
+ free(path0);
+ return cfd;
+}
diff --git a/conf_script b/conf_script
new file mode 100755
index 0000000..0f4719f
--- /dev/null
+++ b/conf_script
@@ -0,0 +1,87 @@
+#!/bin/sh
+infiles=$@
+trap 'rm -f $infiles; exit 1' 1 3 15
+
+# echo ""
+for infile in $infiles
+do
+ case $infile in
+ *.h)
+ cb="/*"; cs=" *"; ce=" */";;
+ *.1|*.5|*.8|*.man)
+ cb=.\\\"; cs=.\\\"; ce=.\\\";;
+ *)
+ case "`sed -n -e 1p $infile.in`" in
+ '#!'*) cb="`sed -n -e 1p $infile.in`";;
+ *) cb="#";;
+ esac
+ cs="#"; ce="#";;
+ esac
+ echo "$cb" > $infile
+ echo "$cs Generated automatically from $infile.in by the" >> $infile
+ echo "$cs configure script." >> $infile
+ echo "$ce" >> $infile
+ echo "Creating $infile from $infile.in"
+ sed -e '
+s,@version@,man-1.6g,
+s,@CC@,gcc -O,
+s,@EXEEXT@,,
+s,@BUILD_CC@,gcc -O,
+s,@INSTALL@,install,
+s,@DEFS@, -DSTDC_HEADERS -DTERMIOS_HEADER -DPOSIX -DDO_COMPRESS,
+s,@LIBS@,,
+s,@LIBOBJS@,,
+s,@troff@,/usr/bin/groff -Tps -mandoc,
+s,@nroff@,/usr/bin/nroff -Tlatin1 -mandoc,
+s,@jnroff@,/usr/bin/groff -Tnippon -mandocj,
+s,@eqn@,/usr/bin/geqn -Tps,
+s,@neqn@,/usr/bin/geqn -Tlatin1,
+s,@jneqn@,/usr/bin/geqn -Tnippon,
+s,@tbl@,/usr/bin/gtbl,
+s,@nocol@,# ,
+s,@pcol@,,
+s,@col@,/usr/bin/col,
+s,@vgrind@,,
+s,@refer@,,
+s,@grap@,,
+s,@pic@,/usr/bin/gpic,
+s,@fcat@,,
+s,@pcat@,,
+s,@zcat@,/bin/zcat,
+s,@unxz@,/usr/bin/unxz -c,
+s,@gunzip@,/bin/gunzip -c,
+s,@bzip2@,/bin/bzip2 -c -d,
+s,@unlzma@,/usr/bin/unlzma -c -d,
+s,@unyabba@,,
+s,@compress@,/usr/bin/xz,
+s,@compress_ext@,.xz,
+s,@decompress@,/usr/bin/unxz -c,
+s,@pager@,/bin/less -is,
+s,@browser@,/bin/less -is,
+s,@htmlpager@,/bin/cat,
+s,@cmp@,/usr/bin/cmp -s,
+s,@cat@,/bin/cat,
+s,@awk@,/usr/bin/awk,
+s,@bindir@,/usr/bin,
+s,@sbindir@,/usr/sbin,
+s,@mandir@,/usr/share/man,
+s,@locale@,,
+s,@fhs@,,
+s,@fsstnd@,# ,
+s,@man1ext@,1,g
+s,@man5ext@,5,g
+s,@man8ext@,8,g
+s,@man_install_flags@,,
+s,@man_user@,,
+s,@languages@,en,
+s,@man@,/usr/bin/man,
+s,@apropos@,/usr/bin/apropos,
+s,@whatis@,/usr/bin/whatis,
+s,@man2dvi@,/usr/bin/man2dvi,
+s,@makewhatis@,/usr/sbin/makewhatis,
+s,@man_config_dir@,/usr/share/misc,
+s,@man_config_file@,/usr/share/misc/man.conf,
+s,@manpathoption@,--path,
+s/@sections@/1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o/
+' $infile.in >> $infile
+done
diff --git a/configure b/configure
new file mode 100755
index 0000000..4928ae0
--- /dev/null
+++ b/configure
@@ -0,0 +1,1379 @@
+#!/bin/sh
+#
+# Guess values for system-dependant variables and create `Makefile'.
+# Can be distributed according to GPL.
+#
+# Usage:
+# configure -ask (ask all questions)
+#
+# As soon as some other option is specified, configure
+# will not ask questions. Other options:
+#
+# configure -d[efault] (language=en, +fhs)
+# configure -confdir DIR (directory to hold man.conf)
+# configure +suid/sgid (make man suid or sgid)
+# configure +lang cs,da,de,el,en,es,fi,fr,hr,it,ko,nl,pl,pt,ro,sl
+# (language(s) as given)
+# ("all" will specify all available languages)
+# ("none" will disable NLS support)
+# configure +fhs (follow FHS: use /var/cache/man)
+# configure +fsstnd (follow FSSTND: use /var/catman)
+#
+LANGUAGES="bg,cs,da,de,el,en,es,fi,fr,hr,it,ja,ko,nl,pl,pt,ro,ru,sl"
+LANGOPT="+lang {$LANGUAGES|all|none}"
+#
+# Some people prefer "-irs", but probably only when they have a broken setup.
+# (Indeed, -r may cause the terminal to get into funny states.
+# Very inconvenient. For viewing pages in strange locales, set LC_*.)
+#
+DEFAULTLESSOPT="-is"
+#
+# Note that not creating any cat directories (/var/cache/man or so)
+# and not making man suid or sgid is recommended.
+# This avoids security problems, the fact that different users have
+# different window sizes and different character sets, etc.
+# Formatting is fast enough today.
+
+trap 'rm -f conftest conftest.c; exit 1' 1 3 15
+
+set +u # Make sure unset variables are ok.
+
+if [ $# = 0 ]; then
+ echo "Usage: configure -ask"
+ echo " or: configure [-d|-default] [-confdir DIR] [+suid] [+sgid] \\"
+ echo " [+fhs|+fsstnd|+traditional] [+lang none|all|LANGUAGES]"
+ echo " where LANGUAGES is a substring of $LANGUAGES".
+ echo
+ echo 'The default "configure -d" is equivalent to "configure +fhs +lang en".'
+ echo 'The option +suid will make man suid to a user "man". Create this first.'
+ echo 'The option +sgid will make man sgid to a group "man". Create this first.'
+ echo 'The options +fhs, +fsstnd, +traditional will make man use'
+ echo ' /var/cache/man, /var/catman and /usr/man/cat?, respectively.'
+ echo 'It is recommended not to use suid/sgid and not to keep cat pages.'
+ echo 'The -confdir option specifies where man.conf lives (default /usr/share/misc).'
+ echo
+ exit 1
+fi
+
+default=true
+usenls=true
+
+for arg in $*; do
+ if [ x$setlang = xtrue ]
+ then
+ case $arg in
+ none)
+ usenls=false
+ ;;
+ all)
+ languages="??"
+ ;;
+ *)
+ languages=`echo $arg | sed -e 's/,/ /g'`
+ esac
+ setlang=false
+ elif [ x$setconfdir = xtrue ]
+ then
+ confdir=$arg
+ confexplicit=1
+ setconfdir=false
+ else
+ # help people used to GNU-style --options
+ # e.g. --enable-suid, --disable-suid, --prefix
+ case $arg in
+ --enable-*)
+ arg=`echo $arg | sed -e 's/--enable-/+/'`
+ ;;
+ --disable-*)
+ arg=`echo $arg | sed -e 's/--disable-/-/'`
+ ;;
+ --*)
+ arg=`echo $arg | sed -e 's/--/-/'`
+ esac
+ case $arg in
+ -default | -d)
+ usefhs=true
+ ;;
+ -ask | -a)
+ default=
+ ;;
+ -prefix=*)
+ prefix=`echo $arg | sed -e 's/-prefix=//'`
+ ;;
+ -bindir=*)
+ bindir=`echo $arg | sed -e 's/-bindir=//'`
+ ;;
+ -confdir=*)
+ confdir=`echo $arg | sed -e 's/-confdir=//'`
+ confexplicit=1
+ ;;
+ -confdir)
+ setconfdir=true;
+ ;;
+ -confprefix=*)
+ confprefix=`echo $arg | sed -e 's/-confprefix=//'`
+ ;;
+ -mandir=*)
+ mandir=`echo $arg | sed -e 's/-mandir=//'`
+ manexplicit=1
+ ;;
+ -sbindir=*)
+ sbindir=`echo $arg | sed -e 's/-sbindir=//'`
+ ;;
+ +lang)
+ setlang=true
+ ;;
+ +suid)
+ suid=true
+ ;;
+ -suid)
+ suid=false
+ ;;
+ +sgid)
+ sgid=true
+ ;;
+ -sgid)
+ sgid=false
+ ;;
+ +traditional)
+ usefsstnd=false
+ usefhs=false
+ ;;
+ +fsstnd)
+ usefsstnd=true
+ ;;
+ -fsstnd)
+ usefsstnd=false
+ ;;
+ +fhs)
+ usefhs=true
+ ;;
+ -fhs)
+ usefhs=false
+ ;;
+ -compatibility_mode_for_colored_groff)
+ set_compatibility_mode_for_colored_groff=true;
+ ;;
+ *)
+ echo "Usage: configure -ask"
+ echo " or: configure [-d|-default] [-confdir DIR] [+suid] [+sgid] \\"
+ echo " [+fhs|+fsstnd|+traditional] [+lang all|LANGUAGES]"
+ echo " where LANGUAGES is a substring of $LANGUAGES".
+ echo
+ echo 'The default "configure -d" is equivalent to "configure +fhs +lang en".'
+ echo 'The option +suid will make man suid to a user "man". Create this first.'
+ echo 'The option +sgid will make man sgid to a group "man". Create this first.'
+ echo 'The options +fhs, +fsstnd, +traditional will make man use'
+ echo ' /var/cache/man, /var/catman and /usr/man/cat?, respectively.'
+ echo 'The -confdir option specifies where man.conf lives (default /usr/share/misc).'
+ exit 1
+ ;;
+ esac
+ fi
+done
+
+# Default installation paths
+#
+# prefix="/usr/local" or "/usr"
+# confprefix="/usr/local" or "/usr" or "/etc"
+#
+# The configuration file has various names and pathnames in the
+# various distributions, such as /usr/share/misc/man.conf,
+# /usr/lib/man.conf, /etc/man.config.
+# The FHS wants it in /usr/share/misc
+# All documentation assumes "man.conf" - in case you invent some other name
+# (why?), also man pages and other docs need to be patched.
+if [ -z "${prefix}" ]; then prefix="/usr"; fi
+if [ -z "${confprefix}" ]; then confprefix=${prefix}; fi
+if [ -z "${bindir}" ]; then bindir="${prefix}/bin"; fi
+if [ -z "${sbindir}" ]; then sbindir="${prefix}/sbin"; fi
+if [ -z "${mandir}" ]; then mandir="${prefix}/man"; fi
+
+if [ -z "$manexplicit" -a x"$usefhs" = xtrue ]; then
+ mandir="${prefix}/share/man"
+fi
+if [ -z "$confexplicit" ]; then
+ confdir="${confprefix}/lib"
+ if [ x"$usefhs" = xtrue ]; then
+ confdir="${confprefix}/share/misc"
+ fi
+fi
+conffilename="man.conf"
+
+if test "$RANDOM" = "$RANDOM"; then
+ # Plain old Bourne shell.
+ echo checking for gcc
+ test -z "$CC" -a -n "`gcc 2>&1`" && CC="gcc -O"
+else
+ # ksh, bash or zsh. ksh and zsh write "command not found" to stderr.
+ echo checking for gcc
+ test -z "$CC" && type gcc && CC="gcc -O"
+fi
+
+CC=${CC-cc}
+BUILD_CC=${BUILD_CC-${CC}}
+INSTALL=${INSTALL-install}
+INCLUDEDIR=${INCLUDEDIR-/usr/include}
+
+rm -f conftest conftest.c
+compile="$CC $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1"
+
+# Check for various header files.
+
+echo checking for ANSI C header files
+echo "#include <stdlib.h>
+#include <string.h>
+main() { exit(0); strerror(0); }" > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+ DEFS="$DEFS -DSTDC_HEADERS"
+fi
+echo checking for Windows EXEEXT
+EXEEXT=
+test -f ./conftest.exe && EXEEXT=.exe
+
+rm -f conftest conftest.c
+
+echo checking for sys/termios.h
+echo "#include <sys/termios.h>
+main() { exit(0); }" > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+ DEFS="$DEFS -DTERMIOS_HEADER"
+fi
+rm -f conftest conftest.c
+
+echo checking for POSIX.1 header files
+echo "#include <unistd.h>
+main() {
+#ifdef _POSIX_VERSION
+exit(0);
+#else
+exit(1);
+#endif
+}" > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+ DEFS="$DEFS -DPOSIX"
+fi
+rm -f conftest conftest.c
+
+echo checking for BSD string and memory functions
+echo "#include <strings.h>
+main() { exit(0); rindex(0, 0); bzero(0, 0); }" > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then :
+ else DEFS="$DEFS -DUSG"
+fi
+rm -f conftest conftest.c
+
+echo checking whether sys/types.h defines uid_t
+echo '#include <sys/types.h>
+main() { uid_t x; exit(0); }' > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then :
+else
+ uid_t=`awk '/pw_uid;/ {print $1}' $INCLUDEDIR/pwd.h`
+ DEFS="$DEFS -Duid_t=${uid_t} -Dgid_t=${uid_t}"
+fi
+rm -f conftest conftest.c
+
+echo checking for Xenix
+if test -f /xenix; then
+ LIBS="$LIBS -lx"
+ case "$DEFS" in
+ *SYSNDIR*) ;;
+ *) LIBS="-ldir $LIBS" ;; # Make sure -ldir precedes any -lx.
+ esac
+fi
+
+echo checking how to get alloca
+echo '
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else
+#ifdef sparc
+#include <alloca.h>
+#else
+#ifdef _AIX
+ #pragma alloca
+#else
+char *alloca ();
+#endif
+#endif
+#endif
+main() { char *p = (char *) alloca(1); exit(0); }' > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then :
+elif test -d /usr/ucblib; then LIBS="$LIBS -L/usr/ucblib -lucb"
+elif test -f /usr/lib/libPW.a; then LIBS="$LIBS -lPW"
+else DEFS="$DEFS -DALLOCA_MISSING"
+fi
+rm -f conftest conftest.c
+
+if [ $usenls = true ]; then
+ echo checking for nls
+ echo '#include <nl_types.h>
+ main() {nl_catd catfd; exit(0); }' > conftest.c
+ eval $compile
+ if test -s conftest && ./conftest 2>/dev/null; then :
+ else
+ usenls=false
+ fi
+ rm -f conftest conftest.c
+fi
+
+if [ $usenls = false ]; then
+ DEFS="$DEFS -DNONLS"
+fi
+
+echo checking for getopt.h
+echo '#define _GNU_SOURCE
+#include <getopt.h>
+#include <stdio.h>
+struct option long_opts[] = { { "", no_argument, NULL, 0 } };
+main() { exit(0); }' > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+ manpathoption="--path"
+else
+ manpathoption="-w"
+ DEFS="$DEFS -DNOGETOPT"
+fi
+rm -f conftest conftest.c
+
+# first determine how to suppress newline on echo command (stolen from
+# Perl's Configure) ...
+
+echo "Checking echo to see how to suppress newlines..."
+(echo "hi there\c" ; echo " ") >conftest
+if grep c conftest >/dev/null 2>&1 ; then
+ echo "...using -n."
+ n='-n'
+ c=''
+else
+ cat <<'EOM'
+...using \c
+EOM
+ n=''
+ c='\c'
+fi
+rm -f conftest
+
+# Ask the installer where various things are located.
+# (A separate variable is needed since various shells do
+# word-splitting at different moments, which means that
+# for i in /bin:/usr/bin:$PATH
+# does not work everywhere.)
+# Some people might prefer having $PATH first in PREPATH
+PREPATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:$PATH
+IFS0="$IFS"
+IFS=":$IFS"
+for i in $PREPATH
+do
+ case $i in
+ /*)
+ DEFPATH="$DEFPATH $i"
+ ;;
+ esac
+done
+IFS="$IFS0"
+
+if [ x$default = x ]; then
+ echo ""
+ echo $n "Do you have the nroff source for man pages? [yes] $c"
+ ans=
+ while [ x$ans = x ]
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "yes"
+ then
+ ans=true
+ elif test "$yesno" = "no"
+ then
+ ans=false
+ else
+ echo "You must enter yes or no"
+ fi
+ done
+else
+ echo ""
+ echo "Assuming you want to be able to handle the nroff source for man pages."
+ ans=true
+fi
+
+if test "$ans" = "false"
+then
+ for i in more less cmp cat awk gawk mawk
+ do
+ eval F$i="missing"
+ for j in $DEFPATH
+ do
+ if test -f $j/$i
+ then
+ eval F$i=$j/$i
+ break
+ fi
+ done
+ done
+ troff=""
+ nroff=""
+ jnroff=""
+ eqn=""
+ neqn=""
+ jneqn=""
+ tbl=""
+ col=""
+ vgrind=""
+ refer=""
+ grap=""
+ pic=""
+ if test $Fless = "missing"
+ then
+ pager="$Fmore"
+ else
+ pager="$Fless $DEFAULTLESSOPT"
+ fi
+ if test $Fawk = "missing"
+ then
+ Fawk="$Fgawk"
+ fi
+ if test $Fawk = "missing"
+ then
+ Fawk="$Fmawk"
+ fi
+ cmp="$Fcmp -s"
+ cat="$Fcat"
+ awk="$Fawk"
+
+ FILTERS="pager cmp cat awk"
+else
+ for i in nroff groff geqn gtbl col vgrind grefer grap gpic more less lynx cmp cat awk gawk mawk
+ do
+ eval F$i="missing"
+ for j in $DEFPATH
+ do
+ if test -f $j/$i
+ then
+ eval F$i=$j/$i
+ break
+ fi
+ done
+ done
+ for i in eqn tbl refer pic
+ do
+ if test `eval echo \\$Fg$i` = "missing"
+ then
+ for j in $DEFPATH
+ do
+ if test -f $j/$i
+ then
+ eval Fg$i=$j/$i
+ break
+ fi
+ done
+ fi
+ done
+# -Tlatin1 is bad when utf8 is used, but needed for groff, not for nroff
+# Hmm - also needed for nroff, to prevent double conversion on uxterm
+ if test $Fgroff = "missing"
+ then
+ if test $Fnroff = "missing"
+ then
+ nroff="nroff -Tlatin1 -mandoc"
+ else
+ nroff="$Fnroff -Tlatin1 -mandoc"
+ fi
+ troff="troff -mandoc"
+ echo "Warning: could not find groff"
+ else
+ if test $Fnroff = "missing"
+ then
+ nroff="$Fgroff -Tlatin1 -mandoc"
+ else
+ nroff="$Fnroff -Tlatin1 -mandoc"
+ fi
+ troff="$Fgroff -Tps -mandoc"
+ jnroff="$Fgroff -Tnippon -mandocj"
+ fi
+ eqn="$Fgeqn -Tps"
+ neqn="$Fgeqn -Tlatin1"
+ jneqn="$Fgeqn -Tnippon"
+ tbl="$Fgtbl"
+ col="$Fcol"
+ vgrind="$Fvgrind"
+ refer="$Fgrefer"
+ grap="$Fgrap"
+ pic="$Fgpic"
+ if test $Fless = "missing"
+ then
+ pager="$Fmore"
+ else
+ pager="$Fless $DEFAULTLESSOPT"
+ fi
+ if test $Flynx = "missing"
+ then
+ browser=$pager
+ htmlpager=$Fcat
+ else
+ browser="$Flynx"
+ htmlpager="$Flynx -dump"
+ fi
+ if test $Fawk = "missing"
+ then
+ Fawk="$Fgawk"
+ fi
+ if test $Fawk = "missing"
+ then
+ Fawk="$Fmawk"
+ fi
+ cmp="$Fcmp -s"
+ cat="$Fcat"
+ awk="$Fawk"
+
+ FILTERS="troff nroff jnroff eqn neqn jneqn tbl col vgrind refer grap pic pager browser htmlpager cmp cat awk"
+fi
+
+# Note: older nroff gives an error message for -c
+# Do this only when you have troff 1.18.1 or so.
+if [ "x$set_compatibility_mode_for_colored_groff" = "xtrue" ]; then
+ troff="$troff -c"
+ nroff="$nroff -c"
+ jnroff="$jnroff -c"
+fi
+
+if [ x$default = x ]; then
+ echo ""
+ echo "If you don't have one of the following programs, enter \`missing'."
+ echo "It's best to enter absolute pathnames so that man won't have to"
+ echo "depend on the user's path to work properly. Default values are"
+ echo "given in square brackets. The answers given are only checked to"
+ echo "see if the programs exist, not to see see if the given flags are"
+ echo "correct."
+
+ for filter in $FILTERS
+ do
+ found=false
+ while test "$found" = "false"
+ do
+ echo ""
+ echo $n "$filter command to use [`eval echo \\$$filter`] $c"
+ read tmp
+ if test -n "$tmp"
+ then
+ if test "$tmp" = "missing"
+ then
+ if test "$filter" = "pager"
+ then
+ found=false
+ echo "You must have a pager!"
+ else
+ found=true
+ eval $filter=""
+ fi
+ elif test -f `echo $tmp | $awk '{print $1}'`
+ then
+ found=true
+ eval $filter=\""$tmp"\"
+ else
+ found=false
+ echo ""
+ echo "`echo $tmp | $awk '{print $1}'` doesn't seem to exist! Try again or enter \`missing'"
+ fi
+ elif test `eval echo \\$$filter | $awk '{print $1}'` = "missing"
+ then
+ found=true
+ eval $filter=""
+ elif test -f `eval echo \\$$filter | $awk '{print $1}'`
+ then
+ found=true
+ else
+ found=false
+ echo ""
+ echo "`eval echo \\$$filter | $awk '{print $1}'` doesn't seem to exist! Try again or enter \`missing'"
+ fi
+ done
+ done
+else
+ echo ""
+ echo "Assuming the following ways to invoke the various commands and filters":
+ for filter in $FILTERS
+ do
+ echo "$filter command: `eval echo \\$$filter`"
+ if test `eval echo \\$$filter | $awk '{print $1}'` = "missing"
+ then
+ eval $filter=""
+ fi
+ done
+fi
+
+case $nroff in
+ *roff*)
+ echo ""
+ echo "It seems that no col is needed, since you use groff."
+ pcol=
+ nocol="# " ;;
+ *)
+ pcol=$col
+ nocol= ;;
+esac
+
+fhs="# "
+fsstnd="# "
+FHSDIR=/var/cache/man
+FSSTNDDIR=/var/catman
+if [ x$usefhs = x -a x$usefsstnd = x ]; then
+ if [ x$default = x ]; then
+ echo ""
+ echo $n "Do you want to put the cat pages under $FHSDIR ? [no] $c"
+ ans=
+ while [ x$ans = x ]
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "no"
+ then
+ ans=false
+ elif test "$yesno" = "yes"
+ then
+ ans=true
+ else
+ echo "You must enter yes or no"
+ fi
+ done
+ if [ $ans = true ]; then
+ fhs=
+ else
+ echo $n "Do you want to put the cat pages under $FSSTNDDIR ? [no] $c"
+ ans=
+ while [ x$ans = x ]
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "no"
+ then
+ ans=false
+ elif test "$yesno" = "yes"
+ then
+ ans=true
+ else
+ echo "You must enter yes or no"
+ fi
+ done
+ if [ $ans = true ]; then
+ fsstnd=
+ fi
+ fi
+ else
+ echo ""
+ if [ -d $FHSDIR ]; then
+ echo "Using $FHSDIR for cat pages, following FHS."
+ fhs=
+ elif [ -d $FSSTNDDIR ]; then
+ echo "Using $FSSTNDDIR for cat pages, following FSSTND."
+ fsstnd=
+ else
+ echo "Using /usr/man/cat* (if that exists) for cat pages."
+ fi
+ fi
+else
+ if [ x$usefsstnd = xtrue ]; then
+ fsstnd=
+ elif [ x$usefhs = xtrue ]; then
+ fhs=
+ fi
+fi
+
+# How should man be installed?
+
+if [ x$default = x ]; then
+ for d in bindir sbindir mandir confdir
+ do
+ case $d in
+ bindir)
+ echo ""
+ echo $n "Where should executables be installed? [${bindir}] $c" ;;
+ sbindir)
+ echo ""
+ echo $n "Where should makewhatis be installed? [${sbindir}] $c" ;;
+ confdir)
+ echo ""
+ echo $n "Where should $conffilename be installed? [${confdir}] $c" ;;
+ mandir)
+ echo ""
+ echo $n "Where should man pages be installed? [${mandir}] $c" ;;
+ esac
+ dd=`eval echo \\$$d`
+ dir=$prefix/$dd
+ ok=false
+ while test "$ok" = "false"
+ do
+ read tmpdir
+ if test "$tmpdir" = "" && test "$dir" != ""
+ then
+ if test -d $dir
+ then
+ ok=true
+ eval $d=$dir
+ else
+ echo ""
+ echo "$dir doesn't seem to exist! Try again!"
+ fi
+ elif test -d "$tmpdir"
+ then
+ ok=true
+ eval $d=$tmpdir
+ newprefix=`echo $tmpdir | sed -e "s:/$dd::"`
+ if test "$tmpdir" = "$newprefix/$dd"
+ then
+ prefix=$newprefix
+ fi
+ else
+ ok=false
+ echo ""
+ echo "$tmpdir doesn't seem to exist! Try again!"
+ fi
+ done
+ done
+
+ tmpext=1
+ echo ""
+ echo $n "What extension should installed man(1) pages have? [${tmpext}] $c"
+ read man1ext
+ if test "$man1ext" = ""; then man1ext=$tmpext; fi
+
+ tmpext=5
+ echo ""
+ echo $n "What extension should installed man(5) pages have? [${tmpext}] $c"
+ read man5ext
+ if test "$man5ext" = ""; then man5ext=$tmpext; fi
+
+ tmpext=8
+ echo ""
+ echo $n "What extension should installed man(8) pages have? [${tmpext}] $c"
+ read man8ext
+ if test "$man8ext" = ""; then man8ext=$tmpext; fi
+else
+ echo ""
+ echo "Assuming that binaries go to $bindir, the configuration file"
+ echo "goes to $confdir, makewhatis to $sbindir, and the man pages"
+ echo "to $mandir/man*."
+ man1ext=1
+ man5ext=5
+ man8ext=8
+fi
+
+if [ x$default = x ]; then
+ echo ""
+ echo $n "Do you want to install non-english man pages? [no] $c"
+ ok=false
+ while test "$ok" = "false"
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "no"
+ then
+ ok=true
+ ans=false
+ elif test "$yesno" = "yes"
+ then
+ ok=true
+ ans=true
+ else
+ ok=false
+ echo "You must enter yes or no"
+ fi
+ done
+else
+ if [ "x$languages" = x ]; then
+ echo ""
+ echo "Assuming that you do not want to install non-english man pages."
+ fi
+ ans=false
+fi
+
+if test "$ans" = "true"
+then
+ cd man
+ languages=""
+ for i in ??; do
+ langname=`cat $i.txt`
+ echo $n "Install $langname pages? [no] $c"
+ ok=false
+ while test "$ok" = "false"
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "no"
+ then
+ ok=true
+ ans=false
+ elif test "$yesno" = "yes"
+ then
+ ok=true
+ ans=true
+ else
+ ok=false
+ echo "You must enter yes or no"
+ fi
+ done
+ if test "$ans" = "true"
+ then
+ languages="$languages $i"
+ fi
+ done
+ cd ..
+ if [ "x$languages" = x ]; then echo "Not installing any man pages, then."; fi
+else
+ if [ "x$languages" = x ]
+ then
+ languages="en"
+ fi
+fi
+
+if [ "x$languages" != x -a "x$languages" != xen ]
+then
+ DEF_NLSPATH="/usr/share/locale/%L/%N:/usr/lib/locale/%N/%L"
+ deflocalepath=`echo $NLSPATH:$DEF_NLSPATH | sed 's/:/ /g'`
+ for i in $deflocalepath; do
+ if [ x$deflocale = x ]; then
+ tstdir=`echo $i | sed -e 's/%N//; s/%L//'`
+ if [ -d "$tstdir" ]; then
+ deflocale=$i
+# else
+# tstdir=`echo $i | sed -e 's/%N/*/; s/%L/*/'`
+# if [ -d "$tstdir" ]; then
+# deflocale=$i
+# fi
+ fi
+ fi
+ done
+ if [ x$deflocale = x ]; then
+ deflocale="/usr/lib/locale/%N/%L"
+ fi
+ if [ x$default = x ]; then
+ echo ""
+ echo $n "Do you want to install non-english message catalogs for man? [yes] $c"
+ ok=false
+ while test "$ok" = "false"
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "yes"
+ then
+ ok=true
+ ans=true
+ elif test "$yesno" = "no"
+ then
+ ok=true
+ ans=false
+ else
+ ok=false
+ echo "You must enter yes or no"
+ fi
+ done
+ if [ $ans = true ]; then
+ echo $n "Where? [$deflocale] $c"
+ read locale
+ if [ x$locale = x ]; then
+ locale=$deflocale
+ fi
+ else
+ locale=
+ fi
+ else
+ locale=$deflocale
+ fi
+ echo
+ echo "Using localedir $locale"
+fi
+
+if [ x$suid = x -a x$sgid = x ]; then
+ if [ x$default = x ]; then
+ echo ""
+ echo "Do you want to install man setuid or setgid to some user"
+ echo $n "who owns all the formatted man pages? [no] $c"
+ ok=false
+ while test "$ok" = "false"
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "no"
+ then
+ ok=true
+ ans=false
+ elif test "$yesno" = "yes"
+ then
+ ok=true
+ ans=true
+ else
+ ok=false
+ echo "You must enter yes or no"
+ fi
+ done
+ else
+ echo "Assuming that you do not want man to be suid or sgid."
+ echo "(But you can always do _chown man man; chmod 04555 man_ later.)"
+ ans=false
+ fi
+else
+ ans=true
+fi
+
+if test "$ans" = "true"
+then
+ # prefer uid/gid man above root, but prefer not to give man the
+ # ability to write into its own binary; never install man suid root
+
+ if [ x$sgid = x ]; then
+ man_user=man
+ man_mode=4555
+ if grep -q '^man:' /etc/group >/dev/null 2>/dev/null;
+ then
+ man_group=man
+ else
+ man_group=root
+ fi
+ if grep -q '^man:' /etc/passwd >/dev/null 2>/dev/null;
+ then
+ :
+ else
+ echo "Warning: you still have to create a user \"man\""
+ fi
+ else
+ man_user=root
+ man_group=man
+ man_mode=2555
+ if grep -q '^man:' /etc/group >/dev/null 2>/dev/null;
+ then
+ :
+ else
+ echo "Warning: you still have to create a group \"man\""
+ fi
+ fi
+ if [ x$default = x ]; then
+ echo ""
+ echo $n "What owner should man have? [${man_user}] $c"
+ read user
+ if test "$user" != ""; then man_user=$user; fi
+ echo ""
+ echo $n "What group should man have? [${man_group}] $c"
+ read group
+ if test "$group" != ""; then man_group=$group; fi
+ echo ""
+ echo $n "What mode should the installed man have? [${man_mode}] $c"
+ read mode
+ if test "$mode" != ""; then man_mode=$mode; fi
+ fi
+ man_install_flags="-m $man_mode -o $man_user -g $man_group"
+fi
+
+# What sections do we anticipate?
+
+tmpsections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o"
+
+if [ x$default = x ]; then
+ echo ""
+ echo "Enter the man page sections your system uses, separated by"
+ echo "spaces, and in the order they should be searched."
+ echo $n "[${tmpsections}] $c"
+ read sects
+ if test "$sects" != ""; then tmpsections="$sects"; fi
+else
+ echo
+ echo "Setting the default section search order to $tmpsections."
+fi
+
+for sect in $tmpsections
+do
+ if [ x$sections = x ]; then
+ sections=$sect
+ else
+ sections=$sections:$sect
+ fi
+done
+
+if test "$nroff" != ""
+then
+ if [ x$default = x ]; then
+ echo ""
+ echo $n "Compress formatted pages? [yes] $c"
+ ok=false
+ while test "$ok" = "false"
+ do
+ read yesno
+ if test "$yesno" = "" || test "$yesno" = "yes"
+ then
+ ok=true
+ ans=true
+ elif test "$yesno" = "no"
+ then
+ ok=true
+ ans=false
+ else
+ ok=false
+ echo "You must enter yes or no"
+ fi
+ done
+ else
+ echo ""
+ echo "Assuming that formatted pages should be compressed."
+ ans=true
+ fi
+
+ if test "$ans" = "true"
+ then
+ DO_COMPRESSION=true
+ compress=
+ for i in xz lzma bzip2 gzip bzip tzip pack compress freeze yabba
+ do
+ eval F$i=missing
+ for j in $DEFPATH
+ do
+ if test -f $j/$i
+ then
+ eval F$i=$j/$i
+ if [ x$compress = x ]; then compress=$j/$i; fi
+ break
+ fi
+ done
+ done
+
+ if [ x$default = x ]; then
+ echo ""
+ echo "What program should be used to compress the formatted pages?"
+ echo $n "Note that it must work as a filter! [${compress}] $c"
+ found=false
+ while test "$found" = "false"
+ do
+ read tmp
+ if test -n "$tmp"
+ then
+ if test -f `echo $tmp | $awk '{print $1}'`
+ then
+ found=true
+ compress=$tmp
+ else
+ found=false
+ echo ""
+ echo "`echo $tmp | $awk '{print $1}'` doesn't seem to exist! Try again!"
+ fi
+ elif test -f `echo "$compress" | $awk '{print $1}'`
+ then
+ found=true
+ else
+ found=false
+ echo ""
+ echo "`echo "$compress" | $awk '{print $1}'` doesn't seem to exist! Try again!"
+ fi
+ done
+ else
+ if [ x$compress = x ]
+ then
+ DO_COMPRESSION=false
+ echo "Could not find any compression programs."
+ else
+ echo "Using $compress for compression."
+ fi
+ fi
+
+ case $compress in
+ *xz*) ext=".xz" ;;
+ *lzma*) ext=".lzma" ;;
+ *bzip2*) ext=".bz2" ;;
+ *gzip*) ext=".gz" ;;
+ *bzip*) ext=".bz" ;;
+ *tzip*) ext=".tz" ;;
+ *pack*) ext=".z" ;;
+ *compress*) ext=".Z" ;;
+ *freeze*) ext=".F" ;;
+ *yabba*) ext=".Y" ;;
+ *) ext="" ;;
+ esac
+ if [ x$default = x ]; then
+ echo ""
+ echo "What extension should be added to"
+ if test "$ext" = ""
+ then
+ echo "compressed files?"
+ else
+ echo $n "compressed files? [${ext}] $c"
+ fi
+ ok=false
+ while test "$ok" = "false"
+ do
+ read tmp_ext
+ if test "$tmp_ext" = "" && test "$ext" != ""
+ then
+ ok=true
+ compress_ext=$ext
+ elif test "$tmp_ext" != ""
+ then
+ ok=true
+ compress_ext=$tmp_ext
+ fi
+ done
+ else
+ compress_ext=$ext
+ fi
+ else
+ DO_COMPRESSION=false
+ fi
+fi
+
+# unconditionally handle uncompression
+UNCOMPRESSORS="unxz unlzma gunzip bzip2 pcat zcat fcat unyabba"
+for i in $UNCOMPRESSORS
+do
+ eval F$i=missing
+ for j in $DEFPATH
+ do
+ if test -f $j/$i
+ then
+ eval F$i=$j/$i
+ break
+ fi
+ done
+done
+unxz=missing
+if [ $Funxz != missing ]; then
+ unxz="$Funxz -c"
+fi
+gunzip=missing
+if [ $Fgunzip != missing ]; then
+ gunzip="$Fgunzip -c"
+fi
+bzip2=missing
+if [ $Fbzip2 != missing ]; then
+ bzip2="$Fbzip2 -c -d"
+fi
+unlzma=missing
+if [ $Funlzma != missing ]; then
+ unlzma="$Funlzma -c -d"
+fi
+pcat="$Fpcat"
+zcat="$Fzcat"
+fcat="$Ffcat"
+unyabba="$Funyabba"
+
+if [ x$default = x ]; then
+ echo ""
+ echo "Now let us look at programs for uncompressing compressed man pages."
+ echo ""
+ echo "If you don't have one of the following programs, enter \`missing'."
+ echo "It's best to enter absolute pathnames so that man won't have to"
+ echo "depend on the user's path to work properly. Default values are"
+ echo "given in square brackets. The answers given are only checked to"
+ echo "see if the programs exist, not to see see if the given flags are"
+ echo "correct."
+ for filter in $UNCOMPRESSORS
+ do
+ found=false
+ while test "$found" = "false"
+ do
+ echo ""
+ case $filter in
+ unxz)
+ echo "Command to use for .xz files (standard xz)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ gunzip)
+ echo "Command to use for .gz files (standard gzip)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ bzip2)
+ echo "Command to use for .bz2 files (standard bzip2)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ unlzma)
+ echo "Command to use for .lzma files (standard lzma)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ pcat)
+ echo "Command to use for .z files (pack/unpack)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ zcat)
+ echo "Command to use for .Z files (standard compress)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ fcat)
+ echo "Command to use for .F files (freeze/melt from net posting)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ unyabba)
+ echo "Command to use for .Y files (yabba/unyabba from net posting)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+ esac
+ read tmp
+ if test -n "$tmp"
+ then
+ if test "$tmp" = "missing"
+ then
+ found=true
+ eval $filter=""
+ elif test -f `echo $tmp | $awk '{print $1}'`
+ then
+ found=true
+ eval $filter=\""$tmp"\"
+ else
+ found=false
+ echo ""
+ echo "`echo $tmp | $awk '{print $1}'` doesn't seem to exist! Try again or enter \`missing'"
+ fi
+ elif test `eval echo \\$$filter | $awk '{print $1}'` = "missing"
+ then
+ found=true
+ eval $filter=""
+ elif test -f `eval echo \\$$filter | $awk '{print $1}'`
+ then
+ found=true
+ else
+ found=false
+ echo ""
+ echo "`eval echo \\$$filter | $awk '{print $1}'` doesn't seem to exist! Try again or enter \`missing'"
+ fi
+ done
+ done
+else
+ echo ""
+ echo "Assuming the following ways to invoke the various decompressors:"
+ for filter in $UNCOMPRESSORS
+ do
+ echo "$filter command: `eval echo \\$$filter`"
+ if test `eval echo \\$$filter | $awk '{print $1}'` = "missing"
+ then
+ eval $filter=""
+ fi
+ done
+fi
+
+# set $decompress to the program that decompresses things
+# with the $compress_ext extension.
+case $compress_ext in
+ .xz) decompress=$unxz ;;
+ .gz) decompress=$gunzip ;;
+ .bz2) decompress=$bzip2 ;;
+ .lzma) decompress=$unlzma ;;
+ .z) decompress=$pcat ;;
+ .Z) decompress=$zcat ;;
+ .F) decompress=$fcat ;;
+ .Y) decompress=$unyabba ;;
+ *) decompress= ;;
+esac
+
+if test "$DO_COMPRESSION" = "true"
+then
+ DEFS="$DEFS -DDO_COMPRESS"
+fi
+
+man=$bindir/man$EXEEXT
+apropos=$bindir/apropos
+whatis=$bindir/whatis
+man2dvi=$bindir/man2dvi
+makewhatis=$sbindir/makewhatis
+man_config_dir=$confdir
+man_config_file=$confdir/$conffilename
+
+if [ x$locale = x ]; then
+ sed -e 's/%.*//' < Makefile.in > Makefile
+else
+ sed -e 's/%//' < Makefile.in > Makefile
+fi
+
+# some definitions to avoid extensive quoting in the script below
+allargs='$@'
+infiles='$infiles'
+infile='$infile'
+shebang='`sed -n -e 1p $infile.in`'
+cb='$cb'
+cs='$cs'
+ce='$ce'
+mancomment='.\\\"'
+
+# Note: the script below only works when none of the variables
+# contains a comma.
+version=`cat version`
+
+cat > conf_script << EOS
+#!/bin/sh
+infiles=$allargs
+trap 'rm -f $infiles; exit 1' 1 3 15
+
+# echo ""
+for infile in $infiles
+do
+ case $infile in
+ *.h)
+ cb="/*"; cs=" *"; ce=" */";;
+ *.1|*.5|*.8|*.man)
+ cb=$mancomment; cs=$mancomment; ce=$mancomment;;
+ *)
+ case "$shebang" in
+ '#!'*) cb="$shebang";;
+ *) cb="#";;
+ esac
+ cs="#"; ce="#";;
+ esac
+ echo "$cb" > $infile
+ echo "$cs Generated automatically from $infile.in by the" >> $infile
+ echo "$cs configure script." >> $infile
+ echo "$ce" >> $infile
+ echo "Creating $infile from $infile.in"
+ sed -e '
+s,@version@,$version,
+s,@CC@,$CC,
+s,@EXEEXT@,$EXEEXT,
+s,@BUILD_CC@,$BUILD_CC,
+s,@INSTALL@,$INSTALL,
+s,@DEFS@,$DEFS,
+s,@LIBS@,$LIBS,
+s,@LIBOBJS@,$LIBOBJS,
+s,@troff@,$troff,
+s,@nroff@,$nroff,
+s,@jnroff@,$jnroff,
+s,@eqn@,$eqn,
+s,@neqn@,$neqn,
+s,@jneqn@,$jneqn,
+s,@tbl@,$tbl,
+s,@nocol@,$nocol,
+s,@pcol@,$pcol,
+s,@col@,$col,
+s,@vgrind@,$vgrind,
+s,@refer@,$refer,
+s,@grap@,$grap,
+s,@pic@,$pic,
+s,@fcat@,$fcat,
+s,@pcat@,$pcat,
+s,@zcat@,$zcat,
+s,@unxz@,$unxz,
+s,@gunzip@,$gunzip,
+s,@bzip2@,$bzip2,
+s,@unlzma@,$unlzma,
+s,@unyabba@,$unyabba,
+s,@compress@,$compress,
+s,@compress_ext@,$compress_ext,
+s,@decompress@,$decompress,
+s,@pager@,$pager,
+s,@browser@,$browser,
+s,@htmlpager@,$htmlpager,
+s,@cmp@,$cmp,
+s,@cat@,$cat,
+s,@awk@,$awk,
+s,@bindir@,$bindir,
+s,@sbindir@,$sbindir,
+s,@mandir@,$mandir,
+s,@locale@,$locale,
+s,@fhs@,$fhs,
+s,@fsstnd@,$fsstnd,
+s,@man1ext@,$man1ext,g
+s,@man5ext@,$man5ext,g
+s,@man8ext@,$man8ext,g
+s,@man_install_flags@,$man_install_flags,
+s,@man_user@,$man_user,
+s,@languages@,$languages,
+s,@man@,$man,
+s,@apropos@,$apropos,
+s,@whatis@,$whatis,
+s,@man2dvi@,$man2dvi,
+s,@makewhatis@,$makewhatis,
+s,@man_config_dir@,$man_config_dir,
+s,@man_config_file@,$man_config_file,
+s,@manpathoption@,$manpathoption,
+s/@sections@/$sections/
+' $infile.in >> $infile
+done
+EOS
+
+chmod +x conf_script
+
+echo ""
+echo 'Created Makefile and conf_script. Now do "make" and "make install".'
+echo ""
diff --git a/gencat/Makefile b/gencat/Makefile
new file mode 100644
index 0000000..8800958
--- /dev/null
+++ b/gencat/Makefile
@@ -0,0 +1,18 @@
+# extremely primitive makefile
+# just for people that don't have gencat but need it to make man
+
+# note: you only need gencat if you want non-English messages
+
+gencat: gencat.o genlib.o
+ $(CC) $(LDFLAGS) -o gencat gencat.o genlib.o
+
+gencat.o genlib.o: gencat.h
+
+genlib.o: msgcat.h
+
+install: gencat
+ cp gencat$(EXEEXT) $(DESTDIR)$(PREFIX)/usr/bin
+
+clean:
+ rm -f *~ *.o gencat
+
diff --git a/gencat/gencat.c b/gencat/gencat.c
new file mode 100644
index 0000000..d1a7c31
--- /dev/null
+++ b/gencat/gencat.c
@@ -0,0 +1,265 @@
+
+/***********************************************************
+Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that Alfalfa's name not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+If you make any modifications, bugfixes or other changes to this software
+we'd appreciate it if you could send a copy to us so we can keep things
+up-to-date. Many thanks.
+ Kee Hinckley
+ Alfalfa Software, Inc.
+ 267 Allston St., #3
+ Cambridge, MA 02139 USA
+ nazgul@alfalfa.com
+
+******************************************************************/
+
+/* Edit History
+
+01/18/91 3 hamilton #if not reparsed
+01/12/91 2 schulert conditionally use prototypes
+12/23/90 2 hamilton Fix fd == NULL to fd < 0
+11/03/90 1 hamilton Alphalpha->Alfalfa & OmegaMail->Poste
+08/13/90 1 schulert move from ua to omu
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#ifdef SYSV
+#include <sys/fcntl.h>
+#include <string.h>
+#else
+#include <strings.h>
+#endif
+#ifdef __linux__
+#include <string.h>
+#include <unistd.h>
+#endif
+#include <sys/file.h>
+#include <sys/stat.h>
+#include "gencat.h"
+
+#ifndef L_SET
+#define L_SET SEEK_SET
+#endif
+
+#ifndef L_INCR
+#define L_INCR SEEK_CUR
+#endif
+
+/*
+ * The spec says the syntax is "gencat catfile msgfile...".
+ * We extend it to:
+ * gencat [-new] [-or] [-lang C|C++|ANSIC] catfile msgfile
+ * [-h <header-file>]...
+ * Flags are order dependant, we'll take whatever lang was most recently chosen
+ * and use it to generate the next header file. The header files are generated
+ * at the point in the command line they are listed. Thus the sequence:
+ * gencat -lang C foo.cat foo.mcs -h foo.h -lang C++ bar.mcs -h bar.H
+ * will put constants from foo.mcs into foo.h and constants from bar.mcs into
+ * bar.h. Constants are not saved in the catalog file, so nothing will come
+ * from that, even if things have been defined before. The constants in foo.h
+ * will be in C syntax, in bar.H in C++ syntax.
+ */
+
+static void writeIfChanged(
+#if defined(__STDC__) || defined(__cplusplus)
+ char *fname, int lang, int orConsts
+#endif
+);
+
+void usage() {
+ fprintf(stderr, "Use: gencat [-new] [-or] [-lang C|C++|ANSIC] catfile msgfile [-h <header-file>]...\n");
+}
+
+int main(
+#if defined(__STDC__) || defined(__cplusplus)
+ int argc, char *argv[])
+#else
+ argc, argv)
+int argc;
+char *argv[];
+#endif
+{
+ int ofd, ifd, i;
+ FILE *fptr;
+ char *catfile = NULL;
+ char *input = NULL;
+ int lang = MCLangC;
+ int new = False;
+ int orConsts = False;
+
+ for (i = 1; i < argc; ++i) {
+ if (argv[i][0] == '-') {
+ if (strcmp(argv[i], "-lang") == 0) {
+ ++i;
+ if (strcmp(argv[i], "C") == 0) lang = MCLangC;
+ else if (strcmp(argv[i], "C++") == 0) lang = MCLangCPlusPlus;
+ else if (strcmp(argv[i], "ANSIC") == 0) lang = MCLangANSIC;
+ else {
+ fprintf(stderr, "gencat: Unrecognized language: %s\n", argv[i]);
+ exit(1);
+ }
+ } else if (strncmp(argv[i], "-h", 2) == 0) {
+ if (!input) {
+ fprintf(stderr, "gencat: Can't write to a header before reading something.\n");
+ exit(1);
+ }
+ ++i;
+ writeIfChanged(argv[i], lang, orConsts);
+ } else if (strncmp(argv[i], "-new", 4) == 0) {
+ if (catfile) {
+ fprintf(stderr, "gencat: You must specify -new before the catalog file name\n");
+ exit(1);
+ }
+ new = True;
+ } else if (strncmp(argv[i], "-or", 3) == 0) {
+ orConsts = ~orConsts;
+ } else {
+ usage();
+ exit(1);
+ }
+ } else {
+ if (!catfile) {
+ catfile = argv[i];
+ if (new) {
+ if ((ofd = open(catfile, O_WRONLY|O_TRUNC|O_CREAT, 0666)) < 0) {
+ fprintf(stderr, "gencat: Unable to create a new %s.\n", catfile);
+ exit(1);
+ }
+ } else if ((ofd = open(catfile, O_RDONLY)) < 0) {
+ if ((ofd = open(catfile, O_WRONLY|O_CREAT, 0666)) < 0) {
+ fprintf(stderr, "gencat: Unable to create %s.\n", catfile);
+ exit(1);
+ }
+ } else {
+ MCReadCat(ofd);
+ close(ofd);
+ if ((ofd = open(catfile, O_WRONLY|O_TRUNC)) < 0) {
+ fprintf(stderr, "gencat: Unable to truncate %s.\n", catfile);
+ exit(1);
+ }
+ }
+ } else {
+ input = argv[i];
+ if ((ifd = open(input, O_RDONLY)) < 0) {
+ fprintf(stderr, "gencat: Unable to read %s\n", input);
+ exit(1);
+ }
+ MCParse(ifd);
+ close(ifd);
+ }
+ }
+ }
+ if (catfile) {
+ MCWriteCat(ofd);
+ exit(0);
+ } else {
+ usage();
+ exit(1);
+ }
+ return 0; /* just for gcc */
+}
+
+static void writeIfChanged(
+#if defined(__STDC__) || defined(__cplusplus)
+ char *fname, int lang, int orConsts)
+#else
+ fname, lang, orConsts)
+char *fname;
+int lang;
+int orConsts;
+#endif
+{
+ char tmpname[32];
+ char buf[BUFSIZ], tbuf[BUFSIZ], *cptr, *tptr;
+ int fd, tfd;
+ int diff = False;
+ int c, len, tlen;
+ struct stat sbuf;
+
+ /* If it doesn't exist, just create it */
+ if (stat(fname, &sbuf)) {
+ if ((fd = open(fname, O_WRONLY|O_CREAT, 0666)) < 0) {
+ fprintf(stderr, "gencat: Unable to create header file %s.\n", fname);
+ exit(1);
+ }
+ MCWriteConst(fd, lang, orConsts);
+ close(fd);
+ return;
+ }
+
+ /* If it does exist, create a temp file for now */
+ sprintf(tmpname, "/tmp/gencat.%d", (int) getpid());
+ if ((tfd = open(tmpname, O_RDWR|O_CREAT, 0666)) < 0) {
+ fprintf(stderr, "gencat: Unable to open temporary file: %s\n", tmpname);
+ exit(1);
+ }
+ unlink(tmpname);
+
+ /* Write to the temp file and rewind */
+ MCWriteConst(tfd, lang, orConsts);
+
+ /* Open the real header file */
+ if ((fd = open(fname, O_RDONLY)) < 0) {
+ fprintf(stderr, "gencat: Unable to read header file: %s\n", fname);
+ exit(1);
+ }
+
+ /* Backup to the start of the temp file */
+ if (lseek(tfd, 0L, L_SET) < 0) {
+ fprintf(stderr, "gencat: Unable to seek in tempfile: %s\n", tmpname);
+ exit(1);
+ }
+
+ /* Now compare them */
+ while ((tlen = read(tfd, tbuf, BUFSIZ)) > 0) {
+ if ((len = read(fd, buf, BUFSIZ)) != tlen) {
+ diff = True;
+ goto done;
+ }
+ for (cptr = buf, tptr = tbuf; cptr < buf+len; ++cptr, ++tptr) {
+ if (*tptr != *cptr) {
+ diff = True;
+ goto done;
+ }
+ }
+ }
+done:
+ if (diff) {
+ if (lseek(tfd, 0L, L_SET) < 0) {
+ fprintf(stderr, "gencat: Unable to seek in tempfile: %s\n", tmpname);
+ exit(1);
+ }
+ close(fd);
+ if ((fd = open(fname, O_WRONLY|O_TRUNC)) < 0) {
+ fprintf(stderr, "gencat: Unable to truncate header file: %s\n", fname);
+ exit(1);
+ }
+ while ((len = read(tfd, buf, BUFSIZ)) > 0) {
+ if (write(fd, buf, len) != len) {
+ fprintf(stderr, "gencat: Error writing to header file: %s\n", fname);
+ }
+ }
+ }
+ close(fd);
+ close(tfd);
+}
diff --git a/gencat/gencat.h b/gencat/gencat.h
new file mode 100644
index 0000000..fcf20b7
--- /dev/null
+++ b/gencat/gencat.h
@@ -0,0 +1,107 @@
+
+/***********************************************************
+Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that Alfalfa's name not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+If you make any modifications, bugfixes or other changes to this software
+we'd appreciate it if you could send a copy to us so we can keep things
+up-to-date. Many thanks.
+ Kee Hinckley
+ Alfalfa Software, Inc.
+ 267 Allston St., #3
+ Cambridge, MA 02139 USA
+ nazgul@alfalfa.com
+
+******************************************************************/
+
+/* Edit History
+
+02/25/91 2 nazgul Added MCGetByteOrder
+01/18/91 2 hamilton #if not reparsed
+01/12/91 2 schulert conditionally use prototypes
+11/03/90 1 hamilton Alphalpha->Alfalfa & OmegaMail->Poste
+08/13/90 1 schulert move from ua to omu
+*/
+
+#ifndef gencat_h
+#define gencat_h
+
+/*
+ * $set n comment
+ * My extension: If the comment begins with # treat the next string
+ * as a constant identifier.
+ * $delset n comment
+ * n goes from 1 to NL_SETMAX
+ * Deletes a set from the MC
+ * $ comment
+ * My extension: If comment begins with # treat the next string as
+ * a constant identifier for the next message.
+ * m message-text
+ * m goes from 1 to NL_MSGMAX
+ * If message-text is empty, and a space or tab is present, put
+ * empty string in catalog.
+ * If message-text is empty, delete the message.
+ * Length of text is 0 to NL_TEXTMAX
+ * My extension: If '#' is used instead of a number, the number
+ * is generated automatically. A # followed by anything is an empty message.
+ * $quote c
+ * Optional quote character which can suround message-text to
+ * show where spaces are.
+ *
+ * Escape Characters
+ * \n (newline), \t (horiz tab), \v (vert tab), \b (backspace),
+ * \r (carriage return), \f (formfeed), \\ (backslash), \ddd (bitpattern
+ * in octal).
+ * Also, \ at end of line is a continuation.
+ *
+ */
+
+#define MCLangC 0
+#define MCLangCPlusPlus 1
+#define MCLangANSIC 2
+
+#define MAXTOKEN 1024
+
+#if !defined(ANSI_C) && (defined(__STDC__) || defined(_AIX))
+# define ANSI_C 1
+#endif
+
+#if ANSI_C || defined(__cplusplus)
+# define P_(x) x
+#else
+# define P_(x) /**/
+#endif
+
+extern void MCAddSet P_((int setId, char *c));
+extern void MCDelSet P_((int setId));
+extern void MCAddMsg P_((int msgId, char *msg, char *c));
+extern void MCDelMsg P_((int msgId));
+extern void MCParse P_((int fd));
+extern void MCReadCat P_((int fd));
+extern void MCWriteConst P_((int fd, int type, int orConsts));
+extern void MCWriteCat P_((int fd));
+extern long MCGetByteOrder P_((void));
+
+#ifndef True
+# define True ~0
+# define False 0
+#endif
+
+#endif
diff --git a/gencat/genlib.c b/gencat/genlib.c
new file mode 100644
index 0000000..737a9cb
--- /dev/null
+++ b/gencat/genlib.c
@@ -0,0 +1,892 @@
+/* -*-c++-*- */
+
+
+/***********************************************************
+Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that Alfalfa's name not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+If you make any modifications, bugfixes or other changes to this software
+we'd appreciate it if you could send a copy to us so we can keep things
+up-to-date. Many thanks.
+ Kee Hinckley
+ Alfalfa Software, Inc.
+ 267 Allston St., #3
+ Cambridge, MA 02139 USA
+ nazgul@alfalfa.com
+
+******************************************************************/
+
+/* Edit History
+
+12/03/82 nazgul Patch from <Jan.Djarv@sa.erisoft.se>. This may fix
+ the problem with updating sets.
+10/18/92 3 schulert actually put in the changes described in last edit.
+10/18/92 7 nazgul Changes from gbooman@feds1.Prime.COM (Gordon Booman)
+ 1) Support backslash quoted quotes in message file text.
+ 2) Correctly indicate error location in messages that have tabs.
+ 3) Fixed a misspelling.
+04/15/91 6 nazgul Check for byte order first
+02/25/91 5 nazgul Added flag for MS byteorder
+01/14/91 4 nazgul Off by one on number specified entries
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef SYSV
+#include <sys/types.h>
+#include <unistd.h>
+#endif
+
+#if !defined(__linux__) && !defined(__CYGWIN__)
+#include <memory.h>
+static int bcopy(src, dst, length)
+char *src, *dst;
+int length;
+{
+ memcpy(dst, src, length);
+}
+static int bzero(b, length)
+char *b;
+int length;
+{
+ memset(b, '\0', length);
+}
+#else
+#include <string.h>
+#endif
+
+#include <sys/file.h>
+#include <ctype.h>
+#include "msgcat.h"
+#include "gencat.h"
+
+#ifndef L_SET
+#define L_SET SEEK_SET
+#endif
+
+#ifndef L_INCR
+#define L_INCR SEEK_CUR
+#endif
+
+static char *curline = NULL;
+static long lineno = 0;
+
+static void warning(cptr, msg)
+char *cptr;
+char *msg;
+{
+ fprintf(stderr, "gencat: %s on line %d\n", msg, lineno);
+ fprintf(stderr, "%s\n", curline);
+ if (cptr) {
+ char *tptr;
+ for (tptr = curline; tptr < cptr; ++tptr)
+ putc(*tptr == '\t' ? '\t' : ' ', stderr);
+ fprintf(stderr, "^\n");
+ }
+}
+
+static void error(cptr, msg)
+char *cptr;
+char *msg;
+{
+ warning(cptr, msg);
+ exit(1);
+}
+
+static void corrupt() {
+ error(NULL, "corrupt message catalog");
+}
+static void nomem() {
+ error(NULL, "out of memory");
+}
+
+static char *my_getline(fd)
+int fd;
+{
+ static long len = 0, curlen = BUFSIZ;
+ static char buf[BUFSIZ], *bptr = buf, *bend = buf;
+ char *cptr, *cend;
+ long buflen;
+
+ if (!curline) {
+ curline = (char *) malloc(curlen);
+ if (!curline) nomem();
+ }
+ ++lineno;
+
+ cptr = curline;
+ cend = curline + curlen;
+ while (True) {
+ for (; bptr < bend && cptr < cend; ++cptr, ++bptr) {
+ if (*bptr == '\n') {
+ *cptr = '\0';
+ ++bptr;
+ return(curline);
+ } else *cptr = *bptr;
+ }
+ if (bptr == bend) {
+ buflen = read(fd, buf, BUFSIZ);
+ if (buflen <= 0) {
+ if (cptr > curline) {
+ *cptr = '\0';
+ return(curline);
+ }
+ return(NULL);
+ }
+ bend = buf + buflen;
+ bptr = buf;
+ }
+ if (cptr == cend) {
+ cptr = curline = (char *) realloc(curline, curlen *= 2);
+ cend = curline + curlen;
+ }
+ }
+}
+
+
+static char *token(cptr)
+char *cptr;
+{
+ static char tok[MAXTOKEN+1];
+ char *tptr = tok;
+
+ while (*cptr && isspace(*cptr)) ++cptr;
+ while (*cptr && !isspace(*cptr)) *tptr++ = *cptr++;
+ *tptr = '\0';
+ return(tok);
+}
+static char *wskip(cptr)
+char *cptr;
+{
+ if (!*cptr || !isspace(*cptr)) {
+ warning(cptr, "expected a space");
+ return(cptr);
+ }
+ while (*cptr && isspace(*cptr)) ++cptr;
+ return(cptr);
+}
+static char *cskip(cptr)
+char *cptr;
+{
+ if (!*cptr || isspace(*cptr)) {
+ warning(cptr, "wasn't expecting a space");
+ return(cptr);
+ }
+ while (*cptr && !isspace(*cptr)) ++cptr;
+ return(cptr);
+}
+
+static char *getmsg(fd, cptr, quote)
+int fd;
+char *cptr;
+char quote;
+{
+ static char *msg = NULL;
+ static long msglen = 0;
+ long clen, i;
+ char *tptr;
+
+ int needq;
+
+ if (quote && *cptr == quote) {
+ needq = True;
+ ++cptr;
+ } else needq = False;
+
+ clen = strlen(cptr) + 1;
+ if (clen > msglen) {
+ if (msglen) msg = (char *) realloc(msg, clen);
+ else msg = (char *) malloc(clen);
+ msglen = clen;
+ }
+ tptr = msg;
+
+ while (*cptr) {
+ if (quote && *cptr == quote) {
+ char *tmp;
+ tmp = cptr+1;
+ if (*tmp && (!isspace(*tmp) || *wskip(tmp))) {
+ warning(cptr, "quote character before end of line, ignoring");
+ *tptr++ = *cptr++;
+ } else {
+ *cptr = '\0';
+ }
+ } else if (*cptr == '\\') {
+ ++cptr;
+ switch (*cptr) {
+ case '\0':
+ cptr = my_getline(fd);
+ if (!cptr) error(NULL, "premature end of file");
+ msglen += strlen(cptr);
+ i = tptr - msg;
+ msg = (char *) realloc(msg, msglen);
+ tptr = msg + i;
+ break;
+ case 'n':
+ *tptr++ = '\n';
+ ++cptr;
+ break;
+ case 't':
+ *tptr++ = '\t';
+ ++cptr;
+ break;
+ case 'v':
+ *tptr++ = '\v';
+ ++cptr;
+ break;
+ case 'b':
+ *tptr++ = '\b';
+ ++cptr;
+ break;
+ case 'r':
+ *tptr++ = '\r';
+ ++cptr;
+ break;
+ case 'f':
+ *tptr++ = '\f';
+ ++cptr;
+ break;
+ case '\\':
+ *tptr++ = '\\';
+ ++cptr;
+ break;
+ default:
+ if (isdigit(*cptr)) {
+ *tptr = 0;
+ for (i = 0; i < 3; ++i) {
+ if (!isdigit(*cptr)) break;
+ if (*cptr > '7') warning(cptr, "octal number greater than 7?!");
+ *tptr *= 8;
+ *tptr += (*cptr - '0');
+ ++cptr;
+ }
+ } else if (*cptr == quote) {
+ *tptr++ = *cptr++;
+ } else {
+ warning(cptr, "unrecognized escape sequence");
+ }
+ }
+ } else {
+ *tptr++ = *cptr++;
+ }
+ }
+ *tptr = '\0';
+ return(msg);
+}
+
+
+
+static char *dupstr(ostr)
+char *ostr;
+{
+ char *nstr;
+
+ nstr = (char *) malloc(strlen(ostr) + 1);
+ if (!nstr) error(NULL, "unable to allocate storage");
+ strcpy(nstr, ostr);
+ return(nstr);
+}
+
+
+/*
+ * The Global Stuff
+ */
+
+
+typedef struct _msgT {
+ long msgId;
+ char *str;
+ char *hconst;
+ long offset;
+ struct _msgT *prev, *next;
+} msgT;
+typedef struct _setT {
+ long setId;
+ char *hconst;
+ msgT *first, *last;
+ struct _setT *prev, *next;
+} setT;
+typedef struct {
+ setT *first, *last;
+} catT;
+
+static setT *curSet;
+static catT *cat;
+
+/*
+ * Find the current byte order. There are of course some others, but this will do
+ * for now. Note that all we care about is "long".
+ */
+long MCGetByteOrder() {
+ long l = 0x00010203;
+ char *cptr = (char *) &l;
+
+ if (cptr[0] == 0 && cptr[1] == 1 && cptr[2] == 2 && cptr[3] == 3)
+ return MC68KByteOrder;
+ else return MCn86ByteOrder;
+}
+
+
+void MCParse(
+#if PROTO
+ int fd)
+#else
+ fd)
+int fd;
+#endif
+{
+ char *cptr, *str;
+ int setid, msgid = 0;
+ char hconst[MAXTOKEN+1];
+ char quote = 0;
+ int i;
+
+ if (!cat) {
+ cat = (catT *) malloc(sizeof(catT));
+ if (!cat) nomem();
+ bzero(cat, sizeof(catT));
+ }
+
+ hconst[0] = '\0';
+
+ while (cptr = my_getline(fd)) {
+ if (*cptr == '$') {
+ ++cptr;
+ if (strncmp(cptr, "set", 3) == 0) {
+ cptr += 3;
+ cptr = wskip(cptr);
+ setid = atoi(cptr);
+ cptr = cskip(cptr);
+ if (*cptr) cptr = wskip(cptr);
+ if (*cptr == '#') {
+ ++cptr;
+ MCAddSet(setid, token(cptr));
+ } else MCAddSet(setid, NULL);
+ msgid = 0;
+ } else if (strncmp(cptr, "delset", 6) == 0) {
+ cptr += 6;
+ cptr = wskip(cptr);
+ setid = atoi(cptr);
+ MCDelSet(setid);
+ } else if (strncmp(cptr, "quote", 5) == 0) {
+ cptr += 5;
+ if (!*cptr) quote = 0;
+ else {
+ cptr = wskip(cptr);
+ if (!*cptr) quote = 0;
+ else quote = *cptr;
+ }
+ } else if (isspace(*cptr)) {
+ cptr = wskip(cptr);
+ if (*cptr == '#') {
+ ++cptr;
+ strcpy(hconst, token(cptr));
+ }
+ } else {
+ if (*cptr) {
+ cptr = wskip(cptr);
+ if (*cptr) warning(cptr, "unrecognized line");
+ }
+ }
+ } else {
+ if (isdigit(*cptr) || *cptr == '#') {
+ if (*cptr == '#') {
+ ++msgid;
+ ++cptr;
+ if (!*cptr) {
+ MCAddMsg(msgid, "", hconst);
+ hconst[0] = '\0';
+ continue;
+ }
+ if (!isspace(*cptr)) warning(cptr, "expected a space");
+ ++cptr;
+ if (!*cptr) {
+ MCAddMsg(msgid, "", hconst);
+ hconst[0] = '\0';
+ continue;
+ }
+ } else {
+ msgid = atoi(cptr);
+ cptr = cskip(cptr);
+ cptr = wskip(cptr);
+ /* if (*cptr) ++cptr; */
+ }
+ if (!*cptr) MCDelMsg(msgid);
+ else {
+ str = getmsg(fd, cptr, quote);
+ MCAddMsg(msgid, str, hconst);
+ hconst[0] = '\0';
+ }
+ }
+ }
+ }
+}
+
+void MCReadCat(
+#if PROTO
+ int fd)
+#else
+ fd)
+int fd;
+#endif
+{
+ MCHeaderT mcHead;
+ MCMsgT mcMsg;
+ MCSetT mcSet;
+ msgT *msg;
+ setT *set;
+ int i;
+ char *data;
+
+ cat = (catT *) malloc(sizeof(catT));
+ if (!cat) nomem();
+ bzero(cat, sizeof(catT));
+
+ if (read(fd, &mcHead, sizeof(mcHead)) != sizeof(mcHead)) corrupt();
+ if (strncmp(mcHead.magic, MCMagic, MCMagicLen) != 0) corrupt();
+ if ((mcHead.flags & MCGetByteOrder()) == 0) error(NULL, "wrong byte order");
+ if (mcHead.majorVer != MCMajorVer) error(NULL, "unrecognized catalog version");
+
+ if (lseek(fd, mcHead.firstSet, L_SET) == -1) corrupt();
+
+ while (True) {
+ if (read(fd, &mcSet, sizeof(mcSet)) != sizeof(mcSet)) corrupt();
+ if (mcSet.invalid) continue;
+
+ set = (setT *) malloc(sizeof(setT));
+ if (!set) nomem();
+ bzero(set, sizeof(*set));
+ if (cat->first) {
+ cat->last->next = set;
+ set->prev = cat->last;
+ cat->last = set;
+ } else cat->first = cat->last = set;
+
+ set->setId = mcSet.setId;
+
+ /* Get the data */
+ if (mcSet.dataLen) {
+ data = (char *) malloc(mcSet.dataLen);
+ if (!data) nomem();
+ if (lseek(fd, mcSet.data.off, L_SET) == -1) corrupt();
+ if (read(fd, data, mcSet.dataLen) != mcSet.dataLen) corrupt();
+ if (lseek(fd, mcSet.u.firstMsg, L_SET) == -1) corrupt();
+
+ for (i = 0; i < mcSet.numMsgs; ++i) {
+ if (read(fd, &mcMsg, sizeof(mcMsg)) != sizeof(mcMsg)) corrupt();
+ if (mcMsg.invalid) {
+ --i;
+ continue;
+ }
+
+ msg = (msgT *) malloc(sizeof(msgT));
+ if (!msg) nomem();
+ bzero(msg, sizeof(*msg));
+ if (set->first) {
+ set->last->next = msg;
+ msg->prev = set->last;
+ set->last = msg;
+ } else set->first = set->last = msg;
+
+ msg->msgId = mcMsg.msgId;
+ msg->str = dupstr((char *) (data + mcMsg.msg.off));
+ }
+ free(data);
+ }
+ if (!mcSet.nextSet) break;
+ if (lseek(fd, mcSet.nextSet, L_SET) == -1) corrupt();
+ }
+}
+
+
+static void printS(fd, str)
+int fd;
+char *str;
+{
+ write(fd, str, strlen(str));
+}
+static void printL(fd, l)
+int fd;
+long l;
+{
+ char buf[32];
+ sprintf(buf, "%ld", l);
+ write(fd, buf, strlen(buf));
+}
+static void printLX(fd, l)
+int fd;
+long l;
+{
+ char buf[32];
+ sprintf(buf, "%lx", l);
+ write(fd, buf, strlen(buf));
+}
+
+static void genconst(fd, type, setConst, msgConst, val)
+int fd;
+int type;
+char *setConst;
+char *msgConst;
+long val;
+{
+ switch (type) {
+ case MCLangC:
+ if (!msgConst) {
+ printS(fd, "\n#define ");
+ printS(fd, setConst);
+ printS(fd, "Set");
+ } else {
+ printS(fd, "#define ");
+ printS(fd, setConst);
+ printS(fd, msgConst);
+ }
+ printS(fd, "\t0x");
+ printLX(fd, val);
+ printS(fd, "\n");
+ break;
+ case MCLangCPlusPlus:
+ case MCLangANSIC:
+ if (!msgConst) {
+ printS(fd, "\nconst long ");
+ printS(fd, setConst);
+ printS(fd, "Set");
+ } else {
+ printS(fd, "const long ");
+ printS(fd, setConst);
+ printS(fd, msgConst);
+ }
+ printS(fd, "\t= ");
+ printL(fd, val);
+ printS(fd, ";\n");
+ break;
+ default:
+ error(NULL, "not a recognized (programming) language type");
+ }
+}
+
+void MCWriteConst(
+#if PROTO
+ int fd, int type, int orConsts)
+#else
+ fd, type, orConsts)
+int fd;
+int type;
+int orConsts;
+#endif
+{
+ msgT *msg;
+ setT *set;
+ long id;
+
+ if (orConsts && (type == MCLangC || type == MCLangCPlusPlus || type == MCLangANSIC)) {
+ printS(fd, "/* Use these Macros to compose and decompose setId's and msgId's */\n");
+ printS(fd, "#ifndef MCMakeId\n");
+ printS(fd, "# define MCuint unsigned int\n");
+ printS(fd, "# define MCushort unsigned short\n");
+ printS(fd, "# define MCulong unsigned long\n");
+ printS(fd, "# define MCMakeId(s,m)\t(MCulong)(((MCushort)s<<(sizeof(short)*8))\\\n");
+ printS(fd, " \t |(MCushort)m)\n");
+ printS(fd, "# define MCSetId(id)\t(MCuint) ((MCuint)id >> (MCuint)(sizeof(short) * 8))\n");
+ printS(fd, "# define MCMsgId(id)\t(MCuint) (((MCuint)id << (MCuint)(sizeof(short) * 8))\\\n");
+ printS(fd, " \t >> (MCuint)(sizeof(short) * 8))\n");
+ printS(fd, "#endif\n");
+ }
+
+ for (set = cat->first; set; set = set->next) {
+ if (set->hconst) genconst(fd, type, set->hconst, NULL, set->setId);
+
+ for (msg = set->first; msg; msg = msg->next) {
+ if (msg->hconst) {
+ if (orConsts) id = MCMakeId(set->setId, msg->msgId);
+ else id = msg->msgId;
+ genconst(fd, type, set->hconst, msg->hconst, id);
+ free(msg->hconst);
+ msg->hconst = NULL;
+ }
+ }
+ if (set->hconst) {
+ free(set->hconst);
+ set->hconst = NULL;
+ }
+ }
+}
+
+void MCWriteCat(
+#if PROTO
+ int fd)
+#else
+ fd)
+int fd;
+#endif
+{
+ MCHeaderT mcHead;
+ int cnt;
+ setT *set;
+ msgT *msg;
+ MCSetT mcSet;
+ MCMsgT mcMsg;
+ off_t pos;
+
+ bcopy(MCMagic, mcHead.magic, MCMagicLen);
+ mcHead.majorVer = MCMajorVer;
+ mcHead.minorVer = MCMinorVer;
+ mcHead.flags = MCGetByteOrder();
+ mcHead.firstSet = 0; /* We'll be back to set this in a minute */
+
+ for (cnt = 0, set = cat->first; set; set = set->next) ++cnt;
+ mcHead.numSets = cnt;
+
+ lseek(fd, 0L, L_SET);
+ write(fd, &mcHead, sizeof(mcHead));
+ mcHead.firstSet = lseek(fd, 0, L_INCR);
+ lseek(fd, 0L, L_SET);
+ write(fd, &mcHead, sizeof(mcHead));
+
+ for (set = cat->first; set; set = set->next) {
+ bzero(&mcSet, sizeof(mcSet));
+
+ mcSet.setId = set->setId;
+ mcSet.invalid = False;
+
+ /* The rest we'll have to come back and change in a moment */
+ pos = lseek(fd, 0, L_INCR);
+ write(fd, &mcSet, sizeof(mcSet));
+
+ /* Now write all the string data */
+ mcSet.data.off = lseek(fd, 0, L_INCR);
+ cnt = 0;
+ for (msg = set->first; msg; msg = msg->next) {
+ msg->offset = lseek(fd, 0, L_INCR) - mcSet.data.off;
+ mcSet.dataLen += write(fd, msg->str, strlen(msg->str) + 1);
+ ++cnt;
+ }
+ mcSet.u.firstMsg = lseek(fd, 0, L_INCR);
+ mcSet.numMsgs = cnt;
+
+ /* Now write the message headers */
+ for (msg = set->first; msg; msg = msg->next) {
+ mcMsg.msgId = msg->msgId;
+ mcMsg.msg.off = msg->offset;
+ mcMsg.invalid = False;
+ write(fd, &mcMsg, sizeof(mcMsg));
+ }
+
+ /* Go back and fix things up */
+
+ if (set == cat->last) {
+ mcSet.nextSet = 0;
+ lseek(fd, pos, L_SET);
+ write(fd, &mcSet, sizeof(mcSet));
+ } else {
+ mcSet.nextSet = lseek(fd, 0, L_INCR);
+ lseek(fd, pos, L_SET);
+ write(fd, &mcSet, sizeof(mcSet));
+ lseek(fd, mcSet.nextSet, L_SET);
+ }
+ }
+}
+
+
+void MCAddSet(
+#if PROTO
+ int setId, char *hconst)
+#else
+ setId, hconst)
+int setId;
+char *hconst;
+#endif
+{
+ setT *set;
+
+ if (setId <= 0) {
+ error(NULL, "setId's must be greater than zero");
+ return;
+ }
+
+ if (hconst && !*hconst) hconst = NULL;
+ for (set = cat->first; set; set = set->next) {
+ if (set->setId == setId) {
+ if (set->hconst && hconst) free(set->hconst);
+ set->hconst = NULL;
+ break;
+ } else if (set->setId > setId) {
+ setT *newSet;
+
+ newSet = (setT *) malloc(sizeof(setT));
+ if (!newSet) nomem();
+ bzero(newSet, sizeof(setT));
+ newSet->prev = set->prev;
+ newSet->next = set;
+ if (set->prev) set->prev->next = newSet;
+ else cat->first = newSet;
+ set->prev = newSet;
+ set = newSet;
+ break;
+ }
+ }
+ if (!set) {
+ set = (setT *) malloc(sizeof(setT));
+ if (!set) nomem();
+ bzero(set, sizeof(setT));
+
+ if (cat->first) {
+ set->prev = cat->last;
+ set->next = NULL;
+ cat->last->next = set;
+ cat->last = set;
+ } else {
+ set->prev = set->next = NULL;
+ cat->first = cat->last = set;
+ }
+ }
+ set->setId = setId;
+ if (hconst) set->hconst = dupstr(hconst);
+ curSet = set;
+}
+
+void MCAddMsg(
+#if PROTO
+ int msgId, char *str, char *hconst)
+#else
+ msgId, str, hconst)
+int msgId;
+char *str;
+char *hconst;
+#endif
+{
+ msgT *msg;
+
+ if (!curSet) error(NULL, "can't specify a message when no set exists");
+
+ if (msgId <= 0) {
+ error(NULL, "msgId's must be greater than zero");
+ return;
+ }
+
+ if (hconst && !*hconst) hconst = NULL;
+ for (msg = curSet->first; msg; msg = msg->next) {
+ if (msg->msgId == msgId) {
+ if (msg->hconst && hconst) free(msg->hconst);
+ if (msg->str) free(msg->str);
+ msg->hconst = msg->str = NULL;
+ break;
+ } else if (msg->msgId > msgId) {
+ msgT *newMsg;
+
+ newMsg = (msgT *) malloc(sizeof(msgT));
+ if (!newMsg) nomem();
+ bzero(newMsg, sizeof(msgT));
+ newMsg->prev = msg->prev;
+ newMsg->next = msg;
+ if (msg->prev) msg->prev->next = newMsg;
+ else curSet->first = newMsg;
+ msg->prev = newMsg;
+ msg = newMsg;
+ break;
+ }
+ }
+ if (!msg) {
+ msg = (msgT *) malloc(sizeof(msgT));
+ if (!msg) nomem();
+ bzero(msg, sizeof(msgT));
+
+ if (curSet->first) {
+ msg->prev = curSet->last;
+ msg->next = NULL;
+ curSet->last->next = msg;
+ curSet->last = msg;
+ } else {
+ msg->prev = msg->next = NULL;
+ curSet->first = curSet->last = msg;
+ }
+ }
+ msg->msgId = msgId;
+ if (hconst) msg->hconst = dupstr(hconst);
+ msg->str = dupstr(str);
+}
+
+void MCDelSet(
+#if PROTO
+ int setId)
+#else
+ setId)
+int setId;
+#endif
+{
+ setT *set;
+ msgT *msg;
+
+ for (set = cat->first; set; set = set->next) {
+ if (set->setId == setId) {
+ for (msg = set->first; msg; msg = msg->next) {
+ if (msg->hconst) free(msg->hconst);
+ if (msg->str) free(msg->str);
+ free(msg);
+ }
+ if (set->hconst) free(set->hconst);
+
+ if (set->prev) set->prev->next = set->next;
+ else cat->first = set->next;
+
+ if (set->next) set->next->prev = set->prev;
+ else cat->last = set->prev;
+
+ free(set);
+ return;
+ } else if (set->setId > setId) break;
+ }
+ warning(NULL, "specified set doesn't exist");
+}
+
+void MCDelMsg(
+#if PROTO
+ int msgId)
+#else
+ msgId)
+int msgId;
+#endif
+{
+ msgT *msg;
+
+ if (!curSet) error(NULL, "you can't delete a message before defining the set");
+
+ for (msg = curSet->first; msg; msg = msg->next) {
+ if (msg->msgId == msgId) {
+ if (msg->hconst) free(msg->hconst);
+ if (msg->str) free(msg->str);
+
+ if (msg->prev) msg->prev->next = msg->next;
+ else curSet->first = msg->next;
+
+ if (msg->next) msg->next->prev = msg->prev;
+ else curSet->last = msg->prev;
+
+ free(msg);
+ return;
+ } else if (msg->msgId > msgId) break;
+ }
+ warning(NULL, "specified msg doesn't exist");
+}
+
+
+
+
+
+
diff --git a/gencat/msgcat.h b/gencat/msgcat.h
new file mode 100644
index 0000000..6c3a9d5
--- /dev/null
+++ b/gencat/msgcat.h
@@ -0,0 +1,178 @@
+/* -*-c++-*- */
+
+#ifndef __msgcath
+
+
+/***********************************************************
+Copyright 1990, by Alfalfa Software Incorporated, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that Alfalfa's name not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+ALPHALPHA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ALPHALPHA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+If you make any modifications, bugfixes or other changes to this software
+we'd appreciate it if you could send a copy to us so we can keep things
+up-to-date. Many thanks.
+ Kee Hinckley
+ Alfalfa Software, Inc.
+ 267 Allston St., #3
+ Cambridge, MA 02139 USA
+ nazgul@alfalfa.com
+
+******************************************************************/
+
+
+#include <sys/types.h>
+
+/*
+ * On disk data structures
+ */
+
+/* Edit History
+
+02/25/91 2 nazgul Byte order flags, upped the version number
+11/03/90 1 hamilton Alphalpha->Alfalfa & OmegaMail->Poste
+08/13/90 1 schulert move from ua to omu
+*/
+
+/* For or'd constants */
+#define MCMakeId(s,m) (unsigned long) ( ((unsigned short)s << (sizeof(short)*8)) \
+ | (unsigned short)m )
+#define MCSetId(id) (unsigned int) ( id >> (sizeof(short) * 8) )
+#define MCMsgId(id) (unsigned int) ( (id << (sizeof(short) * 8)) \
+ >> (sizeof(short) * 8) )
+#undef S
+#undef UI
+#undef UL
+
+#define MCMagicLen 8
+#define MCMagic "*nazgul*"
+#define MCLastMsg 0
+#define MCLastSet 0
+
+#define MCMajorVer 1
+#define MCMinorVer 0
+
+/*
+ * Critical note here. Sets and Messages *MUST* be stored in ascending
+ * order. There are stored that way (by specification) in the original
+ * data file, however in the process of merging in new stuff you might
+ * mix that up. Don't! The catget stuff does a binary search and will
+ * totally lose it if these aren't in order (not contiguous mind you, just
+ * in order. If this turns out to be a major problem this could be enhanced
+ * by adding a 'sorted' flag to the db, and sorting msgs and sets at load
+ * time if things aren't sorted, but I'd like not to have to do that.
+ */
+
+/*
+ * I have tried here to define data structures which can be used
+ * while the catalog is on disk, and at runtime.
+ * This is rather dangerous of course, but I think it can be done without
+ * overly increasing the memory usage, and it makes loading and storing
+ * somewhat simpler and less prone to accidents. I have also tried to
+ * define on disk data structures which can be updated in place, so that
+ * with a very large catalog (e.g. all system errors) you don't have to
+ * load everything in memory in order to add or update one set. With
+ * this in mind there are "invalid" flags which allow items to be
+ * invalidated and thus not loaded at runtime. Note however that although
+ * I pay attention to these when I load the DB, I do not currently use
+ * them in gencat (it just reads everything into memory), so there is
+ * no guarantee that this will all work.
+ */
+
+/* These should be publicly available */
+
+#define MCLoadBySet 0 /* Load entire sets as they are used */
+#define MCLoadAll 1 /* Load entire DB on catopen */
+
+extern char *MCAppPath; /* Additional search path for strings (appended) */
+
+/*
+ * MCOffsetT - Union to handle both disk and runtime pointers
+ */
+typedef union {
+ off_t off;
+ char *str;
+ void *ptr;
+ struct _MCMsgT *msg;
+ struct _MCSetT *set;
+} MCOffsetT;
+
+/*
+ * MCMsgT - Message structure (disk and runtime)
+ */
+typedef struct _MCMsgT {
+ long msgId; /* Id of this message */
+ MCOffsetT msg; /* Relative offset on disk or pointer in memory */
+ long invalid; /* Valid on disk, loaded in memory */
+} MCMsgT;
+
+/*
+ * MCSetT - Set structure (disk and runtime)
+ */
+typedef struct _MCSetT {
+ long setId; /* Id of this set */
+ off_t nextSet; /* Offset of next set on disk */
+ union {
+ off_t firstMsg; /* Offset to first Msg (while on disk) */
+ MCMsgT *msgs; /* Pointer to array of msgs (in mem, loaded) */
+ } u;
+ MCOffsetT data; /* Offset to data, or pointer to data */
+ long dataLen; /* Length of data area on disk */
+ long numMsgs; /* Number of messages */
+ long invalid; /* Valid on disk, loaded in memory */
+} MCSetT;
+
+/*
+ * MCCatT - Runtime catalog pointer
+ */
+typedef struct {
+ long loadType; /* How to load the messages (see MSLoadType) */
+#ifdef HAVE_MMAP
+ union {
+#endif
+ int fd; /* File descriptor of catalog (if load-on-demand) */
+#ifdef HAVE_MMAP
+ caddr_t addr; /* Mmaped() address */
+ } u;
+ off_t size; /* File size */
+#endif
+ long numSets; /* Number of sets */
+ MCSetT *sets; /* Pointer to the sets */
+ off_t firstSet; /* Offset of first set on disk */
+} MCCatT;
+
+/*
+ * MCHeaderT - Disk file header
+ */
+typedef struct {
+ char magic[MCMagicLen]; /* Magic cookie "*nazgul*" */
+ long majorVer; /* ++ on incompatible changes */
+ long minorVer; /* ++ on compatible changes */
+ long flags; /* Informational flags */
+ long numSets; /* Number of valid Sets */
+ off_t firstSet; /* Offset of first set on disk */
+} MCHeaderT;
+
+/* Some flags */
+#define MC68KByteOrder 0x01
+#define MCn86ByteOrder 0x02
+
+
+
+
+#endif
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..5f21fd0
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,65 @@
+#
+# Generated automatically from Makefile.in by the
+# configure script.
+#
+# only executed from a subdir
+MAN1 = man whatis apropos
+MAN5 = man.conf
+MAN8 = makewhatis
+ALL = man.1 whatis.1 apropos.1 man.conf.5
+MAYBE8 = makewhatis
+
+.SUFFIXES: .man .1 .5 .8
+
+.man.1:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+.man.5:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+.man.8:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+INSTALL = install -c -m 644
+
+# Where to put the manual pages.
+mandir = $(DESTDIR)$(PREFIX)/usr/share/man$(SLANG)
+
+all: $(ALL)
+ for i in $(MAYBE8); \
+ do if test -f $$i.man; then make -f ../Makefile $$i.8; fi; done
+
+install: $(ALL)
+ mkdir -p $(mandir)/man1 $(mandir)/man5 $(mandir)/man8
+ for i in $(MAN1); \
+ do $(INSTALL) $$i.1 $(mandir)/man1/$$i.1; done
+ for i in $(MAN5); \
+ do $(INSTALL) $$i.5 $(mandir)/man5/$$i.5; done
+ for i in $(MAN8); \
+ do if test -f $$i.8; then $(INSTALL) $$i.8 $(mandir)/man8/$$i.8; fi; done
+
+clean:
+ rm -f core *.in *.1 *.5 *.8 *~
+
+spotless:
+
+subdirs:
+ @for i in en; do if test -d $$i; then echo; \
+ echo "==== Making the `cat $$i.txt` man pages. ===="; \
+ cd $$i; make -f ../Makefile; cd ..; \
+ else echo "==== No $$i man pages found. ===="; fi; done
+
+installsubdirs:
+ @for i in en; do if test -d $$i; then echo; \
+ echo "==== Installing the `cat $$i.txt` man pages. ===="; \
+ cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \
+ export SLANG; make -f ../Makefile install; cd ..; \
+ else echo "==== No $$i man pages found. ===="; fi; done
+
+cleansubdirs:
+ @for i in ??; do cd $$i; make -f ../Makefile clean; cd ..; done
+ rm -f core *~
+
+spotlesssubdirs:
+ for i in ??; do cd $$i; make -f ../Makefile spotless; cd ..; done
+ rm -f Makefile
diff --git a/man/Makefile.in b/man/Makefile.in
new file mode 100644
index 0000000..4fac193
--- /dev/null
+++ b/man/Makefile.in
@@ -0,0 +1,61 @@
+# only executed from a subdir
+MAN1 = man whatis apropos
+MAN5 = man.conf
+MAN8 = makewhatis
+ALL = man.1 whatis.1 apropos.1 man.conf.5
+MAYBE8 = makewhatis
+
+.SUFFIXES: .man .1 .5 .8
+
+.man.1:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+.man.5:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+.man.8:
+ @cp $< $@.in; ../../conf_script $@; rm $@.in
+
+INSTALL = @INSTALL@ -c -m 644
+
+# Where to put the manual pages.
+mandir = $(DESTDIR)$(PREFIX)@mandir@$(SLANG)
+
+all: $(ALL)
+ for i in $(MAYBE8); \
+ do if test -f $$i.man; then make -f ../Makefile $$i.8; fi; done
+
+install: $(ALL)
+ mkdir -p $(mandir)/man1 $(mandir)/man5 $(mandir)/man8
+ for i in $(MAN1); \
+ do $(INSTALL) $$i.1 $(mandir)/man1/$$i.@man1ext@; done
+ for i in $(MAN5); \
+ do $(INSTALL) $$i.5 $(mandir)/man5/$$i.@man5ext@; done
+ for i in $(MAN8); \
+ do if test -f $$i.8; then $(INSTALL) $$i.8 $(mandir)/man8/$$i.@man8ext@; fi; done
+
+clean:
+ rm -f core *.in *.@man1ext@ *.@man5ext@ *.@man8ext@ *~
+
+spotless:
+
+subdirs:
+ @for i in @languages@; do if test -d $$i; then echo; \
+ echo "==== Making the `cat $$i.txt` man pages. ===="; \
+ cd $$i; make -f ../Makefile; cd ..; \
+ else echo "==== No $$i man pages found. ===="; fi; done
+
+installsubdirs:
+ @for i in @languages@; do if test -d $$i; then echo; \
+ echo "==== Installing the `cat $$i.txt` man pages. ===="; \
+ cd $$i; SLANG=/$$i; if test $$SLANG = /en; then SLANG= ; fi; \
+ export SLANG; make -f ../Makefile install; cd ..; \
+ else echo "==== No $$i man pages found. ===="; fi; done
+
+cleansubdirs:
+ @for i in ??; do cd $$i; make -f ../Makefile clean; cd ..; done
+ rm -f core *~
+
+spotlesssubdirs:
+ for i in ??; do cd $$i; make -f ../Makefile spotless; cd ..; done
+ rm -f Makefile
diff --git a/man/bg.txt b/man/bg.txt
new file mode 100644
index 0000000..047a2a6
--- /dev/null
+++ b/man/bg.txt
@@ -0,0 +1 @@
+bulgarian
diff --git a/man/bg/README b/man/bg/README
new file mode 100644
index 0000000..3173a29
--- /dev/null
+++ b/man/bg/README
@@ -0,0 +1,7 @@
+These pages are a one-time contribution by Dimitar Zhekov.
+E-mail: <jimmy@is-vn.bg>
+They were updated by Alexander Shopov.
+E-mail: <ash@contact.bg>
+You can reach the Bulgarain translation team at:
+http://fsa-bg.org/project/gtp
+
diff --git a/man/bg/apropos.man b/man/bg/apropos.man
new file mode 100644
index 0000000..0e4f937
--- /dev/null
+++ b/man/bg/apropos.man
@@ -0,0 +1,37 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Translated by Dimitar Zhekov <jimmy@is-vn.bg>, 2002.
+.\" Translated by Alexander Shopov <ash@contact.bg>, 2005.
+.TH apropos 1 "15 1991"
+.LO 1
+.SH
+apropos \- whatis
+.SH
+.BI apropos
+_ ...
+.SH
+apropos ,
+ ,
+ .
+.SH "/"
+
+.BR man
+ John W. Eaton. Federico Lucifredi <flucifredi@acm.org>
+ .
+.SH
+ , <ash@contact.bg>
+.SH " "
+.BR whatis(1),
+.BR man(1).
diff --git a/man/bg/makewhatis.man b/man/bg/makewhatis.man
new file mode 100644
index 0000000..772e281
--- /dev/null
+++ b/man/bg/makewhatis.man
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.\" Translated by Alexander Shopov <ash@contact.bg>, 2005.
+.TH MAKEWHATIS 8 "21 2005"
+.SH
+makewhatis \- whatis
+.SH
+.BI "makewhatis [-u] [-v] [-w] [-s " " ] [-c [" ___ "]] [" __ "]"
+.SH
+.B makewhatis
+
+.IR " " " " " "
+.IR " " " " " ",
+
+.I .
+ whatis
+.
+ .
+ .
+.LP
+ ,
+.B makewhatis
+ , , , ,
+.
+.LP
+
+.IR " ",
+
+.I /usr/man
+.
+.SH
+.TP
+.B -u
+ .
+.TP
+.B -v
+ .
+.TP
+.B -w
+ `man --path`
+.TP
+.BI -s " "
+
+.I
+
+.IR " " " " .
+ ,
+.I \'1 2 3 4 5 6 7 8 9 n l\'
+.TP
+.BI -c " ___"
+
+.I
+ . ,
+
+.IR /usr/man/preformat " " /usr/man .
+.SH
+.PP
+
+.IR /usr/X11R6/man/whatis " " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+ ,
+ , :
+.IP
+LANGUAGE=bg:ru:en makewhatis -w
+.SH
+.B makewhatis
+ ,
+ troff, . Tcl/Tk.
+.PP
+.B makewhatis
+ .
+.SH "/"
+
+.BR man
+ John W. Eaton. Federico Lucifredi <flucifredi@acm.org>
+ .
+.SH
+ <ash@contact.bg>
+.SH " "
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
diff --git a/man/bg/man.conf.man b/man/bg/man.conf.man
new file mode 100644
index 0000000..6574e69
--- /dev/null
+++ b/man/bg/man.conf.man
@@ -0,0 +1,59 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "21 2005"
+.SH
+man.conf \- man
+.SH
+.LP
+
+.BR man (1)
+ : ()
+ ; ()
+ nroff, eqn, tbl .., man; ()
+
+.
+ :
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+ .
+grotty(1) nroff.
+, :
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+ :
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+ .
+.SH
+.I "@man_config_file@"
+.SH "/"
+
+.BR man
+ John W. Eaton. Federico Lucifredi <flucifredi@acm.org>
+ .
+.SH
+ , <ash@contact.bg>
+.SH " "
+.BR col (1),
+.BR (g)eqn (1),
+.BR (g)pic (1),
+.BR groff (1),
+.BR grotty (1),
+.BR (g)refer (1),
+.BR (g)tbl (1),
+.BR less (1),
+.BR man (1),
+.BR compress (1),
+.BR gzip (1).
diff --git a/man/bg/man.man b/man/bg/man.man
new file mode 100644
index 0000000..e4013fa
--- /dev/null
+++ b/man/bg/man.man
@@ -0,0 +1,472 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" More changes - flc
+.\"
+.\" Translated by Dimitar Zhekov <jimmy@is-vn.bg>, 2002.
+.\" Translated by Alexander Shopov <ash@contact.bg>, 2005.
+.TH man 1 "21 2005"
+.LO 1
+.SH
+man \-
+.SH
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR ]
+.RB [ \-p
+.IR ]
+.RB [ \-C
+.IR _ ]
+.RB [ \-M
+.IR ]
+.RB [ \-P
+.IR ]
+.RB [ \-B
+.IR ]
+.RB [ \-H
+.IR __HTML ]
+.RB [ \-S
+.IR __ ]
+.RI [ ]
+.I " ..."
+
+.SH
+.B man
+ .
+
+.IR ,
+.B man
+ .
+.I
+ , ..
+ , .
+.I
+
+.RB ( / ),
+.B man
+, ,
+.B "man ./foo.5"
+
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+-
+.B man
+ .
+
+.SH
+.TP
+.B \-\^C " _"
+ .
+.BR @man_config_file@ .
+(
+.BR man.conf (5)).
+.TP
+.B \-\^M " __"
+ , ,
+ .
+
+.BR \-M .
+
+.BR " " .
+.TP
+.B \-\^P " "
+, .
+ -
+.BR MANPAGER ,
+ -
+.BR PAGER .
+
+.B man
+
+.BR "@pager@" .
+.TP
+.B \-\^B
+, HTML.
+ -
+.BR BROWSER .
+
+.B man
+
+.BR @browser@ ,
+.TP
+.B \-\^H
+ HTML.
+ -
+.BR HTMLPAGER .
+
+.B man
+
+.BR @htmlpager@ ,
+.TP
+.B \-\^S " __"
+ , ,
+ . -
+
+.BR MANSECT .
+.TP
+.B \-\^a
+ .
+
+.B man
+ .
+
+.B man
+ .
+.TP
+.B \-\^c
+ ,
+ , .
+ ,
+ .
+.TP
+.B \-\^d
+ ,
+.BR man .
+.TP
+.B \-\^D
+ , .
+.TP
+.B \-\^f
+
+.BR whatis .
+.TP
+.BR \-\^F " " \-\-preformat
+ , .
+.TP
+.B \-\^h
+ .
+.TP
+.B \-\^k
+
+.BR apropos .
+.TP
+.B \-\^K
+ ** . :
+ \- ,
+ . ( \-
+ 500 ).
+.TP
+.B \-\^m " "
+ , .
+.TP
+.B \-\^p " "
+ ,
+.B nroff
+
+.BR troff .
+
+ .
+ , :
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+ -
+.BR MANROFFSEQ .
+.TP
+.B \-\^t
+
+.B @troff@
+ \-
+.B stdout.
+
+ .
+.TP
+.B \-\^w \fR\fP \-\-path
+ , ,
+ .
+ , ( )
+,
+.B man
+ .
+
+.B manpath
+ man, "manpath" "man --path".
+.TP
+.B \-\^W
+ \-\^w,
+ .
+
+.ft CW
+.BR "man -aW man | xargs ls -l" .
+.ft
+
+.SH " "
+ , man
+
+ . ("cat")
+ /manX /catX,
+.BR @man_config_file@
+ .
+, ,
+
+80 man.conf NOCACHE.
+.PP
+
+.B man
+ (suid) man. ,
+ man
+ 0755 ( man),
+ man
+ 0644 0444 (
+ man ),
+
+ .
+
+.B man
+ (suid) man
+ cat ,
+ 0777.
+.PP
+
+.B \-c
+ ,
+ , .
+
+.SH " HTML"
+Man HTML,
+ html .
+
+".html". \-
+
+.BR ls (1)
+ HTML
+.IR /usr/share/man/htmlman1/ls.1.html .
+
+.SH " "
+.B man
+
+, ,
+,
+.B @man_config_file@
+ .
+.PP
+,
+.I
+
+.B man
+
+.RB ( / ),
+.B man
+ .
+.PP
+ ,
+.I
+ ,
+.B man
+ ,
+
+.IR .
+.PP
+
+.BI "-M " ,
+
+.I
+ ,
+.B man
+.
+.PP
+
+.BR -M ,
+
+.BR MANPATH ,
+ ,
+.B man
+.
+.PP
+
+.B -M
+
+.BR MANPATH ,
+.B man
+ ,
+
+.BR @man_config_file@ .
+
+.B MANPATH
+ ,
+ .
+.PP
+
+.B MANPATH_MAP
+
+ , ..
+.BR PATH .
+ , ,
+.B MANPATH_MAP
+ ,
+ .
+.B man
+
+.B PATH
+ .
+ ,
+.BR MANPATH_MAP ,
+
+.BR "man xyz" ,
+ ,
+ ,
+.BR xyz .
+.PP
+ ,
+ (" "),
+.I
+
+.B MANPATH_MAP ,
+.B man
+ , \-
+ .
+.PP
+
+.B NOAUTOPATH
+
+.BR @man_config_file@ .
+.PP
+ , \-,
+.B man
+
+.IB . \fR,
+ \-
+ . ,
+.B man
+ , ,
+.BI man N
+
+.BI cat N\fR,
+
+.I N
+ .
+
+.BI cat N,
+.B man
+, , .
+.B man
+, . ,
+
+.B man
+ ,
+.BR .gz ,
+.B man
+, .
+.PP
+ ( )
+.B man
+ ,
+.BR "--path " ( -w ).
+
+.SH
+.TP
+.B MANPATH
+ .
+\-
+ , \-
+.BR -M .
+
+.BR " " .
+.TP
+.B MANPL
+ . ,
+ () .
+.TP
+.B MANROFFSEQ
+ ,
+.B nroff
+
+.BR troff .
+ ,
+.B nroff
+ tbl.
+.TP
+.B MANSECT
+ , .
+.TP
+.B MANWIDTH
+ . .
+.TP
+.B MANPAGER
+ ,
+. ,
+.BR PAGER .
+ ,
+.BR @pager@ .
+.TP
+.B BROWSER
+ HTML.
+ , @browser@.
+.TP
+.B HTMLPAGER
+ HTML.
+ @htmlpager@.
+.TP
+.B LANG
+, man - .
+ LANG=bg man 1 foo man foo
+ .../bg/man1/foo.1, , .../man1/foo.1 (...
+ ).
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+
+.B NLSPATH
+
+.B LC_MESSAGES
+(
+.BR LANG ,
+ LC_MESSAGES )
+ man ( man
+ ).
+: , man,
+.BR col(1) ,
+ LC_CTYPE.
+.TP
+.B PATH
+ .
+.BR " " .
+.TP
+.B SYSTEM
+
+.BR \-m .
+.SH
+
+.B \-t
+, troff .
+.br
+ () \e255 <AD> ,
+ LESSCHARSET=latin1.
+.SH
+
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+
+.IR .emacs
+, F1
+, .
+.LP
+ ,
+ , :
+
+ # man foo | col -b > foo.mantxt
+
+.SH "/"
+
+.BR man
+ John W. Eaton. Federico Lucifredi <flucifredi@acm.org> .
+.SH
+ , <ash@contact.bg>
+.SH " "
+.BR apropos (1),
+.BR whatis(1),
+.BR less(1),
+.BR groff(1),
+.BR man.conf(5).
diff --git a/man/bg/whatis.man b/man/bg/whatis.man
new file mode 100644
index 0000000..def4539
--- /dev/null
+++ b/man/bg/whatis.man
@@ -0,0 +1,39 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Translated by Dimitar Zhekov <jimmy@is-vn.bg>, 2002.
+.\" Translated by Alexander Shopov <ash@contact.bg>, 2005.
+.TH whatis 1 "5 1991"
+.LO 1
+.SH
+whatis \- whatis
+.SH
+.BI whatis
+_ ...
+.SH E
+whatis ,
+ ,
+ .
+ .
+
+ whatis @makewhatis@.
+.SH "/"
+
+.BR man
+ John W. Eaton. Federico Lucifredi <flucifredi@acm.org> .
+.SH
+ , <ash@contact.bg>
+.SH " "
+.BR apropos (1),
+.BR man (1).
diff --git a/man/cs.txt b/man/cs.txt
new file mode 100644
index 0000000..d94d829
--- /dev/null
+++ b/man/cs.txt
@@ -0,0 +1 @@
+czech
diff --git a/man/cs/apropos.man b/man/cs/apropos.man
new file mode 100644
index 0000000..186702a
--- /dev/null
+++ b/man/cs/apropos.man
@@ -0,0 +1,29 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Autorem eskho pekladu je Pavel JANK ml.
+.\" Pavel.JANIK@inet.cz
+.\"
+.TH apropos 1 "7. ledna, 1997"
+.LO 1
+.SH JMNO
+apropos \- hledej etzec v databzi whatis
+.SH SYNTAXE
+.BI apropos
+slovo ...
+.SH POPIS
+apropos prohledv databzi obsahujc krtk popis systmovch pkaz na
+vskyt `slova' a vsledek zobraz na standardn vstup.
+.SH "VIZ Tɮ"
+whatis(1), man(1).
diff --git a/man/cs/man.conf.man b/man/cs/man.conf.man
new file mode 100644
index 0000000..2267052
--- /dev/null
+++ b/man/cs/man.conf.man
@@ -0,0 +1,43 @@
+.\" @(#)man.conf
+.\" Autorem eskho pekladu je Pavel JANK ml.
+.\" Pavel.JANIK@inet.cz
+.\"
+.TH MAN.CONF 5 "7. ledna, 1997"
+.SH JMNO
+man.conf \- konfiguran soubor pro man
+.SH POPIS
+.LP
+Tento soubor je ten programem
+.BR man (1)
+a obsahuje (a) informace o tom, kde hledat manulov strnky,
+(b) pln jmna dalch preprocesor jako nroff, eqn, tbl atd. pouvanch
+programem man a (c) seznam komprimovacch program a jimi specifikovanch
+ppon. Uivatelsk verze tohoto souboru me bt specifikovna takto:
+.LP
+.RS
+man -C soukrom_man.conf ...
+.RE
+.LP
+Jmna pkaz mohou bt uvedena na pkazov dce.
+Uiten volby pro nroff mohou bt nalezeny v grotty(1).
+Nap. msto standardn dky
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+mete napsat
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+co zpsob, e znaky nebudou podtren a pekrtnut.
+.SH "VIZ Tɮ"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
+
diff --git a/man/cs/man.man b/man/cs/man.man
new file mode 100644
index 0000000..085136c
--- /dev/null
+++ b/man/cs/man.man
@@ -0,0 +1,239 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" Autorem eskho pekladu je Pavel JANK ml.
+.\" Pavel.JANIK@inet.cz
+.\"
+.TH man 1 "7. ledna, 1997"
+.LO 1
+.SH JMNO
+man \- zformtuje a zobraz on-line manulov strnky
+.br
+manpath \- zobraz manulov cesty uivatele
+.SH SYNTAXE
+man [\-acdfhkKtwW] [\-m systm] [\-p etzec] [\-C konfiguran soubor] [\-M cesta]
+[\-P strnkova] [\-S seznam_sekc] [sekce] jmno ...
+.SH POPIS
+.B man
+zformtuje a zobraz on-line manulov strnky. Tato verze um pracovat s
+promnnmi prosted
+.B MANPATH
+a
+.BR (MAN)PAGER ,
+proto mete mt i vlastn
+manulov strnky a vlastn program uren ke strnkovn zformtovanch
+manulovch strnek.
+Je-li specifikovna
+.I sekce
+.B man
+hled danou strnku pouze v tto sekci.
+Samozejm mete tak specifikovat poad sekc, kter budou prohledvny a
+tak mete pmo na pkazov dce nebo promnnmi prosted urit, kter
+preprocesory budou pi formtovn strnek pouity.
+Obsahuje-li
+.I jmno
+znak /, je prvn vyzkoueno jako jmno souboru, proto mete udlat nco
+jako
+.B "man ./nco.5"
+nebo
+.B "man /cdko/nco/nco_jinho.1.gz\fR.\fP"
+.SH VOLBY
+.TP
+.B \-\^C " konfiguran_soubor"
+Specifikujete jin konfiguran soubor. Standardn je
+@man_config_file@. (Viz t man.conf(5).)
+.TP
+.B \-\^M " cesta"
+Specifikuje seznam manulov cest (zde jsou hledny manulov strnky).
+Nen-li tato volba specifikovna, je pouita promnn prosted
+.B MANPATH
+. Jestlie ani ona neexistuje, jsou manulov cesty pevzaty ze souboru
+@man_config_file@.
+.TP
+.B \-\^P " strnkova"
+Specifikuje strnkova, kterm budou strnky prohleny.
+Tato volba m pednost ped
+.B MANPAGER
+, kter m pednost ped
+.B PAGER .
+Standardn strnkova je
+.BR @pager@ .
+.TP
+.B \-\^S " seznam_sekc"
+Seznam_sekc je rkami oddlen seznam sekc manulovch strnek.
+Tato volba m pednost ped promnnou prosted
+.B MANSECT .
+.TP
+.B \-\^a
+Standardn nastaven ukon man pot, co zobraz prvn nalezenou manulovou
+strnku. Tato volba umon zobrazit vechny nalezen strnky, kter vyhovuj
+zadanm kritrim.
+.TP
+.B \-\^c
+Zformtuj zdroj manulov strnky i kdy existuje ji zformtovan verze.
+Tato volba je vznamn. je-li zformtovan strnka prohlena na obrazovce s
+jinm potem sloupc.
+.TP
+.B \-\^d
+Nezobrazuj zformtovanou strnku, pouze vytiskni ladc informace.
+.TP
+.B \-\^D
+Zobraz ladc informace i zformtovanou strnku.
+.TP
+.B \-\^f
+Tot co
+.B whatis.
+.TP
+.B \-\^h
+Vytiskni krtkou pomoc a skoni.
+.TP
+.B \-\^k
+Tot co
+.B apropos.
+.TP
+.B \-\^K
+Hledej specifikovan etze ve *vech* manulovch strnkch. Varovn: tato
+funkce je pravdpodobn velmi pomal! Specifikujete-li sekci, bude to
+rychlej. (Jen pro zajmavost, na mm potai to trv piblin minutu na
+500 strnek).
+.TP
+.B \-\^m " systm"
+Specifikuje jinou sadu manulovch strnek zvislou na zadanm systmu.
+.TP
+.B \-\^p " etzec"
+Specifikuje poad preprocesor ped nroff nebo troff. Ne vechny instalace
+maj plnou sadu preprocesor. Nkter preprocesory a psmena pouvan pro
+jejich spoutn:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Tato volba m pednost ped promnnou prosted
+.B MANROFFSEQ .
+.TP
+.B \-\^t
+Pouij
+.B @troff@
+k formtovn strnky a vstup zobraz na
+.B stdout.
+Vstup z
+.B @troff@
+je teba ped tiskem poslat pes njak filtry.
+.TP
+.B \-\^w \fRnebo\fP \-\-path
+Nezobrazuj manulov strnky, pouze vytiskni cestu(y) soubor, kter bys
+zobrazil. Nen-li zadn dn argument: zobraz (na standardn vstup) seznam
+adres, kter jsou programem
+.B man
+hledny. Je-li
+.B manpath
+link na man, potom je manpath toton s "man --path".
+.TP
+.B \-\^W
+Podobn jako \-\^w, ale tiskne jmna soubor po jednom na dek bez dalch
+informac. To je uiten pro pkazy shellu jako nap.
+.ft CW
+man -aW man | xargs ls -l
+.ft
+
+.SH "ZFORMTOVAN STRNKY"
+Man se sna ukldat ji zformtovan manulov strnky, aby uetil pi
+jejich ptm zobrazen as. Tradin se zformtovan strnky z
+DIR/manX ukldaj do DIR/catX, ale jin mapovn z manulovho adrese na
+adres zformtovanch strnek je mon specifikovat v souboru
+@man_config_file@. Neexistuje-li adres zformtovanch strnek, nejsou
+ukldny dn zformtovan strnky.
+Je mon nechat man suid pro uivatele man. Potom, je-li majitel adrese
+zformtovanch strnek man a md je 0755 (zapisovat me pouze vlastnk), a
+zformtovan strnky maj md 0644 nebo 0444 (zapisovat me bu jenom
+majitel nebo vbec nikdo), neme normln uivatel zmnit zformtovan
+strnky nebo umstit do adrese zformtovanch strnek jin soubory.
+Nen-li man suid, potom by ml mt adres zformtovanch strnek md 0777
+aby zde mohli vichni uivatel zanechat ji zformtovan strnky.
+
+Volba -c zpsob reformtovn strnky i kdy ji existuje zformtovan
+strnka.
+
+.SH PROSTED
+.TP
+.B MANPATH
+Je-li nastavena promnn
+.B MANPATH
+, jej hodnota je vyuvna ke hledn zformtovanch strnek.
+.TP
+.B MANROFFSEQ
+Je-li nastavena promnn prosted
+.B MANROFFSEQ
+je jej hdnota vyuita pro uren poad spoutn preprocesor ped
+nroff nebo troff. Standardn jsou strnky formtovny prvn tabulkovm
+procesorem a teprve pot nroffem.
+.TP
+.B MANSECT
+Je-li nastvane promnn prosted
+.B MANSECT
+je jej hodnota vyuita k uren sekc, kter budou prohledvny.
+.TP
+.B MANWIDTH
+Je-li nastavena promnn prosted
+.B MANWIDTH
+, tak jej hodnota uruje poet sloupc, na kter bude strnka zformtovna.
+Jinak bude strnka zformtovna na ku obrazovky.
+.TP
+.B MANPAGER
+Je-li nastavena promnn prosted
+.B MANPAGER
+jej obsah uruje strnkova, kter bude pouit pi zobrazen zformtovan
+strnky. Nen-li nastavena, je pouita promnn
+.B PAGER .
+nen-li ani tato promnn nastavena, pouije se
+.B @pager@ .
+.TP
+.B LANG
+Je-li nastavena promnn prosted
+.B LANG
+jej hodnota definuje podadres, ve kterm budou hledny strnky.
+Potom pkaz `LANG=cz man 1 manulov_strnka'
+zobraz strnku .../cz/man1/manulov_strnka.1, nebo
+.../man1/manulov_strnka.1, kde ... je adres v manulov cest.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Promnn prosted
+.B NLSPATH
+a
+.B LC_MESSAGES
+(nebo
+.B LANG
+jestlie pedchoz neexistuj)
+hraj roli pi hledn katalogu zprv.
+(Anglick zprvy jsou zkompilovny a nen pro n teba katalogu.)
+Dejte pozor na to, e programy jako col (1) volan programem man pouvaj
+nap. LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+je pouvna pi sestaven starndardn manulov cesty.
+.TP
+.B SYSTEM
+.B SYSTEM
+je pouvna ke zjitn standardnho jmna systmu (pro pouit s volbou
+.B \-m
+).
+.SH "VIZ Tɮ"
+apropos(1), whatis(1), less(1), groff(1).
+.SH CHYBY
+Volba
+.B \-t
+je funkn pouze, je-li instalovn program podobn programu troff.
+.br
+Uvidte-li blikajc \e255 nebo <AD> msto oddlovtek,
+umstte `LESSCHARSET=latin1' do Vaeho prosted.
diff --git a/man/cs/whatis.man b/man/cs/whatis.man
new file mode 100644
index 0000000..8b3dfc2
--- /dev/null
+++ b/man/cs/whatis.man
@@ -0,0 +1,32 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Autorem eskho pekladu je Pavel JANK ml.
+.\" Pavel.JANIK@inet.cz
+.\"
+.TH whatis 1 "7. ledna 1997"
+.LO 1
+.SH JMNO
+whatis \- hledej cel slova v databzi whatis
+.SH SYNTAXE
+.BI whatis
+slovo ...
+.SH POPIS
+whatis prohledv databzi obsahujc krtk popis systmovch pkaz na
+vskyt `slova' a vsledek zobraz na standardn vstup. Jsou vak zobrazena
+pouze slova, kter kompletn vyhovla.
+
+Databze whatis je vytvoena sputnm programu @makewhatis@.
+.SH "VIZ Tɮ"
+apropos(1), man(1).
diff --git a/man/da.txt b/man/da.txt
new file mode 100644
index 0000000..fa723bb
--- /dev/null
+++ b/man/da.txt
@@ -0,0 +1 @@
+danish
diff --git a/man/da/apropos.man b/man/da/apropos.man
new file mode 100644
index 0000000..560b6bd
--- /dev/null
+++ b/man/da/apropos.man
@@ -0,0 +1,30 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" edited and translated to danish by Bo Vagner Hoejer 1996
+.\" email bo@petshop.ping.dk - bo@image.dk
+.\"
+.TH apropos 1 "15. Januar 1991" "da" "Linux brugerkommandoer"
+.LO 1
+.SH NAVN
+apropos \- gennemsg 'whatis' databasen for tekststrenge
+.SH SYNTAKS
+.BI apropos
+ngleord ...
+.SH BESKRIVELSE
+apropos gennemsger et set af databasefiler, som indeholder korte beskrivelser
+af systemets kommandoer, efter ngleordet og udskriver resultatet paa standard
+udskriftsenheden.
+.SH "SE OGS"
+whatis(1), man(1).
diff --git a/man/da/man.conf.man b/man/da/man.conf.man
new file mode 100644
index 0000000..26f4fc8
--- /dev/null
+++ b/man/da/man.conf.man
@@ -0,0 +1,45 @@
+.\" @(#)man.conf
+.\"
+.\" edited and translated to danish by Bo Vagner Hoejer 1996
+.\" email bo@petshop.ping.dk - bo@image.dk
+.\"
+.TH MAN.CONF 5 "30 Marts 1994" "da" "Linux filformater"
+.SH NAVN
+man.conf \- konfigurationsfil for manual kommandoen
+.SH BESKRIVELSE
+.LP
+Denne fil bliver lst af
+.BR man (1)
+og indeholder (a) information om hvordan sgestien for 'man' konstrueres,
+(b) den fulde sti til programmer som bruges af 'man' f.eks. nroff, eqn, tbl
+etc. og (c) en liste over udpakkeprogrammer til filer med en given endelse.
+En alternativ version af denne fil kan specifiseres med
+.LP
+.RS
+man -C privat_manual.konfiguration ...
+.RE
+.LP
+Programnavne kan angives med parametre. Nyttige parametre til nroff er
+beskrevet p
+.BR grotty (1)
+manualsiden. Eksempelvis kan standardlinien
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+erstattes med
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+med det forml at forhindre understregning og fed skrift.
+.SH "SE OGS"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) og compress(1), gzip(1).
+
diff --git a/man/da/man.man b/man/da/man.man
new file mode 100644
index 0000000..da5f28f
--- /dev/null
+++ b/man/da/man.man
@@ -0,0 +1,253 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" edited and translated to danish by Bo Vagner Hoejer 1996
+.\" email bo@petshop.ping.dk
+.\"
+.TH man 1 "2. September 1995" "da" "Linux brugerkommandoer"
+.LO 1
+.SH NAVN
+man \- formaterer og viser online manual siderne
+.br
+manpath \- udskriver brugerens sgesti for manual siderne
+.SH SYNTAKS
+man [\-acdfhkKtwW] [\-m system] [\-p streng] [\-C konfigurationsfil] [\-M sti]
+[\-P pager] [\-S kapitelliste] [kapitel] opslagsord ...
+.SH BESKRIVELSE
+.B man
+formaterer og viser online manual siderne. Denne version genkender
+.B MANPATH
+og
+.B (MAN)PAGER
+variablerne, s du kan derfor faststte dit personlige
+set manual sider og vlge hvilket program du fortrkker til at vise de formaterede
+sider med. Hvis
+.I kapitel
+er angivet vil
+.B man
+kun gennemsge dette kapitel af manualen.
+Man kan ogs angive hvilken rkkeflge kapitlerne gennemsges for opslag i
+og hvilke preprocessore, som kres p kildeteksten, via kommandolinie parametre
+eller skalvariabler.
+Hvis
+.I opslagsordet
+indeholder en skrstreg ('/') bliver det frst testet som et filnavn,
+s man kan anfre
+.I "man ./foo.5"
+eller selv
+.I "man /cd/foo/bar.1.gz\fR.\fP"
+.SH PARAMETRE
+.TP
+.B \-\^C " konfigurations_fil"
+Angiver hvilken konfigurations_fil som bruges. Normalt anvendes
+@man_config_file@. (Se man.conf(5).)
+.TP
+.B \-\^M " sti"
+Angiver hvilke kataloger som gennemsges efter manualsider.
+Hvis en sdan parameter ikke er angivet bruges skalvariablen
+.BR MANPATH .
+Hvis ingen sdan skalvariabel findes, konsulteres
+.I @man_config_file@
+for at opbygge en standardliste.
+Hvis MANPATH indeholder et tom delstreng bruges standardlisten.
+.TP
+.B \-\^P " pager"
+Angiver hvilket 'pager' program, som skal bruges.
+Denne parameter tilsidestter
+.B MANPAGER
+skalvariablen, som igen overskygger
+.B PAGER
+variablen. Normalt bruger 'man'
+.IR @pager@ .
+.TP
+.B \-\^S " kapitel_liste"
+Kapitel_liste er en kolon sepereret liste af kapiteller
+som skal gennemsges.
+Denne parameter tilsidestter
+.B MANSECT
+skalvariablen.
+.TP
+.B \-\^a
+Normalt vil man afslutte efter visning af den frste fundne manualside
+Brug af denne parameter tvinger 'man' til ikke kun at vise den frst fundne
+side, men alle sider der matcher
+.BR opslagsord .
+.TP
+.B \-\^c
+Reformater kildesiden, selvom der findes en preformateret side,
+som er up to date.
+Denne mulighed bruges, hvis for eksempel manualsiden er preformateret
+til en skrm med en anden bredde end den, man aktuelt anvender.
+.TP
+.B \-\^d
+Siden vises ikke; men der udskrives adskillige fejlfindingsinformationer
+i stedet.
+.TP
+.B \-\^D
+Udskiver bde siden og fejlfindingsinformation.
+.TP
+.B \-\^f
+kvivalent med
+.B whatis.
+.TP
+.B \-\^h
+Udskriv en kort hjlpetekst og afslut programmet.
+.TP
+.B \-\^k
+kvivalent med
+.B apropos.
+.TP
+.B \-\^K
+Gennemsger *alle* manualsiderne efter den angivne streng. Advarsel: det
+kan godt g meget langsomt. Det hjper at specifisere et kapitel. P
+en typisk maskine tager det omkring 1 minut at gennemsge 500 manualsider.
+.TP
+.B \-\^m " system"
+System angiver et alternativt set manualsider.
+.TP
+.B \-\^p " string"
+Angiver den sekvens af preprocessore som kres fr nroff eller troff.
+Ikke alle installationer har et fuldt set preprocessore.
+Bogstaverne som betegner nogle af preprocessorene er:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Denne parameter tilsidestter
+.B MANROFFSEQ
+skalvariablen.
+.TP
+.B u-\^t
+Brug
+.B @troff@
+til formattering af manualside, uddata sendes til
+.B stdout.
+Uddata fra
+.B @troff@
+m muligvis viderebearbejdes gennem et filter fr udskrift.
+.TP
+.BR \-\^w or \-\-path
+Manualsiderne vises ikke, men findestedet for filerne ,som ville blive
+formateret eller vist, udskrives. Hvis ingen argumenter er angivet
+udskrives hvilke kataloger som
+.B man
+gennemsger efter manualsider.
+Hvis
+.B manpath
+er et link til man, s er 'manpath' kvivalent med 'man --path'.
+.TP
+.B \-\^W
+Som \-\^w, men udskriver filnavne en per linie, uden yderligere information.
+Dette er smart i skal kommandoer ssom
+.ft CW
+man -aW man | xargs ls -l
+.ft
+
+.SH "PREFORMATEREDE SIDER"
+.B man
+vil prve p at gemme de formaterede manualsider, for at spare
+formatteringstid nste gang der er brug for siderne.
+Traditionelt bliver de formatterede sider fra KATALOG/manX gemt i
+KATALOG/catX, men rute fra manual kataloget til preformat kataloget
+kan angives i
+.I @man_config_file@.
+Ingen preformaterede sider bliver gemt, hvis det forlangte katalog ikke eksisterer.
+.TP
+Det er muligt at stte 'man' suid til bruger man. Hvis cat kataloget har ejer
+man og tilgangsrettighed 0755 (kum skrivetilladelse for man),
+og cat-filerne har ejer man og tilgangsrettighed 0644 eller 0444
+(kun skrivetilladelse for man, eller ingen skriveltilladelse overhovedet),
+kan ingen ordinr bruger ndre de preformaterede sider eller
+anbringe andre filer i katalog for preformaterede sider.
+Hvis 'man' ikke er suid, skal kataloget for preformaterede sider have
+tilgangrettighed 0777 hvis alle brugere skal have mulighed for at gemme
+preformaterede sider.
+.TP
+Parameteren -c gennemtvinger reformattering af en side,
+selvom en frisk preformateret side eksisterer.
+
+
+.SH SKALVARIABLE
+.TP
+.B MANPATH
+Hvis
+.B MANPATH
+er sat, bruges dens vrdi som sgesti til manualsiderne.
+.TP
+.B MANROFFSEQ
+Hvis
+.B MANROFFSEQ
+is sat, bruges dennes vrdi til at bestemme hvilke preprocessore som
+gennemkres fr nroff eller troff. Normalt bliver siderne sendt gennem
+tabel preprocessoren fr nroff.
+.TP
+.B MANSECT
+Hvis
+.B MANSECT
+er sat, bruges dens vrdi til at faststte hvilken manualsektioner
+som gennemsges.
+.TP
+.B MANWIDTH
+Hvis
+.B MANWIDTH
+is sat, bruges dens vrdi; som den brede manualsiderne bliver vist med.
+Hvis ikke
+.B MANWIDTH
+er sat, bruges hele skrmens bredde.
+.TP
+.B MANPAGER
+Hvis
+.B MANPAGER
+is sat, anvendes dets vrdi som navnet p det program som bruges til at vise
+manualsiderne med. Hvis ikke s bruges
+.BR PAGER .
+Hvis denne heller ikke har nogen vrdi bruges
+.BR @pager@ .
+.TP
+.B LANG
+Hvis
+.B LANG
+er sat, bruges dets vrdi til at definere i hvilket underkatalog man
+frst kigger efter manualsider. Sledes vil kommandoen `LANG=da man 1 foo'
+f man til at lede efter foo manualsiden i .../da/man1/foo.1,
+og hvis der ikke kan finde en sdan fil fortsttes der i .../man1/foo.1,
+hvor ... er et katalog p sgestien.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Skalvariablerne
+.B NLSPATH
+og
+.B LC_MESSAGES
+(eller
+.B LANG
+nr den sidste ikke findes)
+spiller en rolle i at lokalisere meddelelses kataloget.
+(Engelske meddelelser er oversat direkte ind i programmet,
+s derfor behves intet katalog.)
+Bemrk at nogle programmer, s som col(1), kaldt af man ogs bruger LC_CTYPE.
+.TP
+.B STI
+.B STI
+bliver brugt til konstruktion af den normale sgesti for manualsiderne.
+.TP
+.B SYSTEM
+.B SYSTEM
+bliver brugt til at angive et andet system navn med (for brug
+med
+.B \-m
+parametren).
+.SH "SE OGS"
+apropos(1), whatis(1), less(1), groff(1).
+.SH FEJL
+.B \-t
+parametren virker kun, hvis der er installeret et troff-lignende program.
diff --git a/man/da/whatis.man b/man/da/whatis.man
new file mode 100644
index 0000000..0d57b74
--- /dev/null
+++ b/man/da/whatis.man
@@ -0,0 +1,32 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" edited and translated to danish by Bo Vagner Hoejer 1996
+.\" email bo@petshop.ping.dk - bo@image.dk
+.\"
+.TH whatis 1 "5. Januar 1991" "da" "Linux brugerkommandoer"
+.LO 1
+.SH NAVN
+whatis \- gennemsg 'whatis' databasen efter komplette ord.
+.SH SYNTAKS
+.BI whatis
+ngleord ...
+.SH BESKRIVELSE
+whatis gennemsger et set af databasefiler, som indeholder korte beskrivelser
+af systemets kommandoer, efter ngleordet og udskriver resultatet paa standard
+udskriftsenheden. Kun ord der matcher fuldstndigt bliver vist.
+
+whatis databasen oprettes ved at anvende kommandoen @makewhatis@.
+.SH "SE OGS"
+apropos(1), man(1).
diff --git a/man/de.txt b/man/de.txt
new file mode 100644
index 0000000..b518853
--- /dev/null
+++ b/man/de.txt
@@ -0,0 +1 @@
+german
diff --git a/man/de/README b/man/de/README
new file mode 100644
index 0000000..2be681b
--- /dev/null
+++ b/man/de/README
@@ -0,0 +1,6 @@
+These german man pages were contributed by Jochen Hein.
+
+#From hein@centeotl.in.tu-clausthal.de Tue May 31 08:52:20 1994
+#To: Andries.Brouwer@cwi.nl
+#Subject: Re: man-1.3
+#From: Hein@student.tu-clausthal.de (Jochen Hein)
diff --git a/man/de/apropos.man b/man/de/apropos.man
new file mode 100644
index 0000000..958f10f
--- /dev/null
+++ b/man/de/apropos.man
@@ -0,0 +1,29 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" bersetzt von Jochen Hein ( Hein@Student.tu-clausthal.de )
+.\"
+.TH apropos 1 "Jan 15, 1991"
+.LO 1
+.SH NAME
+apropos \- durchsucht die whatis Datenbank nach Zeichenketten
+.SH SYNTAX
+.BI apropos
+keyword ...
+.SH BESCHREIBUNG
+apropos durchsucht eine Reihe von Datenbank-Dateien, die kurze Beschreibungen
+von System-Kommandos enthalten, nach Schlsselworten und zeigt das Ergebnis
+auf der Standard-Ausgabe an.
+.SH "SIEHE AUCH"
+whatis(1), man(1).
diff --git a/man/de/man.conf.man b/man/de/man.conf.man
new file mode 100644
index 0000000..66ee564
--- /dev/null
+++ b/man/de/man.conf.man
@@ -0,0 +1,43 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "30 Mar 1994"
+.SH NAME
+man.conf \- Konfigurationsdatei fr man
+.SH BESCHREIBUNG
+.LP
+Diese Datei wird von
+.BR man (1)
+gelesen und enthlt (a) Informationen darber, wie der Such-Pfad fr man
+aufgebaut wird, (b) den vollstndigen Namen (inclusive Pfad) von diversen
+Programmen wie nroff, eqn, tbl etc, die von man aufgerufen werden und (c)
+eine Liste mit Auspack-Programmen fr Dateien mit speziellen Erweiterungen.
+Eine alternative Version dieser Datei benutzt werden mit
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+Die Programm-Namen knnen mit Optionen angegeben werden. Ntzliche Optionen
+fr roff sind in grotty(1) beschrieben. Zum Beispiel knnte man statt
+des Default-Kommandos
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tascii
+.fi
+.RE
+.LP
+den Befehl
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tascii -P-u -P-b
+.fi
+.RE
+.LP
+verwenden, um Unterstreichungen und berschreiben zu verhindern.
+.SH "SIEHE AUCH"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
+
+
+
diff --git a/man/de/man.man b/man/de/man.man
new file mode 100644
index 0000000..57681d1
--- /dev/null
+++ b/man/de/man.man
@@ -0,0 +1,225 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" Translated into german by Jochen Hein ( Hein@Student.TU-Clausthal.de )
+.\" and Ralf W. Stephan ( ralf@franken.de ).
+.\"
+.TH man 1 "2. September 1995"
+.LO 1
+.SH NAME
+man \- Formatieren und Anzeigen von Seiten des Online-Handbuches (man pages)
+.br
+manpath \- Anzeigen des Benutzer-eigenen Suchpfades fr Seiten des Online-Handbuches (man pages)
+.SH SYNTAX
+man [\-acdfhktw] [\-m system] [\-p string] [\-C config_file] [\-M path]
+[\-P pager] [\-S section_list] [section] name ...
+.SH BESCHREIBUNG
+.B man
+formatiert Seiten aus dem Online-Handbuch und zeigt diese an.
+Diese Version untersttzt die
+.B MANPATH
+und
+.B (MAN)PAGER
+Umgebungsvariablen, so da
+Sie ihre eigenen man pages verwenden knnen und selbst whlen knnen, welches
+Programm die formatierten Seiten anzeigen soll. Wenn der Parameter
+.I section
+angegeben wird, so sucht
+.B man
+nur in dieser Sektion des Handbuchs.
+Sie knnen auch mit Hilfe von Kommando-Zeilen-Optionen oder Umgebungsvariablen
+die Reihenfolge angeben, in der die Sektionen nach
+Eintrgen durchsucht werden und welche zustzlichen Programme
+die Quelltexte bearbeiten sollen.
+Wenn der Parameter
+.I name
+das Zeichen / enthlt, dann wird zunchst versucht, diese Datei zu
+bearbeiten. Damit knnen Sie z.B.
+.B "man ./foo.5"
+oder auch
+.B "man /cd/foo/bar.1.gz"
+eingeben.
+.SH OPTIONEN
+.TP
+.B \-\^C " config_file"
+bestimmt welche man.conf-Datei als Steuerdatei verwendet wird.
+.TP
+.B \-\^M " path"
+bestimmt eine Liste von Verzeichnissen, die nach Handbuch-Seiten durchsucht
+werden. Wenn diese Option nicht angegeben ist, so wird die Umgebungsvariable
+.B MANPATH
+benutzt. Ist diese Variable nicht gesetzt, so wird diese Liste aus der
+Datei man.conf erstellt.
+.TP
+.B \-\^P " pager"
+bestimmt welches Programm zur Anzeige der Handbuch-Seiten benutzt wird.
+Als default benutzt man
+.B @pager@
+Diese Option berschreibt die Umgebungsvariable
+.B PAGER
+.TP
+.B \-\^S " section_list"
+ist eine durch Doppelpunkte getrennte Liste von Handbuch-Sektionen, die
+nach Handbuch-Seiten durchsucht werden soll.
+Diese Option berschreibt die Umgebungsvariable
+.B MANSECT
+.TP
+.B \-\^a
+Als Default wird
+.B man
+beendet, nachdem es die erste Handbuchseite angezeigt
+hat, die gefunden wurde. Diese Option weist
+.B man
+an, alle Handbuch-Seiten anzuzeigen, die zu
+.B name,
+passen, nicht nur die erste.
+.TP
+.B \-\^d
+zeigt nicht die Handbuch-Seiten an, sondern gibt etliche Informationen
+zur Fehlersuche aus.
+.TP
+.B \-\^f
+ist quivalent zu
+.BR whatis .
+.TP
+.B \-\^h
+gibt eine (einzeilige) Hilfe aus und beendet
+.BR man .
+.TP
+.B \-\^k
+ist quivalent zu
+.BR apropos .
+.TP
+.B \-\^K
+Suche in *allen* Manualseiten nach dem angegebenen Schlsselwort. Achtung:
+Die Suche dauert mglicherweise sehr lange! Die Angabe der Sektion
+beschleunigt die Suche. (Als groben Richtwert fr die Suche kann man
+ca. eine Minute fr 500 Manualseiten ansetzen.)
+.TP
+.B \-\^m " system"
+bestimmt eine andere Menge von Handbuch-Seiten, die aufgrund des
+angegebenen System-Namen durchsucht werden sollen.
+.TP
+.B \-\^p " string"
+bestimmt die Abfolge von Prprozessoren, die vor nroff oder troff
+gestartet werden sollen. Nicht alle Installationen verfgen ber alle
+Prprozessoren. Einige der Prprozessoren und die dafr verwendeten
+Buchstaben sind:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Diese Option berschreibt die Umgebungsvariable
+.B MANROFFSEQ
+.TP
+.B \-\^t
+benutzt
+.B @troff@
+um die Handbuch-Seite zu formatieren und leitet die Ausgabe weiter nach
+.B stdout.
+Die Ausgabe von
+.B @troff@
+mu mglicherweise durch einen Filter weiterbearbeitet werden, bevor
+sie gedruckt werden kann.
+.TP
+.B \-\^w \fRor\fP \-\-path
+die Handbuchseiten werden nicht angezeigt, sondern die Fundorte der Seiten,
+die formatiert oder angezeigt wrden. Wenn kein Argument angegeben wurde,
+wird die Liste der Verzeichnisse ausgegeben, die von
+.B man
+nach Handbuch-Seiten durchsucht werden. Wenn
+.B manpath
+ein Link zu man ist, dann ist "manpath" quivalent zu "man --path".
+
+.SH ENVIRONMENT
+.TP
+.B MANPATH
+Wenn die Umgebungsvariable
+.B MANPATH
+gesetzt ist, dann wird dieser Wert als Suchpfad fr Handbuch-Seiten
+verwendet.
+.TP
+.B MANROFFSEQ
+Wenn die Umgebungsvariable
+.B MANROFFSEQ
+gesetzt ist, dann wird dieser Wert benutzt um die Prprozessoren zu bestimmen,
+die aufgerufen werden sollen, bevor die Handbuch-Seite mit nroff oder troff
+bearbeitet wird. Standardmig werden Handbuch-Seiten durch den Tabellen
+Prprozessor bearbeitet bevor nroff gestartet wird.
+.TP
+.B MANSECT
+Wenn die Umgebungsvariable
+.B MANSECT
+gesetzt ist, dann bestimmt dieser Wert welche Handbuch-Sektionen durchsucht
+werden sollen.
+.TP
+.B MANWIDTH
+Wenn die Umgebungsvariable
+.B MANWIDTH
+gesetzt ist, dann beschreibt deren Wert die Breite auf der die
+Handbuch-Seite angezeigt werden soll. Ansonsten wird die Seite u.U.
+ber die gesamte Breite des Bildschirmes gezogen.
+.TP
+.B PAGER
+Wenn die Umgebungsvariable
+.B PAGER
+gesetzt ist, so wird dieser Wert als Name des Programms benutzt, mit dem
+die Handbuch-Seiten angezeigt werden sollen. Standardmig wird
+.B @pager@
+verwendet.
+.TP
+.B LANG
+Wenn die Umgebungsvariable
+.B LANG
+gesetzt ist, gibt ihr Inhalt den Namen des Unterverzeichnisses
+an, wo zuerst nach der Handbuch-Seite gesucht werden soll.
+So zB bewirkt der Shell-Befehl `LANG=dk man 1 foo', da
+.B man
+zuerst in ...dk/man1/foo.1 nach der Handbuchseite fr 'foo' sucht, und
+wenn es dort nicht fndig wird, dann in ...man1/foo.1, wobei '...'
+ein Verzeichnis aus dem Suchpfad bedeutet.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Die Umgebungsvariablen
+.B NLSPATH
+und
+.B LC_MESSAGES
+(oder
+.B LANG
+falls erstere nicht existiert) spielen bei der Suche nach dem Message
+Katalog eine Rolle (englische Messages sind fest einkompiliert, daher
+ist auch kein Katalog fr sie notwendig). Beachten Sie, da auch
+Programme wie
+.B col(1),
+das von
+.B man
+aufgerufen wird, noch zustzliche Variablen wie LC_CTYPE benutzen.
+.TP
+.B PATH
+.B PATH
+wird bei der Konstruktion des vorgegebenen Suchpfades fr Handbuchseiten
+verwendet.
+.TP
+.B SYSTEM
+.B SYSTEM
+wird verwendet, um einen alternativen Systemnamen herauszufinden
+(sinnvoll zusammen mit der
+.B \-m
+Option).
+.SH "SIEHE AUCH"
+apropos(1), whatis(1), less(1), groff(1).
+.SH BUGS
+Die
+.B \-t
+Option kann nur auf System verwendet werden, auf denen ein troff-Programm
+installiert ist.
diff --git a/man/de/whatis.man b/man/de/whatis.man
new file mode 100644
index 0000000..c632255
--- /dev/null
+++ b/man/de/whatis.man
@@ -0,0 +1,31 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" bersetzt von Jochen Hein ( Hein@Student.TU-Clausthal.de )
+.\"
+.TH whatis 1 "Jan 5, 1991"
+.LO 1
+.SH NAME
+whatis \- durchsucht die whatis Datenbank nach vollstndigen Worten.
+.SH SYNTAX
+.BI whatis
+keyword ...
+.SH BESCHREIBUNG
+whatis durchsucht eine Reihe von Datenbank-Dateien, die kurze Beschreibungen
+von System-Kommandos enthalten, nach Schlsselworten und zeigt das Ergebnis
+auf der Standard-Ausgabe an. Nur genaue Treffer werden angezeigt.
+
+Die whatis Datenbank wird mit dem Kommando @makewhatis@ erstellt.
+.SH "SIEHE AUCH"
+apropos(1), man(1).
diff --git a/man/el.txt b/man/el.txt
new file mode 100644
index 0000000..360f39a
--- /dev/null
+++ b/man/el.txt
@@ -0,0 +1 @@
+greek
diff --git a/man/el/apropos.man b/man/el/apropos.man
new file mode 100644
index 0000000..159b8d0
--- /dev/null
+++ b/man/el/apropos.man
@@ -0,0 +1,29 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\" . 2003
+.\"
+.TH apropos 1 " 15 1991" " " " "
+.LO 1
+.SH ONOMA
+apropos \- whatis
+.SH
+.BI apropos
+- ...
+.SH
+ apropos ,
+'
+ ,
+ .
+.SH " "
+whatis(1), man(1).
diff --git a/man/el/hman.man b/man/el/hman.man
new file mode 100644
index 0000000..207bf33
--- /dev/null
+++ b/man/el/hman.man
@@ -0,0 +1,71 @@
+.\" Copyright (c) 1998 Andries Brouwer
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\" . edimitro@tee.gr, 2003
+.TH hman 1 "19 1998"
+.LO 1
+.SH
+hman \-
+.SH
+.B hman
+[ -P \fI\fP ] [ -H \fI_\fP ] [ \fI\fP ] \fI\fP
+.br
+.B hman
+[ -P \fI\fP ] [ -H \fI_\fP ] [ \fI\fP ] [ ]
+.SH
+
+.B hman
+ man2html(1)
+ ,
+ .
+
+.BR man (1)
+
+.B hman
+
+.BR man .
+ netscape,
+ ,
+
+.B hman
+ ' .
+
+.SH
+.TP
+.B \-\^P " "
+ ( lynx, xmosaic, arena, chimera,
+netscape, amaya, ...) .
+
+.BR MANHTMLPAGER .
+ -httpd
+.BR lynx .
+.TP
+.B \-\^H " _"
+ .
+
+.BR MANHTMLHOST .
+
+.BR localhost .
+
+.SH
+.TP
+.B MANHTMLPAGER
+ ,
+ .
+.TP
+.B MANHTMLHOST
+ ,
+ .
+
+.SH " "
+.BR man (1),
+.BR man2html (1),
+.BR arena (1),
+.BR lynx (1),
+.BR netscape (1),
+.BR xmosaic (1),
+.BR glimpse (1)
+
+http://www.mcom.com/newsref/std/x-remote.html
diff --git a/man/el/makewhatis.man b/man/el/makewhatis.man
new file mode 100644
index 0000000..2077f8b
--- /dev/null
+++ b/man/el/makewhatis.man
@@ -0,0 +1,109 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.\" . edimitro@tee.gr 2003
+.\"
+.TH MAKEWHATIS 8 "22 1999" " " " "
+.SH
+makewhatis \- whatis.
+.SH
+.BI "makewhatis [-u] [-v] [-w] [-s " " ] [-c [" catpath "]] [" manpath "]"
+.SH
+
+.B makewhatis
+
+.IR " " manpath " , "
+
+.IR " " catpath " . "
+ ,
+ whatis
+ ,
+ .
+ ,
+ .
+.LP
+ ,
+
+.B makewhatis
+ , , , ,
+ .
+.LP
+
+.I manpath
+
+.I /usr/man
+ .
+.SH
+.TP
+.B -u
+ .
+.TP
+.B -v
+ .
+.TP
+.B -w
+ manpath man --path .
+.TP
+.BI -s " "
+
+.I
+
+.IR manpath " "
+
+.IR catpath " . "
+ ,
+
+.I \'1 2 3 4 5 6 7 8 9 n l\'
+.TP
+.BI -c " catpath"
+
+.IR catpath " . "
+ ,
+
+
+.IR /usr/man/preformat " " /usr/man ". "
+.SH
+.PP
+
+.IR /usr/X11R6/man/whatis " " /usr/local/man/whatis
+
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+ ,
+,
+ ,
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH
+
+.B makewhatis
+ ,
+ troff macros,
+ Tcl/Tk.
+.PP
+.B makewhatis
+ .
+.SH
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
diff --git a/man/el/man.conf.man b/man/el/man.conf.man
new file mode 100644
index 0000000..2517db9
--- /dev/null
+++ b/man/el/man.conf.man
@@ -0,0 +1,45 @@
+.\" @(#)man.conf
+.\" . edimitro@tee.gr 2003
+.TH MAN.CONF 5 "30 1994" " " " "
+.SH
+man.conf \- man
+.SH
+.LP
+
+.BR man (1)
+ : () man,
+() nroff, eqn, tbl .
+ man,
+ () .
+
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+ .
+ nroff grotty(1).
+ ,
+
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+ .
+.SH
+.I "@man_config_file@"
+.SH " "
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
+
diff --git a/man/el/man.man b/man/el/man.man
new file mode 100644
index 0000000..1cae41c
--- /dev/null
+++ b/man/el/man.man
@@ -0,0 +1,491 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" . edimitro@tee.gr 2003
+.\"
+.TH man 1 "2 1995" " " " "
+.LO 1
+.SH
+man \-
+.br
+manpath \- .
+.SH
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ -- ]
+.RB [ \-m
+.IR ]
+.RB [ \-p
+.IR ]
+.RB [ \-C
+.IR _ ]
+.RB [ \-M
+.IR _ ]
+.RB [ \-P
+.IR ]
+.RB [ \-S
+.IR _ ]
+.RI [ ]
+.I " ..."
+
+.SH
+
+.B man
+ .
+.IR
+
+.B man
+ ' .
+
+.I
+ ,
+ , .
+ ,
+.I
+
+.RB ( / )
+
+.B man
+ ,
+.B "man ./foo.5"
+
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+
+.B man
+ .
+
+.SH
+.TP
+.B \-\^C " config_file"
+
+
+.BR @man_config_file@ .
+(
+.BR man.conf (5).)
+.TP
+.B \-\^M " "
+ .
+ .
+
+.B \-M
+.
+
+.BR " ".
+.TP
+.B \-\^P " "
+ .
+
+.B MANPAGER
+
+.BR PAGER .
+ ,
+
+.B man
+
+.BR "@pager@" .
+.TP
+.B \-\^S " _"
+
+ .
+
+.BR MANSECT .
+.TP
+.B \-\^a
+ ,
+.B man
+
+ . ,
+.B man
+
+.BR ,
+ .
+.TP
+.B \-\^c
+ ,
+ cat.
+ cat
+ ,
+
+ .
+.TP
+.B \-\^d
+ ,
+ .
+.TP
+.B \-\^D
+
+.I
+
+.I
+ .
+.TP
+.B \-\^f
+
+.BR whatis .
+.TP
+.BR \-\^F " " \-\-preformat
+ - .
+.TP
+.B \-\^h
+ .
+.TP
+.B \-\^k
+
+.BR apropos .
+.TP
+.B \-\^K
+ ** .
+: !
+ .
+( ,
+ 500 .)
+.TP
+.B \-\^m " "
+ ,
+ .
+.TP
+.B \-\^p " "
+
+.B nroff
+
+.BR troff .
+ .
+ :
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+
+.BR MANROFFSEQ .
+.TP
+.B \-\^t
+
+.B @troff@
+ ,
+
+.BR " " .
+
+.B @troff@
+ .
+.TP
+.B \-\^w \fR\fP \-\-
+ , () ()
+ . :
+ ( )
+.B man
+ .
+.B manpath
+ man,
+ manpath man --޻.
+.TP
+.B \-\^W
+ \-\^w, , ,
+ .
+
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH " CAT"
+ man ,
+
+ .
+, DIR/manX
+ DIR/catX, man dir cat dir
+
+.BR @man_config_file@ .
+ cat ,
+ cat.
+ cat
+ 80, .
+ cat man.conf
+ NOCACHE.
+.PP
+
+.B man
+suid man. , cat
+ man 0755 ( man),
+ cat man 0644 0444
+( man,
+ ),
+
+ cat cat.
+.B man
+ suid,
+ cat 0777,
+
+ cat.
+.PP
+
+.B \-c
+ ,
+ cat.
+
+
+.SH " "
+
+.B man
+ ,
+ ,
+
+.B @man_config_file@
+ .
+.PP
+' ,
+.I
+
+.B man
+
+.RB ( / ),
+
+.B man
+ ,
+ .
+.PP
+
+.I
+
+.RB ( / ),
+
+.B man
+ ,
+
+ .
+.PP
+
+.BI "-M " _
+
+.I _
+
+
+.BR man .
+.PP
+
+.B -M
+
+.B MANPATH
+
+
+.B man
+.
+.PP
+
+.B -M
+
+.BR MANPATH ,
+
+.B man
+
+
+.BR @man_config_file@ .
+
+.B MANPATH
+
+ .
+.PP
+,
+.B MANPATH_MAP
+
+(. )
+.BR PATH .
+
+,
+.B MANPATH_MAP
+
+ .
+
+.B man
+
+.B PATH
+
+ . ,
+.BR MANPATH_MAP ,
+
+.BR "man xyz",
+
+
+.BR xyz .
+.PP
+, (
+ )
+.I
+
+.B MANPATH_MAP
+
+.B man
+
+ '
+ .
+.PP
+ '
+
+.B NOAUTOPATH
+
+.BR @man_config_file@ .
+.PP
+ ,
+ ,
+
+.B man
+
+.IB . \fR,
+
+ .
+ ,
+
+.BI man N
+
+.BI cat N
+
+.I N
+ .
+ '
+.BI cat N,
+
+.B man
+ ( cat).
+
+.B man
+ . ,
+ (
+.BR .gz ),
+
+.B man
+ gzip.
+.PP
+ ( )
+.B man
+ ,
+
+.BR "-- " ( -w ).
+
+.SH
+.TP
+.B MANPATH
+
+.B MANPATH
+
+.B man
+ .
+
+ ,
+
+.B -M
+
+.BR " ".
+.TP
+.B MANPL
+
+.B MANPL
+ .
+, () .
+.TP
+.B MANROFFSEQ
+
+.B MANROFFSEQ
+
+
+.B nroff
+
+.BR troff .
+ ,
+ tbl
+.BR nroff .
+.TP
+.B MANSECT
+
+.B MANSECT
+
+ .
+.TP
+.B MANWIDTH
+
+.B MANWIDTH
+ .
+ ' .
+.TP
+.B MANPAGER
+
+.B MANPAGER
+
+ .
+ ,
+.BR PAGER .
+
+.BR @pager@ .
+.TP
+.B LANG
+
+.B LANG
+ man
+ ' .
+, LANG=dk man 1 foo
+ man
+foo .../dk/man1/foo.1,
+ ,
+ .../man1/foo.1,
+ ... .
+.TP
+.BR NLSPATH ", " LC_MESSAGES ", " LANG
+
+.B NLSPATH
+
+.B LC_MESSAGES
+(
+.B LANG
+ )
+ .
+( ,
+ .)
+
+.BR col(1)
+ man LC_CTYPE.
+.TP
+.B PATH
+
+.B PATH
+ .
+
+.BR " " .
+.TP
+.B SYSTEM
+
+.B SYSTEM
+ (
+
+.B \-m
+) .
+.SH " "
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
+.SH
+
+.B \-t
+ troff.
+.br
+ \e255 <AD> ,
+ LESSCHARSET=latin1 .
+.SH
+
+
+(global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+
+.IR .emacs
+ F1
+ .
+.LP
+ , a
+ ,
+
+ # man foo | col -b > foo.mantxt
+
diff --git a/man/el/man2html.man b/man/el/man2html.man
new file mode 100644
index 0000000..9aae819
--- /dev/null
+++ b/man/el/man2html.man
@@ -0,0 +1,157 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.\" . edimitro@tee.gr, 2003
+.\"
+.TH man2html 1 "1 1998"
+.LO 1
+.SH
+man2html \- html
+.SH
+man2html [] []
+.SH
+.B man2html
+
+.I
+( ,
+ - )
+ nroff html,
+ .
+ tbl eqn.
+ 0. ,
+ .
+ ,
+ ,
+
+ html
+.BR lynx (1),
+.BR xmosaic (1)
+
+.BR netscape (1).
+./" (
+./" .BR man (1)
+./"
+./" .BR man2html .
+./" "MANHTMLPAGER=/usr/bin/lynx"
+./" .)
+
+
+.B man2html
+ troff-to-html Richard Verhoeven (rcb5@win.tue.nl)
+ :
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://string "method://string"
+www.host.name "http://www.host.name"
+ftp.host.name "ftp://ftp.host.name"
+name@host "mailto:name@host"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+( - .)
+ - ' .
+ ,
+
+
+.BR bash (1).
+
+.SH
+ ,
+ .
+ \-D ' .
+.LP
+.TP
+.B \-\^D _
+ ,
+\fIchdir\fP(\fIdir\fP) .
+.LP
+ \-E
+ cgi.
+.LP
+.TP
+.B \-\^E
+ .
+.LP
+
+.LP
+<:/_cgi></_man2html></><_man>
+.LP
+ .
+ .
+.TP
+.B \-\^h
+ :_cgi http://localhost .
+.TP
+.BI \-\^H " _[._][:]"
+ :_cgi
+.RI http:// _._: .
+.TP
+.B \-\^l
+ :_cgi
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+ :_cgi
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " _man2html"
+ _man2html .
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+ /.
+.TP
+.B \-\^q
+ ?. .
+.TP
+.B \-\^r
+ html,
+ cgi-bin.
+.LP
+'
+.BR httpd ,
+
+.B lynx
+ ,
+ lynxcgi.
+ http, lynx,
+ ,
+ ,
+ http.
+ \-l ( lynxcgi ) .
+ ,
+ _cgip \fI/home/httpd\fP.
+
+, cgi
+.LP
+<___>/<__>?<>
+.LP
+ PATH_INFO QUERY_STRING
+ <__> <>, .
+ lynxcgi PATH_INFO,
+ ? .
+ \-p ( path ) / ,
+ \-q ( query ) ?.
+
+ \-H \fI_\fP,
+
+( \fIlocalhost\fP).
+ cgi
+.IP
+man2html -H $SERVER_NAME
+.LP
+ SERVER_NAME.
+ ,
+ .
+
+.SH
+ . .
+ lynxcgi lynx
+ . .
+
+.SH " "
+.BR lynx (1),
+.BR man (1)
diff --git a/man/el/whatis.man b/man/el/whatis.man
new file mode 100644
index 0000000..6820f1c
--- /dev/null
+++ b/man/el/whatis.man
@@ -0,0 +1,31 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\" . edimitro@tee.gr 2003
+.\"
+.TH whatis 1 "Jan 5, 1991" " " " "
+.LO 1
+.SH
+whatis \- whatis .
+.SH
+.BI whatis
+- ...
+.SH
+ whatis ,
+ ,
+ .
+ .
+
+ whatis @makewhatis@.
+.SH " "
+apropos(1), man(1).
diff --git a/man/en.txt b/man/en.txt
new file mode 100644
index 0000000..97ab12f
--- /dev/null
+++ b/man/en.txt
@@ -0,0 +1 @@
+english
diff --git a/man/en/apropos.1 b/man/en/apropos.1
new file mode 100644
index 0000000..05baa49
--- /dev/null
+++ b/man/en/apropos.1
@@ -0,0 +1,36 @@
+.\"
+.\" Generated automatically from apropos.1.in by the
+.\" configure script.
+.\"
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "September 19, 2005"
+.LO 1
+.SH NAME
+apropos \- search the whatis database for strings
+.SH SYNOPSIS
+.BI apropos
+keyword ...
+.SH DESCRIPTION
+apropos searches a set of database files containing short descriptions
+of system commands for keywords and displays the result on the
+standard output.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+whatis(1), man(1).
diff --git a/man/en/apropos.man b/man/en/apropos.man
new file mode 100644
index 0000000..9ad50ce
--- /dev/null
+++ b/man/en/apropos.man
@@ -0,0 +1,32 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "September 19, 2005"
+.LO 1
+.SH NAME
+apropos \- search the whatis database for strings
+.SH SYNOPSIS
+.BI apropos
+keyword ...
+.SH DESCRIPTION
+apropos searches a set of database files containing short descriptions
+of system commands for keywords and displays the result on the
+standard output.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+whatis(1), man(1).
diff --git a/man/en/makewhatis.8 b/man/en/makewhatis.8
new file mode 100644
index 0000000..227db4c
--- /dev/null
+++ b/man/en/makewhatis.8
@@ -0,0 +1,104 @@
+.\"
+.\" Generated automatically from makewhatis.8.in by the
+.\" configure script.
+.\"
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH MAKEWHATIS 8 "September 19, 2005"
+.SH NAME
+makewhatis \- Create the whatis database
+.SH SYNOPSIS
+.BI "makewhatis [-u] [-v] [-w] [-s " sections " ] [-c [" catpath "]] [" manpath "]"
+.SH DESCRIPTION
+.B makewhatis
+reads all the manual pages contained in the given
+.IR sections " of " manpath
+or the preformatted pages contained in the given
+.IR sections " of " catpath .
+For each page, it writes a line in the whatis database; each line
+consists of the name of the page and a short description, separated
+by a dash. The description is extracted using the content of the
+NAME section of the manual page.
+.LP
+Since other languages use a different term for the NAME section,
+.B makewhatis
+recognizes the equivalent terms in Czech, Italian, Finnish, French,
+German and Spanish.
+.LP
+If no
+.I manpath
+argument is given,
+.I /usr/man
+is assumed by default.
+.SH OPTIONS
+.TP
+.B -u
+Update database with new pages.
+.TP
+.B -v
+Verbose output
+.TP
+.B -w
+Use manpath obtained from `man --path`
+.TP
+.BI -s " sections"
+Looks in the
+.I sections
+of
+.IR manpath " or " catpath .
+If the option is absent, the MANSECT env var will be used. If it too
+is absent, the MANSECT setting in man.conf will be used.
+.TP
+.BI -c " catpath"
+The preformatted manual pages located in
+.I catpath
+are scanned. If the argument is not provided, it is assumed to be the
+first existing directory between
+.IR /usr/man/preformat " and " /usr/man .
+.SH EXAMPLES
+.PP
+To rebuild only
+.IR /usr/X11R6/man/whatis " and " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+To rebuild all the databases, including those of the Finnish, French
+and Italian translations
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH BUGS
+.B makewhatis
+may not handle too well manual pages written with non-standard troff
+macros, such as the Tcl/Tk pages.
+.PP
+.B makewhatis
+does not work on preformatted translations.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH SEE ALSO
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
diff --git a/man/en/makewhatis.man b/man/en/makewhatis.man
new file mode 100644
index 0000000..2108284
--- /dev/null
+++ b/man/en/makewhatis.man
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH MAKEWHATIS 8 "September 19, 2005"
+.SH NAME
+makewhatis \- Create the whatis database
+.SH SYNOPSIS
+.BI "makewhatis [-u] [-v] [-w] [-s " sections " ] [-c [" catpath "]] [" manpath "]"
+.SH DESCRIPTION
+.B makewhatis
+reads all the manual pages contained in the given
+.IR sections " of " manpath
+or the preformatted pages contained in the given
+.IR sections " of " catpath .
+For each page, it writes a line in the whatis database; each line
+consists of the name of the page and a short description, separated
+by a dash. The description is extracted using the content of the
+NAME section of the manual page.
+.LP
+Since other languages use a different term for the NAME section,
+.B makewhatis
+recognizes the equivalent terms in Czech, Italian, Finnish, French,
+German and Spanish.
+.LP
+If no
+.I manpath
+argument is given,
+.I /usr/man
+is assumed by default.
+.SH OPTIONS
+.TP
+.B -u
+Update database with new pages.
+.TP
+.B -v
+Verbose output
+.TP
+.B -w
+Use manpath obtained from `man --path`
+.TP
+.BI -s " sections"
+Looks in the
+.I sections
+of
+.IR manpath " or " catpath .
+If the option is absent, the MANSECT env var will be used. If it too
+is absent, the MANSECT setting in man.conf will be used.
+.TP
+.BI -c " catpath"
+The preformatted manual pages located in
+.I catpath
+are scanned. If the argument is not provided, it is assumed to be the
+first existing directory between
+.IR /usr/man/preformat " and " /usr/man .
+.SH EXAMPLES
+.PP
+To rebuild only
+.IR /usr/X11R6/man/whatis " and " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+To rebuild all the databases, including those of the Finnish, French
+and Italian translations
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH BUGS
+.B makewhatis
+may not handle too well manual pages written with non-standard troff
+macros, such as the Tcl/Tk pages.
+.PP
+.B makewhatis
+does not work on preformatted translations.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH SEE ALSO
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
diff --git a/man/en/man.1 b/man/en/man.1
new file mode 100644
index 0000000..1673352
--- /dev/null
+++ b/man/en/man.1
@@ -0,0 +1,528 @@
+.\"
+.\" Generated automatically from man.1.in by the
+.\" configure script.
+.\"
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" More changes - flc
+.\"
+.TH man 1 "September 19, 2005"
+.LO 1
+.SH NAME
+man \- format and display the on-line manual pages
+.SH SYNOPSIS
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR system ]
+.RB [ \-p
+.IR string ]
+.RB [ \-C
+.IR config_file ]
+.RB [ \-M
+.IR pathlist ]
+.RB [ \-P
+.IR pager ]
+.RB [ \-B
+.IR browser ]
+.RB [ \-H
+.IR htmlpager ]
+.RB [ \-S
+.IR section_list ]
+.RI [ section ]
+.I "name ..."
+
+.SH DESCRIPTION
+.B man
+formats and displays the on-line manual pages. If you specify
+.IR section ,
+.B man
+only looks in that section of the manual.
+.I name
+is normally the name of the manual page, which is typically the name
+of a command, function, or file.
+However, if
+.I name
+contains a slash
+.RB ( / )
+then
+.B man
+interprets it as a file specification, so that you can do
+.B "man ./foo.5"
+or even
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+See below for a description of where
+.B man
+looks for the manual page files.
+
+.SH MANUAL SECTIONS
+The standard sections of the manual include:
+.TP
+.B 1
+User Commands
+.TP
+.B 2
+System Calls
+.TP
+.B 3
+C Library Functions
+.TP
+.B 4
+Devices and Special Files
+.TP
+.B 5
+File Formats and Conventions
+.TP
+.B 6
+Games et. Al.
+.TP
+.B 7
+Miscellanea
+.TP
+.B 8
+System Administration tools and Deamons
+.TP
+Distributions customize the manual section to their specifics, which often include additional sections.
+
+.SH OPTIONS
+.TP
+.B \-\^C " config_file"
+Specify the configuration file to use; the default is
+.BR /usr/share/misc/man.conf .
+(See
+.BR man.conf (5).)
+.TP
+.B \-\^M " path"
+Specify the list of directories to search for man pages.
+Separate the directories with colons. An empty list is the same as
+not specifying
+.B \-M
+at all. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B \-\^P " pager"
+Specify which pager to use.
+This option overrides the
+.B MANPAGER
+environment variable, which in turn overrides the
+.B PAGER
+variable. By default,
+.B man
+uses
+.BR "/bin/less -is" .
+.TP
+.B \-\^B
+Specify which browser to use on HTML files.
+This option overrides the
+.B BROWSER
+environment variable. By default,
+.B man
+uses
+.BR /bin/less -is ,
+.TP
+.B \-\^H
+Specify a command that renders HTML files as text.
+This option overrides the
+.B HTMLPAGER
+environment variable. By default,
+.B man
+uses
+.BR /bin/cat ,
+.TP
+.B \-\^S " section_list"
+List is a colon separated list of manual sections to search.
+This option overrides the
+.B MANSECT
+environment variable.
+.TP
+.B \-\^a
+By default,
+.B man
+will exit after displaying the first manual page it
+finds. Using this option forces
+.B man
+to display all the manual pages that match
+.B name,
+not just the first.
+.TP
+.B \-\^c
+Reformat the source man page, even when an up-to-date cat page exists.
+This can be meaningful if the cat page was formatted for a screen
+with a different number of columns, or if the preformatted page
+is corrupted.
+.TP
+.B \-\^d
+Don't actually display the man pages, but do print gobs of debugging
+information.
+.TP
+.B \-\^D
+Both display and print debugging info.
+.TP
+.B \-\^f
+Equivalent to
+.BR whatis .
+.TP
+.BR \-\^F " or " \-\-preformat
+Format only - do not display.
+.TP
+.B \-\^h
+Print a help message and exit.
+.TP
+.B \-\^k
+Equivalent to
+.BR apropos .
+.TP
+.B \-\^K
+Search for the specified string in *all* man pages. Warning: this is
+probably very slow! It helps to specify a section.
+(Just to give a rough idea, on my machine this takes about a minute
+per 500 man pages.)
+.TP
+.B \-\^m " system"
+Specify an alternate set of man pages to search based on the system
+name given.
+.TP
+.B \-\^p " string"
+Specify the sequence of preprocessors to run before
+.B nroff
+or
+.BR troff .
+Not all installations will have a full set of preprocessors.
+Some of the preprocessors and the letters used to designate them are:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+This option overrides the
+.B MANROFFSEQ
+environment variable.
+.TP
+.B \-\^t
+Use
+.B /usr/bin/groff -Tps -mandoc
+to format the manual page, passing the output to
+.B stdout.
+The default output format of
+.B /usr/bin/groff -Tps -mandoc
+is Postscript, refer to the manual page of
+.B /usr/bin/groff -Tps -mandoc
+for ways to pick an alternate format.
+.PP
+Depending on the selected format and the availability of printing
+devices, the output
+may need to be passed through some filter or another before being
+printed.
+.TP
+.B \-\^w \fRor\fP \-\-path
+Don't actually display the man pages, but do print the location(s) of
+the files that would be formatted or displayed. If no argument is given:
+display (on stdout) the list of directories that is searched by
+.B man
+for man pages. If
+.B manpath
+is a link to man, then "manpath" is equivalent to "man --path".
+.TP
+.B \-\^W
+Like \-\^w, but print file names one per line, without additional information.
+This is useful in shell commands like
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "CAT PAGES"
+Man will try to save the formatted man pages, in order to save
+formatting time the next time these pages are needed.
+Traditionally, formatted versions of pages in DIR/manX are
+saved in DIR/catX, but other mappings from man dir to cat dir
+can be specified in
+.BR /usr/share/misc/man.conf .
+No cat pages are saved when the required cat directory does not exist.
+No cat pages are saved when they are formatted for a line length
+different from 80.
+No cat pages are saved when man.conf contains the line NOCACHE.
+.PP
+It is possible to make
+.B man
+suid to a user man. Then, if a cat directory
+has owner man and mode 0755 (only writable by man), and the cat files
+have owner man and mode 0644 or 0444 (only writable by man, or not
+writable at all), no ordinary user can change the cat pages or put
+other files in the cat directory. If
+.B man
+is not made suid, then a cat directory should have mode 0777
+if all users should be able to leave cat pages there.
+.PP
+The option
+.B \-c
+forces reformatting a page, even if a recent cat page exists.
+
+.SH "HTML PAGES"
+Man will find HTML pages if they live in directories named as
+'html' followed by a section extension. The last file extension is
+expected to be ".html", thus a valid name for an HTML version of the
+.BR ls (1)
+man page would be
+.IR /usr/share/man/htmlman1/ls.1.html .
+
+.SH "SEARCH PATH FOR MANUAL PAGES"
+.B man
+uses a sophisticated method of finding manual page files, based on the
+invocation options and environment variables, the
+.B /usr/share/misc/man.conf
+configuration file, and some built in conventions and heuristics.
+.PP
+First of all, when the
+.I name
+argument to
+.B man
+contains a slash
+.RB ( / ),
+.B man
+assumes it is a file specification itself,
+and there is no searching involved.
+.PP
+But in the normal case where
+.I name
+doesn't contain a slash,
+.B man
+searches a variety of directories for a file that could be a manual page
+for the topic named.
+.PP
+If you specify the
+.BI "-M " pathlist
+option,
+.I pathlist
+is a colon-separated list of the directories that
+.B man
+searches.
+.PP
+If you don't specify
+.B -M
+but set the
+.B MANPATH
+environment variable, the value of that variable is the list of the
+directories that
+.B man
+searches.
+.PP
+If you don't specify an explicit path list with
+.B -M
+or
+.BR MANPATH ,
+.B man
+develops its own path list based on the contents of the configuration
+file
+.BR /usr/share/misc/man.conf .
+The
+.B MANPATH
+statements in the configuration file identify particular directories to
+include in the search path.
+.PP
+Furthermore, the
+.B MANPATH_MAP
+statements add to the search path depending on your command search path
+(i.e. your
+.B PATH
+environment variable). For each directory that may be in the command
+search path, a
+.B MANPATH_MAP
+statement specifies a directory that should be added to the search
+path for manual page files.
+.B man
+looks at the
+.B PATH
+variable and adds the corresponding directories to the manual page
+file search path. Thus, with the proper use of
+.BR MANPATH_MAP ,
+when you issue the command
+.BR "man xyz" ,
+you get a manual page for the program that would run if you issued the
+command
+.BR xyz .
+.PP
+In addition, for each directory in the command search path (we'll call
+it a "command directory") for which you do
+.I not
+have a
+.B MANPATH_MAP
+statement,
+.B man
+automatically looks for a manual page directory "nearby"
+namely as a subdirectory in the command directory itself or
+in the parent directory of the command directory.
+.PP
+You can disable the automatic "nearby" searches by including a
+.B NOAUTOPATH
+statement in
+.BR /usr/share/misc/man.conf .
+.PP
+In each directory in the search path as described above,
+.B man
+searches for a file named
+.IB topic . section\fR,
+with an optional suffix on the section number and
+possibly a compression suffix.
+If it doesn't find such a file, it then looks in any subdirectories
+named
+.BI man N
+or
+.BI cat N
+where
+.I N
+is the manual section number.
+If the file is in a
+.BI cat N
+subdirectory,
+.B man
+assumes it is a formatted manual page file (cat page). Otherwise,
+.B man
+assumes it is unformatted. In either case, if the filename has a
+known compression suffix (like
+.BR .gz ),
+.B man
+assumes it is gzipped.
+.PP
+If you want to see where (or if)
+.B man
+would find the manual page for a particular topic, use the
+.BR "--path " ( -w )
+option.
+
+.SH ENVIRONMENT
+.TP
+.B MANPATH
+If
+.B MANPATH
+is set,
+.B man
+uses it as the path to search for manual page files. It overrides the
+configuration file and the automatic search path, but is overridden by
+the
+.B -M
+invocation option. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B MANPL
+If
+.B MANPL
+is set, its value is used as the display page length.
+Otherwise, the entire man page will occupy one (long) page.
+.TP
+.B MANROFFSEQ
+If
+.B MANROFFSEQ
+is set, its value is used to determine the set of preprocessors run
+before running
+.B nroff
+or
+.BR troff .
+By default, pages are passed through
+the tbl preprocessor before
+.BR nroff .
+.TP
+.B MANSECT
+If
+.B MANSECT
+is set, its value is used to determine which manual sections to search.
+.TP
+.B MANWIDTH
+If
+.B MANWIDTH
+is set, its value is used as the width manpages should be displayed.
+Otherwise the pages may be displayed over the whole width of your
+screen.
+.TP
+.B MANPAGER
+If
+.B MANPAGER
+is set, its value is used as the name of the program to use to display
+the man page. If not, then
+.B PAGER
+is used. If that has no value either,
+.B /bin/less -is
+is used.
+.TP
+.B BROWSER
+The name of a browser to use for displaying HTML manual pages. If
+it is not set, /bin/less -is is used.
+.TP
+.B HTMLPAGER
+The command to use for rendering HTML manual pages as text. If
+it is not set, /bin/cat is used.
+.TP
+.B LANG
+If
+.B LANG
+is set, its value defines the name of the subdirectory where man
+first looks for man pages. Thus, the command `LANG=dk man 1 foo'
+will cause man to look for the foo man page in .../dk/man1/foo.1,
+and if it cannot find such a file, then in .../man1/foo.1,
+where ... is a directory on the search path.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+The environment variables
+.B NLSPATH
+and
+.B LC_MESSAGES
+(or
+.B LANG
+when the latter does not exist)
+play a role in locating the message catalog.
+(But the English messages are compiled in, and for English no catalog
+is required.)
+Note that programs like
+.BR col(1)
+called by man also use e.g. LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+helps determine the search path for manual page files. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B SYSTEM
+.B SYSTEM
+is used to get the default alternate system name (for use
+with the
+.B \-m
+option).
+.SH BUGS
+The
+.B \-t
+option only works if a troff-like program is installed.
+.br
+If you see blinking \e255 or <AD> instead of hyphens,
+put `LESSCHARSET=latin1' in your environment.
+.SH TIPS
+If you add the line
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+to your
+.IR .emacs
+file, then hitting F1 will give you the man page for the library call
+at the current cursor position.
+.LP
+To get a plain text version of a man page, without backspaces
+and underscores, try
+
+ # man foo | col -b > foo.mantxt
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with
+versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
diff --git a/man/en/man.conf.5 b/man/en/man.conf.5
new file mode 100644
index 0000000..45c33ca
--- /dev/null
+++ b/man/en/man.conf.5
@@ -0,0 +1,50 @@
+.\"
+.\" Generated automatically from man.conf.5.in by the
+.\" configure script.
+.\"
+.\" @(#)man.conf
+.TH MAN.CONF 5 "September 19, 2005"
+.SH NAME
+man.conf \- configuration data for man
+.SH DESCRIPTION
+.LP
+This file is read by
+.BR man (1)
+and contains (a) information on how to construct the search path for man,
+(b) full path names for various programs like nroff, eqn, tbl etc. used by man,
+and (c) a list with uncompressors for files with a given extension.
+An alternative version of this file can be specified with
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+The command names may be provided with options.
+Useful options to nroff can be found in grotty(1).
+For example, instead of the default line
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+one may write
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+in order to suppress underlining and overstriking.
+.SH FILES
+.I "/usr/share/misc/man.conf"
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
diff --git a/man/en/man.conf.man b/man/en/man.conf.man
new file mode 100644
index 0000000..811e6bd
--- /dev/null
+++ b/man/en/man.conf.man
@@ -0,0 +1,46 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "September 19, 2005"
+.SH NAME
+man.conf \- configuration data for man
+.SH DESCRIPTION
+.LP
+This file is read by
+.BR man (1)
+and contains (a) information on how to construct the search path for man,
+(b) full path names for various programs like nroff, eqn, tbl etc. used by man,
+and (c) a list with uncompressors for files with a given extension.
+An alternative version of this file can be specified with
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+The command names may be provided with options.
+Useful options to nroff can be found in grotty(1).
+For example, instead of the default line
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+one may write
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+in order to suppress underlining and overstriking.
+.SH FILES
+.I "@man_config_file@"
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
diff --git a/man/en/man.man b/man/en/man.man
new file mode 100644
index 0000000..eff2548
--- /dev/null
+++ b/man/en/man.man
@@ -0,0 +1,524 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" More changes - flc
+.\"
+.TH man 1 "September 19, 2005"
+.LO 1
+.SH NAME
+man \- format and display the on-line manual pages
+.SH SYNOPSIS
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR system ]
+.RB [ \-p
+.IR string ]
+.RB [ \-C
+.IR config_file ]
+.RB [ \-M
+.IR pathlist ]
+.RB [ \-P
+.IR pager ]
+.RB [ \-B
+.IR browser ]
+.RB [ \-H
+.IR htmlpager ]
+.RB [ \-S
+.IR section_list ]
+.RI [ section ]
+.I "name ..."
+
+.SH DESCRIPTION
+.B man
+formats and displays the on-line manual pages. If you specify
+.IR section ,
+.B man
+only looks in that section of the manual.
+.I name
+is normally the name of the manual page, which is typically the name
+of a command, function, or file.
+However, if
+.I name
+contains a slash
+.RB ( / )
+then
+.B man
+interprets it as a file specification, so that you can do
+.B "man ./foo.5"
+or even
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+See below for a description of where
+.B man
+looks for the manual page files.
+
+.SH MANUAL SECTIONS
+The standard sections of the manual include:
+.TP
+.B 1
+User Commands
+.TP
+.B 2
+System Calls
+.TP
+.B 3
+C Library Functions
+.TP
+.B 4
+Devices and Special Files
+.TP
+.B 5
+File Formats and Conventions
+.TP
+.B 6
+Games et. Al.
+.TP
+.B 7
+Miscellanea
+.TP
+.B 8
+System Administration tools and Deamons
+.TP
+Distributions customize the manual section to their specifics, which often include additional sections.
+
+.SH OPTIONS
+.TP
+.B \-\^C " config_file"
+Specify the configuration file to use; the default is
+.BR @man_config_file@ .
+(See
+.BR man.conf (5).)
+.TP
+.B \-\^M " path"
+Specify the list of directories to search for man pages.
+Separate the directories with colons. An empty list is the same as
+not specifying
+.B \-M
+at all. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B \-\^P " pager"
+Specify which pager to use.
+This option overrides the
+.B MANPAGER
+environment variable, which in turn overrides the
+.B PAGER
+variable. By default,
+.B man
+uses
+.BR "@pager@" .
+.TP
+.B \-\^B
+Specify which browser to use on HTML files.
+This option overrides the
+.B BROWSER
+environment variable. By default,
+.B man
+uses
+.BR @browser@ ,
+.TP
+.B \-\^H
+Specify a command that renders HTML files as text.
+This option overrides the
+.B HTMLPAGER
+environment variable. By default,
+.B man
+uses
+.BR @htmlpager@ ,
+.TP
+.B \-\^S " section_list"
+List is a colon separated list of manual sections to search.
+This option overrides the
+.B MANSECT
+environment variable.
+.TP
+.B \-\^a
+By default,
+.B man
+will exit after displaying the first manual page it
+finds. Using this option forces
+.B man
+to display all the manual pages that match
+.B name,
+not just the first.
+.TP
+.B \-\^c
+Reformat the source man page, even when an up-to-date cat page exists.
+This can be meaningful if the cat page was formatted for a screen
+with a different number of columns, or if the preformatted page
+is corrupted.
+.TP
+.B \-\^d
+Don't actually display the man pages, but do print gobs of debugging
+information.
+.TP
+.B \-\^D
+Both display and print debugging info.
+.TP
+.B \-\^f
+Equivalent to
+.BR whatis .
+.TP
+.BR \-\^F " or " \-\-preformat
+Format only - do not display.
+.TP
+.B \-\^h
+Print a help message and exit.
+.TP
+.B \-\^k
+Equivalent to
+.BR apropos .
+.TP
+.B \-\^K
+Search for the specified string in *all* man pages. Warning: this is
+probably very slow! It helps to specify a section.
+(Just to give a rough idea, on my machine this takes about a minute
+per 500 man pages.)
+.TP
+.B \-\^m " system"
+Specify an alternate set of man pages to search based on the system
+name given.
+.TP
+.B \-\^p " string"
+Specify the sequence of preprocessors to run before
+.B nroff
+or
+.BR troff .
+Not all installations will have a full set of preprocessors.
+Some of the preprocessors and the letters used to designate them are:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+This option overrides the
+.B MANROFFSEQ
+environment variable.
+.TP
+.B \-\^t
+Use
+.B @troff@
+to format the manual page, passing the output to
+.B stdout.
+The default output format of
+.B @troff@
+is Postscript, refer to the manual page of
+.B @troff@
+for ways to pick an alternate format.
+.PP
+Depending on the selected format and the availability of printing
+devices, the output
+may need to be passed through some filter or another before being
+printed.
+.TP
+.B \-\^w \fRor\fP \-\-path
+Don't actually display the man pages, but do print the location(s) of
+the files that would be formatted or displayed. If no argument is given:
+display (on stdout) the list of directories that is searched by
+.B man
+for man pages. If
+.B manpath
+is a link to man, then "manpath" is equivalent to "man --path".
+.TP
+.B \-\^W
+Like \-\^w, but print file names one per line, without additional information.
+This is useful in shell commands like
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "CAT PAGES"
+Man will try to save the formatted man pages, in order to save
+formatting time the next time these pages are needed.
+Traditionally, formatted versions of pages in DIR/manX are
+saved in DIR/catX, but other mappings from man dir to cat dir
+can be specified in
+.BR @man_config_file@ .
+No cat pages are saved when the required cat directory does not exist.
+No cat pages are saved when they are formatted for a line length
+different from 80.
+No cat pages are saved when man.conf contains the line NOCACHE.
+.PP
+It is possible to make
+.B man
+suid to a user man. Then, if a cat directory
+has owner man and mode 0755 (only writable by man), and the cat files
+have owner man and mode 0644 or 0444 (only writable by man, or not
+writable at all), no ordinary user can change the cat pages or put
+other files in the cat directory. If
+.B man
+is not made suid, then a cat directory should have mode 0777
+if all users should be able to leave cat pages there.
+.PP
+The option
+.B \-c
+forces reformatting a page, even if a recent cat page exists.
+
+.SH "HTML PAGES"
+Man will find HTML pages if they live in directories named as
+'html' followed by a section extension. The last file extension is
+expected to be ".html", thus a valid name for an HTML version of the
+.BR ls (1)
+man page would be
+.IR /usr/share/man/htmlman1/ls.1.html .
+
+.SH "SEARCH PATH FOR MANUAL PAGES"
+.B man
+uses a sophisticated method of finding manual page files, based on the
+invocation options and environment variables, the
+.B @man_config_file@
+configuration file, and some built in conventions and heuristics.
+.PP
+First of all, when the
+.I name
+argument to
+.B man
+contains a slash
+.RB ( / ),
+.B man
+assumes it is a file specification itself,
+and there is no searching involved.
+.PP
+But in the normal case where
+.I name
+doesn't contain a slash,
+.B man
+searches a variety of directories for a file that could be a manual page
+for the topic named.
+.PP
+If you specify the
+.BI "-M " pathlist
+option,
+.I pathlist
+is a colon-separated list of the directories that
+.B man
+searches.
+.PP
+If you don't specify
+.B -M
+but set the
+.B MANPATH
+environment variable, the value of that variable is the list of the
+directories that
+.B man
+searches.
+.PP
+If you don't specify an explicit path list with
+.B -M
+or
+.BR MANPATH ,
+.B man
+develops its own path list based on the contents of the configuration
+file
+.BR @man_config_file@ .
+The
+.B MANPATH
+statements in the configuration file identify particular directories to
+include in the search path.
+.PP
+Furthermore, the
+.B MANPATH_MAP
+statements add to the search path depending on your command search path
+(i.e. your
+.B PATH
+environment variable). For each directory that may be in the command
+search path, a
+.B MANPATH_MAP
+statement specifies a directory that should be added to the search
+path for manual page files.
+.B man
+looks at the
+.B PATH
+variable and adds the corresponding directories to the manual page
+file search path. Thus, with the proper use of
+.BR MANPATH_MAP ,
+when you issue the command
+.BR "man xyz" ,
+you get a manual page for the program that would run if you issued the
+command
+.BR xyz .
+.PP
+In addition, for each directory in the command search path (we'll call
+it a "command directory") for which you do
+.I not
+have a
+.B MANPATH_MAP
+statement,
+.B man
+automatically looks for a manual page directory "nearby"
+namely as a subdirectory in the command directory itself or
+in the parent directory of the command directory.
+.PP
+You can disable the automatic "nearby" searches by including a
+.B NOAUTOPATH
+statement in
+.BR @man_config_file@ .
+.PP
+In each directory in the search path as described above,
+.B man
+searches for a file named
+.IB topic . section\fR,
+with an optional suffix on the section number and
+possibly a compression suffix.
+If it doesn't find such a file, it then looks in any subdirectories
+named
+.BI man N
+or
+.BI cat N
+where
+.I N
+is the manual section number.
+If the file is in a
+.BI cat N
+subdirectory,
+.B man
+assumes it is a formatted manual page file (cat page). Otherwise,
+.B man
+assumes it is unformatted. In either case, if the filename has a
+known compression suffix (like
+.BR .gz ),
+.B man
+assumes it is gzipped.
+.PP
+If you want to see where (or if)
+.B man
+would find the manual page for a particular topic, use the
+.BR "--path " ( -w )
+option.
+
+.SH ENVIRONMENT
+.TP
+.B MANPATH
+If
+.B MANPATH
+is set,
+.B man
+uses it as the path to search for manual page files. It overrides the
+configuration file and the automatic search path, but is overridden by
+the
+.B -M
+invocation option. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B MANPL
+If
+.B MANPL
+is set, its value is used as the display page length.
+Otherwise, the entire man page will occupy one (long) page.
+.TP
+.B MANROFFSEQ
+If
+.B MANROFFSEQ
+is set, its value is used to determine the set of preprocessors run
+before running
+.B nroff
+or
+.BR troff .
+By default, pages are passed through
+the tbl preprocessor before
+.BR nroff .
+.TP
+.B MANSECT
+If
+.B MANSECT
+is set, its value is used to determine which manual sections to search.
+.TP
+.B MANWIDTH
+If
+.B MANWIDTH
+is set, its value is used as the width manpages should be displayed.
+Otherwise the pages may be displayed over the whole width of your
+screen.
+.TP
+.B MANPAGER
+If
+.B MANPAGER
+is set, its value is used as the name of the program to use to display
+the man page. If not, then
+.B PAGER
+is used. If that has no value either,
+.B @pager@
+is used.
+.TP
+.B BROWSER
+The name of a browser to use for displaying HTML manual pages. If
+it is not set, @browser@ is used.
+.TP
+.B HTMLPAGER
+The command to use for rendering HTML manual pages as text. If
+it is not set, @htmlpager@ is used.
+.TP
+.B LANG
+If
+.B LANG
+is set, its value defines the name of the subdirectory where man
+first looks for man pages. Thus, the command `LANG=dk man 1 foo'
+will cause man to look for the foo man page in .../dk/man1/foo.1,
+and if it cannot find such a file, then in .../man1/foo.1,
+where ... is a directory on the search path.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+The environment variables
+.B NLSPATH
+and
+.B LC_MESSAGES
+(or
+.B LANG
+when the latter does not exist)
+play a role in locating the message catalog.
+(But the English messages are compiled in, and for English no catalog
+is required.)
+Note that programs like
+.BR col(1)
+called by man also use e.g. LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+helps determine the search path for manual page files. See
+.BR "SEARCH PATH FOR MANUAL PAGES" .
+.TP
+.B SYSTEM
+.B SYSTEM
+is used to get the default alternate system name (for use
+with the
+.B \-m
+option).
+.SH BUGS
+The
+.B \-t
+option only works if a troff-like program is installed.
+.br
+If you see blinking \e255 or <AD> instead of hyphens,
+put `LESSCHARSET=latin1' in your environment.
+.SH TIPS
+If you add the line
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+to your
+.IR .emacs
+file, then hitting F1 will give you the man page for the library call
+at the current cursor position.
+.LP
+To get a plain text version of a man page, without backspaces
+and underscores, try
+
+ # man foo | col -b > foo.mantxt
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with
+versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
diff --git a/man/en/whatis.1 b/man/en/whatis.1
new file mode 100644
index 0000000..3c331be
--- /dev/null
+++ b/man/en/whatis.1
@@ -0,0 +1,38 @@
+.\"
+.\" Generated automatically from whatis.1.in by the
+.\" configure script.
+.\"
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "September 19, 2005"
+.LO 1
+.SH NAME
+whatis \- search the whatis database for complete words.
+.SH SYNOPSIS
+.BI whatis
+keyword ...
+.SH DESCRIPTION
+whatis searches a set of database files containing short descriptions
+of system commands for keywords and displays the result on the
+standard output. Only complete word matches are displayed.
+
+The whatis database is created using the command /usr/sbin/makewhatis.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+apropos(1), man(1).
diff --git a/man/en/whatis.man b/man/en/whatis.man
new file mode 100644
index 0000000..7793394
--- /dev/null
+++ b/man/en/whatis.man
@@ -0,0 +1,34 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "September 19, 2005"
+.LO 1
+.SH NAME
+whatis \- search the whatis database for complete words.
+.SH SYNOPSIS
+.BI whatis
+keyword ...
+.SH DESCRIPTION
+whatis searches a set of database files containing short descriptions
+of system commands for keywords and displays the result on the
+standard output. Only complete word matches are displayed.
+
+The whatis database is created using the command @makewhatis@.
+.SH AUTHOR
+John W. Eaton was the original author of
+.BR "man" .
+Zeyd M. Ben-Halim released man 1.2, and Andries Brouwer followed up with versions 1.3 thru 1.5p.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+.SH "SEE ALSO"
+apropos(1), man(1).
diff --git a/man/es.txt b/man/es.txt
new file mode 100644
index 0000000..924ac1f
--- /dev/null
+++ b/man/es.txt
@@ -0,0 +1 @@
+spanish
diff --git a/man/es/README b/man/es/README
new file mode 100644
index 0000000..70b2ef0
--- /dev/null
+++ b/man/es/README
@@ -0,0 +1,9 @@
+Man pages y msgs en castellano por Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+Inspiradas de las pginas portuguesas de Vitor Duarte <vad@fct.unl.pt>
+
+Fecha: Fri May 24 02:43:10 MET DST 1996
+
+Actualizacin de Benjamn Albiana <benalb@escomposlinux.org>
+
+Fecha: vie abr 14 13:21:11 CEST 2006
+
diff --git a/man/es/apropos.man b/man/es/apropos.man
new file mode 100644
index 0000000..16374a4
--- /dev/null
+++ b/man/es/apropos.man
@@ -0,0 +1,41 @@
+.\"
+.\" Generated automatically from apropos.1.in by the
+.\" configure script.
+.\"
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traducido del portugus por Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+.\"
+.\" Traduccin actualizada por Benjamn Albiana <benalb@escomposlinux.org>
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "Septiembre 19 2005"
+.LO 1
+.SH NOMBRE
+apropos \- busca `cadenas' en la base de datos "whatis"
+.SH SINOPSIS
+.BI apropos
+palabra_clave ...
+.SH DESCRIPCIN
+apropos busca el contenido de
+.B palabra_clave,
+en una base de datos que contiene breves descripciones de los comandos,
+mostrando todas las descripciones donde encontra una referencia a la clave.
+.SH AUTOR
+John W. Eaton fue el autor original de
+.BR "man" .
+Zeyd M. Ben-Halim lanz man 1.2, y Andries Brouwer continu con
+las versiones 1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> es el encargado actual.
+.SH "VASE TAMBIN"
+whatis(1), man(1).
diff --git a/man/es/makewhatis.man b/man/es/makewhatis.man
new file mode 100644
index 0000000..7486660
--- /dev/null
+++ b/man/es/makewhatis.man
@@ -0,0 +1,108 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" Traducido por Benjamn Albiana <benalb@escomposlinux.org>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH MAKEWHATIS 8 "Septiembre 19 2005"
+.SH NOMBRE
+makewhatis \- Crea la base de datos de whatis
+.SH SINOPSIS
+.BI "makewhatis [-u] [-v] [-w] [-s " secciones " ] [-c [" catpath "]] [" manpath "]"
+.SH DESCRIPCIN
+.B makewhatis
+lee todas las pginas del manual contenidas en las
+.IR secciones " de " manpath
+dadas o de las pginas preformateadas contenidas en las
+.IR secciones " de " catpath
+dadas.
+Por cada pgina, escribe una lnea en la base de datos de whatis; cada
+lnea contiene el nombre de la pgina y una breve descripcin,
+separadas por una guin. La descripcin se obtiene del contenido de
+la seccin NOMBRE de la pgina del manual.
+.LP
+Ya que otros idiomas usan trminos diferentes para la seccin NOMBRE,
+.B makewhatis
+reconoce los trminos equivalentes en checo, italiano, finlands, francs,
+alemn y espaol.
+.LP
+Si no se da el argumento
+.I manpath
+se asume por defecto
+.I /usr/man
+.SH OPCIONES
+.TP
+.B -u
+Actualiza la base de datos con pginas nuevas.
+.TP
+.B -v
+Salida prolija
+.TP
+.B -w
+Usa la ruta de `man --path`
+.TP
+.BI -s " secciones "
+Mira en las
+.I secciones
+de
+.IR manpath " o " catpaht.
+Si no existe la opcin, se asume el valor
+.I \'1 2 3 4 5 6 7 8 9 n l\'
+.TP
+.BI -c " catpath"
+Se exploran la pginas del manual preformateadas en
+.I catpath
+Si no se da el argumento, se asume que ser el primer directorio
+existente entre
+.IR /usr/man/preformat " y " /usr/man .
+.SH EJEMPLOS
+.PP
+Para rehacer slo
+.IR /usr/X11R6/man/whatis " y " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+Para reconstruir todas las bases de datos, incluyendo las traducciones
+al finlands, francs e italiano
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH FALLOS
+.B makewhatis
+puede que no maneje bien pginas del manual hechas con macros troff
+no estndar, como las pginas de Tcl/Tk.
+.PP
+.B makewhatis
+no funciona con traducciones preformateadas
+.SH AUTOR
+John W. Eaton fue el autor original de
+.BR "man" .
+Zeyd M. Ben-Halim lanz man 1.2, y Andries Brouwer continu con
+las versiones 1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> es el encargado actual.
+.SH TRADUCCIN
+Benjamn Albiana, 2006
+.SH VASE TAMBIN
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
+
+
+
diff --git a/man/es/man.conf.man b/man/es/man.conf.man
new file mode 100644
index 0000000..0ed0772
--- /dev/null
+++ b/man/es/man.conf.man
@@ -0,0 +1,55 @@
+.\"
+.\" Generated automatically from man.conf.5.in by the
+.\" configure script.
+.\"
+.\" @(#)man.conf
+.\" Traducido del portugus por Pablo Saratxag <srtxg@f2219.n293.z2.fidonet.org>
+.\"
+.\" Traduccin actualizada por Benjamn Albiana <benalb@escomposlinux.org>
+.\"
+.TH MAN.CONF 5 "Septiembre 19, 2005"
+.SH NOMBRE
+man.conf \- fichero de configuracin para el comando man
+.SH DESCRIPCIN
+.LP
+Este fichero es leido por
+.BR man (1)
+y contiene: (a) informacin para obtener la ruta de bsqueda de las
+pginas (manpath); (b) nombres completos
+de varios programas como nroff, eqn, tbl, etc. usados por man; (c) una lista
+de descompresores de ficheros con determinadas extensiones. Se puede indicar
+un fichero alternativo con
+.LP
+.RS
+man -C fich_config ...
+.RE
+.LP
+Los nombres de comandos pueden ser indicados con opciones.
+Las opciones tiles para nroff se pueden encontrar en grotty(1).
+Por ejemplo, en vez de la lnea
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+se puede usar
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+para suprimir subrayados y carcteres en negrita.
+.SH AUTOR
+John W. Eaton fue el autor original de
+.BR "man" .
+Zeyd M. Ben-Halim lanz man 1.2, y Andries Brouwer continu con
+las versiones 1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> es el encargado actual.
+.SH VASE TAMBIN
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) e compress(1), gzip(1).
+
diff --git a/man/es/man.man b/man/es/man.man
new file mode 100644
index 0000000..b16b55b
--- /dev/null
+++ b/man/es/man.man
@@ -0,0 +1,240 @@
+.\"
+.\" Generated automatically from man.1.in by the
+.\" configure script.
+.\"
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traducido del portugus por Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+.\" La seccin "pginas formatadas" ha sido tomada de la version francesa de
+.\" esta pgina de manual, traducida por Ren Cougnenc.
+.\"
+.\" Traduccin actualizada por Benjamn Albiana <benalb@escomposlinux.org>
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.TH man 1 "Septiembre 19 2005"
+.LO 1
+.SH NOMBRE
+man \- da formato y muestra las pginas del manual en lnea
+.br
+manpath \- determina la ruta de bsqueda inicial
+.SH SINPSIS
+man [\-acdfhktw] [\-m sistema] [\-p cadena] [\-C fich_config] [\-M ruta]
+[\-P paginador] [\-S lista_sec] [seccin] nombre ...
+.SH DESCRIPCIN
+.B man
+da formato y muestra las pginas del manual en lnea. Esta versin reconoce
+las variables de entorno (environment)
+.B. MANPATH
+y
+.B (MAN)PAGER
+(ver ms adelante).
+Si se indica la
+.I seccin
+,
+.B man
+buscar nicamente en ella.
+Es tambin posible indicar el orden de bsqueda en la secciones
+y que preprocesamiento efectuar con los manuales, por medio de opciones en la
+lnea de comando o con variables de entorno.
+Si el
+.I nombre
+contiene el carcter `/' tratar primero un fichero con ese nombre, permitiendo
+hacer
+.B "man ./foo.5"
+o tambin
+.B "man /cd/foo/bar.1.gz"
+para dar formato y ver un fichero en particular.
+.SH OPCIONES
+.TP
+.B \-\^C " fich_config"
+Indica el fichero de configuracin a usar; por defecto se usar
+/etc/man.conf. (Ver man.conf(5).)
+.TP
+.B \-\^M " ruta"
+Indica la lista de directorios donde buscar los manuales.
+Sin esta opcin se utilizar la variable
+.B MANPATH.
+Si esta variable tampoco estuviera definida, se obtendr una lista
+consultando /etc/man.conf. Un directorio vaco en MANPATH
+representa la lista anterior.
+.TP
+.B \-\^P " paginador"
+Indica que paginador/visualisador usar. Sin esta opcin tratar
+de consultar la variable
+.B PAGER.
+Normalmente, man usar
+.B /usr/bin/less -is.
+.TP
+.B \-\^S " lista_sec"
+Da la lista de secciones (separadas por `:') donde buscar y en que
+orden. Esta opcin tiene prioridad sobre la variable
+.B MANSECT.
+.TP
+.B \-\^a
+Normalmente man muestra el primer manual que encuentra. Esta opcin
+le permite mostrar todas las pginas de manual encontradas para la entrada
+.B nombre.
+.TP
+.B \-\^d
+No muestra el manual, sino informacin para la depuracin de errores.
+.TP
+.B \-\^f
+Equivalente a
+.B whatis.
+.TP
+.B \-\^h
+Muestra un breve mensaje de ayuda.
+.TP
+.B \-\^k
+Equivalente a
+.B apropos.
+.TP
+.B \-\^m " sistema"
+Indica un conjunto de manuales diferentes aplicables al sistema indicado.
+.TP
+.B \-\^p " cadena"
+Especifica una secuencia de preprocesadores a usar antes de nroff o
+troff (los formateadores). Algunas instalaciones de Linux pueden no tener todos los
+preprocesadores. Algunos preprocesadores y las letras a usar para
+indicarlos son:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Esta opcin tiene proridad sobre la variable
+.B MANROFFSEQ.
+.TP
+.B \-\^t
+Usar
+.B /usr/bin/groff -Tps -mandoc
+para dar formato a las pginas de manual, efectundose la salida por
+.B stdout
+Puede ser necesario procesar la salida de este comando con otros filtros
+para poder visualizarla o imprimirla.
+.TP
+.B \-\^w \fRo\fP \-\-path
+No muestra las pginas de manual, sino la(s) localizacin(es) de los
+ficheros que se hubieran formateado y mostrado, para la entrada de
+.B nombre
+indicado. Si no se da ninguna otra opcin muestra la lista de
+directorios que seran recorrido por .B man
+durante la bsqueda. Si
+.B manpath
+es un enlace a man, entonces "manpath" equivale a "man --path".
+.B \-\^W
+Como \-\^w, pero muestra los nombres de ficheros, uno por linea, sin ninguna
+otra informacin. Muy til en comandos shell del estilo:
+.ft CW
+man -aW man | xargs ls -l
+.ft
+.SH "PGINAS FORMATEADAS"
+Con el fin de ganar tiempo,
+.B man
+trata de guardar la pginas formateadas
+en vez de interpretarlas cada vez que se las pide.
+Tradicionalmente, las versiones formateadas de las pginas de REP/manX son
+guardadas en REP/catX, pero se pueden indicar otras correspondencias
+entre los directorios man y cat en el fichero /etc/man.conf. Si el
+directorio \%cat\% correspondiente no existe, no se guardarn las
+pginas formateadas.
+Es posible hacer a
+.B man
+suid para un usuario man. En este caso, si un directorio cat pertenece
+a man, y tiene el modo 0755 (nicamente man tiene permisos de escritura),
+y los ficheros cat pertenecen tambin a man y tiene el modo 0644 0444 (slo
+mana tiene permisos de escritura, o nadie los tiene), ningn usuario normal
+podr cambiar las pginas formateadas o aadir ficheros al directorio
+correspondiente. Si
+.B man
+no es suid, los directorios cat debern tener el modo 0777 para que todo
+usuario pueda dejar el resultado de los formateos efectuados durante las
+consutlas del manual.
+.LP
+La opcin -c fuerza el reformateo de una pgina, aunque ya exista un fichero
+cat ms reciente que el fichero fuente.
+
+.SH ENTORNO
+.TP
+.B MANPATH
+Si se ha definido
+.B MANPATH
+se usar su valor como lista de directorios (manpath) donde pueden estar
+las entradas del manual.
+.TP
+.B MANROFFSEQ
+Si se ha definido
+.B MANROFFSEQ
+su valor determinar los preprocesadores a aplicar
+antes de nroff o troff. Normalmente, las pginas de manual, son
+preprocesadas por tbl antes de nroff.
+.TP
+.B MANSECT
+Si se ha definido
+.B MANSECT
+su valor indicar las secciones a recorrer.
+.TP
+.B PAGER
+Si se ha definido
+.B PAGER
+su valor indicar el programa a usar para mostrar el manual.
+Normalmente usar
+.B /usr/bin/less -is.
+.TP
+.B LANG
+Si se ha definido
+.B LANG
+su valor indicar el nombre del subdirectorio donde
+.B man
+comenzar la bsqueda de las pginas de manual. Por ejemplo, el comando
+\%LANG=es man 1 pepe\% tendr como efecto de hacer una bsqueda de la pgina
+pepe en .../es/man1/pepe.1, y si ese fichero no existe,
+en .../man1/pepe.1, ( ... indica un directorio en la ruta de bsqueda).
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Las variables de entorno
+.B NLSPATH
+y
+.B LC_MESSAGES
+(o
+.B LANG
+cuando LC_MESSAGES no existe)
+juegan un papel en la localizacin del catlogo de mensajes.
+Ntese que los programas como col(1) que son llamados por
+.B man,
+tambin utilizan LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+se utiliza para la construccin de la ruta de bsqueda por omisin.
+.TP
+.B SYSTEM
+.B SYSTEM
+se emplea para obtener los sistemas alternativos por omisin (en vista del
+uso de la opcin
+.B \-m
+).
+.SH AUTOR
+John W. Eaton fue el autor original de
+.BR "man" .
+Zeyd M. Ben-Halim lanz man 1.2, y Andries Brouwer continu con
+las versiones 1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> es el encargado actual.
+.SH "VASE TAMBIN"
+apropos(1), whatis(1), less(1), groff(1).
+.SH BUGS
+.B \-t
+solo funciona si existe un programa troff o equivalente.
+.SH TRADUCCIN
+Pablo Saratxaga, 1996. A partir de la pgina en portugus de
+Vitor Duarte y la pgina en francs de Ren Cougnenc.
+
+Actualizacin de Benjamn Albiana, 2006.
diff --git a/man/es/whatis.man b/man/es/whatis.man
new file mode 100644
index 0000000..aadf696
--- /dev/null
+++ b/man/es/whatis.man
@@ -0,0 +1,43 @@
+.\"
+.\" Generated automatically from whatis.1.in by the
+.\" configure script.
+.\"
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "Septiembre 19 2005"
+.LO 1
+.SH NOMBRE
+whatis \- busca palabras en una base de datos propia
+.SH SINOPSIS
+.BI whatis
+palabra_clave ...
+.SH DESCRIPCIN
+whatis busca el contenido de
+.B palabra_clave,
+en una base de datos que contiene breves descripciones de los comandos,
+mostrando todas las descripciones que contienen una palabra idntica (
+una palabra completa).
+
+La base de datos de "whatis" se crea con el comando /usr/sbin/makewhatis
+.SH AUTOR
+John W. Eaton fue el autor original de
+.BR "man" .
+Zeyd M. Ben-Halim lanz man 1.2, y Andries Brouwer continu con
+las versiones 1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> es el encargado actual.
+.SH VASE TAMBIN
+apropos(1), man(1).
+
+
diff --git a/man/fi.txt b/man/fi.txt
new file mode 100644
index 0000000..b864848
--- /dev/null
+++ b/man/fi.txt
@@ -0,0 +1 @@
+finnish
diff --git a/man/fi/apropos.man b/man/fi/apropos.man
new file mode 100644
index 0000000..fcca5be
--- /dev/null
+++ b/man/fi/apropos.man
@@ -0,0 +1,26 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Translated into Finnish by Raimo Koski <rkoski@pp.weppi.fi>
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "Tammi 15, 1991"
+.LO 1
+.SH NIMI
+apropos \- etsi whatis-tietokannasta merkkijonoja
+.SH YLEISKATSAUS
+.BI apropos
+avainsana ...
+.SH KUVAUS
+apropos etsii avainsanoja tietokannoista, joissa on lyhyet kuvaukset jrjestelmn komennoista ja nytt tulokset vakiotulosteessa.
+.SH "KATSO MYS"
+whatis(1), man(1).
diff --git a/man/fi/man.conf.man b/man/fi/man.conf.man
new file mode 100644
index 0000000..b00e824
--- /dev/null
+++ b/man/fi/man.conf.man
@@ -0,0 +1,39 @@
+.\" @(#)man.conf
+.\" Translated into Finnish by Raimo Koski <rkoski@pp.weppi.fi>
+.TH MAN.CONF 5 "30 Maaliskuu 1994"
+.SH NIMI
+man.conf \- man-ohjelman konfigurointitiedot
+.SH KUVAUS
+.LP
+Tmn tiedoston lukee
+.BR man (1)
+ja siin on (a) tiedot, miten man:n hakupolku muodostetaan,
+(b) tydet nimet polkuineen ohjelmielle, kuten nroff, eqn, tbl jne. joita man kytt
+ja (c) lista purkuohjelmista, joilla annetun tiedostoptteen tiedostot voidaan purkaa.
+Vaihtoehtoinen versio tst tiedostosta voidaan ottaa kyttn komennolla
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+Komentojen nimille voidaan antaa optioita. Kyttkelpoiset optiot nroff-ohjelmalle lytyvt sivulta grotty(1).
+Esimerkiksi oletusrivin
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+sijasta voidaan mritell
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+jotta alle- ja yliviivaus estetn.
+.SH "KATSO MYS"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
diff --git a/man/fi/man.man b/man/fi/man.man
new file mode 100644
index 0000000..a8417e4
--- /dev/null
+++ b/man/fi/man.man
@@ -0,0 +1,286 @@
+.\" From rkoski@pp.weppi.fi Sun Jun 28 12:50:44 1998
+.\"
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" Translated into Finnish by Teppo Kankaanp (photon@clinet.fi)
+.\" Proofread by Raimo Koski (rkoski@pp.weppi.fi)
+.\" Reconstructed man.man from man.1 - aeb
+.\"
+.\" TERM man_page man-sivu Nin se oli sotin sivuillakin..
+.\" TERM manual_page ohjesivu
+.\" TERM section osasto Osasto kuvaa melko hyvin manin luonnetta
+.\" TERM pager nytinohjelma Tulee ihan IBM ja sen nyttimet mieleen...
+.\" TERM debugging_info,debugging_information debuggaustiedot
+.\" TERM preprocessor esiksittelyohjelma,esiksittelij Mik olisi parempi?
+.\" TERM message_catalog viestikirjasto
+.\" TERM search_path hakupolku
+.\" TERM owner_mode kyttoikeudet
+.\" TERM suid suid
+.\" TERM arguments parametrit
+.\"
+.TH MAN 1 "4. Keskuuta 1998" "Linux" "Kyttjn sovellusohjelmat"
+.LO 1
+.SH NIMI
+man \- muotoile ja nyt on-line -ohjesivuja
+.br
+manpath \- mrit kyttjn hakupolku man-sivuihin
+.SH "YLEISKATSAUS"
+man [\-acdfhkKtwW] [\-m jrjestelm] [\-p merkkijono] [\-C konfiguraatiotiedosto] [\-M polku]
+[\-P selausohjelma] [\-S sektiolista] [sektio] nimi ...
+.SH KUVAUS
+.B man
+muotoilee ja nytt on-line -ohjesivuja. Tm versio tuntee
+ympristmuuttujat
+.B MANPATH
+ja
+.BR "(MAN)PAGER" ,
+joten sinulla voi olla oma(t) kokoelmasi man-sivuja ja voit valita mink tahansa
+ohjelman nyttmn muotoillut sivut. Jos
+.I sektio
+on annettu,
+.B man
+etsii sivuja vain siit sektiosta.
+Voit mys mritell, miss jrjestyksess sektiot lpikydn
+sivuja haettaessa ja mink esiksittelyohjelmien lpi lhdetiedostot
+ajetaan, joko komentorivioptioiden tai ympristmuuttujien avulla.
+Jos
+.I nimi
+sislt / -merkin, yritetn se ensin ksitell tiedostonimen,
+joten voit kirjoittaa
+.B "man ./foo.5"
+tai vaikkapa
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.SH OPTIOT
+.TP
+.B \-\^C " config_file"
+Mrittele kytettv man.conf -tiedosto. Oletus on
+.BR @man_config_file@ .
+(Katso
+.BR man.conf (5).)
+.TP
+.B \-\^M " polku"
+Mrittele hakemistolista, joista man-sivuja etsitn.
+Jos optiota ei kytet, katsotaan lista ympristmuuttujasta
+.BR MANPATH .
+Jos tllaista ympristmuuttujaa ei lydy, oletuslista haetaan
+tiedostosta
+.BR @man_config_file@ .
+Jos
+.B MANPATH
+sislt tyhjn merkkijonon, kytetn mys tllin oletuslistaa.
+.TP
+.B \-\^P " pager"
+Mrittele, mill ohjelmalla sivuja katsotaan.
+Tm optio kumoaa
+.BR MANPAGER "-ympristmuuttujan"
+vaikutuksen, joka taas lytyessn kumoaa
+.BR PAGER "-ympristmuuttujan"
+vaikutuksen. Oletuksena
+.B man
+kytt komentoa
+.BR @pager@ .
+.TP
+.B \-\^S " sektiolista"
+Sektiolista on kaksoispisteill eroteltu lista sektioista, jotka
+kydn lpi sivua haettaessa. Tm optio kumoaa
+.BR MANSECT "-ympristmuuttujan"
+vaikutuksen.
+.TP
+.B \-\^a
+Oletuksena
+.B man
+lopettaa toimintansa nytettyn ensimmisen lytmns
+man-sivun. Tt optiota kyttmll
+.B man
+pakotetaan nyttmn
+.I kaikki
+tsmvt man-sivut.
+.TP
+.B \-\^c
+Uudelleenmuotoile lhteen oleva man-sivu, vaikka pivitetty cat-sivu
+lytyisi. Tm voi olla kytnnllist, jos cat-sivu muotoiltiin
+nytlle, jolle mahtuu eri mr kirjaimia.
+.TP
+.B \-\^d
+l nyt itse man-sivua, vaan vain debuggaustiedot.
+.TP
+.B \-\^D
+Nyt sek sivu ett debuggaustiedot.
+.TP
+.B \-\^f
+Vastaa komentoa
+.BR whatis .
+.TP
+.B \-\^h
+Nyt vain pieni ohje ohjelman kytst.
+.TP
+.B \-\^k
+Vastaa komentoa
+.BR apropos .
+.TP
+.B \-\^K
+Etsi mritelty merkkijonoa *kaikista* man-sivuista. Varoitus:
+tm on todennkisesti hyvin hidasta! Sektion mrittely auttaa.
+(Omalla koneellani etsint kest minuutin 500 man-sivua kohden)
+.TP
+.B \-\^m " jrjestelm"
+Mrittele etsittvksi vaihtoehtoinen kokoelma man-sivuja,
+pohjautuen annettuun jrjestelmnimeen.
+.TP
+.B \-\^p " merkkijono"
+Mrittele esiksittelijiden lista, jotka ajetaan ennen
+.BR nroff ":ia"
+tai
+.BR troff ":ia."
+Kaikkiin jrjestelmiin ei ole asennettu kaikkia esiksittelyohjelmia.
+Jotkin nist ja niit vastaavista kirjaimista ovat
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v) ja refer (r).
+Tm optio kumoaa
+.BR MANROFFSEQ "-ympristmuuttujan"
+vaikutuksen.
+.TP
+.B \-\^t
+Kyt komentoa
+.B @troff@
+man-sivun muotoiluun ja ohjaa tuloste
+.BR vakiotulosteeseen .
+Tm tuloste saatetaan joutua ohjaamaan jonkin filtterin lpi ennen
+tulostamista.
+.TP
+.B \-\^w \fRtai\fP \-\-path
+l nyt man-sivuja, mutta nyt sijainnit sivuille, jotka
+muotoiltaisiin tai nytettisiin. Jos mitn parametria ei anneta,
+tulostetaan (vakiotulosteeseen) lista hakemistoista, joista
+.B man
+etsisi sivuja. Jos
+.B manpath
+on linkitetty man-ohjelmaan, vastaa "manpath" samaa, kuin "man --path".
+.TP
+.B \-\^W
+Kuten \-\^w, mutta tulosta jokainen tiedostonimi omalle rivilleen ilman
+mitn listietoja. Tm on hydyllinen komennoissa, kuten
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH CAT-SIVUT
+Man yritt tallentaa muotoillut man-sivut sstkseen
+muotoiluun kuluneen ajan seuraavalla kerralla, kun nit
+sivuja tarvitaan. Perinteisesti muotoillut sivut .../manX:st
+on tallennettu .../catX:n (... on hakupolku), mutta
+.BR @man_config_file@ ":issa"
+voidaan st jokin muu hakemistosijoittelu.
+Jos tarvittavaa cat-hakemistoa ei lydy, ei cat-sivuja tallenneta.
+.PP
+On mahdollista asettaa
+.BR man "in"
+suid:ksi kyttj man. Jos man omistaa cat-hakemiston, jonka
+kyttoikeudet ovat 0755 (vain man-kyttjn
+kirjoitettavissa) ja cat-tiedostojen kyttoikeudet ovat 0644 tai 0444
+(vain man-kyttjn
+tai ei kenenkn kirjoitettavissa), ei tavallinen kyttj voi
+muuttaa cat-sivuja tai laittaa muita tiedostoja cat-hakemistoon.
+Jos
+.BR man "ille"
+ei ole mritelty suidia, silloin cat-hakemiston
+kyttoikeuksien pitisi olla 0777,
+jolloin jokainen kyttj voisi jtt cat-sivuja sinne.
+.PP
+Optio
+.B \-c
+pakottaa muotoilemaan sivun uudelleen, vaikka uusi cat-sivu lytyisikin.
+.SH YMPRISTMUUTTUJAT
+.TP
+.B MANPATH
+Jos
+.B MANPATH
+on asetettu, sen arvoa kytetn polkuna man-sivuja etsittess.
+.TP
+.B MANROFFSEQ
+Jos
+.B MANROFFSEQ
+on asetettu, sen arvoa kytetn mrittelemn esiksittelijt,
+jotka ajetaan ennen
+.BR nroff "ia"
+tai
+.BR troff "ia."
+Oletuksena sivut ajetaan
+tbl(1)-esiksittelijn lpi ennen
+.BR nroff "ia."
+.TP
+.B MANSECT
+Jos
+.B MANSECT
+on asetettu, sen arvoa kytetn mrittelemn, mist sektioista
+sivuja etsitn.
+.TP
+.B MANWIDTH
+Jos
+.B MANWIDTH
+on asetettu, sen arvo kertoo leveyden, jolla sivut nytetn ruudulla.
+Muuten sivut nytetn koko ruudun levyisin.
+.TP
+.B MANPAGER
+Jos
+.B MANPAGER
+on asetettu, sen arvo kertoo ohjelman nimen, jota kytetn man-sivujen
+esittmiseen. Muuten kytetn ympristmuuttujaa
+.BR PAGER .
+Jos sitkn ei ole asetettu, kytetn komentoa
+.BR @pager@ .
+.TP
+.B LANG
+Jos
+.B LANG
+on asetettu, sen arvo mrittelee alihakemiston nimen, mist
+man etsii ensin sivuja. Niinp komento 'LANG=fi man 1 foo'
+saa manin etsimn ensin sivua .../fi/man1/foo.1.
+Jos tt ei lydy, etsii man sivua .../man1/foo.1.
+Merkit ... tarkoittavat hakupolkua.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Ympristmuuttujat
+.B NLSPATH
+ja
+.B LC_MESSAGES
+(tai
+.BR LANG ,
+jos jlkimmist ei ole asetettu) kertovat kytettvn viestikirjaston.
+(Englanninkieliset viestit on knnetty ohjelman sisn,
+joten ne eivt tarvitse erillist viestikirjastoa.)
+Huomaa, ett man saattaa kytt ohjelmia, kuten col(1), jotka
+kyttvt mys esimerkiksi muuttujaa LC_CTYPE.
+.TP
+.B PATH
+.BR PATH ":ia"
+kytetn muodostamaan oletushakupolkua man-sivuille.
+.TP
+.B SYSTEM
+.B SYSTEM "-ympristmuuttujaa"
+kytetn vaihtoehtoisen jrjestelmn oletusnimeksi (optiota
+.B \-m
+kytettess).
+.SH BUGIT
+Optio
+.B \-t
+toimii vain, jos troffin kaltainen ohjelma on asennettu.
+.br
+Jos net tavuviivojen tilalla vilkkuvan \e255:n tai <AD>:n,
+aseta ympristmuuttuja 'LESSCHARSET=latin1'.
+.SH "KATSO MYS"
+apropos(1) whatis(1) less(1) groff(1).
+
+
diff --git a/man/fi/whatis.man b/man/fi/whatis.man
new file mode 100644
index 0000000..449c845
--- /dev/null
+++ b/man/fi/whatis.man
@@ -0,0 +1,28 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Translated into Finnish by Raimo Koski <rkoski@pp.weppi.fi>
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "Tammikuun 5, 1991"
+.LO 1
+.SH NIMI
+whatis \- etsii whatis-tietokannasta kokonaisia sanoja.
+.SH YLEISKATSAUS
+.BI whatis
+avainsana ...
+.SH KUVAUS
+whatis etsii avainsanoja tietokannoista, joissa on lyhyet kuvaukset jrjestelmn komennoista ja nytt tulokset vakiotulosteessa. Vain lytyneet kokonaiset sanat nytetn.
+
+Whatis-tietokanta luodaan komennolla @makewhatis@.
+.SH "KATSO MYS"
+apropos(1), man(1).
diff --git a/man/fr.txt b/man/fr.txt
new file mode 100644
index 0000000..4836cc2
--- /dev/null
+++ b/man/fr.txt
@@ -0,0 +1 @@
+french
diff --git a/man/fr/apropos.man b/man/fr/apropos.man
new file mode 100644
index 0000000..383de43
--- /dev/null
+++ b/man/fr/apropos.man
@@ -0,0 +1,47 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traduction franaise Ren Cougnenc - Mai 1995.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH APROPOS 1 "19 septembre 2005" "Manuel Linux" "Commandes utilisateur"
+.LO 1
+.SH NOM
+apropos \- recherche de chanes de caractres dans la base de donnes whatis
+.SH SYNOPSIS
+.BI apropos
+mot-cl ...
+.SH DESCRIPTION
+apropos effectue une recherche de chanes de caractres dans un
+ensemble de fichiers de donnes contenant de brves descriptions des
+commandes systme, et affiche le rsultat sur la sortie standard.
+
+.SH AUTEUR
+John W. Eaton est l'auteur historique de
+.BR man .
+Federico Lucifredi <flucifredi@acm.org> en assure aujourd'hui la maintenance.
+
+.SH "VOIR AUSSI"
+.BR whatis (1),
+.BR man (1).
+
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Ren Cougnenc en mai 1995 et mise
+ jour par Alain Portal <aportal AT univ-montp2 DOT fr> le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 1\ apropos\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
+
diff --git a/man/fr/makewhatis.man b/man/fr/makewhatis.man
new file mode 100644
index 0000000..abd5981
--- /dev/null
+++ b/man/fr/makewhatis.man
@@ -0,0 +1,123 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" Traduction : Alain Portal <aportal AT univ-montp2 DOT fr> le 1/6/2005
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH MAKEWHATIS 8 "19 septembre 2005"
+.SH NOM
+makewhatis \- Cre la base de donnes whatis
+.SH SYNOPSIS
+.BI "makewhatis [-u] [-v] [-w] [-s " sections " ] [-c [" catpath "]] [" manpath "]"
+.SH DESCRIPTION
+.B makewhatis
+lit toutes les pages de manuels contenues dans les sections
+.I sections
+du rpertoire
+. I manpath
+ou les pages prformates contenues dans les sections
+.I sections
+du rpertoire
+.IR catpath .
+Pour chacune des pages,
+.B makewhatis
+crit une ligne dans la base de donnes whatis\ ; chaque ligne est constitue
+du nom de la page de manuel et d'une courte description de celle-ci, spars
+par un trait. La description est extraite du contenu de la section NAME de la
+page de manuel.
+.LP
+Du fait que d'autres langues utilisent un terme diffrent pour la section NAME,
+.B makewhatis
+reconnat les termes quivalents en allemand, espagnol, finnois, franais,
+italien et tchque.
+.LP
+Si aucun argument
+.I manpath
+n'est fourni, la valeur par dfaut est
+.IR /usr/man .
+.SH OPTIONS
+.TP
+.B -u
+Mettre jour la base de donnes avec de nouvelles pages.
+.TP
+.B -v
+Sortie bavarde.
+.TP
+.B -w
+Utiliser le chemin de recherche
+.I manpath
+obtenu par la commande \ man --path\ .
+.TP
+.BI -s " sections"
+Chercher dans les sections
+.I sections
+de
+.IR manpath " ou " catpath .
+Si cette option est absente, sa valeur est
+.IR " " \' "1 2 3 4 5 6 7 8 9 n l"\'
+.TP
+.BI -c " catpath"
+Les pages prformates de manuel situes dans
+.I catpath
+sont scrutes. Si l'argument n'est pas fourni, il est suppos tre le premier
+des deux rpertoires existant entre
+.IR /usr/man/preformat " et " /usr/man .
+.SH EXEMPLES
+.PP
+Pour reconstruire seulement les bases de donnes
+.IR /usr/X11R6/man/whatis " et " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+Pour reconstruire toutes les bases de donnes en incluant les traductions
+finnoise, franaise et italienne
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH BOGUES
+.B makewhatis
+peut ne pas trs bien grer les pages de manuels qui ont t crites avec
+des macros troff non standard, comme les pages Tcl/Tk.
+.PP
+.B makewhatis
+ne fonctionne pas avec les traductions prformates.
+
+.SH AUTEUR
+John W. Eaton est l'auteur historique de
+.BR man .
+Federico Lucifredi <flucifredi@acm.org> en assure aujourd'hui la maintenance.
+
+.SH "VOIR AUSSI"
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
+
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Alain Portal
+<aportal AT univ-montp2 DOT fr> le 1er juin 2005 et mise jour
+le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 8\ makewhatis\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
+
diff --git a/man/fr/man.conf.man b/man/fr/man.conf.man
new file mode 100644
index 0000000..49d9bbd
--- /dev/null
+++ b/man/fr/man.conf.man
@@ -0,0 +1,77 @@
+.\" @(#)man.conf
+.\" Traduction franaise Ren Cougnenc - Mai 1995
+.\"
+.TH MAN.CONF 5 "19 septembre 2005" "Manuel Linux" "Commandes utilisateur"
+.SH NOM
+man.conf \- fichier de configuration de la commande man
+.SH DESCRIPTION
+.LP
+Ce fichier est lu par
+.BR man (1)
+et contient\ : (a) des informations sur la manire de construire le
+chemin de recherche des pages de manuel, (b) les chemins d'accs
+complets de divers programmes de formatage tels nroff, eqn, tbl, etc.
+utiliss par man, et (c) une liste des dcompacteurs employer pour
+traiter les pages prformates selon l'extension de leur nom de
+fichier. Il est possible de spcifier un autre fichier que celui-ci en
+prcisant\ :
+.LP
+.RS
+man -C man.conf_personnel ...
+.RE
+.LP
+Les noms de commandes peuvent comporter des options.
+Les options utiles pour nroff se trouvent dans grotty(1).
+Par exemple, au lieu de la ligne par dfaut\ :
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+vous pouvez mettre\ :
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+afin de supprimer le soulignement et les caractres gras.
+
+Notez que l'option -Tlatin1 passe la commande groff est importante
+pour nous autres, francophones\ ; associe un visualiseur et un
+terminal supportant ce jeu de caractres (comme less et xterm), elle
+permet de conserver nos prcieux accents dans les pages de manuel.
+.SH FICHIERS
+.I "@man_config_file@"
+.SH AUTEUR
+John W. Eaton est l'auteur historique de
+.BR man .
+Federico Lucifredi <flucifredi@acm.org> en assure aujourd'hui la maintenance.
+.SH "VOIR AUSSI"
+.BR col (1),
+.BR (g)eqn (1),
+.BR (g)pic (1),
+.BR groff (1),
+.BR grotty (1),
+.BR (g)refer (1),
+.BR (g)tbl (1),
+.BR less (1),
+.BR man (1)
+et
+.BR compress (1),
+.BR gzip (1).
+
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Ren Cougnenc en mai 1995 et mise
+ jour par Alain Portal <aportal AT univ-montp2 DOT fr> le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 5\ man.conf\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
+
diff --git a/man/fr/man.man b/man/fr/man.man
new file mode 100644
index 0000000..ad09529
--- /dev/null
+++ b/man/fr/man.man
@@ -0,0 +1,496 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traduction franaise Ren Cougnenc - Mai 1995
+.\" Mise jour importante Alain Portal le 2 juin 2005
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" More changes - flc
+.\"
+.TH MAN 1 "19 septembre 2005" "Manuel Linux" "Commandes utilisateur"
+.LO 1
+.SH NOM
+man \- formate et affiche les pages du manuel en ligne
+.SH SYNOPSIS
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR systme ]
+.RB [ \-p
+.IR chane ]
+.RB [ \-C
+.IR fichier_config ]
+.RB [ \-M
+.IR chemin ]
+.RB [ \-P
+.IR visualiseur ]
+.RB [ \-B
+.IR navigateur ]
+.RB [ \-H
+.IR visualiseur_html ]
+.RB [ \-S
+.IR liste_sections ]
+.RI [ section ]
+.I "nom ..."
+
+.SH DESCRIPTION
+.B man
+formate et affiche les pages du manuel en ligne. Si
+.I section
+est spcifie,
+.B man
+ne recherchera que dans cette section du manuel.
+.I nom
+est le nom de la page qui est gnralement le nom d'une commande,
+d'une fonction ou d'un fichier. Toutefois, si
+.I nom
+contient une barre oblique
+.RB " \ "/ \ ,
+il sera d'abord considr en tant que nom de fichier, vous pouvez donc faire\ :
+.B "man ./toto.5"
+ou mme
+.B "man /truc/machin/bidule.1.gz\fR.\fP"
+.PP
+Voir plus loin pour une description sur la faon dont
+.B man
+cherche les fichiers pages de manuel.
+
+.SH OPTIONS
+.TP
+.B \-\^C " fichier_config"
+Spcifie le fichier de configuration utiliser\ ; par dfaut il s'agit de
+.BR @man_config_file@ .
+(Voir
+.BR man.conf (5).)
+.TP
+.B \-\^M " chemin"
+Indique la liste des rpertoires dans lesquels la recherche des pages
+sera effectue. Veuillez sparer les rpertoires par le symbole deux points
+.RB " \ ": \ .
+Une liste vide est quivalent ne pas spcifier l'option
+.BR \-M .
+Voir
+.BR "CHEMIN DE RECHERCHE POUR LES PAGES DE MANUEL" .
+.TP
+.B \-\^P " visualiseur"
+Indique le programme de visualisation des pages employer.
+Cette option a priorit sur la variable d'environnement
+.BR MANPAGER ,
+qui, son tour, a priorit sur la variable d'environnement
+.BR PAGER .
+Par dfaut,
+.B man
+utilisera
+.B @pager@.
+.TP
+.B \-\^B
+Spcifie quel navigateur utiliser pour les fichiers HTML.
+Cette option supplante la variable d'environnement
+.B BROWSER
+Par dfaut,
+.B man
+utilise
+.BR @browser@ .
+.TP
+.B \-\^H
+Spcifie une commande qui produit un fichier texte partir du fichier HTML.
+Cette option supplante la variable d'environnement
+.B HTMLPAGER
+Par dfaut,
+.B man
+utilise
+.BR @htmlpager@ .
+.TP
+.B \-\^S " liste_sections"
+Il s'agit d'une liste de sections, spares par le symbole deux points
+.RB " \ ": \ ,
+dans lesquelles les pages seront recherches. Elle a priorit sur
+la variable d'environnement
+.B MANSECT.
+.TP
+.B \-\^a
+Par dfaut,
+.B man
+s'arrte aprs avoir affich la premire page de
+manuel trouve. Cette option permet de l'obliger afficher toutes
+les pages correspondant la requte
+.RB " \ "nom \
+de l'utilisateur, s'il y en a plusieurs, et pas seulement la premire trouve.
+.TP
+.B \-\^c
+Reformater la page de manuel, mme si une version prformate jour
+existe. Cela peut tre utile si cette dernire a t prvue pour un
+cran de taille diffrente ou bien si elle est abme.
+.TP
+.B \-\^d
+Ne pas afficher les pages de manuel, mais fournir une grande quantit
+d'informations de dbogage.
+.TP
+.B \-\^D
+Afficher la fois les pages de manuel et les informations de dbogage.
+.TP
+.B \-\^f
+quivalent
+.BR whatis .
+.TP
+.B \-\^h
+Afficher un court message d'aide et quitter.
+.TP
+.B \-\^k
+quivalent
+.B apropos.
+.TP
+.B \-\^K
+Chercher la chane spcifie dans *toutes* les pages de manuel. Attention\ :
+cela peut tre trs long\ ! Et il peut tre utile de spcifier une section.
+(Pour donner une vague ide, sur ma machine, il faut environ une minute
+pour 500 pages de manuel.)
+.TP
+.B \-\^m " systme"
+Demander l'utilisation d'un autre jeu de pages de manuel, en fonction
+du nom de systme indiqu.
+.TP
+.B \-\^p " chane"
+Spcifie la squence de prprocesseurs excuter avant
+.B nroff
+ou
+.BR troff .
+Selon votre installation de Linux, vous ne disposerez pas forcment
+de tous les programmes possibles. Voici les plus courants et les lettres
+qui les dsignent\ :
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Cette option a priorit sur la variable d'environnement
+.B MANROFFSEQ.
+.TP
+.B \-\^t
+Utiliser
+.B @troff@
+pour formater la page de manuel, la sortie se faisant sur
+.B stdout.
+La sortie de
+.B @troff@
+peut ncessiter un passage par certains filtres avant de pouvoir
+tre affiche ou imprime.
+.TP
+.B \-\^w \fRou\fP \-\-path
+Ne pas afficher les pages de manuel, mais les emplacements des fichiers
+qui auraient t formats ou affichs. Si aucun argument n'est prcis,
+indique sur la sortie standard la liste des rpertoires dans lesquels
+.B man
+recherche les pages. Si
+.B manpath
+est un lien sur le programme man, alors \ manpath\ est quivalent
+ la commande \ man --path\ .
+.TP
+.B \-\^W
+Comme \-\^w, mais affiche les noms de fichiers, un par ligne, sans aucune
+autre information. Trs utile dans des commandes shell du genre\ :
+.ft CW
+.B man -aW man | xargs ls -l
+.ft
+
+.SH "PAGES FORMATES"
+Afin de gagner du temps,
+.B man
+tente de sauvegarder les pages formates
+au lieu de les interprter chaque fois qu'elles sont demandes.
+Traditionnellement, les versions formates des pages de REP/manX sont
+enregistres dans REP/catX, mais d'autres correspondances entre les
+rpertoires man et les rpertoires cat peuvent tre indiques dans
+le fichier
+.BR @man_config_file@ .
+Aucune page formate n'est enregistre si le rpertoire \ cat\ correspondant
+n'existe pas.
+Aucune page formate n'est enregistre si elle est formate avec une longueur
+de ligne diffrente de 80.
+Aucune page formate n'est enregistre si le fichier
+.B @man_config_file@
+contient la ligne NOCACHE.
+.PP
+Il est possible de rendre
+.B man
+suid utilisateur man. Dans ce cas, si un rpertoire \ cat\ appartient
+ man et a le mode 0755 (seul man peut l'crire), et que les fichiers
+formats appartiennent eux aussi man et ont le mode 0644 ou 0444 (seul
+man peut les crire, voire personne), aucun utilisateur normal ne pourra
+modifier les pages formates ou mettre d'autre fichiers dans le rpertoire
+correspondant. Si
+.B man
+n'est pas suid, les rpertoires cat devront avoir le mode 0777 afin
+que tout utilisateur puisse y laisser le rsultat des formatages lors
+des consultations du manuel.
+.PP
+L'option
+.B \-c
+force le reformatage d'une page, mme si un fichier cat
+plus rcent que le fichier source existe.
+
+.SH "CHEMIN DE RECHERCHE POUR LES PAGES DE MANUEL"
+.B man
+utilise une mthode sophistique pour chercher les pages de manuels,
+base sur l'invocation d'options et de variables d'environnement,
+le fichier de configuration
+.BR @man_config_file@ ,
+des heuristiques et conventions prdfinies.
+.PP
+En premier lieu, lorsque l'argument
+.I nom
+de
+.B man
+contient une barre oblique
+.RB " \ "/ \ ,
+.B man
+suppose qu'il s'agit d'un fichier et aucune recherche complexe n'est lance.
+.PP
+Mais dans la plupart des cas o
+.I nom
+ne contient pas de barre oblique,
+.B man
+recherche dans plusieurs rpertoires un fichier qui pourrait tre une page
+de manuel pour le sujet nomm.
+.PP
+Si vous spcifiez l'option
+.B \-M
+.IR liste_chemins ,
+.I liste_chemins
+est une liste de rpertoires, spars par le symbole deux points
+.RB " \ ": \ ,
+dans lesquels
+.B man
+effectuera sa recherche.
+.PP
+Si vous ne spcifiez pas
+.B -M
+mais que vous positionniez la variable d'environnement
+.BR MANPATH ,
+la valeur de cette variable est la liste des rpertoires dans lesquels
+.B man
+effectuera sa recherche.
+.PP
+Si vous ne spcifiez pas une liste de chemins explicite avec
+.B -M
+ou
+.BR MANPATH ,
+.B man
+dveloppe sa propre liste de chemins base sur le contenu du fichier de
+configuration
+.BR @man_config_file@ .
+Les dclarations
+.B MANPATH
+dans le fichier de configuration identifient des rpertoires particuliers
+ inclure dans le chemin de recherche.
+.PP
+Qui plus est, les dclarations
+.B MANPATH_MAP
+compltent le chemin de recherche en fonction du chemin de recherche de vos
+commandes (autrement dit, de votre variable d'environnement
+.BR PATH ).
+La dclaration
+.B MANPATH_MAP
+indique, pour chacun des rpertoires pouvant se trouver dans le chemin de
+recherche des commandes, un rpertoire qui devrait tre ajout au chemin de
+recherche des pages de manuel.
+.B man
+scrute la variable
+.B PATH
+et ajoute au chemin de recherche des pages de manuel les rpertoires
+correspondants. Ainsi, avec une utilisation correcte de
+.BR MANPATH_MAP ,
+lorsque vous tapez la commande
+.BR "man xyz" ,
+vous obtenez la page de manuel du programme que vous lanceriez si vous
+tapiez la commande
+.BR xyz .
+.PP
+De plus, pour chacun des rpertoires situs dans le chemin de recherche des
+commandes (nous l'appellerons \ rpertoire commandes\ ) pour lequel vous
+.IR n "'avez " pas
+d'instruction
+.BR MANPATH_MAP ,
+.B man
+cherchera automatiquement un rpertoire de pages de manuel proximit,
+ savoir un sous-rpertoire du \ rpertoire commandes\ lui-mme ou dans
+le rpertoire parent du \ rpertoire commandes\ .
+.PP
+Vous pouvez dsactiver la recherche automatique de proximit en incluant
+l'instruction
+.B NOAUTOPATH
+dans le fichier de configuration
+.BR @man_config_file@ .
+.PP
+Dans chaque rpertoire du chemin de recherche dcrit plus haut,
+.B man
+cherche un fichier nomm
+.IB sujet . section\fR,
+avec un suffixe optionnel sur le numro de section et un possible suffixe
+de compression. S'il ne peut trouver un tel fichier, il regarde alors dans
+tous les sous-rpertoires nomms
+.BI man N
+ou
+.BI cat N
+o
+.I N
+est le numro de la section du manuel. Si le fichier se trouve dans
+le sous-rpertoire
+.B cat
+.IR N ,
+.B man
+suppose qu'il s'agit d'une page de manuel formate (page cat). Autrement,
+.B man
+suppose qu'elle n'est pas formate. Dans tous les cas, si le nom de
+fichier comporte une extension indiquant une compression connue (comme
+.BR .gz ),
+.B man
+suppose que le fichier est gzipp.
+.PP
+Si vous vouloir savoir o (ou si)
+.B man
+peut trouver une page de manuel sur un sujet particulier, utilisez l'option
+.BR "--path " ( -w ).
+
+.SH ENVIRONNEMENT
+.TP
+.B MANPATH
+Si la variable
+.B MANPATH
+est positionne,
+.B man
+utilisera sa valeur comme chemin de recherche des pages de manuel.
+Cette variable est prioritaire sur le fichier de configuration et le chemin
+de recherche automatique, mais cde cette priorit si l'option
+.B -M
+est utilise. Voir
+.BR "CHEMIN DE RECHERCHE POUR LES PAGES DE MANUEL" .
+.TP
+.B MANPL
+Si la variable
+.B MANPL
+est positionne, sa valeur servira dfinir la longueur de l'affichage de la
+page. Autrement, la page entire est affiche sur une seule et longue page.
+.TP
+.B MANROFFSEQ
+Si
+.B MANROFFSEQ
+est positionne, sa valeur servira dterminer le jeu de prprocesseurs
+ excuter avant de lancer
+.B nroff
+ou
+.BR troff .
+Par dfaut, les pages sont passes dans le processeur de tableaux avant
+.BR nroff .
+.TP
+.B MANSECT
+Si
+.B MANSECT
+est positionne, sa valeur dterminera les sections du manuel dans
+lesquelles les pages seront recherches.
+.TP
+.B MANWIDTH
+Si
+.B MANWIDTH
+est positionne, sa valeur servira dfinir la largeur de l'affichage de la
+page. Autrement, la page sera affiche sur toute la largeur de l'cran.
+.TP
+.B MANPAGER
+Si
+.B MANPAGER
+est positionne, sa valeur sera considre comme le nom du programme
+ utiliser pour visualiser la page de manuel. Dans le cas contraire,
+.B PAGER
+sera utilise. Si aucune des deux variables n'est positionne,
+.B @pager@
+sera utilis.
+.TP
+.B LANG
+Si
+.B LANG
+est positionne, sa valeur dfinira le nom du sous-rpertoire o
+.B man
+commencera la recherche des pages de manuel. Ainsi, la commande
+\ LANG=fr man 1 toto\ aura pour effet de faire rechercher la page
+toto dans .../fr/man1/toto.1, et si ce fichier n'existe pas,
+dans .../man1/toto.1, o ... est un rpertoire du chemin de recherche.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Les variables d'environnement
+.B NLSPATH
+et
+.B LC_MESSAGES
+(ou
+.B LANG
+lorsque la dernire n'existe pas)
+jouent un rle dans la localisation du catalogue de messages.
+(Mais les messages anglais sont inclus dans le programme la compilation,
+aucun catalogue n'est donc ncessaire pour un affichage dans la langue de
+Shakespeare.)
+Notez que les programmes comme
+.BR col (1)
+qui sont appels par
+.BR man ,
+utilisent galement LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+est utilise pour la construction du chemin de recherche par dfaut. Voir
+.BR "CHEMIN DE RECHERCHE POUR LES PAGES DE MANUEL" .
+.TP
+.B SYSTEM
+.B SYSTEM
+est employe pour obtenir le nom du systme alternatif par dfaut (en vue de
+l'utilisation de l'option
+.B \-m
+).
+.SH BOGUES
+L'option
+.B \-t
+ne fonctionne que si un programme \ troff-like\ est install.
+.br
+Si vous voyez clignoter \e255 ou <AD> au lieu de traits d'union,
+mettez \ LESSCHARSET=latin1\ dans votre environnement.
+.SH ASTUCES
+Si vous ajoutez la ligne
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+ votre fichier
+.IR .emacs ,
+vous obtiendrez la page de manuel de l'appel de la bibliothque situ la
+position courante du curseur lorsque vous presserez la touche F1.
+.LP
+Pour obtenir une version texte seul d'une page de manuel, sans retour arrire
+ni caractre de soulignement, essayez
+
+ # man foo | col -b > foo.mantxt
+
+.SH AUTEUR
+John W. Eaton est l'auteur historique de
+.BR man .
+Federico Lucifredi <flucifredi@acm.org> en assure aujourd'hui la maintenance.
+.SH "VOIR AUSSI"
+.BR apropos (1),
+.BR whatis (1),
+.BR less (1),
+.BR groff (1),
+.BR man.conf (5).
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Ren Cougnenc en mai 1995 et mise
+ jour par Alain Portal <aportal@univ-montp2.fr> le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 1\ man\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
+
diff --git a/man/fr/whatis.man b/man/fr/whatis.man
new file mode 100644
index 0000000..ed6d897
--- /dev/null
+++ b/man/fr/whatis.man
@@ -0,0 +1,49 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traduction franaise Ren Cougnenc - Mai 1995.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH WHATIS 1 "19 septembre 2005" "Manuel Linux" "Commandes utilisateur"
+.LO 1
+.SH NOM
+whatis \- recherche de noms complets dans la base de donnes whatis.
+.SH SYNOPSIS
+.BI whatis
+mot-cl ...
+.SH DESCRIPTION
+whatis effectue une recherche de mots-cls dans un ensemble de
+fichiers de donnes contenant de brves descriptions des commandes
+systme, et affiche le rsultat sur la sortie standard. Seules les
+entres contenant le mot-cl complet sont affiches.
+.LP
+La base de donnes whatis est ralise et mise jour par la commande
+@makewhatis@.
+
+.SH AUTEUR
+John W. Eaton est l'auteur historique de
+.BR man .
+Federico Lucifredi <flucifredi@acm.org> en assure aujourd'hui la maintenance.
+.SH "VOIR AUSSI"
+.BR apropos (1),
+.BR man (1).
+
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Ren Cougnenc en mai 1995 et mise
+ jour par Alain Portal <aportal@univ-montp2.fr> le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 1\ whatis\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
diff --git a/man/hr.txt b/man/hr.txt
new file mode 100644
index 0000000..6db2627
--- /dev/null
+++ b/man/hr.txt
@@ -0,0 +1 @@
+croatian
diff --git a/man/hr/apropos.man b/man/hr/apropos.man
new file mode 100644
index 0000000..f1ca427
--- /dev/null
+++ b/man/hr/apropos.man
@@ -0,0 +1,31 @@
+.\" Man stranica za apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" Moete distribuirati pod uvjetima GNU Ope javne licence kako je
+.\" odreeno u datoteci README koja dolazi s distribucijom mana 1.0.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" 9. studenog 1998. preveo Matej Vela <mvela@public.srce.hr>, META.
+.TH apropos 1 "15. sijenja 1991."
+.SH IME
+apropos \- trai niz u whatis bazi podataka
+.SH SAETAK
+.BI apropos kljuna_rije
+...
+.SH OPIS
+.B apropos
+trai kljune rijei u skupu baza podataka koje sadre kratke
+opise naredbi sustava i prikazuje rezultate na standardnom izlazu.
+.SH "TAKOER POGLEDAJTE"
+.BR whatis (1),
+.BR man (1).
diff --git a/man/hr/man.conf.man b/man/hr/man.conf.man
new file mode 100644
index 0000000..c450f58
--- /dev/null
+++ b/man/hr/man.conf.man
@@ -0,0 +1,56 @@
+.\" @(#)man.conf
+.\"
+.\" 9. studenog 1998. preveo Matej Vela <mvela@public.srce.hr>, META.
+.TH MAN.CONF 5 "30. oujka 1994."
+.SH IME
+man.conf \- konfiguracijski podaci za man
+.SH OPIS
+Ovu datoteku ita
+.BR man (1),
+a sadri
+(a) informacije o izgradnji staze pretraivanja za man,
+(b) pune staze i imena raznih programa kao to je
+.BR nroff ", " eqn ", " tbl
+itd. koje man koristi, te
+(c) popis programa za dekomprimiranje datoteka s navedenim nastavcima.
+Neka druga verzija ove datoteke moe se odrediti pomou
+.LP
+.RS
+man -C osobni_man.conf ...
+.RE
+.LP
+Imenima naredbi mogu se dodati opcije.
+Opcije korisne za
+.B nroff
+mogu se nai u
+.BR grotty (1).
+Na primjer, umjesto predodreenog reda
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+moete napisati
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+kako biste iskljuili potcrtavanje i precrtavanje.
+.SH "TAKOER POGLEDAJTE"
+.BR col (1),
+.BR (g)eqn (1),
+.BR (g)pic (1),
+.BR groff (1),
+.BR grotty (1),
+.BR (g)refer (1),
+.BR (g)tbl (1),
+.BR less (1),
+.BR man (1),
+te
+.BR compress (1),
+.BR gzip (1).
diff --git a/man/hr/man.man b/man/hr/man.man
new file mode 100644
index 0000000..be92d5c
--- /dev/null
+++ b/man/hr/man.man
@@ -0,0 +1,280 @@
+.\" Man stranica za man (i bivi manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" Moete distribuirati pod uvjetima GNU Ope javne licence kako je
+.\" odreeno u datoteci README koja dolazi s distribucijom mana 1.0.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Mnoge promjene -- aeb
+.\"
+.\" 9. studenog 1998. preveo Matej Vela <mvela@public.srce.hr>, META.
+.TH man 1 "2. rujna 1998."
+.SH IME
+man \- formatira i prikazuje raunalne man stranice
+.br
+manpath \- saznaje korisnikovu stazu pretraivanja za man stranice
+.SH SAETAK
+man [\-acdfhkKtwW] [\-m sustav] [\-p niz] [\-C konfiguracijska_datoteka]
+[\-M staza] [\-P preglednik] [\-S popis_dijelova] [dio] ime ...
+.SH OPIS
+.B man
+formatira i prikazuje raunalne man stranice. Ova verzija poznaje varijable
+okruja
+.B MANPATH
+i
+.BR (MAN)PAGER ,
+pa moete imati svoje vlastite skupove osobnih man stranica i odabrati
+eljeni program za prikaz formatiranih stranica. Ako je naveden
+.IR dio ,
+.B man
+pretrauje samo taj dio man stranica.
+Takoer moete preko opcija na naredbenom redu ili varijabli okruja
+odrediti red po kojem se pretrauju dijelovi te preprocesore kojima se
+obrauju izvorne datoteke.
+Ako
+.I ime
+sadri /, prvo ga se iskuava kao ime datoteke, pa tako moete pokrenuti
+``man ./foo.5'' ili ak ``man /cd/foo/bar.1.gz''.
+.SH OPCIJE
+.TP
+.B \-\^C " konfiguracijska_datoteka"
+Koristi drugi
+.IR man.conf ;
+predodreeni je
+.BR @man_config_file@ .
+(Pogledajte
+.BR man.conf (5).)
+.TP
+.B \-\^M " staza"
+.I staza
+je popis direktorija u kojima se trae man stranice.
+Ako takva opcija nije dana, koristi varijablu okruja
+.BR MANPATH .
+Ako takve varijable okruja nema, predodreeni popis se nalazi u
+.BR @man_config_file@ .
+Neispunjen dio u
+.B MANPATH
+odgovara predodreenom popisu.
+.TP
+.B \-\^P " preglednik"
+Odreuje koriteni preglednik.
+Ova opcija ima prednost nad varijablom okruja
+.BR MANPAGER ,
+koja pak ima prednost nad varijablom
+.BR PAGER .
+.B man
+predodreeno koristi
+.BR @pager@ .
+.TP
+.B \-\^S " popis_dijelova"
+.I popis_dijelova
+je popis dvotokama razdvojenih dijelova man stranica koje se pretrauje.
+Ova opcija ima prednost nad varijablom okruja
+.BR MANSECT .
+.TP
+.B \-\^a
+.B man
+predodreeno izlazi nakon prikazivanja prve naene man stranice. Ova opcija
+prisiljava
+.B man
+na prikaz svih man stranica ije je ime
+.IR ime ,
+a ne samo prve.
+.TP
+.B \-\^c
+Ponovno formatira izvornu man stranicu, ak i kada postoji svjea cat
+stranica. Ovo ima smisla ako je cat stranica formatirana za drukiju irinu
+zaslona ili ako je preformatirana stranica pokvarena.
+.TP
+.B \-\^d
+U stvari ne prikazuje man stranice, ali zato ispisuje gomilu informacija za
+otklanjanje greaka.
+.TP
+.B \-\^D
+I prikazuje i ispisuje informacije za otklanjanje greaka.
+.TP
+.B \-\^f
+Isto to i
+.BR whatis .
+.TP
+.B \-\^h
+Ispisuje poruku o koritenju od jednog reda i zavrava.
+.TP
+.B \-\^k
+Isto to i
+.BR apropos .
+.TP
+.B \-\^K
+Navedeni niz trai u
+.I svim
+man stranicama. Upozorenje: ovo je vjerojatno vrlo sporo! Navoenje dijela
+ubrzava stvari.
+(Samo okvirno, na mom stroju ovo traje oko minutu na 500 man stranica.)
+.TP
+.B \-\^m " sustav"
+Pretrauje se drugi skup man stranica na osnovu danog imena sustava.
+.TP
+.B \-\^p " niz"
+.I niz
+odreuje niz preprocesora koje treba pokrenuti prije pokretanja
+.B nroff
+odnosno
+.BR troff .
+Sve instalacije nemaju potpun skup preprocesora. Neki od preprocesora i
+slova koja ih oznauju su:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Ova opcija ima prednost nad varijablom okruja
+.BR MANROFFSEQ .
+.TP
+.B \-\^t
+Za formatiranje man stranica koristi
+.BR @troff@ ,
+aljui izlaz na standardni izlaz. Izlaz iz
+.B @troff@
+moe prije samog tiskanja zahtijevati prolazak kroz neki filter.
+.TP
+.B \-\^w \fRili\fP \-\-path
+U stvari ne prikazuje man stranice, ali zato ispisuje lokacije datoteka koje
+bi se formatirale ili prikazale. Ako nije dan nijedan argument, prikazuje
+(na standardnom izlazu) popis direktorija u kojima
+.B man
+trai man stranice. Ako je
+.B manpath
+veza na
+.BR man ,
+onda ``manpath'' ima isti uinak kao ``man --path''.
+.TP
+.B \-\^W
+Kao \-\^w, ali svako ime datoteke ispisuje u zasebnom redu, bez dodatnih
+informacija. Ovo je korisno u naredbama ljuske kao to je
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+.SH "CAT STRANICE"
+.B man
+e pokuati snimiti formatirane man stranice kako bi utedio vrijeme
+formatiranja slijedei put kada te man stranice budu potrebne.
+Tradicionalno se formatirane verzije stranica iz
+.I DIREKTORIJ/manX
+snimaju u
+.IR DIREKTORIJ/catX ,
+no druga mapiranja man direktorija u cat direktorije se mogu odrediti u
+.BR @man_config_file@ .
+Kada potrebni cat direktorij ne postoji, cat stranice se ne snimaju.
+.PP
+.B man
+se moe suid-ati na korisnika man. Potom e, ako je vlasnik cat direktorija
+man, uz dozvole 0755 (pisati moe samo man), a vlasnik cat datoteka man uz
+dozvole 0644 ili 0444 (pisati moe samo man, odnosno nitko ne moe pisati),
+nijedan obini korisnik ne moe mijenjati cat stranice ili stavljati druge
+datoteke u cat direktorij. Ako
+.B man
+nije suid-an, cat direktorij bi trebao imati dozvole 0777
+ako bi svi korisnici trebali moi tamo ostavljati cat stranice.
+.PP
+Opcija
+.B \-c
+prisiljava na ponovno formatiranje stranice, ak i ako postoji svjea cat
+stranica.
+.SH OKRUJE
+.TP
+.B MANPATH
+Ako je
+.B MANPATH
+postavljenja, njena se vrijednost koristi kao staza za traenje man
+stranica.
+.TP
+.B MANROFFSEQ
+Ako je
+.B MANROFFSEQ
+postavljena, njena vrijednost odreuje skup preprocesora
+koje treba pokrenuti prije pokretanja
+.B nroff
+odnosno
+.BR troff .
+Stranice predodreeno prolaze kroz preprocesor tablica prije nego prou
+kroz
+.BR nroff .
+.TP
+.B MANSECT
+Ako je
+.B MANSECT
+postavljena, njena vrijednost odreuje dijelove man stranica
+koje treba pretraiti.
+.TP
+.B MANWIDTH
+Ako je
+.B MANWIDTH
+postavljena, njena se vrijednost koristi kao irina u kojoj bi se man
+stranice trebale prikazivati. Inae se stranice mogu prikazati preko cijele
+irine vaeg zaslona.
+.TP
+.B MANPAGER
+Ako je
+.B MANPAGER
+postavljena, njena se vrijednost koristi kao ime programa za prikaz man
+stranice. Ako nije, koristi se
+.BR PAGER .
+Ako ni to nema vrijednosti, koristi se
+.BR @pager@ .
+.TP
+.B LANG
+Ako je
+.B LANG
+postavljena, njena vrijednost odreuje ime poddirektorija u kojem
+.B man
+najprije trai man stranice. Dakle, naredba `LANG=hr man 1 foo'
+.B man
+tjera na traenje man stranice foo u .../hr/man1/foo.1, a ako takvu datoteku
+ne moe nai, u .../man1/foo.1, gdje ... oznaava direktorij u stazi
+pretrage.
+.TP
+.B NLSPATH, LC_MESSAGES, LANG
+Varijable okruja
+.B NLSPATH
+i
+.B LC_MESSAGES
+(odnosno
+.B LANG
+kada ova druga ne postoji) igraju ulogu u nalaenju kataloga poruka.
+(No engleske su poruke ugraene i engleski katalog nije potreban.)
+Primjetite da programi koje
+.B man
+pokree, kao to je
+.BR col (1),
+takoer mogu koristiti npr.
+.BR LC_CTYPE .
+.TP
+.B PATH
+.B PATH
+se koristi u graenju predodreene staze traenja man stranica.
+.TP
+.B SYSTEM
+.B SYSTEM
+se koristi za odreivanje predodreenog imena drugog sustava (za koritenje
+uz opciju
+.BR \-m ).
+.SH "TAKOER POGLEDAJTE"
+.BR apropos (1),
+.BR whatis (1),
+.BR less (1),
+.BR groff (1).
+.SH GREKE
+Opcija
+.B \-t
+radi samo ako je instaliran
+.BR troff-olik
+program.
+.PP
+Ako umjesto crtica vidite trepui \e255 ili <AD>, u okruje dodajte
+`LESSCHARSET=latin1'.
diff --git a/man/hr/whatis.man b/man/hr/whatis.man
new file mode 100644
index 0000000..a19ea76
--- /dev/null
+++ b/man/hr/whatis.man
@@ -0,0 +1,35 @@
+.\" Man stranica za whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" Moete distribuirati pod uvjetima GNU Ope javne licence kako je
+.\" odreeno u datoteci README koja dolazi s distribucijom mana 1.0.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" 9. studenog 1998. preveo Matej Vela <mvela@public.srce.hr>, META.
+.TH whatis 1 "5. sijenja 1991."
+.SH IME
+whatis \- trai potpune rijei u whatis bazi podataka
+.SH SAETAK
+.BI whatis kljuna_rije
+...
+.SH OPIS
+.B whatis
+trai kljune rijei u skupu baza podataka koje sadre kratke opise naredbi
+sustava i prikazuje rezultate na standardnom izlazu.
+Prikazuju se samo rijei koje potpuno odgovaraju zadanima.
+.PP
+.B whatis
+baza podataka se stvara naredbom @makewhatis@.
+.SH "TAKOER POGLEDAJTE"
+.BR apropos (1),
+.BR man (1).
diff --git a/man/it.txt b/man/it.txt
new file mode 100644
index 0000000..a809ed0
--- /dev/null
+++ b/man/it.txt
@@ -0,0 +1 @@
+italian
diff --git a/man/it/apropos.man b/man/it/apropos.man
new file mode 100644
index 0000000..5f52a72
--- /dev/null
+++ b/man/it/apropos.man
@@ -0,0 +1,37 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traduzione italiana by Michele Dalla Silvestra - dalla@maya.dei.unipd.it
+.\" Luglio 1996
+.\" Aggiornamento alla versione 1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Agosto 2006
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "19 settembre 2005"
+.LO 1
+.SH NOME
+apropos \- ricerca stringhe nel database di whatis
+.SH SINTASSI
+.BI apropos
+parola ...
+.SH DESCRIZIONE
+apropos ricerca una parola chiave in database contenenti brevi
+descrizioni dei comandi di sistema e mostra i risultati sullo
+standard output.
+.SH AUTORE
+John W. Eaton l'autore originale di
+.BR "man" .
+Zeyd M. Ben-Halim ha rilasciato man 1.2, e Andries Brouwer le versioni da
+1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> il maintainer attuale.
+.SH "VEDERE ANCHE"
+whatis(1), man(1). \ No newline at end of file
diff --git a/man/it/makewhatis.man b/man/it/makewhatis.man
new file mode 100644
index 0000000..84d9450
--- /dev/null
+++ b/man/it/makewhatis.man
@@ -0,0 +1,103 @@
+.\" $Id: makewhatis.8,v 1.2 1999/05/24 14:40:26 otto Exp $
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\" Traduzione italiana del medesimo
+.\" Aggiornamento alla versione 1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Agosto 2006
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.TH MAKEWHATIS 8 "19 settembre 2005"
+.SH NOME
+makewhatis \- Crea il database di whatis
+.SH SINTASSI
+.BI "makewhatis [-u] [-v] [-w] [-s " sezioni " ] [-c [" percorso_cat "]] [" percorso_man "]"
+.SH DESCRIZIONE
+.B makewhatis
+legge tutte le pagine di manuale contenute nelle date
+.IR sezioni " in " percorso_man
+o nelle corrispondenti
+.IR sezioni " in " percorso_cat .
+Scrive, per ogni pagina, una riga nel database di whatis: ognuna
+consiste nel nome della pagina e in una breve descrizione separata da
+un trattino. La descrizione viene estratta basandosi sul contenuto
+della sezione NOME della pagina di manuale.
+.LP
+Poich lingue diverse usano nomi diversi per indicare la sezione NOME,
+.B makewhatis
+riconosce il termine equivalente in ceco, finlandese, francese,
+inglese, italiano, spagnolo e tedesco.
+.LP
+Se non viene passato nessun argomento
+.I percorso_man ,
+viene usato
+.I /usr/man .
+.SH OPZIONI
+.TP
+.B -u
+Aggiorna il database con le nuove pagine.
+.TP
+.B -v
+Output pi dettagliato.
+.TP
+.B -w
+Ottiene il percorso da `man --path`
+.TP
+.BI -s " sezioni"
+Guarda nelle
+.I sezioni
+di
+.IR percorso_man " or " percorso_cat .
+Se l'opzione manca, il suo valore viene posto a
+.I \'1 2 3 4 5 6 7 8 9 n l\'
+.TP
+.BI -c " percorso_cat"
+Vengono considerate le pagine preformattate che si trovano in
+.I catpath .
+Se l'argomento assente, viene usata la prima directory esistente fra
+.I /usr/man/preformat " e " /usr/man .
+.SH ESEMPI
+.PP
+Per ricostruire solo
+.IR /usr/X11R6/man/whatis " e " /usr/local/man/whatis :
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+Per ricostruire tutti i database, inclusi quelli con le traduzioni
+finlandesi, francesi e italiane:
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH BACHI
+.B makewhatis
+potrebbe non aprezzare molto le pagine scritte con macro Troff non
+standard, come quelle di Tcl/Tk.
+.PP
+.B makewhatis
+non funziona con le traduzioni preformattate.
+.SH AUTORE
+John W. Eaton l'autore originale di
+.BR "man" .
+Zeyd M. Ben-Halim ha rilasciato man 1.2, e Andries Brouwer le versioni da
+1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> il maintainer attuale.
+.SH VEDERE ANCHE
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1) \ No newline at end of file
diff --git a/man/it/man.conf.man b/man/it/man.conf.man
new file mode 100644
index 0000000..c8b7d71
--- /dev/null
+++ b/man/it/man.conf.man
@@ -0,0 +1,55 @@
+.\" @(#)man.conf
+.\" Traduzione italiana by Michele Dalla Silvestra - dalla@maya.dei.unipd.it
+.\" Luglio 1996
+.\" Correzioni stilistiche di Daniele Giacomini <daniele@evo.it>
+.\" Gennaio 1999
+.\" Aggiornamento alla versione 1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Agosto 2006
+.\"
+.TH MAN.CONF 5 "19 settembre 2005"
+.SH NOME
+man.conf \- configurazione di man
+.SH DESCRIZIONE
+.LP
+Questo file letto da
+.BR man (1)
+e contiene (a) informazioni su come costruire il percorso di ricerca per
+man, (b) percorso completo per vari programmi tipo nroff, eqn, tbl ecc.
+usati da man, e (c) una lista con programmi di dearchiviazione per file con una
+data estensione. Una versione alternativa di questo file pu essere
+specificata con:
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+I nomi dei comandi possono essere forniti con opzioni.
+Opzioni utili a nroff possono essere trovate in grotty(1).
+Per esempio, invece della riga predefinita:
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+si potrebbe scrivere:
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+per eliminare la sottolineatura e la sovrascrittura.
+.SH FILE
+.I "@man_config_file@"
+.SH AUTORE
+John W. Eaton l'autore originale di
+.BR "man" .
+Zeyd M. Ben-Halim ha rilasciato man 1.2, e Andries Brouwer le versioni da
+1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> il maintainer attuale.
+.SH "VEDERE ANCHE"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
diff --git a/man/it/man.man b/man/it/man.man
new file mode 100644
index 0000000..4a1ab57
--- /dev/null
+++ b/man/it/man.man
@@ -0,0 +1,504 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\" More changes - flc
+.\"
+.\" Traduzione italiana by Michele Dalla Silvestra - dalla@maya.dei.unipd.it
+.\" Luglio 1996
+.\" Correzioni stilistiche di Daniele Giacomini <daniele@evo.it>
+.\" Gennaio 1999
+.\" Aggiornamento a 1.5g di Ottavio Rizzo <rizzo@pluto.linux.it>
+.\" Aggiornamento alla versione 1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Agosto 2006
+.\"
+.TH man 1 "19 settembre 2005"
+.LO 1
+.SH NOME
+man \- formatta e mostra le pagine di manuale
+.SH SINTASSI
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR sistema ]
+.RB [ \-p
+.IR stringa ]
+.RB [ \-C
+.IR config_file ]
+.RB [ \-M
+.IR lista_percorsi ]
+.RB [ \-P
+.IR impaginatore ]
+.RB [ \-B
+.IR browser ]
+.RB [ \-H
+.IR impaginatorehtml ]
+.RB [ \-S
+.IR lista_sezione ]
+.RI [ sezione ]
+.I "nome ..."
+
+.SH DESCRIZIONE
+.B man
+formatta e mostra le pagine di manuale. Se si specifica
+.IR sezione
+.B man
+cerca solo in quella sezione del manuale.
+.I nome
+normalmente il nome della pagina di manuale, che tipicamente il nome
+di un comando, funzione, o file.
+Tuttavia, se
+.I name
+contiene uno slash
+.RB ( / )
+allora
+.B man
+lo interpreta come la specificazione di un file, quindi si pu fare
+.B "man ./foo.5"
+o anche
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+Vedere pi avanti per una descrizione di dove
+.B man
+cerca i file delle pagine di manuale.
+
+.SH OPZIONI
+.TP
+.B \-\^C " file_configurazione"
+Specifica il file di configurazione da usare; il valore predefinito
+.BR @man_config_file@
+(vedere
+.BR man.conf (5)).
+.TP
+.B \-\^M " percorso"
+Specifica la lista di directory in cui cercare le pagine di manuale.
+Separare le directory con caratteri ":". Una lista vuota come non
+specificare
+.B \-M
+vedere
+.BR "PERCORSO DI RICERCA DELLE PAGINE DI MANUALE" .
+.TP
+.B \-\^P " impaginatore"
+Specifica il programma di impaginazione da usare.
+Questa opzione sovrascrive la variabile d'ambiente
+.BR MANPAGER ,
+che sovrascrive a sua volta la variabile
+.BR PAGER
+Per default,
+.B man
+usa
+.BR "@pager@" .
+.TP
+.B \-\^B
+Specifica quale browser usare con i file HTML.
+Questa opzione sovrascrive la variabile d'ambiente
+.B BROWSER
+Per default
+.B man
+usa
+.BR @browser@ ,
+.TP
+.B \-\^H
+Specifica un comando che riproduce i file HTML come testo.
+Questa opzione sovrascrive la variabile d'ambiente
+.B HTMLPAGER
+Per default,
+.B man
+usa
+.BR @htmlpager@ ,
+.TP
+.B \-\^S " lista_sezione"
+Lista una lista di sezioni di manuale in cui cercare, separate da ":".
+Questa opzione sovrascrive la variabile d'ambiente
+.B MANSECT .
+.TP
+.B \-\^a
+Per default,
+.B man
+terminer dopo aver visualizzato la prima pagina di manuale che trova.
+L'uso di questa opzione forza
+.B man
+a visualizzare tutte le pagine di manuale che corrispondono a
+.B nome,
+non solo la prima.
+.TP
+.B \-\^c
+Riformatta la pagina di manuale sorgente, anche se esiste una pagina cat
+aggiornata. Questo pu essere importante se la pagina cat stata
+formattata per uno schermo con un numero di colonne diverso, o se la
+pagina preformattata danneggiata.
+.TP
+.B \-\^d
+Non visualizza le pagine di manuale, ma stampa informazioni di debug.
+.TP
+.B \-\^D
+Visualizza e stampa informazioni di debug.
+.TP
+.B \-\^f
+Equivalente di
+.BR whatis .
+.TP
+.BR \-\^F " or " \-\-preformat
+Formatta solo - non visualizza.
+.TP
+.B \-\^h
+stampa un messaggio di aiuto ed esce.
+.TP
+.B \-\^k
+Equivalente di
+.BR apropos .
+.TP
+.B \-\^K
+Cerca la stringa specificata in *tutte* le pagine di manuale. Attenzione:
+questo probabilmente molto lento! Pu essere di aiuto specificare una
+sezione.
+(Solo per dare un'idea di massima, sulla mia macchina impiega circa un
+minuto per 500 pagine di manuale).
+.TP
+.B \-\^m " sistema"
+Specifica un insieme alternativo di pagine di manuale in cui cercare
+basato sul nome di sistema dato.
+.TP
+.B \-\^p " stringa"
+specifica la sequenza dei preprocessori da eseguire prima di
+.B nroff
+o
+.BR troff .
+Non tutte le installazioni avranno un insieme completo di preprocessori.
+Alcuni dei preprocessori, e le lettere usate per designarli, sono:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Questa opzione sovrascrive la variabile d'ambiente
+.B MANROFFSEQ .
+.TP
+.B \-\^t
+Usa
+.B @troff@
+per formattare la pagina di manuale, passando l'output a
+.B stdout.
+Il formato di output predefinito di
+.B @troff@
+ Postscript, fare riferimento alla pagina di manuale di
+.B @troff@
+per vedere i modi per scegliere un formato alternativo.
+.PP
+Secondo il formato selezionato e la disponibilit di dispositivi di stampa
+l'output deve passare attraverso alcuni filtri prima di essere stampato.
+.TP
+.B \-\^w \fRor\fP \-\-path
+Non visualizza le pagine di manuale, ma stampa la locazione(i) dei file
+che verrebbero formattati o visualizzati. Se non viene dato alcun
+argomento visualizza (sullo standard output) l'elenco delle directory in
+cui
+.B man
+cerca le pagine di manuale. Se
+.B manpath
+ un collegamento a man, allora "manpath" equivalente a "man --path".
+.TP
+.B \-\^W
+Come \-\^w, ma stampa i nomi di file uno per linea, senza informazioni
+aggiuntive. Questo utile in comandi shell come
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "PAGINE CAT"
+Man cercher di salvare le pagine formattate, allo scopo di risparmiare
+tempo di formattazione la prossima volta che queste pagine saranno
+necessarie. Tradizionalmente le versioni formattate delle pagine in
+DIR/manX sono salvate in DIR/catX, ma possono essere specificati
+altri percorsi da man dir a cat dir in
+.BR @man_config_file@ .
+Non viene salvata alcuna pagina cat quando la directory cat richiesta non
+esiste.
+Le pagine cat non vengono salvate quando sono formattate per una lunghezza
+della linea diversa da 80.
+Le pagine cat non vengono salvate quando man.conf contiene la linea NOCACHE.
+.PP
+E' possibile fare un suid di
+.B man
+a un utente man. In questo caso se una directory di cat ha come proprietario
+man e permessi 0755 (scrivibile solo da man), e i file cat hanno
+proprietario man e permessi 0644 o 0444 (scrivibili solo da man, o non
+scrivibili del tutto), nessun utente ordinario pu cambiare le pagine cat
+o mettere altri file nella directory di cat. Se su
+.B man
+non viene fatto un suid, allora una directory cat deve avere permessi 0777
+se tutti gli utenti devono poter lasciare l le pagine cat.
+.PP
+L'opzione
+.B \-c
+forza la riformattazione di una pagina, anche se esiste una pagina cat
+recente.
+
+.SH "PAGINE HTML"
+Man trover le pagine HTML se esse vivono in directory con nome
+'html' seguita da una sezione. L'ultima estensione del
+file deve essere ".html", quindi un nome valido per una versione HTML
+della pagina di manuale di
+.BR ls (1)
+sarebbe
+.IR /usr/share/man/htmlman1/ls.1.html .
+
+.SH "PERCORSO DI RICERCA DELLE PAGINE DI MANUALE"
+.B man
+usa un metodo sofisticato per trovare i file delle pagine di manuale,
+basato su opzioni di invocazione e variabili d'ambiente, il file di
+configurazione
+.B @man_config_file@
+e alcune convenzioni e metodi euristici inclusi.
+.PP
+Prima di tutto, quando l'argomento
+.I nome
+di
+.B man
+contiene uno slash
+.RB ( / ),
+.B man
+assume che si tratti di una specificazione di file,
+e non viene fatta alcuna ricerca.
+.PP
+Ma nel caso normale in cui
+.I nome
+non contenga uno slash,
+.B man
+cerca in una variet di directory un file che possa essere una pagina di
+manuale per il nome dato.
+.PP
+Se si specifica l'opzione
+.BI "-M " lista_percorsi
+.I lista_percorsi
+ un elenco di directory, separate da ":", nelle quali
+.B man
+cerca.
+.PP
+Se non si specifica
+.B -M
+ma si imposta la variabile d'ambiente
+.B MANPATH
+il valore di tale variabile la lista di directory nelle quali
+.B man
+cerca.
+.PP
+Se non si specifica una lista percorsi esplicita con
+.B -M
+o
+.BR MANPATH ,
+.B man
+sviluppa la propria lista percorsi basata sul contenuto del file di
+configurazione
+.BR @man_config_file@ .
+La dichiarazione
+.B MANPATH
+nel file di configurazione identifica particolari direcotry da includere
+nel percorso di ricerca.
+.PP
+Inoltre le dichiarazioni
+.B MANPATH_MAP
+fanno aggiunte al percorso di ricerca in funzione del proprio percorso di
+ricerca dei comandi
+(es. la propria variabile d'ambiente
+.B PATH
+). Per ciascuna directory che potrebbe essere nel percorso di ricerca del
+comando, una dichiarazione
+.B MANPATH_MAP
+specifica una directory che deve essere aggiunta al percorso di ricerca
+dei file delle pagine di manuale.
+.B man
+guarda nella variabile
+.B PATH
+e aggiunge le directory corrispondenti al percorso di ricerca del file
+della pagina di manuale.
+Quindi, con l'uso appropriato di
+.BR MANPATH_MAP ,
+quando si d il comando
+.BR "man xyz" ,
+si ottiene una pagina di manuale per il programma che verrebbe eseguito se
+si desse il comando
+.BR xyz .
+.PP
+In aggiunta, per ciascuna directory nel percorso di ricerca del comando
+(lo chiameremo una "directory del comando") per il quale
+.I non
+si ha una dichiarazione
+.B MANPATH_MAP ,
+.B man
+automaticamente cerca una directory di pagina di manuale "vicina", come
+una sottodirectory nella stessa directory del comando o nella directory di
+livello superiore della directory del comando.
+.PP
+Si possono disabilitare le ricerche automatiche "vicine" includendo una
+direttiva
+.B NOAUTOPATH
+in
+.BR @man_config_file@ .
+.PP
+In ciascuna directory nel percorso di ricerca come descritto in precedenza,
+.B man
+cerca un file chiamato
+.IB argomento . sezione\fR,
+con un suffisso opzionale sul numero di sezione e
+magari un suffisso di compressione.
+Se non trova un tale file, esso allora cerca in tutte le sottodirectory
+che si chiamano
+.BI man N
+o
+.BI cat N
+dove
+.I N
+ il numero di sezione del manuale.
+Se il file in una sottodirectory
+.BI cat N
+.B man
+suppone che sia un file di una pagina di manuale formattata (pagina cat).
+Altrimenti
+.B man
+suppone che non sia formattato. In ogni caso se il nome del file ha un
+suffisso di compressione noto (come
+.BR .gz ),
+.B man
+suppone che sia compresso con gzip.
+.PP
+Se si vuole vedere dove (o se)
+.B man
+troverebbe la pagina di manuale per un particolare soggetto usare l'opzione
+.BR "--path " ( -w ) .
+
+.SH AMBIENTE
+.TP
+.B MANPATH
+Se
+.B MANPATH
+ impostata,
+.B man
+la usa come percorso di ricerca dei file delle pagine di manuale. Esso
+sovrascrive il file di configurazione e il percorso di ricerca automatico,
+ma sovrascritta a sua volta dall'opzione di invocazione
+.B -M
+Vedere
+.BR "PERCORSO DI RICERCA DELLE PAGINE DI MANUALE" .
+.TP
+.B MANPL
+Se
+.B MANPL
+ impostata il suo valore usato come lunghezza della pagina da
+visualizzare. Altrimenti l'intera pagina di manuale occuper una (lunga)
+pagina.
+.TP
+.B MANROFFSEQ
+Se
+.B MANROFFSEQ
+ impostata il suo valore usato per determinare l'insieme di
+preprocessori da eseguire prima di eseguire
+.B nroff
+o
+.BR troff .
+Per default le pagine vengono passate attraverso il preprocessore
+tbl prima di
+.BR nroff .
+.TP
+.B MANSECT
+Se
+.B MANSECT
+ impostata il suo valore usato per determinare in quali sezioni del
+manuale cercare.
+.TP
+.B MANWIDTH
+Se
+.B MANWIDTH
+ impostata il suo valore usato come ampiezza a cui le pagine di manuale
+devono essere visualizzate. Altrimenti le pagine possono essere
+visualizzate sull'intera larghezza del proprio schermo.
+.TP
+.B MANPAGER
+Se
+.B MANPAGER
+ impostata il suo valore usato come nome del programma da usare per
+visualizzare la pagina di manuale. Se non lo allora viene usata
+.B PAGER .
+Se nemmeno questa impostata, viene usato
+.B @pager@ .
+.TP
+.B BROWSER
+Il nome di un browser da usare per visualizzare le pagine di manuale HTML.
+Se non impostata viene usato @browser@ .
+.TP
+.B HTMLPAGER
+Il comando da usare per riprodurre le pagine di manuale HTML come testo.
+Se non impostata viene usato @htmlpager@ .
+.TP
+.B LANG
+Se
+.B LANG
+ impostata il suo valore definisce il nome della sottodirectory ove man
+fa la prima ricerca delle pagine di manuale. Perci il comando `LANG=dk man 1 foo'
+far s che man cerchi la pagina di manuale foo in .../dk/man1/foo.1,
+e, se non pu trovare tale file, allora in .../man1/foo.1,
+dove ... una directory nel percorso di ricerca.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Le variabili d'ambiente
+.B NLSPATH
+e
+.B LC_MESSAGES
+(o
+.B LANG
+quando l'ultima non esiste)
+giocano un ruolo nel localizzare il catalogo messaggi.
+(Ma i messaggi in inglese sono compilati nel programma, e per l'inglese
+non necessario alcun catalogo).
+Notare che anche programmi come
+.BR col(1)
+chiamati da man usano ad es. LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+aiuta a determinare il percorso di ricerca dei file delle pagine di
+manuale. Vedere
+.BR "PERCORSO DI RICERCA DELLE PAGINE DI MANUALE" .
+.TP
+.B SYSTEM
+.B SYSTEM
+ usata per ottenere il nome di sistema alternativo (da usare con l'
+opzione
+.B \-m
+).
+.SH BACHI
+L'opzione
+.B \-t
+funziona solo se installato un programma tipo troff.
+.br
+Se si vedono lampeggiare \e255 o <AD> invece dei trattini,
+mettere `LESSCHARSET=latin1' nel proprio ambiente.
+.SH SUGGERIMENTI
+Se si aggiunge la linea
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+al proprio file
+.IR .emacs ,
+allora la pressione di F1 dar la pagina di manuale della chiamata di
+libreria alla posizione corrente del cursore.
+.LP
+Per ottenere una versione testuale di una pagina di manuale, senza
+backspace e sottolineature, provare
+
+ # man foo | col -b > foo.mantxt
+.SH AUTORE
+John W. Eaton l'autore originale di
+.BR "man" .
+Zeyd M. Ben-Halim ha rilasciato man 1.2, e Andries Brouwer le versioni da
+1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> il maintainer attuale.
+.SH VEDERE ANCHE
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
diff --git a/man/it/whatis.man b/man/it/whatis.man
new file mode 100644
index 0000000..7c2380d
--- /dev/null
+++ b/man/it/whatis.man
@@ -0,0 +1,39 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Traduzione italiana by Michele Dalla Silvestra - dalla@maya.dei.unipd.it
+.\" Luglio 1996
+.\" Aggiornamento alla versione 1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Agosto 2006
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "19 settembre 2005"
+.LO 1
+.SH NOME
+whatis \- ricerca parole complete nel database di whatis.
+.SH SINTASSI
+.BI whatis
+parola chiave ...
+.SH DESCRIZIONE
+whatis ricerca una parola chiave in database contenenti brevi
+descrizioni dei comandi di sistema e mostra i risultati sullo standard
+output. Solo le corrispondenze con parole intere sono mostrate.
+
+Il database whatis creato usando il comando @makewhatis@.
+.SH AUTORE
+John W. Eaton l'autore originale di
+.BR "man" .
+Zeyd M. Ben-Halim ha rilasciato man 1.2, e Andries Brouwer le versioni da
+1.3 a 1.5p.
+Federico Lucifredi <flucifredi@acm.org> il maintainer attuale.
+.SH "VEDERE ANCHE"
+apropos(1), man(1).
diff --git a/man/ja.txt b/man/ja.txt
new file mode 100644
index 0000000..01d5538
--- /dev/null
+++ b/man/ja.txt
@@ -0,0 +1 @@
+japanese
diff --git a/man/ja/apropos.man b/man/ja/apropos.man
new file mode 100644
index 0000000..881c9ed
--- /dev/null
+++ b/man/ja/apropos.man
@@ -0,0 +1,34 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Japanese Version Copyright (c) 1996 Tanoshima Hidetohsi
+.\" all rights reserved.
+.\" Dec 31, 1996 Tanoshima Hidetoshi <tano@sainet.or.jp>
+.\"
+.\" Modified Thu Jan 29 01:53:11 JST 1998
+.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH apropos 1 "Jan 15, 1991"
+.LO 1
+.SH ̾
+apropos \- whatis ǡ١ʸ򸡺롣
+.SH
+.BI apropos
+keyword ...
+.SH
+apropos ޥɤϡƥࡦޥɤδñʲ⤬
+ǡ١ե뤫饭ɤ򸡺
+η̤ɸϤɽ롣
+.SH "Ϣ"
+whatis(1), man(1).
diff --git a/man/ja/man.conf.man b/man/ja/man.conf.man
new file mode 100644
index 0000000..1221fe5
--- /dev/null
+++ b/man/ja/man.conf.man
@@ -0,0 +1,47 @@
+.\" @(#)man.conf
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\" all rights reserved.
+.\" Translated Thu Jan 29 01:49:33 JST 1998
+.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH MAN.CONF 5 "30 Mar 1994"
+.SH ̾
+man.conf \- man ޥɤΤե
+.SH
+.LP
+Υե
+.BR man (1)
+ޥɤɤ߹ޤ졢(a) man ΤḡѥɤΤäƹۤ뤫ξ
+(b) nroff, eqn, tbl ʤɤΤ褦 man ˤäƻѤ뤤Ĥ
+ץδʥѥ̾(c) եγĥҤȤŸˡʤɤ
+ޤǤ롣Υե̤ΥСʲΤ褦
+ꤹ뤳ȤǤ롣
+.LP
+.RS
+man -C private_man.conf ...
+.RE
+.LP
+ޥ̾ˤϥץդ뤳ȤǤ롣
+nroff ˴ؤƤʥץ grotty(1) ˸Ĥ뤳ȤǤ롣
+㤨СǥեȤ
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+Ƚ񤭹ळȤǤŤǤ뤳ȤǤ롣
+.SH Ϣ
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1), compress(1), gzip(1).
+
diff --git a/man/ja/man.man b/man/ja/man.man
new file mode 100644
index 0000000..725981c
--- /dev/null
+++ b/man/ja/man.man
@@ -0,0 +1,262 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" Japanese Version Copyright (c) 1996 Tanoshima Hidetohsi
+.\" all rights reserved.
+.\" Dec 31, 1996 Tanoshima Hidetoshi <tano@sainet.or.jp>
+.\"
+.\" Modified Thu Jan 29 01:52:36 JST 1998
+.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH man 1 "September 12, 1995"
+.LO 1
+.SH ̾
+man \- 饤ޥ˥奢ڡɽ롣
+.br
+manpath \- 桼ġΥޥ˥奢ڡθѥ롣
+.SH
+man [\-adfhktwW] [\-m system] [\-p string] [\-C config_file] [\-M path]
+[\-P pager] [\-S section_list] [section] name ...
+.SH
+.B man
+ϥ饤󡦥ޥ˥奢롦ڡɽ롣ΥС
+ man ޥɤǤϴĶѿ MANPATH (MAN)PAGER Ǥ롣
+ˤꡢĿŪʥޥ˥奢ڡꤷꡢڡ
+ɽץ򹥤٤롣
+.I section
+ꤹȡ
+.B man
+ϥޥ˥奢ΤΥΤõޤޥɥ饤󡦥ץ
+Ķѿǡ줾Υ򸡺䡢ե
+ФƤɤʥץץåѤ뤫ꤷꤹ뤳ȤǤ롣
+.I name
+ / ޤޤƤȤ man ޥɤϤޤե̾Ȥư
+.B "man ./foo.5"
+.B "man /cd/foo/bar.1.gz\fR\fP"
+ȤǤ롣
+.SH ץ
+.TP
+.B \-\^C " config_file"
+Ѥ man.conf եꤹ롣ǥեȤ
+.BR @man_config_file@
+(ȡ man.conf(5))
+.TP
+.B \-\^M " path"
+ޥ˥奢롦ڡõǥ쥯ȥΥꥹȤꤹ롣
+Υץꤷʤ硢Ķѿ
+.B MANPATH
+ȤδĶѿꤷʤȡ
+.BR @man_config_file@
+˻ꤵ줿ǥեȤΥꥹȤȤ
+MANPATH ζʸϥǥեȤΥꥹȤ̣롣
+.TP
+.B \-\^P " pager"
+Ѥڡ㡼ꤹ롣ǥեȤǤ man
+.BR @pager@
+ȤΥץϴĶѿ
+.B MANPAGER
+ͥ褹롣δĶѿ
+.B PAGER
+ͥ褹롣ǥեȤǤ
+.B man
+
+.BR @pager@
+Ѥ롣
+.TP
+.B \-\^S " section_list"
+ʬ줿ꥹȤǡޥ˥奢õ
+ꤹ롣ΥץϴĶѿ
+.B MANSECT
+ͥ褵롣
+.TP
+.B \-\^a
+ǥեȤǤϡman ϸĤäǽΥޥ˥奢ڡɽ
+Ƚλ롣ΥץȤȡman ϺǽˤߤĤä
+ΤǤʤ
+.B name
+˥ޥå٤ƤΥڡɽ롣
+.TP
+.B \-\^c
+ǿ cat ΥڡäƤޥ˥奢ڡΥ
+ʤΥץ cat ڡüȰä
+ƤȤƤʤɤͭѤǤ롣
+.TP
+.B \-\^d
+ޥ˥奢롦ڡɽ̤ΥǥХåϤ롣
+.TP
+.B \-\^D
+ǥХåȥޥ˥奢롦ڡξɽ롣
+.TP
+.B \-\^f
+.B whatis
+ޥɤƱ
+.TP
+.B \-\^h
+1ԥإסåɽƽλ롣
+.TP
+.B \-\^k
+.B apropos
+ޥɤƱ
+.B \-\^K
+ƤΡץޥ˥奢롦ڡꤷʸõٹ:
+٤Τ ꤷɤ(ΥޥǤϡ
+ܰ¤Ȥơ500 ڡ򸡺Τ 1ʬ֤롣)
+.TP
+.B \-\^m " system"
+̤ΥƥΥޥ˥奢롦ڡ򸡺褦˻ꤹ롣
+.TP
+.B \-\^p " string"
+.B nroff
+
+.B troff
+Τޤ˼¹Ԥץץåν֤ꤹ롣
+󥹥ȡξ֤ˤäƤϥե륻åȤ
+ץץåѰդƤʤ⤷ʤ
+ΥץץåȤؤʸϼΤȤꡧ
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r)
+ΥץϴĶѿ
+.B MANROFFSEQ
+ͥ褵롣
+.TP
+.B \-\^t
+ޥ˥奢롦ڡ
+.B @troff@
+.B stdout
+˽Ϥ롣
+.B @troff@
+νϤϰޤˤʤ餫Υե륿ʤɤ̤ɬ
+뤫⤷ʤ
+.TP
+.B \-\^w \fRor\fP \-\-path
+ޥ˥奢ڡɽǤ˥եޥåȤޤɽ˻Ѥ
+եΰ֤ɽ롣Ϳʤ
+.B man
+ޥ˥奢ڡ򸡺ǥ쥯ȥΥꥹȤ(ɸϤ)ɽ롣
+.B manpath
+ man ˥󥯤ƤȤ "manpath" "man --path"
+Ʊˤʤ롣
+.TP
+.B \-\^W
+\-\^w ˻Ƥ뤬ե̾ɲþʤˣԣĤɽ롣
+.ft CW
+,B "man -aW man | xargs ls -l"
+.ft
+ʤɤȻȤΤǤ롣
+
+.SH "CAT ڡ"
+man ޥɤϤǤ줿ޥ˥奢ڡ򡢼ˤ
+ڡɬפˤʤäȤ֤Τˡ¸褦
+Ȥ롣ŪˡDIR/manX Ѥߥޥ˥奢 DIR/catX
+֤뤬man ǥ쥯ȥ꤫ cat ǥ쥯ȥؤ
+¾Υޥåԥˡ
+.BR @man_config_file@
+˻Ǥ롣
+cat ǥ쥯ȥ꤬ѰդƤʤä硢cat ڡϥ֤ʤ
+.PP
+man ޥɤ桼 man suid 뤳ȤǤ롣Τ
+ cat ǥ쥯ȥΥʡ man ĥ⡼ɤ 0755 (桼 man
+񤭹߲)ǡcat եΥʡ man ĥ⡼ɤ 0644 ޤ
+0444 (桼 man 񤭹߲ġޤϥ桼٤Ƥ񤭹Բ)
+ΤȤ̤Υ桼 cat ڡѹ¾Υե cat ǥ
+ȥ֤ꤹ뤳ȤǤʤʤ롣 man ޥɤ suid ƤʤС
+٤ƤΥ桼 cat ڡ cat ǥ쥯ȥ֤褦ˡ
+cat ǥ쥯ȥΥ⡼ɤ 0777 ˤɬפ롣
+.PP
+cat ڡäȤƤ⡢ץ
+.B \-c
+ĤȶŪ˥ޥ˥奢ڡ롣
+
+.SH Ķѿ
+.TP
+.B MANPATH
+.B MANPATH
+ꤹȡޥ˥奢롦ڡõȤΥѥȤ
+.TP
+.B MANROFFSEQ
+.B MANROFFSEQ
+ꤹȡnroff troff ˼¹Ԥץץå
+ꤹΤˤͤȤǥեȤǤϥޥ˥奢ڡ
+.B nroff
+Τޤ˥ơ֥ѤΥץץå̤롣
+.TP
+.B MANSECT
+.B MANSECT
+ꤹȡͤ򸵤ˤɤΥޥ˥奢롦õ롣
+.TP
+.B MANWIDTH
+.B MANWIDTH
+ꤹȡͤɽޥ˥奢롦ڡȤƻѤ롣
+ꤷʤäˤϲ̤դޤǻѤ롣
+.TP
+.B MANPAGER
+.B MANPAGER
+ꤹȡޥ˥奢롦ڡɽץȤƻѤ롣
+ꤷʤäˤϡ
+.B PAGER
+Ѥ롣ɤꤵƤʤˤ
+.B @pager@
+Ȥ롣
+.TP
+.B LANG
+.B LANG
+ꤹȡman ޥɤ̾Υ֥ǥ쥯ȥ꤫ǽ
+ޥ˥奢롦ڡõ椨'LANG=dk man 1 foo'
+ȥޥɥ饤󤫤ǤĤȡman ޥɤϤޤ .../dk/man1/foo.1 õ
+Ĥʤ .../man1/foo.1 õ ... ϥѥ
+Υǥ쥯ȥǤ롣
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Ķѿ
+.B NLSPATH
+
+.B LC_MESSAGES
+(ޤԤʤȤ
+.B LANG
+)ϥåΰ֤ꤹ롣
+(ѸΥåϥѥȤ߹ޤƤΤǡѸξ
+ ɬפʤ)
+man ˸ƤӽФ col(1) Τ褦
+moץ Ȥ LC_CTYPE
+ȤȤդ뤳ȡ
+.TP
+.B PATH
+.B PATH
+ϥޥ˥奢롦ڡΥǥեȤθѥιۤ˻Ȥ롣
+.TP
+.B SYSTEM
+.B SYSTEM
+ϥǥեȤΥƥ̾Τ˻Ȥ롣
+(
+.B \-m
+ץȤȤ˻Ȥ)
+.SH Ϣ
+apropos(1), whatis(1), less(1), groff(1).
+.SH Х
+.B \-t
+ץ troff 饤ʥץब󥹥ȡ뤵Ƥ
+ΤͭǤ롣
+.br
+⤷ϥեΤˡǤ \e255 <AD> ɽ줿ˤ
+Ķѿ 'LESSCHARSET=latin1' ꤹɤ
+
+(: ܸѤˤ
+'JLESSCHARSET=ja_JP.ujis' ޤ 'LESSCHARSET=ja_JP.ujis'
+Ѥ뤿ˡˡǤбǤʤgroff Υץ
+\-Tnippon ޤ \-Tascii Ѥ뤳ȡ)
diff --git a/man/ja/whatis.man b/man/ja/whatis.man
new file mode 100644
index 0000000..d2b27e6
--- /dev/null
+++ b/man/ja/whatis.man
@@ -0,0 +1,34 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\" all rights reserved.
+.\" Translated Thu Jan 29 01:52:06 JST 1998
+.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH whatis 1 "Jan 5, 1991"
+.LO 1
+.SH ̾
+whatis \- whatis ǡ١鴰ñ򸡺
+.SH
+.BI whatis
+keyword ...
+.SH
+whatis ϥƥΥޥɤ˴ؤȥɤޤǡ
+١ν򸡺̤ɸϤɽ롣˥ޥåñ
+Τߤɽ롣
+
+whatis ǡ١ /usr/sbin/makewhatis ޥɤѤƺ롣
+.SH Ϣ
+apropos(1), man(1).
diff --git a/man/ko.txt b/man/ko.txt
new file mode 100644
index 0000000..69c04c6
--- /dev/null
+++ b/man/ko.txt
@@ -0,0 +1 @@
+korean
diff --git a/man/ko/apropos.man b/man/ko/apropos.man
new file mode 100644
index 0000000..d34a72e
--- /dev/null
+++ b/man/ko/apropos.man
@@ -0,0 +1,25 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "Jan 15, 1991"
+.LO 1
+.SH NAME
+apropos \- whatis Ÿ̽ ڿ ˻Ѵ
+.SH SYNOPSIS
+.BI apropos
+Ű ...
+.SH DESCRIPTION
+apropos ý Ű ϴ ̷ Ÿ̽ ˻Ͽ ǥ ش.
+.SH "SEE ALSO"
+whatis(1), man(1).
diff --git a/man/ko/man.conf.man b/man/ko/man.conf.man
new file mode 100644
index 0000000..b2f6a8b
--- /dev/null
+++ b/man/ko/man.conf.man
@@ -0,0 +1,42 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "30 Mar 1994"
+.SH ̸
+man.conf \- man ڷ
+.SH
+.LP
+
+.BR man (1)
+ о, (a) man ˻ ,
+(b) nroff, eqn, tbl man Ǵ α׷
+ θ, (c) Ͽ ־ Ȯڸ Ǯ Ʈ ϰ
+ִ. ϴ ó ִ.
+.LP
+.RS
+man -C private_man.config ...
+.RE
+.LP
+ ̸ ɼǵ ִ.
+nroff ɼ grotty(1) ã ִ.
+ , ⺻
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+ ٰ ۾(ü) ϱ 𸥴.
+.SH ׸
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) compress(1), gzip(1).
+.SH
+輺 <plodder@kldp.org>, 2000 5 5
+
diff --git a/man/ko/man.man b/man/ko/man.man
new file mode 100644
index 0000000..109781f
--- /dev/null
+++ b/man/ko/man.man
@@ -0,0 +1,264 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.TH man 1 "September 2, 1995"
+.LO 1
+.SH ̸
+man \- ¶ Ŵ ȭϰ ǥ
+.br
+manpath \- ˻ θ
+.SH
+man [\-acdfFhkKtwW] [\-m system] [\-p string] [\-C config_file] [\-M path]
+[\-P pager] [\-S section_list] [section] name ...
+.SH
+.B man
+ ¶ Ŵ ȭϰ ǥѴ.
+
+.B MANPATH
+
+.B (MAN)PAGER
+ȯ νѴ. ׷Ƿ ڽ ְ
+ȭ ǥϱ ϴ α׷ ִ.
+.I section
+ Ǹ,
+.B man
+ ǿ Ŵ ã ش. ɼ̳ ȯ ؼ ˻ ҽ Ͽ ó⸦ ִ.
+
+.I name
+ / ϸ, ̰ ϸ óȴ. ׷
+.B "man ./foo.5"
+.B "man /cd/foo/bar.1.gz"
+ó ִ.
+.SH ɼ
+.TP
+.B \-\^C " config_file"
+ man.conf ; ⺻
+.B @man_config_file@
+̴.
+(
+.BR man.conf (5) .)
+.TP
+.B \-\^M " path"
+ ˻ 丮 Ʈ Ѵ.
+ ɼ ־ , ȯ
+.B MANPATH
+ Ѵ. ȯ ߰ ϸ
+.B @man_config_file@
+ ⺻ Ʈ Ѵ.
+.B MANPATH
+ ⺻ Ʈ̴.
+.TP
+.B \-\^P " pager"
+ Ѵ.
+ ɼ
+.B MANPAGER
+ȯ 켱Ѵ.
+environment variable,
+.B PAGER
+ ٵ 켱Ѵ. ⺻
+.B man
+
+.BR @pager@ ̿Ѵ.
+.TP
+.B \-\^S " section_list"
+˻ Ŵ Ʈ ݷ Ʈ.
+ ɼ
+.B MANSECT
+ȯ 켱Ѵ.
+.TP
+.B \-\^a
+⺻ ,
+.B man
+ ù° ߰ߵ Ŵ ǥ Ѵ.
+ ɼ ϸ,
+.B man
+ ù° Ӹ ƴ϶
+.B name
+ ´ Ŵ ǥѴ.
+.TP
+.B \-\^c
+ֽ cat Ͽ ҽ ȭѴ.
+ cat ٸ Į ũ ° ȭǾų,
+Ȥ, ȭ ջǸ ̰ ǹ̰ ִ.
+.TP
+.B \-\^d
+ ǥ ʰ,  ƮѴ.
+.TP
+.B \-\^D
+ǥÿ Ѵ Ѵ.
+.TP
+.B \-\^f
+.BR whatis
+ .
+.TP
+.BR \-\^F " or " \-\-preformat
+ȭ ϰ ǥ ʴ´.
+.TP
+.B \-\^h
+ ޽ ϰ Ѵ.
+.TP
+.B \-\^k
+.BR apropos
+ .
+.TP
+.B \-\^K
+** ڿ ã´. : ſ !
+ ϴ .(ü, 迡 500 ˻ϴµ
+1 ɸ.)
+.TP
+.B \-\^m " system"
+־ ý ̸ ؼ ˻ϱ ü Ѵ.
+.TP
+.B \-\^p " string"
+.B nroff
+or
+.BR troff
+ տ ϴ ó ʸ Ѵ.
+ ġ ó ̴
+׵ ϱ Ǵ  õó :
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+ ɼ
+.B MANROFFSEQ
+ȯ 켱Ѵ.
+.TP
+.B \-\^t
+ ȭ
+.B @troff@
+ ϰ,
+.B stdout
+ Ѵ.
+.B @troff@
+ μϱ ͸ ų ʿ䰡 𸥴.
+.TP
+.B \-\^w \fRor\fP \-\-path
+ ǥ ʰ, ȭ Ȥ ǥõ ġ Ѵ.
+ ڰ :
+.B man
+ ˻ϴ 丮 Ʈ ǥ(ǥ ¿)Ѵ.
+
+.B manpath
+ man Ǿ , "manpath" "man --path" .
+.TP
+.B \-\^W
+\-\^w , ߰ ࿡ ǥѴ.
+̰ ɿ ϸ ϴ.
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "CAT "
+Man ȭ ʿϰ Ǿ ȭ
+ð ̱ Ѵ. , DIR/manX ȭ
+DIR/catX ȴ. man dir ٸ cat dir ϴ
+.BR @man_config_file@
+ ٸ ִ.
+cat 丮 cat ʴ´.
+.PP
+.B man
+ man suid ִ. ׷, cat 丮 ڰ man
+ 0755( man Ⱑ), cat ڰ man 0644 Ȥ
+0444( man Ⱑ, Ȥ Ұ), cat
+ϰų, ٸ cat 丮 ΰų ϴ .
+.B man
+ suid ƴϸ, cat cat 丮 ִ ó
+cat 丮 带 0777 ؾ Ѵ.
+.PP
+ ֱ cat ϴ
+.B \-c
+ ϸ ȭѴ.
+
+.SH ȯ
+.TP
+.B MANPATH
+.B MANPATH
+ Ǹ, ̰ Ŵ ˻ η Ѵ.
+.TP
+.B MANROFFSEQ
+.B MANROFFSEQ
+ Ǹ, ̰
+.B nroff
+
+.BR troff
+ տ ϴ ó Ͽ Ѵ.
+⺻ ,
+.BR nroff
+տ ̺ ó⸦ Ų.
+.TP
+.B MANSECT
+.B MANSECT
+ Ǹ, ̰ ˻ Ŵ Ѵ.
+.TP
+.B MANWIDTH
+.B MANWIDTH
+ Ǹ, ̰ ǥϴ Ѵ.
+׷ , ȭ ü ̻ ǥõ ִ.
+.TP
+.B MANPAGER
+.B MANPAGER
+ Ǹ, ̰ ǥñ Ѵ. ٸ,
+.B PAGER
+ ȴ. Ѵ
+.B @pager@
+ Ѵ.
+.TP
+.B LANG
+.B LANG
+ Ǹ, ̰ man ù° ֱ
+丮 ̸ Ѵ. , `LANG=dk man 1 foo'
+.../dk/man1/foo.1 for ٷ ̰,
+ file ߰ߵ , .../man1/for.1 ã´. ... ˻
+ 丮̴.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+.B NLSPATH
+
+.B LC_MESSAGES
+(Ǵ ڰ Ǿ
+.B LANG
+) ޽ īŻα ġ Ѵ. ( ޽ ϵɶ
+ǰ,  īŻα״ ʿ ʴ.)
+man ȣǴ col(1) α׷ LC_CTYPE ϴ ض.
+.TP
+.B PATH
+.B PATH
+ ⺻ ˻ ȴ.
+.TP
+.B SYSTEM
+.B SYSTEM
+ ⺻ ſ ý ̸ Ѵ.
+(
+.B \-m
+ɼǰ Բ )
+.SH ׸
+apropos(1), whatis(1), less(1), groff(1).
+.SH
+.B \-t
+ɼ troff α׷ ġǾ ִ 쿡 Ѵ.
+.br
+ ſ \e255 Ȥ <AD> ,
+`LESSCHARSET=latin1' ȯ濡 ־.
+.SH
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+
+.IR .emacs
+Ͽ ߰ϸ, F1 Ŀ ġ ̺귯 ȣ
+ ̴.
+.SH
+輺 <plodder@kldp.org>, 2000 5 5
+
diff --git a/man/ko/whatis.man b/man/ko/whatis.man
new file mode 100644
index 0000000..9b80c85
--- /dev/null
+++ b/man/ko/whatis.man
@@ -0,0 +1,29 @@
+.\"
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "Jan 5, 1991"
+.LO 1
+.SH NAME
+whatis \- ܾ ϼŰ whatis Ÿ̽ ã´.
+.SH SYNOPSIS
+.BI whatis
+Ű ...
+.SH DESCRIPTION
+whatis ý Ű ϴ Ÿ̽ ˻Ͽ ǥ ش. ܾ ġ 츸 ش.
+
+whatis Ÿ̽ @makewhatis@ ̿Ͽ
+.SH "SEE ALSO"
+apropos(1), man(1).
+
diff --git a/man/nl.txt b/man/nl.txt
new file mode 100644
index 0000000..909c946
--- /dev/null
+++ b/man/nl.txt
@@ -0,0 +1 @@
+dutch
diff --git a/man/nl/apropos.man b/man/nl/apropos.man
new file mode 100644
index 0000000..0c225b7
--- /dev/null
+++ b/man/nl/apropos.man
@@ -0,0 +1,28 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "Jan 15, 1991"
+.LO 1
+.SH NAAM
+apropos \- zoek een gegeven string in de whatis database
+.SH SYNTAX
+.BI apropos
+string ...
+.SH BESCHRIJVING
+.B apropos
+zoekt naar de opgegeven strings in een aantal database bestanden
+die korte beschrijvingen van systeem\%commando's bevatten
+en stuurt het resultaat naar standaard uitvoer.
+.SH "ZIE OOK"
+whatis(1), man(1).
diff --git a/man/nl/man.conf.man b/man/nl/man.conf.man
new file mode 100644
index 0000000..9fccc18
--- /dev/null
+++ b/man/nl/man.conf.man
@@ -0,0 +1,42 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "30 Mar 1994"
+.SH NAAM
+man.conf \- configuratie bestand voor man
+.SH BESCHRIJVING
+.LP
+Dit bestand wordt door
+.BR man (1)
+gelezen, en bevat (a) informatie over hoe het zoekpad voor man
+gemaakt moet worden, (b) volledige padnamen voor de benodigde
+programma's, zoals nroff, eqn, tbl enz., en (c) een lijst
+van decomprimeerprogramma's voor bestanden met een gegeven extensie.
+Een prive versie van dit bestand kan gebruikt worden door
+man de -C optie mee te geven:
+.LP
+.RS
+man -C prive_man.conf ...
+.RE
+.LP
+Aan de programmanamen kunnen opties worden meegegeven.
+Nuttige opties om bij nroff te gebruiken kunnen in grotty(1)
+gevonden worden. Bijvoorbeeld, in plaats van het gebruikelijke
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+kan men
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+schrijven, teneinde onderstrepingen en overprintingen weg te halen.
+.SH "ZIE OOK"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) en compress(1), gzip(1).
+
diff --git a/man/nl/man.man b/man/nl/man.man
new file mode 100644
index 0000000..4dfafdb
--- /dev/null
+++ b/man/nl/man.man
@@ -0,0 +1,259 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.TH man 1 "2 September 1995"
+.LO 1
+.SH NAAM
+man \- formatteer en vertoon documentatie bladzijden
+.br
+manpath \- geef het zoekpad voor documentatie bladzijden van de gebruiker weer
+.SH SYNTAX
+man [\-acdfhktwW] [\-m systeem] [\-p preprocessoren] [\-C configuratiebestand] [\-M pad]
+[\-P pagineerprogramma] [\-S lijst_van_hoofdstukken] [hoofdstuk] naam ...
+.SH BESCHRIJVING
+.B man
+formatteert en vertoont bladzijden van de programma documentatie.
+Deze versie kent de
+.B MANPATH
+en
+.B (MAN)PAGER
+omgevings\%variabelen, zodat
+je je eigen collectie documentatiebladzijden en je eigen
+pagineerprogramma kunt gebruiken.
+Als het
+.I hoofdstuk
+is opgegeven, dan kijkt
+.B man
+alleen in dat hoofdstuk.
+Je kunt ook met omgevings\%variabelen of met programmaopties
+opgeven in welke volgorde de hoofdstukken moeten worden
+afgezocht, en welke preprocessoren de tekst moeten voorbewerken.
+Als
+.I naam
+een / bevat, dan wordt hij eerst geprobeerd als bestandsnaam,
+zodat opdrachten als
+.B "man ./foo.5"
+of
+.B "man /cd/foo/bar.1.gz"
+mogelijk zijn.
+.SH OPTIES
+.TP
+.B \-\^C " configuratiebestand"
+Geef aan welk configuratiebestand gebruikt moet worden.
+Als deze optie niet is opgegeven, dan wordt
+@man_config_file@ gebruikt. (Voor een beschrijving van dit
+bestand, zie man.conf(5).)
+.TP
+.B \-\^M " pad"
+Geef de lijst van directories waarin gezocht moet worden.
+Als deze optie niet is opgegeven, dan wordt de omgevings\%variabele
+.B MANPATH
+gebruikt. En als er niet zo'n omgevings\%variabele is, dan wordt de
+standaardlijst gevonden door @man_config_file@ te raadplegen.
+Een lege deelstring in MANPATH wordt vervangen door de standaardlijst.
+.TP
+.B \-\^P " pagineerprogramma"
+Geef aan welk pagineerprogramma gebruikt moet worden.
+Als deze optie niet is opgegeven, dan wordt het programma vermeld in
+de omgevings\%variabele
+.B MANPAGER
+of, als deze niet bestaat,
+.B PAGER
+gebruikt. Is er ook niet zo'n omgevings\%variabele, dan wordt
+.B @pager@
+gebruikt.
+.TP
+.B \-\^S " lijst_van_hoofdstukken"
+Deze lijst is een lijst van hoofdstukken, door dubbele punten van elkaar
+gescheiden, waarin gezocht wordt.
+Als deze optie niet is opgegeven, dan wordt de omgevings\%variabele
+.B MANSECT
+gebruikt.
+.TP
+.B \-\^a
+Normaal zal
+.B man
+termineren na het vertonen van de eerste documentatie bladzijde
+die hij vindt. Deze optie zegt dat alle bladzijden over
+.B naam
+vertoond moeten worden.
+.TP
+.B \-\^c
+Formatteer de bron bladzijde, zelfs als er een recente voorgeformatteerde
+bladzijde bestaat. Dit kan nuttig zijn als die bladzijde
+geformatteerd was voor een scherm met een andere breedte,
+of als de voorgeformatteerde bladzijde niet deugt.
+.TP
+.B \-\^d
+Vertoon de bladzijden niet echt, maar vertel gedetailleerd wat
+gedaan wordt - deze optie is alleen nuttig om fouten op te sporen.
+.TP
+.B \-\^D
+Als by -d, maar vertoon de bladzijden ook.
+.TP
+.B \-\^f
+Voer het programma
+.B whatis
+uit.
+.TP
+.B \-\^h
+Druk een hulptekst af.
+.TP
+.B \-\^k
+Voer het programma
+.B apropos
+uit.
+.TP
+.B \-\^K
+Zoek de opgegeven tekst in *alle* handboekbladzijden. Pas op: dit
+kan lang duren! (Op mijn machine kost dit bijvoorbeeld een minuut
+voor elke 500 pagina's.) Het helpt om een sectie op te geven.
+.TP
+.B \-\^m " systeem"
+Gebruik een andere collectie documentatie\%bladzijden, afhankelijk
+van de opgegeven systeem\%naam.
+.TP
+.B \-\^p " preprocessoren"
+Geef aan welke preprocessoren de tekst moeten voorbewerken voordat
+deze aan nroff of troff gevoerd wordt. Enige preprocessoren, en de
+letters waarmee ze aangeduid worden, zijn:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Niet elke installatie zal al deze programma's hebben.
+Als deze optie niet is opgegeven, dan wordt de omgevings\%variabele
+.B MANROFFSEQ
+gebruikt.
+.TP
+.B \-\^t
+Gebruik
+.B @troff@
+om de bladzijde te formatteren, en stuur het resultaat naar
+.B stdout.
+De uitvoer van
+.B @troff@
+moet mogelijk nog door een of ander filter gestuurd worden
+voordat hij afgedrukt kan worden.
+.TP
+.B \-\^w \fRor\fP \-\-path
+Vertoon geen documentatie, maar druk de padnamen af van de bestanden
+waarin documentatie gevonden werd. Als geen
+.I naam
+opgegeven is, dan: druk het zoekpad af. Als
+.B manpath
+een link is naar man, dan is "manpath" equivalent met "man --path".
+.TP
+.B \-\^W
+Als \-\^w, maar druk alleen de padnamen af, zonder additionele informatie.
+Dit komt van pas in opdrachten zoals
+.ft CW
+man -aW man | xargs ls -l
+.ft
+
+.SH "VOORGEFORMATTEERDE BLADZIJDEN"
+Man probeert om geformatteerde bladzijden te bewaren, om de volgende
+keer dat ze nodig zijn tijd te sparen. Gewoonlijk worden de geformatteerde
+versies van de bladzijden uit DIR/manX bewaard in DIR/catX, maar andere
+afbeeldingen van man directories naar cat directories kunnen in
+@man_config_file@ worden aangegeven. Geformatteerde bladzijden worden
+niet bewaard als het bijbehorende cat directory niet bestaat.
+.LP
+Het is mogelijk om man suid te maken, met eigenaar man. Als dan een
+cat directory eigenaar man heeft, en mode 0755 (alleen door man beschrijfbaar),
+en de geformatteerde bladzijden hebben eigenaar man en mode 0644 of 0444
+(alleen beschrijfbaar door man, of helemaal niet beschrijfbaar),
+dan kan geen gewone gebruiker de geformatteerde bladzijden wijzigen
+of andere bestanden opslaan in dat directory. Als man niet suid is,
+dan moet een cat directory waar voor alle gebruikers geformatteerde
+bladzijden geschreven moeten kunnen worden mode 0777 hebben.
+.LP
+De optie -c laat man een pagina opnieuw formatteren, zelfs als een
+recente geformatteerde pagina bestaat.
+
+.SH OMGEVINGSVARIABELEN
+.TP
+.B MANPATH
+Als
+.B MANPATH
+een waarde heeft, dan wordt deze waarde als zoekpad gebruikt.
+.TP
+.B MANROFFSEQ
+Als
+.B MANROFFSEQ
+een waarde heeft, dan wordt deze waarde gebruikt om te bepalen door
+welke preprocessoren de tekst bewerkt moet worden. Standaard wordt
+tbl gebruikt.
+.TP
+.B MANSECT
+Als
+.B MANSECT
+een waarde heeft, dan wordt deze waarde gebruikt om te bepalen in welke
+hoofdstukken gezocht wordt.
+.TP
+.B MANWIDTH
+Als
+.B MANWIDTH
+een waarde heeft, dan geeft deze waarde aan hoeveel kolommen de uitvoer
+breed moet zijn. Vooral bij heel brede schermen geven veel mensen er de
+voorkeur aan het aantal kolommen tot 80 of 100 te beperken.
+.TP
+.B MANPAGER
+Als
+.B MANPAGER
+een waarde heeft, dan wordt deze waarde gebruikt als naam van het te gebruiken
+pagineerprogramma. Zo niet, dan wordt de waarde van
+.B PAGER
+gebruikt. Bestaat deze ook niet, dan wordt
+.B @pager@
+gebruikt.
+.TP
+.B LANG
+Als
+.B LANG
+een waarde heeft, dan bepaalt deze de naam van een onderdirectory
+waar man eerst in zoekt. Bijvoorbeeld, na `LANG=nl man 1 iets'
+zal man eerst in .../nl/man1/iets.1 zoeken, en als dat niet bestaat,
+dan in .../man1/iets.1. Hierbij is ... een directory uit het zoekpad.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+De omgevingsvariabelen
+.B NLSPATH
+en
+.B LC_MESSAGES
+(of, als deze niet bestaat,
+.B LANG\c
+) spelen een rol bij het vinden van de versie in de opgegeven taal
+van de mededelingen (voornamelijk foutmeldingen) die man produceert.
+(Maar de Engelse teksten zijn meegecompileerd, en hoeven niet uit een
+bestand gehaald te worden.)
+Programma's als col(1) die door man aangeroepen worden,
+gebruiken ook LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+wordt gebruikt bij het construeren van het standaard zoekpad van man.
+.TP
+.B SYSTEM
+.B SYSTEM
+wordt gebruikt als standaard naam bij de optie
+.B \-m.
+.SH "ZIE OOK"
+apropos(1), whatis(1), less(1), groff(1).
+.SH FOUTEN
+De
+.B \-t
+optie werkt alleen als een troff-achtig programma geinstalleerd is.
+.br
+Als je \e255 of <AD> ziet knipperen waar afbreekstreepjes hadden
+moeten staan, zet dan `LESSCHARSET=latin1' in je omgeving.
diff --git a/man/nl/whatis.man b/man/nl/whatis.man
new file mode 100644
index 0000000..2b2c38a
--- /dev/null
+++ b/man/nl/whatis.man
@@ -0,0 +1,32 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "Jan 5, 1991"
+.LO 1
+.SH NAAM
+whatis \- zoek gegeven woorden in de whatis database
+.SH SYNTAX
+.BI whatis
+woord ...
+.SH BESCHRIJVING
+.B whatis
+zoekt naar de opgegeven woorden in een aantal database bestanden
+die korte beschrijvingen van systeem\%commando's bevatten
+en stuurt het resultaat naar standaard uitvoer.
+De opgegeven woorden moeten als volledige woorden gevonden worden.
+
+De whatis database bestanden wordem aangemaakt met behulp van
+het commando @makewhatis@.
+.SH "ZIE OOK"
+apropos(1), man(1).
diff --git a/man/pl.txt b/man/pl.txt
new file mode 100644
index 0000000..88ffee5
--- /dev/null
+++ b/man/pl.txt
@@ -0,0 +1 @@
+polish
diff --git a/man/pl/apropos.man b/man/pl/apropos.man
new file mode 100644
index 0000000..8d92ed4
--- /dev/null
+++ b/man/pl/apropos.man
@@ -0,0 +1,35 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Tumaczenie: 950322 Rafa Maszkowski <rzm@pdi.net>
+.\"
+.TH apropos 1 "19 wrzenia 2005"
+.LO 1
+.SH NAZWA
+apropos \- wyszukuje acuchy znakw w bazie whatis
+.SH SKADNIA
+.BI apropos
+sowo_kluczowe ...
+.SH OPIS
+apropos wyszukuje sowa kluczowe w plikach bazy danych, ktre
+zawieraj krtkie opisy polece systemowych i wywietla wynik
+na standardowe wyjcie.
+.SH AUTOR
+Pierwotnym autorem programu
+.BR "man"
+jest John W. Eaton.
+Zeyd M. Ben-Halim opublikowa man w wersji 1.2, a Andries Brouwer wersje od 1.3 do 1.5p.
+Aktualnym opiekunem jest Federico Lucifredi <flucifredi@acm.org>.
+.SH "ZOBACZ TAKE"
+whatis(1), man(1).
diff --git a/man/pl/man.conf.man b/man/pl/man.conf.man
new file mode 100644
index 0000000..1df8ccf
--- /dev/null
+++ b/man/pl/man.conf.man
@@ -0,0 +1,49 @@
+.\" @(#)man.conf
+.\" Tumaczenie: 950322 Rafa Maszkowski <rzm@pdi.net>
+.TH MAN.CONF 5 "19 wrzenia 2005"
+.SH NAZWA
+man.conf \- dane konfiguracyjne dla programu man
+.SH OPIS
+.LP
+Ten plik jest czytany przez
+.BR man (1)
+i zawiera (a) informacj jak utworzy ciek przeszukiwan przez man,
+(b) pene cieki do rnych programw jak nroff, eqn, tbl itd., ktre
+s uywane przez man oraz (c) list programw rozpakowujcych pliki z
+podanymi rozszerzeniami.
+Alternatywna wersja pliku man.conf moe by podana przez
+.LP
+.RS
+man -C prywatny_man.conf ...
+.RE
+.LP
+Nazwy polece mog by podane z opcjami.
+Uyteczne opcje nroff mona znale w grotty(1).
+Na przykad zamiast domylnej linii
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+mona napisa
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+eby wyczy podkrelanie i wytuszczanie.
+.SH PLIKI
+.I "@man_config_file@"
+.SH AUTOR
+Pierwotnym autorem programu
+.BR "man"
+jest John W. Eaton.
+Zeyd M. Ben-Halim opublikowa man w wersji 1.2, a Andries Brouwer wersje od 1.3 do 1.5p.
+Aktualnym opiekunem jest Federico Lucifredi <flucifredi@acm.org>.
+.SH "ZOBACZ TAKE"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) i compress(1), gzip(1).
diff --git a/man/pl/man.man b/man/pl/man.man
new file mode 100644
index 0000000..eb29b4e
--- /dev/null
+++ b/man/pl/man.man
@@ -0,0 +1,427 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" Tumaczenie - 950322 Rafa Maszkowski <rzm@pdi.net>
+.\" 960619 - aktualizacja -K
+.\" 20011102 - aktualizacja do wersji z man-1.5i2, czciowo w oparciu
+.\" o alternatywne tumaczenie PB z PTM - AMK
+.\"
+.TH man 1 "2 wrzenia 1995"
+.LO 1
+.SH NAZWA
+man \- formatowanie i wywietlanie dostpnych stron podrcznika man
+.br
+manpath \- wyznaczanie cieki poszukiwania stron podrcznika odpowiedniej dla
+danego uytkownika
+.SH SKADNIA
+.TP 4
+.B man
+.RB [ \-adfhkKtwW ]
+.RB [ \-m
+.IR system ]
+.RB [ \-p
+.IR acuch_znakw ]
+.RB [\-C
+.IR plik_konfiguracyjny ]
+.RB [ \-M
+.IR cieka ]
+.RB [ \-P
+.IR pager ]
+.RB [ \-S
+.IR lista_rozdziaw ]
+.RI [ rozdzia ]
+.IR nazwa ...
+.SH OPIS
+.B man
+formatuje i wywietla dostpne w systemie strony podrcznika man.
+.\" Ta wersja sprawdza zmienne rodowiskowe
+.\" .B MANPATH
+.\" i
+.\" .BR (MAN)PAGER ,
+.\" wic moesz mie swj wasny zestaw stron podrcznika man i wybra do ich
+.\" wywietlania ulubiony program.
+Jeeli zostanie podany
+.IR rozdzia ,
+.B man
+sprawdza tylko ten rozdzia podrcznika.
+.\" Uywajc opcji lub zmiennych rodowiskowych moesz take poda porzdek,
+.\" w jakim naley przeszukiwa rozdziay oraz jakie preprocesory powinny
+.\" zosta uyte do wstpnego przetworzenia stron.
+Jeeli
+.I nazwa
+zawiera znak /, to man prbuje najpierw znale podany plik, wic mona np.
+wyda polecenie
+.B "man ./foo.5"
+a nawet
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+Niej znajdziesz informacje, gdzie
+.B man
+szuka plikw stron podrcznika.
+
+.SH OPCJE
+.TP
+.B \-\^C " plik_konfiguracyjny"
+Okrela plik konfiguracyjny, ktrego naley uy. Domylnym jest
+.BR @man_config_file@ .
+(Zobacz
+.BR man.conf (5).)
+.TP
+.B \-\^M " cieka"
+Okrela list katalogw, w ktrych bd szukane strony podrcznika man.
+Katalogi naley rozdziela dwukropkami. Pusta lista jest rwnoznaczna z nie
+podaniem tej opcji. Zobacz
+.BR "CIEKA PRZESZUKIWANIA DLA STRON PODRCZNIKA" .
+.TP
+.B \-\^P " pager"
+Okrela, ktry pager ma zosta uyty. Jeeli podana jest ta opcja,
+ignorowana jest zmienna rodowiskowa
+.BR MANPAGER ,
+ktrej uycie z kolei powoduje zignorowanie zmiennej rodowiskowej
+.BR PAGER .
+Domylnie
+.B man
+uywa
+.BR @pager@ .
+.TP
+.B \-\^S " lista_rozdziaw"
+Rozdzielona dwukropkami lista rozdziaw podrcznika, ktre maj by
+przeszukane. Jeeli podana jest ta opcja, zmienna rodowiskowa
+.B MANSECT
+jest ignorowana.
+.TP
+.B \-\^a
+Domylnie man koczy dziaanie po wywietleniu pierwszej znalezionej
+strony. Podanie tej opcji powoduje wywietlenie wszystkich stron
+podrcznika, ktre pasuj do
+.BR nazwa ,
+a nie tylko pierwszej.
+.TP
+.B \-\^c
+Przeformatowuje rdow stron podrcznika, nawet jeeli istnieje aktualna
+strona cat. Moe to by istotne, jeeli strona cat jest sformatowana
+dla ekranu z inn liczb kolumn.
+.TP
+.B \-\^d
+Zamiast stron podrcznika wywietla mnstwo informacji diagnostycznych.
+.TP
+.B \-\^D
+Wywietla zarwno stron podrcznika jak i informacje diagnostyczne.
+.TP
+.B \-\^f
+Rwnowane
+.BR whatis .
+.TP
+.B \-\^h
+Wywietla krtk informacj pomocy i koczy prac.
+.TP
+.B \-\^k
+Rwnowane
+.BR apropos .
+.TP
+.B \-\^K
+Szuka podanego acucha znakw we *wszystkich* stronach podrcznika. Uwaga:
+bdzie to prawdopodobnie bardzo powolne! Podanie rozdziaw pomaga
+przyspieszy szukanie. (Dla oglnej orientacji: na mojej maszynie zajmuje to
+ok. minuty na kade 500 stron podrcznika.)
+.TP
+.B \-\^m " system"
+Podanie alternatywnego zestawu stron podrcznika, odpowiedniego dla
+systemu o podanej nazwie.
+.TP
+.B \-\^p " acuch_znakw"
+Podanie listy nazw preprocesorw, ktore zostan uruchomione przed
+.B nroff
+i
+.BR troff .
+Nie wszystkie intalacje maj peny zestaw preprocesorw.
+Niektre z nich oraz oznaczajce je litery to:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Podanie tej opcji powoduje zignorowanie zmiennej rodowiskowej
+.BR MANROFFSEQ .
+.TP
+.B \-\^t
+Sformatuj stron podrcznika za pomoc
+.BR @troff@ ,
+a wynik wylij na
+.B stdout
+(standardowe wyjcie).
+Moe by konieczne przepuszczenie wyniku z
+.B @troff@
+przez jaki filtr przed wydrukowaniem.
+.TP
+.B \-\^w \fRlub\fP \-\-path
+Nie wywietlaj stron podrcznika, podaj tylko gdzie znajduj si pliki, ktre
+byyby sformatowane i wywietlone. Jeeli nie podano adnych argumentw:
+wywietla (na stdout) list katalogw, w ktrych
+.B man
+poszukuje stron podrcznika. Jeeli
+.B manpath
+jest dowizaniem man to "manpath" jest rwnowane "man --path".
+.TP
+.B \-\^W
+Podobne do \-\^w, lecz podaje nazwy plikw, kad w osobnej linii, bez
+dodatkowych informacji. Przydaje si w poleceniach powoki, np.
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "STRONY CAT"
+Man bdzie prbowa zachowa sformatowane strony podrcznika aby
+skrci czas potrzebny na sformatowanie ich po raz kolejny,
+kiedy te strony bd znowu potrzebne.
+Tradycyjnie, sformatowane wersje stron podrcznika z katalogu DIR/manX s
+zachowywane w DIR/catX, ale mona te w pliku
+.BR @man_config_file@
+okreli inne zasady.
+Strony cat nie s tworzone, jeeli wymagany katalog nie istnieje.
+.PP
+Moliwe jest uczynienie programu
+.B man
+suidowym na uytkownika man. Wtedy, jeli katalogi cat maj waciciela man
+i prawa dostpu 0755 (zapisywalne tylko przez uytkownika man), a pliki cat
+maj waciciela man i prawa dostpu 0644 lub 0444 (zapisywalne przez
+uytkownika man lub przez nikogo), to aden zwyky uytkownik nie moe
+zmienia stron cat lub umieszcza w katalogach cat innych plikw. Jeeli
+.B man
+nie jest suidowy to katalog cat powinien mie prawa dostpu 0777,
+o ile wszyscy uytkownicy powinni mie moliwo pozostawiania tam stron cat.
+.PP
+Opcja
+.B \-c
+wymusza przeformatowanie strony nawet jeeli istnieje ju odpowiednia strona
+cat.
+
+
+.SH "CIEKA PRZESZUKIWANIA DLA STRON PODRCZNIKA"
+.B man
+stosuje wymyln metod poszukiwania plikw stron podrcznika, opart na
+opcjach wywoania, zmiennych rodowiskowych, pliku konfiguracyjnym
+.B @man_config_file@
+oraz na pewnych wbudowanych konwencjach i heurystyce.
+.PP
+Najpierw, gdy argument
+.I nazwa
+polecenia
+.B man
+zawiera ukonik
+.RB ( / ),
+.B man
+zakada, e jest on nazw waciwego pliku i nie prowadzi poszukiwania.
+.PP
+Ale zazwyczaj, gdy
+.I nazwa
+nie zawiera ukonika,
+.B man
+poszukuje pliku, ktry mgby stanowi stron podrcznika o zadanym temacie,
+w rnych katalogach.
+.PP
+Jeli zostanie podana opcja
+.BI "-M " cieka\fR,
+to
+.I cieka
+jest rozdzielon dwukropkami list przeszukiwanych przez program
+.B man
+katalogw.
+.PP
+Gdy opcja
+.B -M
+nie zostanie podana, ale zostanie zdefiniowana zmienna rodowiskowa
+.BR MANPATH ,
+warto tej zmiennej stanowi list przeszukiwanych przez program
+.B man
+katalogw.
+.PP
+Jeli cieka nie zostanie podana w sposb jawny ani za pomoc
+.B -M
+ani poprzez
+.BR MANPATH ,
+.B man
+rozwija swoj wasn ciek w oparciu o zawarto pliku konfiguracyjnego
+.BR @man_config_file@ .
+Instrukcje
+.B MANPATH
+w pliku konfiguracyjnym okrelaj poszczeglne katalogi wczane do cieki
+przeszukiwania.
+.PP
+Ponadto, instrukcje
+.B MANPATH_MAP
+dodaj do cieki przeszukiwania katalogi zalene od cieki przeszukiwania
+dla polece (tzn. zawartej w zmiennej rodowiskowej
+.B PATH
+).
+Instrukcja
+.B MANPATH_MAP
+dodaje do cieki przeszukiwania dla stron podrcznika po jednym katalogu dla
+kadego katalogu zawartego w ciece przeszukiwania dla polece.
+.B man
+przeglda zmienn
+.B PATH
+i dodaje odpowiednie katalogi do cieki przeszukiwania dla stron podrcznika.
+Zatem przy waciwym uyciu
+.BR MANPATH_MAP ,
+po wydaniu polecenia
+.BR "man xyz" ,
+otrzyma si stron podrcznika dla programu, ktry zostaby uruchomiony
+poprzez wydanie polecenia
+.BR xyz .
+.PP
+Dodatkowo, dla kadego katalogu w ciece przeszukiwania dla polece
+(bdziemy go nazywa "katalogiem polece"), dla ktrego
+.I nie
+ma instrukcji
+.BR MANPATH_MAP ,
+.B man
+automatycznie poszukuje "bliskiego" katalogu stron podrcznika jako
+podkatalogu waciwego katalogu polece lub w katalogu nadrzdnym dla katalogu
+polece.
+.PP
+Mona wyczy automatyczne "bliskie" przeszukiwania doczajc instrukcj
+.B NOAUTOPATH
+do
+.BR @man_config_file@ .
+.PP
+Jak opisano powyej, w kadym z katalogw cieki przeszukiwania
+.B man
+poszukuje pliku o nazwie
+.IB tytu . rozdzia\fR,
+z opcjonalnym przyrostkiem dla numeru rozdziau i moliwym przyrostkiem
+kompresji. Jeli nie znajdzie takiego pliku, bdzie szuka w podkatalogach
+o nazwach
+.BI man N
+i
+.BI cat N\fR,
+gdzie
+.I N
+jest numerem rozdziau podrcznika.
+Jeli plik znajduje si w podkatalogu
+.BIR cat N ,
+.B man
+zakada, e jest to sformatowany plik strony podrcznika (cat page).
+W przeciwnym przypadku,
+.B man
+zakada, e jest ona niesformatowana. W obu przypadkach, jeli nazwa pliku
+zawiera znany przyrostek kompresji (jak
+.BR .gz ),
+.B man
+zakada, e jest ona spakowania gzipem.
+.PP
+Aby zobaczy, gdzie (lub czy)
+.B man
+znajdzie stron podrcznika o okrelonym tytule, naley posuyc si opcj
+.BR "--path " ( -w ).
+
+.SH "RODOWISKO"
+.TP
+.B MANPL
+Jeli zmienna
+.B MANPL
+jest zdefinowana, to jej warto jest uywana do okrelenia dugoci strony.
+W przeciwnym przypadku, caa strona podrcznika bdzie stanowi jedn (dug)
+stron.
+.TP
+.B MANROFFSEQ
+Jeli zmienna
+.B MANROFFSEQ
+jest zdefinowana, to jej warto jest uywana do zdefinowania zestawu
+preprocesorw uruchamianych przed
+.B nroff
+i
+.BR troff .
+Domylnie strony s przepuszczane przez preprocesor tbl przed uyciem nroff.
+.TP
+.B MANSECT
+Jeli zmienna
+.B MANSECT
+jest zdefiniowana, to jej warto jest uywana do okrelenia jakie rozdziay
+podrcznika powinny zosta przeszukane.
+.TP
+.B MANWIDTH
+Jeli zmienna
+.B MANWIDTH
+jest zdefiniowana, to jej warto jest uywana jako szeroko wywietlanych
+stron podrcznika man. W przeciwnym wypadku, strony bd wywietlane na caej
+szerokoci ekranu.
+.TP
+.B MANPAGER
+Jeli zmienna
+.B MANPAGER
+jest zdefiniowana, to jej warto jest uywana jako nazwa programu do
+wywietlania strony podrcznika man. Jeli nie jest zdefiniowana, to uywana
+jest zmienna
+.BR PAGER .
+Jeeli ta rwnie nie ma nadanej wartoci, to uywany jest
+.BR @pager@ .
+.TP
+.B LANG
+Jeli zmienna
+.B LANG
+jest zdefiniowana, to jej warto okrela nazw podkatalogu, w ktrym man
+najpierw bdzie szuka stron podrcznika. Zatem polecenie `LANG=pl man 1 co'
+(w sh lub bash) spowoduje, e man bdzie szuka strony "co"
+w .../pl/man1/co.1, a nastpnie, jeeli takiego pliku nie znajdzie,
+w .../man1/co.1, gdzie ... jest katalogiem ze cieki przeszukiwania.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Zmienne rodowiskowe
+.B NLSPATH
+i
+.B LC_MESSAGES
+(lub
+.BR LANG ,
+jeeli ta druga nie istnieje)
+steruj przeszukiwaniem katalogw z komunikatami.
+(Komunikaty angielskie s wkompilowane, wic dla angielskiego taki
+katalog nie jest potrzebny.)
+Zauwa, e programy takie jak
+.BR col(1) ,
+woane przez man, rwnie uywaj np. LC_TYPE.
+.TP
+.B PATH
+.B PATH
+pomaga okreli ciek przeszukiwania dla plikw stron podrcznika.
+Zobacz
+.BR "CIEKA PRZESZUKIWANIA DLA STRON PODRCZNIKA" .
+.TP
+.B SYSTEM
+.B SYSTEM
+jest uywana do pobierania domylnej alternatywnej nazwy systemu (do uywania
+razem z opcj
+.BR \-m ).
+.SH "ZOBACZ TAKE"
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
+.SH BDY
+Opcja
+.B \-t
+dziaa tylko jeeli jest zainstalowany jaki program dziaajcy jak troff.
+.br
+Jeeli zamiast mylnikw pojawi si migajce \e255 lub <AD>, to naley
+ustawi w rodowisku uytkownika `LESSCHARSET=latin1'.
+.SH ZAKOCZENIE
+Jeli do pliku
+.IR .emacs
+uytkownika dodana zostanie linia
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+to nacinicie F1 spowoduje wywietlenie strony podrcznika dla funkcji
+bibliotecznej, na ktrej ustawiony jest kursor.
+.LP
+Aby uzyska czysto tekstow wersj strony podrcznika, bez cofni
+i podkrele, naley wyda polecenie
+
+ # man co | col -b > co.mantxt
+
diff --git a/man/pl/whatis.man b/man/pl/whatis.man
new file mode 100644
index 0000000..936627f
--- /dev/null
+++ b/man/pl/whatis.man
@@ -0,0 +1,37 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Tumaczenie - 950322 Rafa Maszkowski <rzm@pdi.net>
+.\"
+.TH whatis 1 "19 wrzenia 2005"
+.LO 1
+.SH NAZWA
+whatis \- wyszukuje sowa w bazie whatis.
+.SH SKADNIA
+.BI whatis
+sowo_kluczowe ...
+.SH OPIS
+whatis wyszukuje sowa kluczowe w zestawie plikw zawierajcych krtkie
+opisy polece systemowych i wywietla rezultat na standardowe wyjcie.
+Wywietlane s tylko polecenia, ktrych nazwy pasuj dokadnie.
+
+Baza whatis jest tworzona przy uyciu polecenia @makewhatis@.
+.SH AUTOR
+Pierwotnym autorem programu
+.BR "man"
+jest John W. Eaton.
+Zeyd M. Ben-Halim opublikowa man w wersji 1.2, a Andries Brouwer wersje od 1.3 do 1.5p.
+Aktualnym opiekunem jest Federico Lucifredi <flucifredi@acm.org>.
+.SH "ZOBACZ TAKE"
+apropos(1), man(1).
diff --git a/man/pt.txt b/man/pt.txt
new file mode 100644
index 0000000..5150030
--- /dev/null
+++ b/man/pt.txt
@@ -0,0 +1 @@
+portuguese
diff --git a/man/pt/README b/man/pt/README
new file mode 100644
index 0000000..832c6db
--- /dev/null
+++ b/man/pt/README
@@ -0,0 +1,6 @@
+These portuguese man pages were contributed by Vitor Duarte.
+
+#From vad@fct.unl.pt Tue Jun 21 14:15:01 1994
+#To: Andries.Brouwer@cwi.nl
+#Subject: portuguese man
+#From: Vitor Duarte <vad@fct.unl.pt>
diff --git a/man/pt/apropos.man b/man/pt/apropos.man
new file mode 100644
index 0000000..477d478
--- /dev/null
+++ b/man/pt/apropos.man
@@ -0,0 +1,28 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "15/1/1991"
+.LO 1
+.SH NOME
+apropos \- procura `strings' na base de dados "whatis"
+.SH SINOPSE
+.BI apropos
+palavra_chave ...
+.SH DESCRIO
+apropos procura a
+.B palavra_chave,
+numa base de dados contendo breves descries dos comandos,
+mostrando todas as descries onde encontre a referida chave.
+.SH "VEJA TAMBM"
+whatis(1), man(1).
diff --git a/man/pt/man.conf.man b/man/pt/man.conf.man
new file mode 100644
index 0000000..c3e71d1
--- /dev/null
+++ b/man/pt/man.conf.man
@@ -0,0 +1,39 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "30/3/1994"
+.SH NOME
+man.conf \- dicheiro de configurao para man
+.SH DESCRIO
+.LP
+Este ficheiro lido por
+.BR man (1)
+e contm: (a) informao de como construir o manpath; (b) nomes completos
+de vrios programas como nroff, eqn, tbl, etc. usados por man; (c) a lista
+de descompressores dos ficheiros com determinadas extenses. Um ficheiro
+alternativo pode ser indicado com
+.LP
+.RS
+man -C fich_config ...
+.RE
+.LP
+Os nomes de comandos podem ser indicados com opes se pretendido.
+Opes uteis para o nroff podem ser encontradas em grotty(1).
+Por exemplo, am vez de linha
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+pode-se usar
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+para suprimir sublinhados e carregados.
+.SH "VEJA TAMBM"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) e compress(1), gzip(1).
diff --git a/man/pt/man.man b/man/pt/man.man
new file mode 100644
index 0000000..87b2001
--- /dev/null
+++ b/man/pt/man.man
@@ -0,0 +1,156 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.TH man 1 "15/3/1994"
+.LO 1
+.SH NOME
+man \- formatar e mostrar as pginas do manual on-line
+.br
+manpath \- determinar o manpath inicial para o utilizador
+.SH SINOPSE
+man [\-acdfhktw] [\-m sistema] [\-p string] [\-C fich_config] [\-M path]
+[\-P paginador] [\-S lista_sec] [seco] nome ...
+.SH DESCRIO
+.B man
+formata e mostra as pginas do manual `on-line'. Esta verso reconhece
+as variveis de ambiente (environment)
+.B MANPATH
+e
+.B (MAN)PAGER
+(vr a seguir).
+Se a
+.I seco
+for indicada,
+.B man
+apenas procura nessa seco de manuais.
+Pode tambm indicar por que ordem das seces deve procurar
+e que preprocessamento efectuar nos manuais, por meio de opes na
+linha de comando ou variveis de ambiente.
+Se
+.I nome
+contiver uma / tentar primeiro o ficheiro com esse nome, permitindo
+fazer
+.B "man ./foo.5"
+ou mesmo
+.B "man /cd/foo/bar.1.gz"
+para formatar e vr um ficheiro em particular.
+.SH OPES
+.TP
+.B \-\^C " fich_config"
+Indica o ficheiro de configurao a usar; por omisso ser usado
+@man_config_file@. (Veja man.conf(5).)
+.TP
+.B \-\^M " path"
+Indica a lista de directrios onde procurar manuais.
+Sem esta opo, ser consultada a varivel
+.B MANPATH.
+Se tambm esta varivel estiver definida, uma lista ser obtida
+por consulta de @man_config_file@. Um directrio vazio em MANPATH
+representa a lista anterior.
+.TP
+.B \-\^P " paginador"
+Indica qual o paginador/visualisador a usar. Sem esta opo tentar
+consultar a varivel
+.B PAGER.
+Normalmente, man usar
+.B @pager@.
+.TP
+.B \-\^S " lista_sec"
+Fornece a lista de seces (separadas por ,) onde procurar e por que
+ordem. Esta opo substitui o que indicado pela varivel
+.B MANSECT
+quando esta est definida.
+.TP
+.B \-\^a
+Normalmente man mostra o primeiro manual que encontrar. Esta opo
+faz com que mostre todas as pginas de manuais encontradas para a entrada
+.B nome.
+.TP
+.B \-\^d
+No mostra o manual, imprimindo vria informao para `debug'.
+.TP
+.B \-\^f
+Equivalente a
+.B whatis.
+.TP
+.B \-\^h
+Imprime apenas uma mensagem de ajuda.
+.TP
+.B \-\^k
+Equivalente a
+.B apropos.
+.TP
+.B \-\^m " sistema"
+Indica um conjunto de manuais diferente aplicveis ao sistema indicado.
+.TP
+.B \-\^p " string"
+Especifica uma sequncia de preprocessadores a usar antes de nroff ou
+troff (os formatadores). Algumas instalaes podem no ter todos os
+preprocessadores. Alguns preprocessadores e as letras a usar para os
+indicar so:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Esta opo sobrepe-se varivel
+.B MANROFFSEQ.
+.TP
+.B \-\^t
+Usar
+.B @troff@
+para formatar as pginas do manual. A sada deste comando
+pode ter ainda de ser processada por outro antes de a poder
+imprimir.
+.TP
+.B \-\^w \fRor\fP \-\-path
+No imprime as pginas do manual, mas mostra a(s) localizao(es) dos
+ficheiros a formatar e mostrar, para a entrada de
+.B nome
+indicado. Se no fornecer mais nenhuma opo mostra a lista de
+directrios que sero percorridos por
+.B man
+nas suas buscas. Se
+.B manpath
+ um `link' para man, ento "manpath" equivalente a "man --path".
+
+.SH AMBIENTE
+.TP \w'MANROFFSEQ\ \ 'u
+.B MANPATH
+Se
+.B MANPATH
+estiver definido, o seu valor ser usado como a lista de directrios
+(manpath) onde podem estar entradas do manual.
+.TP
+.B MANROFFSEQ
+Se
+.B MANROFFSEQ
+est definido, o seu valor determina os preprocessamentos a aplicar
+antes de nroff ou troff. Normalmente, as pginas de manual, so
+preprocessadas pelo tbl antes de nroff.
+.TP
+.B MANSECT
+Se
+.B MANSECT
+existir, o seu valor indica as seces a percorrer.
+.TP
+.B PAGER
+Se
+.B PAGER
+est definido, indicar o programa a usar para mostrar o manual.
+Normalmente usar
+.B @pager@.
+.SH "VEJA TAMBM"
+apropos(1), whatis(1), less(1), groff(1).
+.SH BUGS
+.B \-t
+s funciona se existir o programa troff ou equivalente.
diff --git a/man/pt/whatis.man b/man/pt/whatis.man
new file mode 100644
index 0000000..7b39873
--- /dev/null
+++ b/man/pt/whatis.man
@@ -0,0 +1,30 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "5/1/1991"
+.LO 1
+.SH NOME
+whatis \- procura palavras numa base de dados prpria
+.SH SINOPSE
+.BI whatis
+palavra_chave ...
+.SH DESCRIO
+whatis procura numa base de dados contendo breves descries dos comandos,
+as palavras chave indicadas. S quando uma palavra completa igual a uma
+.B palavra_chave
+ser mostrada a respectiva descrio.
+
+A base de dados do "whatis" criada usando o comando @makewhatis@.
+.SH "VEJA TAMBM"
+apropos(1), man(1).
diff --git a/man/ro.txt b/man/ro.txt
new file mode 100644
index 0000000..1ea12dc
--- /dev/null
+++ b/man/ro.txt
@@ -0,0 +1 @@
+romanian
diff --git a/man/ro/apropos.man b/man/ro/apropos.man
new file mode 100644
index 0000000..aa86ad2
--- /dev/null
+++ b/man/ro/apropos.man
@@ -0,0 +1,32 @@
+.\"
+.\" Generated automatically from apropos.1.in by the
+.\" configure script.
+.\"
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH apropos 1 "15 Ian 1991"
+.LO 1
+.SH NUME
+apropos \- caut iruri de caractere n baza de date whatis
+.SH SUMAR
+.BI apropos
+cuvnt_cheie ...
+.SH DESCRIERE
+apropos caut cuvinte cheie ntr-un set de baze de date coninnd scurte
+descrieri ale comenzilor sistem i afieaz rezultatul la ieirea
+standard (stdout).
+.SH "VEZI I"
+whatis(1), man(1).
diff --git a/man/ro/makewhatis.man b/man/ro/makewhatis.man
new file mode 100644
index 0000000..e4b1e0e
--- /dev/null
+++ b/man/ro/makewhatis.man
@@ -0,0 +1,96 @@
+.\" Copyright (c) 1999 Ottavio G. Rizzo <rizzo@pluto.linux.it>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.\"
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH MAKEWHATIS 8 "22 Ianuarie 1999"
+.SH NUME
+makewhatis \- Creaz baza de date whatis
+.SH SUMAR
+.BI "makewhatis [-u] [-v] [-w] [-s " seciuni " ] [-c [" cale_cat "]] [" cale_man "]"
+.SH DESCRIERE
+.B makewhatis
+citete toate paginile de manual coninute n
+.IR seciunile " date n " cale_man
+sau paginile preformatate coninute n
+.IR seciunile " din " cale_cat .
+Pentru fiecare pagin, scrie o linie n baza de date whatis; fiecare
+linie const n numele paginii i o scurt descriere, separate de o
+liniut. Descrierea este extras folosind coninutul seciunii NUME din
+pagina de manual.
+.LP
+Din moment ce alte limbi folosesc un termen diferit pentru seciunea NUME,
+.B makewhatis
+recunoate termenii echivaleni n ceh, italian, finlandez, francez,
+german i spaniol.
+.LP
+Dac nici un argument
+.I cale_man
+nu este furnizat,
+.I /usr/man
+este considerat implicit.
+.SH OPIUNI
+.TP
+.B -u
+Actualizeaz baza de date cu pagini noi.
+.TP
+.B -v
+Operaii explicite
+.TP
+.B -w
+Folosete cale_man obinut din `man --path`
+.TP
+.BI -s " seciuni"
+Caut n
+.I seciuni
+ale
+.IR cale_man " sau " cale_cat .
+Dac opiunea este absent, valoarea sa este considerat a fi
+.I \'1 2 3 4 5 6 7 8 9 n l\'
+.TP
+.BI -c " cale_cat"
+Paginile preformatate de manual aflate n
+.I cale_cat
+sunt scanate. Dac argumentul nu este furnizat, este considerat a fi
+primul director existent ntre
+.IR /usr/man/preformat " i " /usr/man .
+.SH EXEMPLE
+.PP
+Pentru a recrea doar
+.IR /usr/X11R6/man/whatis " i " /usr/local/man/whatis
+.IP
+makewhatis /usr/X11R6/man /usr/local/man
+.PP
+Pentru a recrea toate bazele de date, inclusiv cele cu traducerile
+finlandeze, franceze i italiene
+.IP
+LANGUAGE=fi:fr:it makewhatis -w
+.SH ERORI
+.B makewhatis
+ar putea s nu manipuleze prea bine paginile de manual scrise cu
+macrouri troff nestandard, cum ar fi paginile Tcl/Tk.
+.PP
+.B makewhatis
+nu funcioneaza pentru traducerile preformatate.
+.SH VEZI I
+.BR apropos (1),
+.BR man (1),
+.BR whatis (1)
diff --git a/man/ro/man.conf.man b/man/ro/man.conf.man
new file mode 100644
index 0000000..454c609
--- /dev/null
+++ b/man/ro/man.conf.man
@@ -0,0 +1,42 @@
+.\" @(#)man.conf
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH MAN.CONF 5 "30 Mar 1994"
+.SH NUME
+man.conf \- date de configurare pentru man
+.SH DESCRIERE
+.LP
+Acest fiier este citit de
+.BR man (1)
+i conine (a) informaii despre cum se construiete calea de cutare
+pentru man, (b) ci complete pentru diferite programe ca nroff, eqn, tbl
+etc. folosite de man, i (c) o list cu decomprimatoare pentru fiierele
+cu o anumit extensie. O versiune alternativ a acestui fiier poate fi
+specificat cu
+.LP
+.RS
+man -C man_privat.conf ...
+.RE
+.LP
+Numele de comenzi pot fi completate cu opiuni. Opiuni folositoare
+pentru nroff pot fi gsite n grotty(1). De exemplu, n loc de linia
+implicit
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+se poate scrie
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+pentru a elimina sublinierea i tierea.
+.SH "VEZI I"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) i compress(1), gzip(1).
+
diff --git a/man/ro/man.man b/man/ro/man.man
new file mode 100644
index 0000000..62aa3a6
--- /dev/null
+++ b/man/ro/man.man
@@ -0,0 +1,434 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH man 1 "2 Septembrie 1995"
+.LO 1
+.SH NUME
+man \- formateaz i afieaz paginile de manual
+.br
+manpath \- determin calea de cutare a utilizatorului pentru paginile
+de manual
+.SH SUMAR
+.B man
+.RB [ \-acdfFhkKtwW ]
+.RB [ --path ]
+.RB [ \-m
+.IR sistem ]
+.RB [ \-p
+.IR ir ]
+.RB [ \-C
+.IR fiier_configurare ]
+.RB [ \-M
+.IR list_ci ]
+.RB [ \-P
+.IR paginator ]
+.RB [ \-S
+.IR list_seciuni ]
+.RI [ seciune ]
+.I "nume ..."
+
+.SH DESCRIERE
+.B man
+formateaz i afieaz paginile de manual. Dac specificai
+.IR seciune ,
+.B man
+caut doar n acea seciune a manualului.
+.I nume
+este n mod normal numele paginii de manual, care este de obicei numele
+unei comenzi, funcii, sau fiier. Totui, dac
+.I nume
+conine un slash
+.RB ( / )
+atunci
+.B man
+l interpreteaz ca o specificare de fiier, astfel nct putei executa
+.B "man ./foo.5"
+sau chiar
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+.PP
+Vedei mai jos pentru o descriere a locurilor unde caut
+.B man
+fiierele cu paginile de manual.
+
+.SH OPIUNI
+.TP
+.B \-\^C " fiiier_configurare"
+Specific fiierul de configurare care se va folosi; inplicit este
+.BR @man_config_file@ .
+(Vezi
+.BR man.conf (5).)
+.TP
+.B \-\^M " cale"
+Specific lista de directoare unde se caut paginile man. Separai
+directoarele cu dou puncte (:). O list goal este echivalent cu a nu
+specifica
+.B \-M
+de loc. Vezi i
+.BR "CALEA DE CUTARE A PAGINILOR MAN" .
+.TP
+.B \-\^P " paginator"
+Specific ce paginator de va folosi.
+Aceast opiune ignor variabila de mediu
+.B MANPAGER
+, care n schimb ignor variabila
+.BR PAGER .
+Implicit,
+.B man
+folosete
+.BR @pager@ .
+.TP
+.B \-\^S " list_seciuni"
+Lista este un ir de seciuni de manual care vor fi cutate, desprite
+prin dou puncte (:). Aceast opiune ignor variabila de mediu
+.BR MANSECT .
+.TP
+.B \-\^a
+Implicit, executia
+.B man
+se va termina dup afiarea primei pagini de manual pe care o gsete.
+Folosirea acestei opiuni foreaz
+.B man
+s afieze toate paginila de manual care verific
+.B nume,
+nu doar prima.
+.TP
+.B \-\^c
+Reformateaz pagina man surs, chiar dac exist o pagin cat
+actualizat. Acest lucru poate fi important dac pagina cat a fost
+formatat pentru un ecran cu un numr diferit de coloane, sau dac
+pagina preformatat este alterat.
+.TP
+.B \-\^d
+Nu afieaz efectiv paginile man, ci tiprete multe informaii de
+depanare.
+.TP
+.B \-\^D
+Afieaz att paginile man, ct i informaii de depanare.
+.TP
+.B \-\^f
+Echivalent cu
+.BR whatis .
+.TP
+.BR \-\^F " sau " \-\-preformat
+Doar formateaz - nu afieaz.
+.TP
+.B \-\^h
+Tiprete un mesaj de ajutor i termin execuia.
+.TP
+.B \-\^k
+Echivalent cu
+.BR apropos .
+.TP
+.B \-\^K
+Caut irul de caractere specificat n *toate* paginile man.
+Avertisment: aceasta este probabil o operaie foarte lent! Ajut
+specificarea unei seciuni. (Pentru a da o idee general, pe maina mea
+aceasta dureaz aproape un minut pentru 500 pagini man.)
+.TP
+.B \-\^m " sistem"
+Specific un set alternativ de pagini man de cutat, bazat pe numele de
+sistem dat.
+.TP
+.B \-\^p " ir"
+Specific secvena de preprocesoare ce vor fi rulate nainte de
+.B nroff
+sau
+.BR troff .
+Nu toate instalrile vor avea un set complet de preprocesoare. Unele din
+preprocesoare i literele folosite pentru a le desemna sunt: eqn (e),
+grap (g), pic (p), tbl (t), vgrind (v), refer (r). Aceast opiune duce
+la ignorarea variabilei de mediu
+.BR MANROFFSEQ .
+.TP
+.B \-\^t
+Folosete
+.B @troff@
+pentru a formata pegina man, trimind rezultatul la ieirea standard
+.BR (stdout) .
+Rezultatul comenzii
+.B @troff@
+ar putea necesita s fie trecut printr-un filtru nante de a fi tiprit.
+.TP
+.B \-\^w \fRsau\fP \-\-path
+Nu afieaz efectiv paginile man, ci tiprete locaia(ile) fiierelor
+care ar fi formatate sau afiate. Dac nici un argument nu este dat:
+afieaz (la ieirea standard (stdout)) lista directoarelor n care sunt
+cutate de
+.B man
+paginile man. Dac
+.B manpath
+este o legtur la man, atunci "manpath" este echivalent cu "man --path".
+.TP
+.B \-\^W
+Ca \-\^w, dar afieaz numele de fiiere unul pe linie, fr informaii adiionale.
+Aceast opiune este util n comenzi shell ca
+.ft CW
+.B "man -aW man | xargs ls -l"
+.ft
+
+.SH "PAGINILE CAT"
+Man va ncerca s salveze paginile man formatate, pentru a reduce timpul
+de formatare data viitoare cnd aceste pagini sunt necesare.
+Tradiional, versiunile formatate ale paginilor din DIR/manX sunt
+salvate n DIR/catX, dar alte mapri de la directorul man la directorul
+cat pot fi specificate n
+.BR @man_config_file@ .
+Nici o pagin cat nu este salvat dac directorul cat necesar nu exist.
+.PP
+Este posibil s facei
+.B man
+suid la un utilizator man. Atunci, dac un director cat are proprietar
+man i modul 0755 (scriere doar de ctre man), i fiierele cat au
+proprietarul man i modul 0644 sau 0444 (scriere doar de ctre man, sau
+nici o permisiune de scriere), nici un utilizator normal nu poate
+modifica paginile cat sau s pun alte fiiere n directorul cat. Dac
+.B man
+nu este fcut suid, atunci un director cat ar trebui s aib modul 0777
+dac toi utilizatorii trebuie s poat lsa pagini cat acolo.
+.PP
+Opiunea
+.B \-c
+foreaz reformatarea unei pagini, chiar dac exist o pagin cat
+recent.
+
+.SH "CALEA DE CUTARE A PAGINILOR MAN"
+.B man
+folosete o metod sofisticat pentru a gsi paginile de manual, bazat
+pe opiuni de apelare i variabile de mediu, fiierul de configurare
+.B @man_config_file@
+i anumite convenii i euristici.
+.PP
+nainte de toate, cnd argumentul
+.I nume
+al
+.B man
+conine un slash
+.RB ( / ),
+.B man
+consider c este un specificator de fiier i nu se efectueaz nici o
+cutare.
+.PP
+Dar n cazul normal n care
+.I nume
+nu conine un slash,
+.B man
+caut n o mulime de directoare un fiier care a putea fi o pagin de
+manual pentru subiectul numit.
+.PP
+Dac specificai opiunea
+.BI "-M " list_ci\fR,
+.I list_ci
+este o list de directoare desprite prin dou puncte (:) n care caut
+.BR man .
+.PP
+Dac nu specificai
+.B -M
+dar setai variabila de mediu
+.BR MANPATH ,
+valoarea acestei variabile este lista de directoare n care caut
+.BR man .
+.PP
+Dac nu specificai explicit o list de ci cu
+.B -M
+sau
+.BR MANPATH ,
+.B man
+i creeaz propria list de ci bazat pe coninutul fiierului de
+configurare
+.BR @man_config_file@ .
+Declaraiile
+.B MANPATH
+din fiierul de configurare definesc anumite directoare care s fie
+incluse n calea de cutare.
+.PP
+Mai mult, declaraiile
+.B MANPATH_MAP
+se adaug la calea de cutare depinznd de calea de cutare a
+comenzilor (de ex. variabila de mediu
+.BR PATH ).
+Pentru fiecare director care este n calea de cutare a comenzilor, o
+declaraie
+.B MANPATH_MAP
+specific un director care trebuie c fie adugat la calea de cutare a
+fiierelor cu paginile de manual.
+.B man
+analizeaz variabila
+.B PATH
+i adaug directoarele corespunztoare la calea de cutare a fiierelor
+cu paginile de manual. Astfel, prin folosirea corect a
+.BR MANPATH_MAP ,
+cnd executai comanda
+.BR "man xyz" ,
+obinei o pagin de manual pentru programul care ar rula dac ai
+executa comanda
+.BR xyz .
+.PP
+n plus, pentru fiecare director n calea de cutare a comenzilor (o vom
+denumi "director de comenzi") pentru care
+.I nu
+avei o declaraie
+.BR MANPATH_MAP ,
+.B man
+caut n mod automat un director cu pagini de manual "nvecinat",
+respectiv ca un subdirector al directorului de comenzi sau n directorul
+printe al directorului de comenzi.
+.PP
+Putei dezactiva cutarea "nvecinat" automat incluznd o declaraie
+.B NOAUTOPATH
+n
+.BR @man_config_file@ .
+.PP
+n fiecare director din calea de cutare descris mai sus,
+.B man
+caut un fiier numit
+.IB topic . section\fR,
+cu un sufix opional la numrul seciunii i posibil un sufix de
+compresie. Dac nu gsete un astfel de fiier, caut n orice
+subdirectoare numite
+.BI man N
+sau
+.BI cat N
+unde
+.I N
+este numrul seciunii de manual.
+Dac fiierul este ntr-ul subdirector
+.BI cat N\fR,
+.B man
+consider c este o pagin de manual formatat (pagin cat). Altfel,
+.B man
+consider c este neformatat. n oricare caz, dac numele fiierului
+are un sufix cunoscut de compresie (ca
+.BR .gz ),
+.B man
+consider c este comprimat cu gzip.
+.PP
+Dac doriie s vedei unde (sau dac)
+.B man
+ar gsi pagina de manual pentru un anumit subiect, folosii opiunea
+.BR "--path " ( -w ).
+
+.SH "VARIABILE DE MEDIU"
+.TP
+.B MANPATH
+Dac
+.B MANPATH
+este setat,
+.B man
+o folosete drept cale de cutare a fiierelor cu paginile de manual. Ignor fiierul de configurare i
+calea de cutare automat, dar este ignorat de opiunea de apelare
+.BR -M .
+Vezi i
+.BR "CALEA DE CUTARE A PAGINILOR MAN" .
+.TP
+.B MANPL
+Dac
+.B MANPL
+este setat, valoarea ei este folosit ca lungimea paginii afiate.
+Altfel, ntreaga pagin man va ocupa o singur pagin (lung).
+.TP
+.B MANROFFSEQ
+Dac
+.B MANROFFSEQ
+este setat, valoarea ei este folosit pentru determinarea setului de
+preprocesoare rulate nainte de a rula
+.B nroff
+sau
+.BR troff .
+Implicit, paginile sunt trecute prin preprocesorul tbl nainte de
+.BR nroff .
+.TP
+.B MANSECT
+Dac
+.B MANSECT
+este setat, valoare ei este folosit pentru a determina n ce seciune
+de manual s se caute.
+.TP
+.B MANWIDTH
+Dac
+.B MANWIDTH
+este setat, valoare ei este folosit ca limea pe care paginile de
+manual ar trebui s fie afiate. Altfel paginile ar putea fi afiate
+peste limea ecranului.
+.TP
+.B MANPAGER
+Dac
+.B MANPAGER
+este setat, valoarea ei este folosit ca numele programului ce va fi
+folosit pentru a afia pagina man. Dac nu, atunci
+.B PAGER
+este folosit. Dac nici aceasta nu are o valoare,
+.B @pager@
+este folosit.
+.TP
+.B LANG
+Dac
+.B LANG
+este setat, valoarea ei definete numele subdirectorului unde man caut
+prima dat paginile man. Astfel, comanda `LANG=dk man 1 foo' va
+determina man s caute pagina man foo n .../dk/man1/foo.1 i dac nu
+poate gsi un astfel de fiier, n .../man1/foo.1, unde ... este un
+director n calea de cutare.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Variabilele de mediu
+.B NLSPATH
+i
+.B LC_MESSAGES
+(sau
+.B LANG
+cnd ultima nu exist) joac un rol n localizarea catalogului de
+mesaje. (Dar mesajele n englez sunt incluse la compilare i pentru
+englez nu este necesar nici un catalog.) Notai c programe apelate de
+man ca
+.BR col(1)
+folosesc i ele de ex. LC_CTYPE.
+.TP
+.B PATH
+.B PATH
+ajut la determinarea cii de cutare a fiierelor cu paginile de
+manual. Vezi i
+.BR "CALEA DE CUTARE A PAGINILOR MAN" .
+.TP
+.B SYSTEM
+.B SYSTEM
+este folosit pentru a obine numele implicit al sistemului alternativ
+(pentru a fi utilizat cu opiunea
+.BR \-m ).
+.SH "VEZI I"
+apropos(1), whatis(1), less(1), groff(1), man.conf(5).
+.SH ERORI
+Opiunea
+.B \-t
+funcioneaz doar dac un program gen troff este instalat.
+.br
+Dac vedei \e255 sau <AD> clipind n loc de liniue, setai
+`LESSCHARSET=latin1' n mediu.
+.SH SFATURI
+Dac adugai linia
+
+ (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))
+
+n fiierul dumneavoastr
+.IR .emacs\fR,
+apsnd F1 vei obine pagina man pentru apelul de librrie la poziia
+curent a cursorului.
+.LP
+Pentru a obine o versiune doar text a paginii man, fr backspace i
+liniue de subliniere (underscore), ncercai
+
+ # man foo | col -b > foo.mantxt
+
diff --git a/man/ro/man2html.man b/man/ro/man2html.man
new file mode 100644
index 0000000..ebe05d0
--- /dev/null
+++ b/man/ro/man2html.man
@@ -0,0 +1,144 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH man2html 1 "1 Ianuarie 1998"
+.LO 1
+.SH NUME
+man2html \- formateaz o pagin de manual n html
+.SH SUMAR
+man2html [opuni] [fiier]
+.SH DESCRIERE
+.B man2html
+convertete o pagin de manual aa cum se gsete n
+.I fiier
+(sau intrarea standard (stdin), n caz c argumentul fiier lipsete,
+sau argumentul "-" este folosit) din stilul man nroff n html, i
+tiprete rezultatul la ieirea standard (stdout). Suport tbl dar nu
+tie de eqn. Starea de ieire este 0. Dac ceva merge eronat, o pagin
+de eroare este tiprit la ieirea standard (stdout).
+
+Poate fi folosit ca un utilitar de sine stttor, dar este n principal
+conceput ca un auxiliar, pentru a permite utilizatorilor s navigheze
+prin paginile de manual folosind un navigator html ca
+.BR lynx (1),
+.BR xmosaic (1)
+sau
+.BR netscape (1).
+./" (Vezi
+./" .BR man (1)
+./" pentru informaii despre cum s navighezi prin paginile de manual cu
+./" .BR man2html .
+./" De obicei este suficient adugarea "MANHTMLPAGER=/usr/bin/lynx"
+./" la mediu.)
+
+Partea principal a
+.B man2html
+este motorul troff-to-html scris de Richard Verhoeven (rcb5@win.tue.nl).
+Adaug legturi pentru urmtoarele construcii:
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://ir "method://ir"
+www.nume.gazd "http://www.nume.gazd"
+ftp.nume.gazd "ftp://ftp.nume.gazd"
+nume@gazd "mailto:nume@gazd"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+(Primele din acestea pot fi modificate cu opiuni - vezi mai jos.) Nici
+o verificare nu este fcut - legturile generate nu trebuie s existe.
+De asemenea, este generat un cuprins cu legturi interne spre diverse
+seciuni, astfel nct este mai uor pentru cineva s se descurce n
+paginile mari de manual ca
+.BR bash (1).
+
+.SH OPIUNI
+Cnd se citete de la intrarea standard, nu este ntotdeauna clar cum s
+se fac expansiunea .so. Opiunea \-D permite unui script s defineasc
+directorul de lucru.
+.LP
+.TP
+.B \-\^D cale
+Elimin ultimele dou pri din cale, i face un
+\fIchdir\fP(\fIdir\fP) nainte de a ncepe conversia.
+.LP
+Opiunea \-E permite generarea uoar a mesajelor de eroare dintr-un
+script cgi.
+.LP
+.TP
+.B \-\^E ir
+Produce o pagin de eroare coninnd mesajul de eroare dat.
+.LP
+Forma general a unei legturi generate pentru o referin la o pagin
+de manual este
+.IP
+<metod:cale_cgi><cale_man2html><separator><pagin_man>
+.LP
+cu o form implicit ca mai sus. Prile acestei legturi sunt
+configurate folosind diverse opiuni.
+.TP
+.B \-\^h
+Configureaz metod:cele_cgi ca http://localhost. Aceast opiune este implicit.
+.TP
+.BI \-\^H " gazd[.domeniu][:port]"
+Configureaz metod:cale_cgi ca
+.RI http:// gazd.domeniu:port .
+.TP
+.B \-\^l
+Configureaz metod:cale_cgi ca
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+Configureaz metod:cale_cgi ca
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " cale_man2html"
+Configureaz cale_man2html care va fi folosit. Implicit ea este
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+Configureaz separatorul ca '/'.
+.TP
+.B \-\^q
+Configureaz separatorul ca '?'. Aceast opiune este implicit.
+.LP
+Pe o main care nu ruleaz
+.BR httpd ,
+se poate folosi
+.B lynx
+pentru a naviga prin paginile de manual, folosind metoda lynxcgi. Cnd
+un demon http ruleaz, lynx, sau orice alt navigator, poate fi folosit
+pentru a naviga prin paginile de manual, folosind metoda http. Opiunea
+\-l (pentru `lynxcgi') selecteaz comportamentul precedent. Cu ea,
+cale_cgi este \fI/home/httpd\fP.
+
+n general, un script cgi poate fi apelat prin
+.IP
+<cale_la_script>/<mai_mult_cale>?<cerere>
+.LP
+i variabilele de mediu PATH_INFO i QUERY_STRING vor fi configurate ca
+<mai_mult_cale> i respectiv <cere>. Din moment ce lynxcgi nu trateaz
+partea PATH_INFO, generm legturi cu `?' drept separator n mod
+implicit. Opiunea \-p (de la eng. `path' (cale)) selecteaz '/' ca
+separator, n timp ce opiunea \-q (de la eng. `query'(cerere))
+selecteaz '?' ca separator.
+
+Opiunea \-H \fIgazd\fP va specifica gazda care va fi folosit (n loc
+de \fIlocalhost\fP). Un script cgi ar putea folosi
+.IP
+man2html -H $SERVER_NAME
+.LP
+dac variabila SERVER_NAME este configurat. Aceasta ar permite mainii
+s se comporte ca un server i s exporte pagini de manual.
+
+.SH ERORI
+Sunt multe euristici. Rezultatul nu va fi ntotdeauna perfect. Metoda
+lynxcgi nu va funciona dac lynx a fost compilat fr a selecta suport
+pentru ea. Ar putea fi probleme de securitate.
+
+.SH "VEZI I"
+.BR lynx (1),
+.BR man (1)
diff --git a/man/ro/whatis.man b/man/ro/whatis.man
new file mode 100644
index 0000000..0efed35
--- /dev/null
+++ b/man/ro/whatis.man
@@ -0,0 +1,34 @@
+.\"
+.\" Generated automatically from whatis.1.in by the
+.\" configure script.
+.\"
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Traducere de Ovidiu Constantin <ovidiu.soft@xnet.ro>
+.TH whatis 1 "5 Ian 1991"
+.LO 1
+.SH NUME
+whatis \- caut cuvinte complete n baza de date whatis.
+.SH SUMAR
+.BI whatis
+cuvnt_cheie ...
+.SH DESCRIERE
+whatis caut ntr-un set de baze de date coninnd scurte descrieri ale
+comenzilor sistem cuvinte cheie i afieaz rezultatul la ieirea
+standard (stdout). Doar rezultatele complete sunt afiate.
+
+Baza de date whatis este creat folosind comanda @makewhatis@.
+.SH "VEZI I"
+apropos(1), man(1).
diff --git a/man/sl.txt b/man/sl.txt
new file mode 100644
index 0000000..70dd991
--- /dev/null
+++ b/man/sl.txt
@@ -0,0 +1 @@
+slovenian
diff --git a/man/sl/apropos.man b/man/sl/apropos.man
new file mode 100644
index 0000000..833441f
--- /dev/null
+++ b/man/sl/apropos.man
@@ -0,0 +1,29 @@
+.\" Man page for apropos
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Slovenski prevod Primo Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>,
+.\" julij 1996.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH apropos 1 "15. januar 1991"
+.LO 1
+.SH IME
+apropos \- poii kljuno besedo v datoteki whatis
+.SH SINTAKSA
+.BI apropos
+kljuna_beseda ...
+.SH OPIS
+apropos preie za kljuno besedo mnoico datotek, ki vsebujejo
+kratke opise sistemskih ukazov, in izpie rezultat na standardni
+izhod.
+.SH "GLEJ TUDI"
+whatis(1), man(1).
diff --git a/man/sl/man.conf.man b/man/sl/man.conf.man
new file mode 100644
index 0000000..69f275f
--- /dev/null
+++ b/man/sl/man.conf.man
@@ -0,0 +1,42 @@
+.\" @(#)man.conf
+.TH MAN.CONF 5 "30. marec 1994"
+.SH IME
+man.conf \- nastavitvena datoteka za program man
+.SH OPIS
+.LP
+To datoteko prebere program
+.BR man (1).
+Vsebuje (a) informacijo o sestavljanju poti, v katerih man ie
+strani prironika, (b) celotne poti do programov, ki jih man
+uporablja, kot npr. nroff, eqn, tbl itd., ter (c) seznam
+programov, ki znajo dekompresirati datoteke z doloenimi priponami.
+Alternativo privzeti verziji te datoteke lahko doloimo z izbiro
+.LP
+.RS
+man -C privatni_man.conf ...
+.RE
+.LP
+Ukazi so lahko navedeni skupaj z izbirami. Nekaj uporabnih izbir
+za nroff lahko najdete na strani grotty(1).
+Na primer, namesto privzete vrstice
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1
+.fi
+.RE
+.LP
+lahko navedemo
+.LP
+.RS
+.nf
+NROFF /usr/bin/groff -mandoc -Tlatin1 -P-u -P-b
+.fi
+.RE
+.LP
+in prepreimo podrtanje in polkrepki tisk z vekratnim odtisom
+(overstrike).
+.SH "GLEJTE TUDI"
+col(1), (g)eqn(1), (g)pic(1), groff(1), grotty(1), (g)refer(1), (g)tbl(1),
+less(1), man (1) and compress(1), gzip(1).
+
diff --git a/man/sl/man.man b/man/sl/man.man
new file mode 100644
index 0000000..a6856cc
--- /dev/null
+++ b/man/sl/man.man
@@ -0,0 +1,263 @@
+.\" Man page for man (and the former manpath)
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Slovenski prevod Primo Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>,
+.\" julij 1996.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" Many changes - aeb
+.\"
+.TH man 1 "2. september 1995"
+.LO 1
+.SH IME
+man \- oblikovanje in prikaz strani on-line prironika
+.br
+manpath \- prikaz poti do imenikov, kjer man ie prironike
+.SH SINTAKSA
+.\" man [\-acdfhkKtwW] [\-m system] [\-p string] [\-C config_file] [\-M path]
+.\" [\-P pager] [\-S section_list] [section] name ...
+man [\-adfhkKtwW] [\-m sistem] [\-p niz] [\-C nastavitvena_datoteka]
+[\-M pot] [\-P paginator] [\-S seznam_poglavij] [poglavje] ime ...
+.SH OPIS
+.B man
+oblikuje in prikae strani on-line prironika. Ta izvedba pozna
+spremenljivki
+.B MANPATH
+in
+.BR (MAN)PAGER ,
+tako da si lahko pripravite
+lasten nabor osebnih strani prironika in izberete va najljubi
+program za prikaz oblikovanih strani.
+e je doloeno
+.I poglavje,
+.B man
+ie samo v tem poglavju prironika.
+Iz ukazne vrstice ali prek spremenljivk okolja lahko doloite
+tudi vrsti red poglavij, ki jih
+.B man
+preie, ter katere predprocesorje se pred prikazom uporabijo na
+izvornem besedilu.
+e
+.I ime
+vsebuje znak /, se najprej preveri, e obstaja datoteka s tem
+imenom. Ukaz
+.B "man ./foo.5"
+ali celo
+.B "man /cd/foo/bar.1.gz\fR.\fP"
+sta zato povsem veljavna.
+.SH IZBIRE
+.TP
+.B \-\^C " nastavitvena_datoteka"
+Doloimo nastavitveno datoteko man.conf, ki jo elimo
+uporabljati; privzeta izbira je
+@man_config_file@. (glejte man.conf(5).)
+.TP
+.B \-\^M " pot"
+Doloimo seznam imenikov, v katerih se ie za stranmi
+prironika. e izbira ni podana, se uporabi spremenljivka okolja
+.B MANPATH
+e tudi spremenljivke s tem imenom ni, se uporabi privzeta izbira
+iz nastavitvene datoteke @man_config_file@.
+Prazen niz v MANPATH implicira privzet seznam imenikov.
+.TP
+.B \-\^P " paginator"
+Doloimo paginator. Ta izbira ima prednost pred spremenljivko
+okolja
+.B MANPAGER,
+ki ima nadalje prednost pred spremenljivko okolja
+.B PAGER.
+Privzeta izbira za paginator je
+.BR @pager@ .
+.TP
+.B \-\^S " seznam_poglavij"
+Seznam_poglavij je z dvopiji loen seznam poglavij prironika,
+v katerem se ie geslo. Ta izbira ima prednost pred
+spremenljivko okolja
+.B MANSECT.
+.TP
+.B \-\^a
+Sam po sebi man prikae prvo stran, ki ustreza imenu
+.B name.
+S to izbiro zahtevamo, da prikae vse strani, ki ustrezajo
+pogoju, ne le prve.
+.TP
+.B \-\^c
+Izrecno zahtevamo ponovno oblikovanje strani, etudi e
+oblikovana stran obstaja. Izbira je lahko smiselna, e je bila
+stran oblikovana za drugano irino zaslona.
+.TP
+.B \-\^d
+Ne prikai oblikovane strani, ampak le "debugging" informacije.
+.TP
+.B \-\^D
+Prikai tako oblikovano stran kot tudi "debugging" informacije.
+.TP
+.B \-\^f
+Isto kot
+.B whatis.
+.TP
+.B \-\^h
+Izpii eno vrstico navodila in konaj.
+.TP
+.B \-\^k
+Isto kot
+.B apropos.
+.TP
+.B \-\^K
+Preii *vse* strani prironika za dani niz. Pozor: to zelo
+verjetno vzame kar nekaj asa! Hitreje gre, e iskanje omejimo
+na poglavje.
+(Kot grob primer: na avtorjevem raunalniku traja iskanje prek
+500 strani prironika priblino minuto.)
+.TP
+.B \-\^m " sistem"
+Doloimo alternativni nabor strani prironika na podanem
+sistemu.
+.TP
+.B \-\^p " niz"
+Doloimo zaporedje predprocesorjev, ki se poenejo pred nroff ali
+troff.
+Nekateri od predprocesorjev, in njihove enorkovne okrajave:
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+Ni nujno, da so na vaem sistemu vsi nateti
+predprocesorji na voljo.
+Ta izbira ima prednost pred spremenljivko okolja
+.B MANROFFSEQ.
+.TP
+.B \-\^t
+Uporabi
+.B @troff@
+za oblikovanje strani prironika in usmeri izhod na standardni
+izhod
+.B stdout.
+Lahko, da je izhod iz
+.B @troff@
+pred tiskom potrebno obdelati s e kaknim filtrom.
+.TP
+.B \-\^w \fRali\fP \-\-path
+Ne prikai oblikovanih strani prironika, ampak pot do datotek,
+ki bi bile oblikovane in prikazane. e je izbira brez argumenta,
+prikai pot do imenikov, v katerih
+.B man
+ie strani prironika. e je
+.B manpath
+povezava na man, tedaj je "manpath" enakovredno "man --path".
+.TP
+.B \-\^W
+Kot \-\^w, le da prikae po eno ime datoteke v vrstici in brez
+dodatnih informacij.
+To je lahko uporabno v ukazih ukazne lupine, kot npr.
+.ft CW
+man -aW man | xargs ls -l
+.ft
+
+.SH "OBLIKOVANE STRANI"
+Man poskusi shraniti oblikovane strani in tako prihraniti as,
+potreben za oblikovanje, ko se stran naslednji rabi.
+Tradicionalno se oblikovane strani iz imenikov DIR/manX
+shranjujejo v imenike DIR/catX, drugaen dogovor glede preslikave
+med izvornimi in oblikovanimi razliicami pa je mono doloiti v
+@man_config_file@.
+Oblikovane strani se ne shranijo, e ustrezni imenik ne obstaja.
+.TP
+Program man je mono pripisati (SUID) uporabniku z imenom man. V
+tem primeru, kadar je imenik z oblikovanimi stranmi v lasti man,
+nain zaite pa 0755 (dovoljeno pisanje samo lastniku -- man),
+oblikovane datoteke pa so zaitene z 0644 ali 0444 (dovoljeno
+pisanje samo lastniku, ali pa sploh prepovedano pisanje), nihe
+od uporabnikov ne more ne more spreminjati oblikovanih strani ali
+puati svojih datotek v imeniku z oblikovanimi stranmi. e man
+ni v lasti (SUID) uporabnika man, mora biti imenik z oblikovanimi
+stranmi dovoljen za pisanje (0777), e naj bo tam vsem uporabnikom
+dovoljeno puati oblikovane strani.
+.TP
+Izbira \-\^c zahteva ponovno oblikovanje strani, etudi recentna
+oblikovana stran e obstaja.
+
+
+.SH SPREMENLJIVKE OKOLJA
+.TP
+.B MANPATH
+e nastavimo spremenljivko
+.B MANPATH,
+se njena vrednost uporabi za pot do strani prironika.
+.TP
+.B MANROFFSEQ
+e nastavimo spremenljivko
+.B MANROFFSEQ,
+z njeno vrednostjo doloimo zaporedje predprocesorjev, ki
+obdelajo stran pred nroff ali troff. Privzeta izbira je
+tabelarni predprocesor tbl.
+.TP
+.B MANSECT
+e nastavimo spremenljivko
+.B MANSECT,
+njena vrednost doloa poglavja v prironiku, v katerih man ie
+zahtevano stran.
+.TP
+.B MANWIDTH
+e nastavimo spremenljivko
+.B MANWIDTH,
+njena vrednost doloa irino zaslona, za katero se oblikujejo
+strani prironika. Privzeta izbira je cela irina zaslona.
+.TP
+.B MANPAGER
+e nastavimo spremenljivko
+.B MANPAGER,
+njena vrednost doloa paginator -- program, ki prikae oblikovano
+stran. e spremenljivka ni nastavljena, se uporabi vrednost
+spremenljivke
+.B PAGER.
+e tudi ta ni nastavljena, se uporabi privzeta izbira
+.B @pager@.
+.TP
+.B LANG
+e nastavimo spremenljivko
+.B LANG,
+njena vrednost doloa podimenik, v katerem man najprej poskusi
+poiskati stran prironika. Na primer, pri ukazu ,,LANG=dk man 1 foo''
+man najprej poskusi poiskati ustrezno stran prironika v
+datoteki .../dk/man1/foo.1, e ta ne obstaja, pa v .../man1/foo.1.
+Pri tem je ... eden od imenikov, v katerih man ie strani.
+.TP
+.B "NLSPATH, LC_MESSAGES, LANG"
+Spremenljivki
+.B NLSPATH
+in
+.B LC_MESSAGES
+(ali
+.B LANG
+e LC_MESSAGES ne obstaja)
+doloajo katalog s sporoili programa.
+(Angleka sporoila so izjema, ker so e vkljuena v program,
+tako da zanje ne potrebujemo posebnega kataloga.)
+Programi kot npr. col(1), ki ga klie man, prav tako uporabljajo
+lokalizacijske spremenljivke (npr. LC_CTYPE).
+.TP
+.B PATH
+.B PATH
+se uporablja za sestavljanje privzete poti, v katerih man ie
+strani prironika.
+.TP
+.B SYSTEM
+.B SYSTEM
+se uporablja za doloitev imena alternativnega sistema (z izbiro
+.B \-m).
+.SH "GLEJTE TUDI"
+apropos(1), whatis(1), less(1), groff(1).
+.SH NAPAKE
+The
+.B \-t
+deluje samo, kadar je na voljo troff ali drug enakovreden program.
+.br
+e namesto pomiljajev vidite utripajoe \e255 or <AD>, dodajte
+med spremenljivke okolja `LESSCHARSET=latin1'.
diff --git a/man/sl/whatis.man b/man/sl/whatis.man
new file mode 100644
index 0000000..40e391d
--- /dev/null
+++ b/man/sl/whatis.man
@@ -0,0 +1,31 @@
+.\" Man page for whatis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\" Slovenski prevod Primo Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>
+.\" avgust 1996
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.TH whatis 1 "5. januar 1991"
+.LO 1
+.SH IME
+whatis \- poii besedo v zbirki whatis.
+.SH SINTAKSA
+.BI whatis
+kljuna_beseda ...
+.SH OPIS
+whatis poskusi v podatkovnih zbirkah s kratkimi opisi sistemskih
+ukazov poiskati kljune besede in izpie rezultat na standardni
+izhod. Samo ujemanja celih besed se izpiejo.
+
+Podatkovno zbirko whatis napravimo z ukazom @makewhatis@.
+.SH "GLEJTE TUDI"
+apropos(1), man(1).
diff --git a/man2html/Makefile b/man2html/Makefile
new file mode 100644
index 0000000..ed1b981
--- /dev/null
+++ b/man2html/Makefile
@@ -0,0 +1,70 @@
+#
+# Generated automatically from Makefile.in by the
+# configure script.
+#
+CC = gcc -O
+CFLAGS += -Wall -Wstrict-prototypes -Wmissing-prototypes
+OBJECTS = man2html.o cgibase.o abbrev.o strdefs.o
+EXEEXT =
+bindir = $(DESTDIR)$(PREFIX)/usr/bin
+mandir = $(DESTDIR)$(PREFIX)/usr/share/man
+vardir = $(DESTDIR)$(PREFIX)/var
+httpdir = $(DESTDIR)$(PREFIX)/home/httpd
+cgiowner = nobody
+cgigroup = nobody
+
+all: man2html$(EXEEXT) hman
+
+man2html$(EXEEXT): $(OBJECTS)
+ $(CC) $(LDFLAGS) -o man2html$(EXEEXT) $(OBJECTS)
+
+# man2html: ../src/version.h
+
+# This installs the man2html utility
+install: man2html$(EXEEXT)
+ mkdir -p $(bindir)
+ install -m 755 man2html$(EXEEXT) $(bindir)
+ mkdir -p $(mandir)/man1
+ install -m 644 man2html.1 $(mandir)/man1/man2html.1
+
+install-scripts: install-man-scripts install-glimpse-stuff install-hman
+
+# These are the scripts that allow pointing a browser at
+# http://localhost/cgi-bin/man/man2html
+# to work.
+install-man-scripts:
+ mkdir -p $(httpdir)/cgi-bin/man
+ mkdir -p $(httpdir)/cgi-aux/man
+ install -m 755 scripts/cgi-bin/man/* $(httpdir)/cgi-bin/man
+ install -m 644 scripts/cgi-aux/man/* $(httpdir)/cgi-aux/man
+ install -d -o $(cgiowner) -g $(cgigroup) -m 775 $(vardir)/man2html
+# (aux was renamed to cgi-aux since aux causes problems under DOS)
+
+# If you have installed glimpse, and have compressed man pages,
+# then perhaps you also want these filters.
+install-glimpse-stuff:
+ install -m 644 glimpse_filters $(vardir)/man2html/.glimpse_filters
+
+# In order not to have to type a long command like
+# netscape http://localhost/cgi-bin/man/man2html?section+topic
+# or
+# lynx lynxcgi:/home/httpd/cgi-bin/man/man2html?section+topic
+# it is convenient to have some shell script as a wrapper.
+# The script hman can be aliased to man. It uses an environment
+# variable MANHTMLPAGER to find out which browser you use, and
+# you can set MANHTMLHOST if the pages are not on localhost.
+hman: hman.sh
+ rm -f hman
+ sed -e 's,%version%,man-1.6g,' hman.sh > hman
+
+install-hman: hman
+ install -m 555 hman $(bindir)/hman
+ install -m 644 hman.1 $(mandir)/man1/hman.1
+
+clean:
+ rm -f core hman man2html$(EXEEXT) $(OBJECTS) *~
+
+spotless: clean
+ rm -f Makefile
+
+$(OBJECTS): defs.h
diff --git a/man2html/Makefile.in b/man2html/Makefile.in
new file mode 100644
index 0000000..b41eaba
--- /dev/null
+++ b/man2html/Makefile.in
@@ -0,0 +1,66 @@
+CC = @CC@
+CFLAGS += -Wall -Wstrict-prototypes -Wmissing-prototypes
+OBJECTS = man2html.o cgibase.o abbrev.o strdefs.o
+EXEEXT = @EXEEXT@
+bindir = $(DESTDIR)$(PREFIX)/usr/bin
+mandir = $(DESTDIR)$(PREFIX)@mandir@
+vardir = $(DESTDIR)$(PREFIX)/var
+httpdir = $(DESTDIR)$(PREFIX)/home/httpd
+cgiowner = nobody
+cgigroup = nobody
+
+all: man2html$(EXEEXT) hman
+
+man2html$(EXEEXT): $(OBJECTS)
+ $(CC) $(LDFLAGS) -o man2html$(EXEEXT) $(OBJECTS)
+
+# man2html: ../src/version.h
+
+# This installs the man2html utility
+install: man2html$(EXEEXT)
+ mkdir -p $(bindir)
+ install -m 755 man2html$(EXEEXT) $(bindir)
+ mkdir -p $(mandir)/man1
+ install -m 644 man2html.1 $(mandir)/man1/man2html.@man1ext@
+
+install-scripts: install-man-scripts install-glimpse-stuff install-hman
+
+# These are the scripts that allow pointing a browser at
+# http://localhost/cgi-bin/man/man2html
+# to work.
+install-man-scripts:
+ mkdir -p $(httpdir)/cgi-bin/man
+ mkdir -p $(httpdir)/cgi-aux/man
+ install -m 755 scripts/cgi-bin/man/* $(httpdir)/cgi-bin/man
+ install -m 644 scripts/cgi-aux/man/* $(httpdir)/cgi-aux/man
+ install -d -o $(cgiowner) -g $(cgigroup) -m 775 $(vardir)/man2html
+# (aux was renamed to cgi-aux since aux causes problems under DOS)
+
+# If you have installed glimpse, and have compressed man pages,
+# then perhaps you also want these filters.
+install-glimpse-stuff:
+ install -m 644 glimpse_filters $(vardir)/man2html/.glimpse_filters
+
+# In order not to have to type a long command like
+# netscape http://localhost/cgi-bin/man/man2html?section+topic
+# or
+# lynx lynxcgi:/home/httpd/cgi-bin/man/man2html?section+topic
+# it is convenient to have some shell script as a wrapper.
+# The script hman can be aliased to man. It uses an environment
+# variable MANHTMLPAGER to find out which browser you use, and
+# you can set MANHTMLHOST if the pages are not on localhost.
+hman: hman.sh
+ rm -f hman
+ sed -e 's,%version%,@version@,' hman.sh > hman
+
+install-hman: hman
+ install -m 555 hman $(bindir)/hman
+ install -m 644 hman.1 $(mandir)/man1/hman.@man1ext@
+
+clean:
+ rm -f core hman man2html$(EXEEXT) $(OBJECTS) *~
+
+spotless: clean
+ rm -f Makefile
+
+$(OBJECTS): defs.h
diff --git a/man2html/README b/man2html/README
new file mode 100644
index 0000000..6dabd52
--- /dev/null
+++ b/man2html/README
@@ -0,0 +1,91 @@
+This directory contains the following.
+
+1. man2html
+
+This is a pure manroff -> html converter.
+No manpath search etc.
+
+Call: man2html [-l | -H host.domain:port] [filename]
+
+The contents of FILENAME (or STDIN, in case FILENAME is "-" or absent)
+are converted from man-style nroff to html, and printed on STDOUT.
+
+With "-l" URLs of the form "lynxcgi:/home/httpd/cgi-bin/..." are generated.
+With "-H host" we make URLs of the form "http://host/cgi-bin/...".
+The default is "http://localhost/cgi-bin/...".
+
+2. A collection of scripts
+
+This part is not installed by "make install" of the global Makefile.
+There are security considerations: it is very unlikely that these
+scripts (still in alpha) are secure, so for the time being they
+should only be used where security is not a major concern.
+
+If you are not afraid, or are not running a httpd, do
+"make install-scripts" in this directory.
+This does three things: install man stuff, install glimpse stuff,
+and install user interface stuff.
+
+2A. man stuff
+
+This first part (that can be done separately with "make install-man-scripts")
+puts various scripts under /home/httpd/cgi-bin and /home/httpd/cgi-aux
+in a subdirectory man.
+It will create a directory /var/man2html to hold the indices.
+(This directory should be writable by the cgi scripts;
+probably that means that the owner should be nobody.
+Choose a group and add all non-httpd users that should be
+able to write this directory to that group.)
+
+Structure of the collection of scripts:
+ man2html is the main script.
+ It uses man.aux when called without arguments.
+ It uses manwhatis when asked for an index of manpages+descriptions.
+ It uses mansec when asked for a compact index of manpages.
+ It uses mansearch when asked for a glimpse search.
+ In its turn mansearch uses mansearch.aux when called
+ without arguments. It uses mansearchhelp (which uses
+ mansearchhelp.aux) when asked for help.
+
+2B. glimpse stuff
+The second part (that can be done separately with
+"make install-glimpse-stuff") installs .glimpse_filters
+in /var/man2html, in order to tell glimpse what decompressors to use.
+
+2C. user interface stuff
+The third part (that can be done separately with "make install-hman")
+installs a user interface to these scripts in /usr/bin/hman.
+Now people can say
+ alias man=/usr/bin/hman
+and have a man that uses a html browser.
+The browser is chosen via environment variables - look at the script.
+
+3. Glimpse.
+
+For the glimpse part, I quote Michael Hamilton:
+----------------------------------------------------------------------
+To use the Glimpse full text searching, you will need to install
+glimpse in /usr/bin. Redhat rpm users can get glimpse from
+
+ ftp://ftp.redhat.com/pub/contrib/i386/glimpse-4.0-6.i386.rpm
+
+The glimpse home ftp site is cs.arizona.edu. N.B. glimpse is not
+freely redistributable for commercial use, I'd be very interested in a
+more liberal alternative. Having installed glimpse, you will need to
+build a glimpse index in /var/man2html. This doesn't take too long -
+about 3 minutes on my 486DX2/66 16MB machine. As root do:
+
+ /usr/bin/glimpseindex -z -H /var/man2html /usr/man/man* /usr/X11R6/man/man* \
+ /usr/local/man/man* /opt/man/man*
+ chmod ugo+r /var/man2html/.glimpse*
+
+The -z option causes glimpse to apply any filters (for decompression etc)
+specified in /var/man2html/.glimpse_filters.
+
+This could be set up as a cron job in /etc/crontab, e.g. (the following
+must be all on one line):
+
+ 21 04 * * 1 root /usr/bin/glimpseindex -z -H /var/man2html /usr/man/man*
+ /usr/X11R6/man/man* /usr/local/man/man* /opt/man/man* ;
+ chmod +r /var/man2html/.glimpse*
+--------------------------------------------------------------------------
diff --git a/man2html/TODO b/man2html/TODO
new file mode 100644
index 0000000..b0101ad
--- /dev/null
+++ b/man2html/TODO
@@ -0,0 +1,43 @@
+There are still many problems with man2html.
+Partly these are caused by the imprecise definition
+of the man file format. (And the many buggy man pages.)
+Partly by the incomplete implementation of the man/doc macro packages.
+Partly by the imperfect emulation of troff.
+Partly by the variation between various browsers in the
+accepted html.
+Partly just because man2html is buggy.
+
+Of course in reality a man2html converter must contain
+large parts of the troff source, so that it can be fed
+with the defining macro packages and always do the right thing.
+
+On a RedHat 5.0 system:
+- /usr/man/mann/DirDlg.n is not formatted correctly.
+ (It does not start with .TH)
+- <i>bug_readline</i>@<i>prep.ai.mit.edu</i> does not generate
+ a mailto: link. It should generate
+ <a href="mailto:bug_readline@prep.ai.mit.edu>
+ <i>bug_readline</i>@<i>prep.ai.mit.edu</i>
+ </a>
+ but this requires parsing of the surrounding html markup.
+ Easy, but not done yet.
+- Some manpages generate bad whatis information
+ [where the name in the whatis line is not the filename of the man page].
+ (E.g., tc589_cs.4, auto.master.5, pcmcia.5, proc.5 and autofs.8
+ generate whatis lines
+ 3c589_cs (4) - 3Com 3c589 Etherlink III device driver
+ /etc/auto.master (5) - Master Map for automounter
+ /etc/init.d/rc.d/autofs (8) - Control Script for automounter
+ /etc/pcmcia/config (5) - PCMCIA card configuration database
+ /proc (5) - process information pseudo-filesystem
+ )
+ As a consequence, the corresponding manwhatis links are bad.
+- Some manpages have bad .so information.
+ (E.g., TIFFScanlineSize.3t contains .so TIFFsize.3t
+ instead of .so man3/TIFFsize.3t .)
+ This also confuses whatis, and generates bad links.
+ (But right now these happen to work.)
+
+Of course, patches are welcome!
+
+
diff --git a/man2html/abbrev.c b/man2html/abbrev.c
new file mode 100644
index 0000000..fa7df06
--- /dev/null
+++ b/man2html/abbrev.c
@@ -0,0 +1,62 @@
+#include <string.h>
+#include "defs.h"
+/*
+ * lookup_abbrev() is used for TX macros - is that
+ * something SUN-specific?
+ */
+
+char *abbrev_list[] = {
+ "GSBG", "Getting Started ",
+ "SUBG", "Customizing SunOS",
+ "SHBG", "Basic Troubleshooting",
+ "SVBG", "SunView User's Guide",
+ "MMBG", "Mail and Messages",
+ "DMBG", "Doing More with SunOS",
+ "UNBG", "Using the Network",
+ "GDBG", "Games, Demos &amp; Other Pursuits",
+ "CHANGE", "SunOS 4.1 Release Manual",
+ "INSTALL", "Installing SunOS 4.1",
+ "ADMIN", "System and Network Administration",
+ "SECUR", "Security Features Guide",
+ "PROM", "PROM User's Manual",
+ "DIAG", "Sun System Diagnostics",
+ "SUNDIAG", "Sundiag User's Guide",
+ "MANPAGES", "SunOS Reference Manual",
+ "REFMAN", "SunOS Reference Manual",
+ "SSI", "Sun System Introduction",
+ "SSO", "System Services Overview",
+ "TEXT", "Editing Text Files",
+ "DOCS", "Formatting Documents",
+ "TROFF", "Using <B>nroff</B> and <B>troff</B>",
+ "INDEX", "Global Index",
+ "CPG", "C Programmer's Guide",
+ "CREF", "C Reference Manual",
+ "ASSY", "Assembly Language Reference",
+ "PUL", "Programming Utilities and Libraries",
+ "DEBUG", "Debugging Tools",
+ "NETP", "Network Programming",
+ "DRIVER", "Writing Device Drivers",
+ "STREAMS", "STREAMS Programming",
+ "SBDK", "SBus Developer's Kit",
+ "WDDS", "Writing Device Drivers for the SBus",
+ "FPOINT", "Floating-Point Programmer's Guide",
+ "SVPG", "SunView 1 Programmer's Guide",
+ "SVSPG", "SunView 1 System Programmer's Guide",
+ "PIXRCT", "Pixrect Reference Manual",
+ "CGI", "SunCGI Reference Manual",
+ "CORE", "SunCore Reference Manual",
+ "4ASSY", "Sun-4 Assembly Language Reference",
+ "SARCH", "<FONT SIZE=\"-1\">SPARC</FONT> Architecture Manual",
+ "KR", "The C Programming Language",
+ 0, 0 };
+
+char *lookup_abbrev (char *s)
+{
+ int i=0;
+
+ if (!s)
+ return "";
+ while (abbrev_list[i] && strcmp(s, abbrev_list[i]))
+ i = i+2;
+ return abbrev_list[i] ? abbrev_list[i+1] : s;
+}
diff --git a/man2html/cgibase.c b/man2html/cgibase.c
new file mode 100644
index 0000000..de31cdf
--- /dev/null
+++ b/man2html/cgibase.c
@@ -0,0 +1,143 @@
+/*
+ * Here are the routines of man2html that output a HREF string.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <ctype.h> /* tolower() */
+#include <string.h> /* strlen() */
+#include "defs.h"
+
+/*
+ * The default is to use cgibase. With relative html style
+ * we generate URLs of the form "../manX/page.html".
+ */
+static int relat_html_style = 0;
+
+/*
+ * Either the user is non-local (or local, but using httpd),
+ * in which case we use http:/cgi-bin, or the user is local
+ * and uses lynx, and we use lynxcgi:/home/httpd/cgi-bin.
+ */
+
+static char *man2htmlpath = "/cgi-bin/man/man2html"; /* default */
+static char *cgibase_format = "http://%s"; /* host.domain:port */
+static char *cgibase_ll_format = "lynxcgi:%s"; /* directory */
+static char *cgibase = "http://localhost"; /* default */
+
+/*
+ * Separator between URL and argument string.
+ *
+ * With http:<path to script>/a/b?c+d+e the script is called
+ * with PATH_INFO=/a/b and QUERY_STRING=c+d+e and args $1=c, $2=d, $3=e.
+ * With lynxcgi:<full path to script>?c+d+e no PATH_INFO is possible.
+ */
+static char sep = '?'; /* or '/' */
+
+void
+set_separator(char s) {
+ sep = s;
+}
+
+void
+set_lynxcgibase(char *s) {
+ int n = strlen(cgibase_ll_format) + strlen(s);
+ char *t = (char *) xmalloc(n);
+
+ sprintf(t, cgibase_ll_format, s);
+ cgibase = t;
+}
+
+void
+set_cgibase(char *s) {
+ int n = strlen(cgibase_format) + strlen(s);
+ char *t = (char *) xmalloc(n);
+
+ sprintf(t, cgibase_format, s);
+ cgibase = t;
+}
+
+void
+set_man2htmlpath(char *s) {
+ man2htmlpath = xstrdup(s);
+}
+
+void
+set_relative_html_links(void) {
+ relat_html_style = 1;
+}
+
+/* What shall we say in case of relat_html_style? */
+static char *signature = "<HR>\n"
+"This document was created by\n"
+"<A HREF=\"%s%s\">man2html</A>,\n"
+"using the manual pages.<BR>\n"
+"%s\n";
+
+#define TIMEFORMAT "%T GMT, %B %d, %Y"
+#define TIMEBUFSZ 500
+
+void print_sig()
+{
+ char timebuf[TIMEBUFSZ];
+ struct tm *timetm;
+ time_t clock;
+
+ timebuf[0] = 0;
+#ifdef TIMEFORMAT
+ sprintf(timebuf, "Time: ");
+ clock=time(NULL);
+ timetm=gmtime(&clock);
+ strftime(timebuf+6, TIMEBUFSZ-6, TIMEFORMAT, timetm);
+ timebuf[TIMEBUFSZ-1] = 0;
+#endif
+ printf(signature, cgibase, man2htmlpath, timebuf);
+}
+
+void
+include_file_html(char *g) {
+ printf("<A HREF=\"file:/usr/include/%s\">%s</A>&gt;", g,g);
+}
+
+void
+man_page_html(char *sec, char *h) {
+ if (relat_html_style) {
+ if (!h)
+ printf("<A HREF=\"../index.html\">"
+ "Return to Main Contents</A>");
+ else
+ printf("<A HREF=\"../man%s/%s.%s.html\">%s</A>",
+ sec, h, sec, h);
+ } else {
+ if (!h)
+ printf("<A HREF=\"%s%s\">Return to Main Contents</A>",
+ cgibase, man2htmlpath);
+ else if (!sec)
+ printf("<A HREF=\"%s%s%c%s\">%s</A>",
+ cgibase, man2htmlpath, sep, h, h);
+ else
+ printf("<A HREF=\"%s%s%c%s+%s\">%s</A>",
+ cgibase, man2htmlpath, sep, sec, h, h);
+ }
+}
+
+void
+ftp_html(char *f) {
+ printf("<A HREF=\"ftp://%s\">%s</A>", f, f);
+}
+
+void
+www_html(char *f) {
+ printf("<A HREF=\"http://%s\">%s</A>", f, f);
+}
+
+void
+mailto_html(char *g) {
+ printf("<A HREF=\"mailto:%s\">%s</A>", g, g);
+}
+
+void
+url_html(char *g) {
+ printf("<A HREF=\"%s\">%s</A>", g, g);
+}
diff --git a/man2html/defs.h b/man2html/defs.h
new file mode 100644
index 0000000..f3e75ef
--- /dev/null
+++ b/man2html/defs.h
@@ -0,0 +1,41 @@
+extern int nroff;
+extern int local_lynx;
+
+typedef struct STRDEF STRDEF;
+struct STRDEF {
+ int nr,slen;
+ char *st;
+ STRDEF *next;
+};
+
+typedef struct INTDEF INTDEF;
+struct INTDEF {
+ int nr;
+ int val;
+ int incr;
+ INTDEF *next;
+};
+
+extern STRDEF *chardef, *strdef, *defdef;
+extern INTDEF *intdef;
+
+#define V(A,B) ((A)*256+(B))
+
+#include <sys/types.h>
+extern void stdinit(void);
+extern void print_sig(void);
+extern char *lookup_abbrev(char *);
+extern void include_file_html(char *);
+extern void man_page_html(char*, char *);
+extern void ftp_html(char *);
+extern void www_html(char *);
+extern void mailto_html(char *);
+extern void url_html(char *);
+extern void set_separator(char);
+extern void set_lynxcgibase(char *);
+extern void set_cgibase(char *);
+extern void set_man2htmlpath(char *);
+extern void set_relative_html_links(void);
+extern void *xmalloc(size_t size);
+extern void *xrealloc(void *ptr, size_t size);
+extern char *xstrdup(const char *s);
diff --git a/man2html/glimpse_filters b/man2html/glimpse_filters
new file mode 100644
index 0000000..1814e5d
--- /dev/null
+++ b/man2html/glimpse_filters
@@ -0,0 +1,3 @@
+*.gz gzip -d -c
+*.Z gzip -d -c
+
diff --git a/man2html/hman b/man2html/hman
new file mode 100644
index 0000000..9426c0d
--- /dev/null
+++ b/man2html/hman
@@ -0,0 +1,96 @@
+#!/bin/sh
+#
+# hman - interface to the man2html scripts
+#
+# Michael Hamilton <michael@actrix.gen.nz>, Apr 1996
+# Andries Brouwer <aeb@cwi.nl>, Jan 1998.
+#
+# Usage examples:
+# hman - get start page
+# hman man2html - get man page for man2html
+# hman 7 locale - get section 7 man page for locale
+# hman 1 - section 1 index of names only
+# hman 3 index - section 3 index names+descriptions
+# hman -k editor - search all man pages for some string
+# hman -P arena ./twm.man - specify browser; specify man page
+#
+# hman from man-1.6g
+#
+
+if [ x"$1" = x"-v" -o x"$1" = x"-V" ]; then
+ echo "`basename $0` from man-1.6g"
+ exit 0
+fi
+
+# The user has to set MANHTMLPAGER (or he will get httpd-free lynx).
+# Pick your favorite browser: lynx, xmosaic, netscape, arena, amaya, grail, ...
+BROWSER=${MANHTMLPAGER-lynxcgi}
+#
+# If the man pages are on a remote host, specify it in MANHTMLHOST.
+HOST=${MANHTMLHOST-localhost}
+
+# Perhaps the browser was specified on the command line?
+if [ $# -gt 1 -a "$1" = "-P" ]; then
+ BROWSER="$2"
+ shift; shift
+fi
+
+# Perhaps the host was specified on the command line?
+if [ $# -gt 1 -a "$1" = "-H" ]; then
+ HOST="$2"
+ shift; shift
+fi
+
+# Interface to a live (already running) netscape browser.
+function nsfunc () {
+ if ( /bin/ps xc | grep -q 'netscape$' ) ; then
+ if [ -x netscape-remote ] ; then
+ exec netscape-remote -remote "openURL($1,new_window)"
+ else
+ exec netscape -remote "openURL($1,new_window)"
+ fi
+ else
+ netscape $1 &
+ fi
+}
+
+case $BROWSER in
+ lynxcgi)
+ BROWSER=lynx
+ CG="lynxcgi:/home/httpd/cgi-bin/man"
+ ;;
+ netscape)
+ BROWSER=nsfunc
+ CG="http://$HOST/cgi-bin/man"
+ ;;
+ *)
+ CG="http://$HOST/cgi-bin/man"
+ ;;
+esac
+
+ case $# in
+ 0) $BROWSER $CG/man2html ;;
+ 1) case "$1" in
+ 1|2|3|4|5|6|7|8|l|n)
+ $BROWSER "$CG/mansec?$CG+$1" ;;
+ /*)
+ $BROWSER "$CG/man2html?$1" ;;
+ */*)
+ $BROWSER "$CG/man2html?$PWD/$1" ;;
+ *)
+ $BROWSER "$CG/man2html?$1" ;;
+ esac ;;
+ 2) case "$1" in
+ -k)
+ $BROWSER "$CG/mansearch?$2" ;;
+ *)
+ if [ "$2" = index ]; then
+ $BROWSER "$CG/manwhatis?$CG+$1"
+ else
+ $BROWSER "$CG/man2html?$1+$2"
+ fi ;;
+ esac ;;
+ *) echo "bad number of args" ;;
+ esac
+
+exit 0
diff --git a/man2html/hman.1 b/man2html/hman.1
new file mode 100644
index 0000000..4676f55
--- /dev/null
+++ b/man2html/hman.1
@@ -0,0 +1,69 @@
+.\" Copyright (c) 1998 Andries Brouwer
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.TH hman 1 "19 January 1998"
+.LO 1
+.SH NAME
+hman \- browse the on-line manual pages
+.SH SYNOPSIS
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] \fIname\fP
+.br
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] [ index ]
+.SH DESCRIPTION
+The
+.B hman
+script is an interface to man2html(1) that allows you to enter man page
+requests at the command line and view the output in your favourite
+browser.
+The behaviour reminds of that of
+.BR man (1)
+so that many people will be able to alias
+.B hman
+to
+.BR man .
+If the browser used is netscape, and an incarnation of netscape
+is running already,
+.B hman
+will pass the request to the existing browser.
+
+.SH OPTIONS
+.TP
+.B \-\^P " browser"
+Specify which browser (like lynx, xmosaic, arena, chimera,
+netscape, amaya, ...) to use.
+This option overrides the
+.B MANHTMLPAGER
+environment variable.
+The default is the non-httpd version of
+.BR lynx .
+.TP
+.B \-\^H " host"
+Specify from what host to get the man pages.
+This option overrides the
+.B MANHTMLHOST
+environment variable.
+The default is
+.BR localhost .
+
+.SH ENVIRONMENT
+.TP
+MANHTMLPAGER
+The default browser to use is selected using this environment variable.
+.TP
+MANHTMLHOST
+The default host to use is selected using this environment variable.
+
+.SH "SEE ALSO"
+.BR man (1),
+.BR man2html (1),
+.BR arena (1),
+.BR lynx (1),
+.BR netscape (1),
+.BR xmosaic (1),
+.BR glimpse (1)
+
+http://www.mcom.com/newsref/std/x-remote.html
diff --git a/man2html/hman.sh b/man2html/hman.sh
new file mode 100755
index 0000000..c484acc
--- /dev/null
+++ b/man2html/hman.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+#
+# hman - interface to the man2html scripts
+#
+# Michael Hamilton <michael@actrix.gen.nz>, Apr 1996
+# Andries Brouwer <aeb@cwi.nl>, Jan 1998.
+#
+# Usage examples:
+# hman - get start page
+# hman man2html - get man page for man2html
+# hman 7 locale - get section 7 man page for locale
+# hman 1 - section 1 index of names only
+# hman 3 index - section 3 index names+descriptions
+# hman -k editor - search all man pages for some string
+# hman -P arena ./twm.man - specify browser; specify man page
+#
+# hman from %version%
+#
+
+if [ x"$1" = x"-v" -o x"$1" = x"-V" ]; then
+ echo "`basename $0` from %version%"
+ exit 0
+fi
+
+# The user has to set MANHTMLPAGER (or he will get httpd-free lynx).
+# Pick your favorite browser: lynx, xmosaic, netscape, arena, amaya, grail, ...
+BROWSER=${MANHTMLPAGER-lynxcgi}
+#
+# If the man pages are on a remote host, specify it in MANHTMLHOST.
+HOST=${MANHTMLHOST-localhost}
+
+# Perhaps the browser was specified on the command line?
+if [ $# -gt 1 -a "$1" = "-P" ]; then
+ BROWSER="$2"
+ shift; shift
+fi
+
+# Perhaps the host was specified on the command line?
+if [ $# -gt 1 -a "$1" = "-H" ]; then
+ HOST="$2"
+ shift; shift
+fi
+
+# Interface to a live (already running) netscape browser.
+function nsfunc () {
+ if ( /bin/ps xc | grep -q 'netscape$' ) ; then
+ if [ -x netscape-remote ] ; then
+ exec netscape-remote -remote "openURL($1,new_window)"
+ else
+ exec netscape -remote "openURL($1,new_window)"
+ fi
+ else
+ netscape $1 &
+ fi
+}
+
+case $BROWSER in
+ lynxcgi)
+ BROWSER=lynx
+ CG="lynxcgi:/home/httpd/cgi-bin/man"
+ ;;
+ netscape)
+ BROWSER=nsfunc
+ CG="http://$HOST/cgi-bin/man"
+ ;;
+ *)
+ CG="http://$HOST/cgi-bin/man"
+ ;;
+esac
+
+ case $# in
+ 0) $BROWSER $CG/man2html ;;
+ 1) case "$1" in
+ 1|2|3|4|5|6|7|8|l|n)
+ $BROWSER "$CG/mansec?$CG+$1" ;;
+ /*)
+ $BROWSER "$CG/man2html?$1" ;;
+ */*)
+ $BROWSER "$CG/man2html?$PWD/$1" ;;
+ *)
+ $BROWSER "$CG/man2html?$1" ;;
+ esac ;;
+ 2) case "$1" in
+ -k)
+ $BROWSER "$CG/mansearch?$2" ;;
+ *)
+ if [ "$2" = index ]; then
+ $BROWSER "$CG/manwhatis?$CG+$1"
+ else
+ $BROWSER "$CG/man2html?$1+$2"
+ fi ;;
+ esac ;;
+ *) echo "bad number of args" ;;
+ esac
+
+exit 0
diff --git a/man2html/locales/en/hman.1 b/man2html/locales/en/hman.1
new file mode 100644
index 0000000..4676f55
--- /dev/null
+++ b/man2html/locales/en/hman.1
@@ -0,0 +1,69 @@
+.\" Copyright (c) 1998 Andries Brouwer
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.TH hman 1 "19 January 1998"
+.LO 1
+.SH NAME
+hman \- browse the on-line manual pages
+.SH SYNOPSIS
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] \fIname\fP
+.br
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] [ index ]
+.SH DESCRIPTION
+The
+.B hman
+script is an interface to man2html(1) that allows you to enter man page
+requests at the command line and view the output in your favourite
+browser.
+The behaviour reminds of that of
+.BR man (1)
+so that many people will be able to alias
+.B hman
+to
+.BR man .
+If the browser used is netscape, and an incarnation of netscape
+is running already,
+.B hman
+will pass the request to the existing browser.
+
+.SH OPTIONS
+.TP
+.B \-\^P " browser"
+Specify which browser (like lynx, xmosaic, arena, chimera,
+netscape, amaya, ...) to use.
+This option overrides the
+.B MANHTMLPAGER
+environment variable.
+The default is the non-httpd version of
+.BR lynx .
+.TP
+.B \-\^H " host"
+Specify from what host to get the man pages.
+This option overrides the
+.B MANHTMLHOST
+environment variable.
+The default is
+.BR localhost .
+
+.SH ENVIRONMENT
+.TP
+MANHTMLPAGER
+The default browser to use is selected using this environment variable.
+.TP
+MANHTMLHOST
+The default host to use is selected using this environment variable.
+
+.SH "SEE ALSO"
+.BR man (1),
+.BR man2html (1),
+.BR arena (1),
+.BR lynx (1),
+.BR netscape (1),
+.BR xmosaic (1),
+.BR glimpse (1)
+
+http://www.mcom.com/newsref/std/x-remote.html
diff --git a/man2html/locales/en/man2html.1 b/man2html/locales/en/man2html.1
new file mode 100644
index 0000000..c1c25b3
--- /dev/null
+++ b/man2html/locales/en/man2html.1
@@ -0,0 +1,151 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.TH man2html 1 "1 January 1998"
+.LO 1
+.SH NAME
+man2html \- format a manual page in html
+.SH SYNOPSIS
+man2html [options] [file]
+.SH DESCRIPTION
+.B man2html
+converts a manual page as found in
+.I file
+(or stdin, in case no file argument, or the argument "-", is given)
+from man-style nroff into html, and prints the result on stdout.
+It does support tbl but does not know about eqn.
+The exit status is 0. If something goes wrong,
+an error page is printed on stdout.
+
+This can be used as a stand-alone utility, but is mainly intended
+as an auxiliary, to enable users to browse their man pages using
+a html browser like
+.BR lynx (1),
+.BR xmosaic (1)
+or
+.BR netscape (1).
+./" (See
+./" .BR man (1)
+./" for info on how to browse man pages via
+./" .BR man2html .
+./" Usually it would suffice to put "MANHTMLPAGER=/usr/bin/lynx"
+./" in the environment.)
+
+The main part of
+.B man2html
+is the troff-to-html engine written by Richard Verhoeven (rcb5@win.tue.nl).
+It adds hyperlinks for the following constructs:
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://string "method://string"
+www.host.name "http://www.host.name"
+ftp.host.name "ftp://ftp.host.name"
+name@host "mailto:name@host"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+(The first of these can be tuned by options - see below.)
+No lookup is done - the links generated need not exist.
+Also an index with internal hyperlinks to the various sections
+is generated, so that it is easier to find one's way
+in large man pages like
+.BR bash (1).
+
+.SH OPTIONS
+When reading from stdin, it is not always clear how to
+do .so expansion. The \-D option allows a script to define
+the working directory.
+.LP
+.TP
+.B \-\^D pathname
+Strip the last two parts from the pathname, and do a
+\fIchdir\fP(\fIdir\fP) before starting the conversion.
+.LP
+The \-E option allows the easy generation of error messages
+from a cgi script.
+.LP
+.TP
+.B \-\^E string
+Output an error page containing the given error message.
+.LP
+The general form of a hyperlink generated for a man page reference is
+.IP
+<method:cgipath><man2htmlpath><separator><manpage>
+.LP
+with a default as shown above. The parts of this hyperlink
+are set using the various options.
+.TP
+.B \-\^h
+Set method:cgipath to http://localhost. This is the default.
+.TP
+.BI \-\^H " host[.domain][:port]"
+Set method:cgipath to
+.RI http:// host.domain:port .
+.TP
+.B \-\^l
+Set method:cgipath to
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+Set method:cgipath to
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " man2htmlpath"
+Set the man2htmlpath to use. The default is
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+Set separator to '/'.
+.TP
+.B \-\^q
+Set separator to '?'. This is the default.
+.TP
+.B \-\^r
+Use relative html paths, instead of cgi-bin paths.
+.LP
+On a machine without running
+.BR httpd ,
+one can use
+.B lynx
+to browse the man pages, using the lynxcgi method.
+When some http daemon is running, lynx, or any other browser,
+can be used to browse the man pages, using the http method.
+The option \-l (for `lynxcgi') selects the former behaviour.
+With it, the default cgipath is \fI/home/httpd\fP.
+
+In general, a cgi script can be called by
+.IP
+<path_to_script>/<more_path>?<query>
+.LP
+and the environment variables PATH_INFO and QUERY_STRING
+will be set to <more_path> and <query>, respectively.
+Since lynxcgi does not handle the PATH_INFO part, we generate
+hyperlinks with `?' as a separator by default.
+The option \-p (for `path') selects '/' as a separator, while
+the option \-q (for `query') selects '?' as a separator.
+
+The option \-H \fIhost\fP will specify the host to use
+(instead of \fIlocalhost\fP). A cgi script could use
+.IP
+man2html -H $SERVER_NAME
+.LP
+if the variable SERVER_NAME is set. This would allow your machine
+to act as a server and export man pages.
+
+.SH BUGS
+There are many heuristics. The output will not always be perfect.
+The lynxcgi method will not work if lynx was compiled without
+selecting support for it. There may be problems with security.
+
+.SH AUTHOR
+Richard Verhoeven was the original author of
+.BR "man2html" .
+Michael Hamilton and Andries Brouwer subsequently improved on it.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+
+.SH "SEE ALSO"
+.BR lynx (1),
+.BR man (1)
diff --git a/man2html/locales/fr/man2html.1 b/man2html/locales/fr/man2html.1
new file mode 100644
index 0000000..1e99cd8
--- /dev/null
+++ b/man2html/locales/fr/man2html.1
@@ -0,0 +1,165 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.TH man2html 1 "1er janvier 1998" "Manuel Linux" "Commandes utilisateur"
+.LO 1
+.SH NOM
+man2html \- formate une page de manuel en html
+.SH SYNOPSIS
+man2html [options] [fichier]
+.SH DESCRIPTION
+.B man2html
+convertit une page de manuel telle que trouve dans
+.I fichier
+(ou l'entre standard stdin si aucun argument fichier n'est donn
+ou si l'argument \ -\ est donn) partir du format nroff
+(celui des pages de manuels) vers un format html et affiche le rsultat
+sur la sortie standard (stdout).
+.B man2html
+supporte
+.BR tbl (1)
+mais ne connat rien propos de
+.BR eqn (1).
+Le code de sortie est 0. Si quelque chose va mal, une page d'erreur
+est affiche sur la sortie standard stdout.
+
+Cette commande peut tre utilise seule mais a t principalement conue pour
+tre un auxiliaire afin que les utilisateurs puissent naviguer dans les pages
+de manuel avec un navigateur html comme
+.BR lynx (1),
+.BR xmosaic (1)
+ou
+.BR netscape (1).
+./" (See
+./" .BR man (1)
+./" for info on how to browse man pages via
+./" .BR man2html .
+./" Usually it would suffice to put "MANHTMLPAGER=/usr/bin/lynx"
+./" in the environment.)
+
+La plus grande partie de
+.B man2html
+est l'engin \ troff-vers-html\ crit par Richard Verhoeven (rcb5@win.tue.nl).
+Il ajoute des hyperliens aux constructions suivantes\ :
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://string "method://string"
+www.host.name "http://www.host.name"
+ftp.host.name "ftp://ftp.host.name"
+name@host "mailto:name@host"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+(La premire de celles\-ci peut tre ajuste par des options - voir plus loin.)
+Aucune consultation n'est effectue - les liens gnrs n'ont pas besoin
+d'exister. Un index avec des hyperliens internes vers les diverses
+sections est galement cr rendant plus facile la navigation dans les grandes
+pages comme
+.BR bash (1).
+
+.SH OPTIONS
+Lorsqu'on lit partir de stdin, il n'est pas toujours vident de savoir
+comment se fait l'expansion .so. L'option \-D permet un script de dfinir
+le rpertoire de travail.
+.LP
+.TP
+.B \-\^D chemin
+Retire les deux derniers lments du chemin et effectue un changement
+de rpertoire courant \fIchdir\fP(\fIdir\fP) avant de dbuter la conversion.
+.LP
+L'option \-E option facilite la production de messages d'erreurs partir
+de scripts cgi.
+.LP
+.TP
+.B \-\^E chane
+Produire en sortie une page d'erreur contenant le message d'erreur donn.
+.LP
+La forme gnrale d'un hyperlien gnr pour rfrencer une page de manuel est
+.IP
+<method:cgipath><man2htmlpath><separator><manpage>
+.LP
+qui est d'ailleurs la forme par dfaut. Les lments de cet hyperlien sont
+positionns en utilisant diverses options.
+.TP
+.B \-\^h
+Positionner method:cgipath http://localhost.
+C'est le comportement par dfaut.
+.TP
+.BI \-\^H " hte[.domaine][:port]"
+Positionner method:cgipath
+.RI http:// hte.domaine:port .
+.TP
+.B \-\^l
+Positionner method:cgipath
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+Positionner method:cgipath
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " man2htmlpath"
+Positionner le chemin vers man2html utiliser. La valeur par dfaut est
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+Positionner le sparateur \ /\ .
+.TP
+.B \-\^q
+Positionner le sparateur \ ?\ . C'est la valeur par dfaut.
+.TP
+.B \-\^r
+Utiliser des chemins html relatifs plutt que les chemins cgi-bin.
+.LP
+Sur une machine sur laquelle
+.BR httpd
+ne tourne pas, vous pouvez utiliser
+.B lynx
+pour naviguer dans les pages de manuel en utilisant la mthode lynxcgi.
+Lorsqu'un dmon http est en service, vous pouvez utiliser lynx ou n'importe
+quel autre navigateur pour parcourir les pages de manuel en utilisant
+la mthode http.
+L'option \-l (pour \ lynxcgi\ ) slectionne ce fonctionnement.
+Avec elle, le chemin cgi par dfaut est \fI/home/httpd\fP.
+
+En gnral, un script cgi peut tre appel de la faon suivante
+.IP
+<path_to_script>/<more_path>?<query>
+.LP
+et les variables d'environnement PATH_INFO et QUERY_STRING seront positionnes
+respectivement <more_path> et <query>.
+Puisque lynxcgi ne gre pas l'lment PATH_INFO, nous allons gnrer des
+hyperliens avec \ ?\ comme sparateur par dfaut.
+L'option \-p (pour \ path\ ) slectionne \ /\ comme sparateur, alors que
+l'option \-q (for \ query\ ) slectionne \ ?\ .
+
+L'option \-H \fIhost\fP spcifiera l'hte utiliser
+( la place \fIlocalhost\fP). Un script cgi pourra utiliser
+.IP
+man2html -H $SERVER_NAME
+.LP
+si la variable SERVER_NAME est positionne. Cela permettra votre machine
+de fonctionner en tant que serveur et d'exporter les pages manuel.
+
+.SH BOGUES
+Il y a beaucoup d'heuristiques. La sortie produite ne sera pas toujours
+parfaite. La mthode lynxcgi ne fonctionnera pas si lynx a t compil sans
+le support de celle-ci. Il peut y avoir des problmes de scurit.
+
+.SH "VOIR AUSSI"
+.BR lynx (1),
+.BR man (1)
+
+.SH TRADUCTION
+.PP
+Ce document est une traduction ralise par Alain Portal
+<aportal AT univ-montp2 DOT fr> le 1er juin 2005 et mise jour
+le 7 novembre 2005.
+.PP
+L'quipe de traduction a fait le maximum pour raliser une adaptation
+franaise de qualit. La version anglaise la plus jour de ce document est
+toujours consultable via la commande\ : \ \fBLANG=en\ man\ 1\ man2html\fR\ .
+N'hsitez pas signaler l'auteur ou au traducteur, selon le cas, toute
+erreur dans cette page de manuel.
diff --git a/man2html/locales/it/hman.1 b/man2html/locales/it/hman.1
new file mode 100644
index 0000000..730de9c
--- /dev/null
+++ b/man2html/locales/it/hman.1
@@ -0,0 +1,71 @@
+.\" Copyright (c) 1998 Andries Brouwer
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\" Traduzione da man-1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Revisione a cura di Vieri Giugni <v.giugni@gmail.com>
+.\" agosto 2006
+.\"
+.TH hman 1 "19 Gennaio 1998"
+.LO 1
+.SH NOME
+hman \- naviga le pagine di manuale on-line
+.SH SINTASSI
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] \fIname\fP
+.br
+.B hman
+[ -P \fIbrowser\fP ] [ -H \fIhost\fP ] [ \fIsection\fP ] [ index ]
+.SH DESCRIZIONE
+Lo script
+.B hman
+ un'interfaccia per man2html(1), che permette di inserire richieste di man
+page dalla linea di comando e vedere l'output nel browser
+preferito.
+Il comportamento ricorda quello di
+.BR man (1)
+perci molte persone potranno utilizzare un alias da
+.B hman
+a
+.BR man .
+Se il browser usato netscape, e una copia di netscape
+ gi in esecuzione,
+.B hman
+passer la richiesta a quest'ultima
+
+.SH OPZIONI
+.TP
+.B \-\^P " browser"
+Specifica quale browser (lynx, xmosaic, arena, chimera,
+netscape, amaya, ...) usare.
+Questa opzione sovrascrive la variabile d'ambiente
+.B MANHTMLPAGER .
+Il valore predefinito la versione non-httpd di
+.BR lynx .
+.TP
+.B \-\^H " host"
+Specifica da quale host prendere le man page.
+Questa opzione sovrascrive la variabile d'ambiente
+.B MANHTMLHOST .
+Il valore predefinito
+.BR localhost .
+
+.SH AMBIENTE
+.TP
+MANHTMLPAGER
+Il browser predefinito in uso selezionato da questa variabile d'ambiente.
+.TP
+MANHTMLHOST
+L'host predefinito in uso selezionato da questa variabile d'ambiente.
+
+.SH "VEDERE ANCHE"
+.BR man (1),
+.BR man2html (1),
+.BR arena (1),
+.BR lynx (1),
+.BR netscape (1),
+.BR xmosaic (1),
+.BR glimpse (1)
+
+http://www.mcom.com/newsref/std/x-remote.html
diff --git a/man2html/locales/it/man2html.1 b/man2html/locales/it/man2html.1
new file mode 100644
index 0000000..45feef0
--- /dev/null
+++ b/man2html/locales/it/man2html.1
@@ -0,0 +1,153 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.\" Traduzione da man-1.6d di Giulio Daprel <giulio@pluto.it>
+.\" Revisione a cura di Vieri Giugni <v.giugni@gmail.com>
+.\" giugno 2006
+.\"
+.TH man2html 1 "1 gennaio 1998"
+.LO 1
+.SH NOME
+man2html \- formatta una pagina di manuale in html
+.SH SINTASSI
+man2html [options] [file]
+.SH DESCRIZIONE
+.B man2html
+converte una pagina di manuale che si trova in
+.I file
+(o standard input (stdin); nel caso non venga fornito alcun file come
+argomento, o sia indicato "-", come argomento)
+dallo stile man nroff in html, e stampa il risultato in standard output (stdout).
+Supporta tbl, ma non conosce eqn.
+Lo stato di uscita 0. Se qualcosa va male
+viene stampata su stdout una pagina di errore.
+
+Pu essere usato come utilit stand-alone, ma pensato principalmente
+come ausilio per permettere agli utenti di navigare le proprie man page
+usando un browser html come
+.BR lynx (1),
+.BR xmosaic (1)
+o
+.BR netscape (1).
+./" (See
+./" .BR man (1)
+./" for info on how to browse man pages via
+./" .BR man2html .
+./" Usually it would suffice to put "MANHTMLPAGER=/usr/bin/lynx"
+./" in the environment.)
+
+La parte principale di
+.B man2html
+ il motore da troff a html scritto da Richard Verhoeven (rcb5@win.tue.nl).
+Esso aggiunge dei collegamenti ipertestuali per i seguenti costrutti:
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://string "method://string"
+www.host.name "http://www.host.name"
+ftp.host.name "ftp://ftp.host.name"
+name@host "mailto:name@host"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+(Il primo di questi pu essere controllato dalle opzioni - vedere sotto).
+Non viene fatto nessun controllo - i collegamenti generati non sono
+necessari o indispensabili.
+Inoltre viene generato un indice con collegamenti interni alle varie sezioni,
+in modo che sia pi facile effettuare ricerche personalizzate in pagine di
+manuale grandi come
+.BR bash (1).
+
+.SH OPZIONI
+Quando si legge da stdin non sempre chiaro come effettuare l'espansione
+.so . L'opzione \-D permette a uno script di definire la
+directory di lavoro.
+.LP
+.TP
+.B \-\^D pathname
+Estrae le ultime due parti dal percorso, ed esegue
+\fIchdir\fP(\fIdir\fP) prima di iniziare la conversione.
+.LP
+L'opzione \-E permette una facile generazione di messaggi di errore
+da uno script cgi.
+.LP
+.TP
+.B \-\^E string
+Genera una pagina di errore contenente il messaggio di errore che si verificato.
+.LP
+La forma generale di un collegamento ipertestuale creato per una
+man page di riferimento
+.IP
+<method:cgipath><man2htmlpath><separator><manpage>
+.LP
+con un valore predefinito come mostrato sopra. Le parti di questo collegamento
+ipertestuale sono impostate usando le varie opzioni.
+.TP
+.B \-\^h
+Set method:cgipath to http://localhost. Questo il valore predefinito.
+.TP
+.BI \-\^H " host[.domain][:port]"
+Set method:cgipath to
+.RI http:// host.domain:port .
+.TP
+.B \-\^l
+Set method:cgipath to
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+Set method:cgipath to
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " man2htmlpath"
+Imposta il man2htmlpath da usare. Il valore predefinito
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+Imposta '/' come separatore.
+.TP
+.B \-\^q
+Imposta '?' come separatore. Questo il valore predefinito.
+.TP
+.B \-\^r
+Usa percorsi html relativi, invece dei percorsi cgi-bin.
+.LP
+Su una macchina, senza eseguire
+.BR httpd ,
+si pu usare
+.B lynx
+per navigare le man page, usando il metodo lynxcgi.
+Quando attivo qualche demone http, lynx, o qualunque altro browser,
+pu essere usato per navigare le man page, usando il metodo http.
+L'opzione \-l (per `lynxcgi') seleziona il comportamento precedente.
+Con esso, il valore predefinito di cgipath \fI/home/httpd\fP.
+
+In generale, uno script cgi pu essere chiamato da
+.IP
+<path_to_script>/<more_path>?<query>
+.LP
+e le variabili d'ambiente PATH_INFO e QUERY_STRING
+verranno impostate rispettivamente in <more_path> e <query>.
+Poich lynxcgi non gestisce la parte PATH_INFO, vengono generati
+collegamenti ipertestualil con `?' come separatore predefinito.
+L'opzione \-p (per `path') seleziona '/' come separatore, mentre
+l'opzione \-q (per `query') seleziona '?' come separatore.
+
+L'opzione \-H \fIhost\fP specificher l'host da usare
+(invece di \fIlocalhost\fP). Uno script cgi pu usare
+.IP
+man2html -H $SERVER_NAME
+.LP
+se impostata la variabile SERVER_NAME . Questo permetter alla propria
+macchina di comportarsi come un server ed esportare man page.
+
+.SH BUG
+Ci sono molti fattori difficilmente prevedibili. L'output potrebbe non
+essere sempre perfetto. Il metodo lynxcgi non funzioner se lynx stato
+compilato senza selezionare il supporto per quest'ultimo. Ci potrebbero
+essere problemi di sicurezza.
+
+.SH "VEDERE ANCHE"
+.BR lynx (1),
+.BR man (1)
diff --git a/man2html/man2html.1 b/man2html/man2html.1
new file mode 100644
index 0000000..c1c25b3
--- /dev/null
+++ b/man2html/man2html.1
@@ -0,0 +1,151 @@
+'\" t
+.\" Man page for man2html
+.\" aeb, 980101
+.\"
+.TH man2html 1 "1 January 1998"
+.LO 1
+.SH NAME
+man2html \- format a manual page in html
+.SH SYNOPSIS
+man2html [options] [file]
+.SH DESCRIPTION
+.B man2html
+converts a manual page as found in
+.I file
+(or stdin, in case no file argument, or the argument "-", is given)
+from man-style nroff into html, and prints the result on stdout.
+It does support tbl but does not know about eqn.
+The exit status is 0. If something goes wrong,
+an error page is printed on stdout.
+
+This can be used as a stand-alone utility, but is mainly intended
+as an auxiliary, to enable users to browse their man pages using
+a html browser like
+.BR lynx (1),
+.BR xmosaic (1)
+or
+.BR netscape (1).
+./" (See
+./" .BR man (1)
+./" for info on how to browse man pages via
+./" .BR man2html .
+./" Usually it would suffice to put "MANHTMLPAGER=/usr/bin/lynx"
+./" in the environment.)
+
+The main part of
+.B man2html
+is the troff-to-html engine written by Richard Verhoeven (rcb5@win.tue.nl).
+It adds hyperlinks for the following constructs:
+.LP
+.TS
+l l.
+foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
+method://string "method://string"
+www.host.name "http://www.host.name"
+ftp.host.name "ftp://ftp.host.name"
+name@host "mailto:name@host"
+<string.h> "file:/usr/include/string.h"
+.TE
+.LP
+(The first of these can be tuned by options - see below.)
+No lookup is done - the links generated need not exist.
+Also an index with internal hyperlinks to the various sections
+is generated, so that it is easier to find one's way
+in large man pages like
+.BR bash (1).
+
+.SH OPTIONS
+When reading from stdin, it is not always clear how to
+do .so expansion. The \-D option allows a script to define
+the working directory.
+.LP
+.TP
+.B \-\^D pathname
+Strip the last two parts from the pathname, and do a
+\fIchdir\fP(\fIdir\fP) before starting the conversion.
+.LP
+The \-E option allows the easy generation of error messages
+from a cgi script.
+.LP
+.TP
+.B \-\^E string
+Output an error page containing the given error message.
+.LP
+The general form of a hyperlink generated for a man page reference is
+.IP
+<method:cgipath><man2htmlpath><separator><manpage>
+.LP
+with a default as shown above. The parts of this hyperlink
+are set using the various options.
+.TP
+.B \-\^h
+Set method:cgipath to http://localhost. This is the default.
+.TP
+.BI \-\^H " host[.domain][:port]"
+Set method:cgipath to
+.RI http:// host.domain:port .
+.TP
+.B \-\^l
+Set method:cgipath to
+.RI lynxcgi: /home/httpd .
+.TP
+.BI \-\^L " dir"
+Set method:cgipath to
+.RI lynxcgi: dir .
+.TP
+.BI \-\^M " man2htmlpath"
+Set the man2htmlpath to use. The default is
+.IR /cgi-bin/man/man2html .
+.TP
+.B \-\^p
+Set separator to '/'.
+.TP
+.B \-\^q
+Set separator to '?'. This is the default.
+.TP
+.B \-\^r
+Use relative html paths, instead of cgi-bin paths.
+.LP
+On a machine without running
+.BR httpd ,
+one can use
+.B lynx
+to browse the man pages, using the lynxcgi method.
+When some http daemon is running, lynx, or any other browser,
+can be used to browse the man pages, using the http method.
+The option \-l (for `lynxcgi') selects the former behaviour.
+With it, the default cgipath is \fI/home/httpd\fP.
+
+In general, a cgi script can be called by
+.IP
+<path_to_script>/<more_path>?<query>
+.LP
+and the environment variables PATH_INFO and QUERY_STRING
+will be set to <more_path> and <query>, respectively.
+Since lynxcgi does not handle the PATH_INFO part, we generate
+hyperlinks with `?' as a separator by default.
+The option \-p (for `path') selects '/' as a separator, while
+the option \-q (for `query') selects '?' as a separator.
+
+The option \-H \fIhost\fP will specify the host to use
+(instead of \fIlocalhost\fP). A cgi script could use
+.IP
+man2html -H $SERVER_NAME
+.LP
+if the variable SERVER_NAME is set. This would allow your machine
+to act as a server and export man pages.
+
+.SH BUGS
+There are many heuristics. The output will not always be perfect.
+The lynxcgi method will not work if lynx was compiled without
+selecting support for it. There may be problems with security.
+
+.SH AUTHOR
+Richard Verhoeven was the original author of
+.BR "man2html" .
+Michael Hamilton and Andries Brouwer subsequently improved on it.
+Federico Lucifredi <flucifredi@acm.org> is the current maintainer.
+
+.SH "SEE ALSO"
+.BR lynx (1),
+.BR man (1)
diff --git a/man2html/man2html.c b/man2html/man2html.c
new file mode 100644
index 0000000..b37eef6
--- /dev/null
+++ b/man2html/man2html.c
@@ -0,0 +1,3241 @@
+/*
+** This program was written by Richard Verhoeven (NL:5482ZX35)
+** at the Eindhoven University of Technology. Email: rcb5@win.tue.nl
+**
+** Permission is granted to distribute, modify and use this program
+** as long as this comment is not removed or changed.
+*/
+
+/* BSD mandoc stuff added by Michael Hamilton. */
+
+/* This program is rather buggy, but in spite of that it often works.
+ Improved things a little - April 1997 & January 1998 & Dec 2001 -
+ aeb@cwi.nl. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include "defs.h"
+#include "../src/version.h"
+
+/* BSD mandoc Bd/Ed example(?) blocks */
+#define BD_LITERAL 1
+#define BD_INDENT 2
+
+#define SIZE(a) (sizeof(a)/sizeof(*a))
+
+static char NEWLINE[2]="\n";
+static char idxlabel[6] = "ixAAA";
+
+#define INDEXFILE "/tmp/manindex.list"
+
+char *fname;
+char *directory;
+FILE *idxfile;
+
+char eqndelimopen=0, eqndelimclose=0;
+char escapesym='\\', nobreaksym='\'', controlsym='.', fieldsym=0, padsym=0;
+
+char *buffer=NULL;
+int buffpos=0, buffmax=0;
+int scaninbuff=0;
+int still_dd=0;
+int tabstops[20] = { 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96 };
+int maxtstop=12;
+int curpos=0;
+
+static char *scan_troff(char *c, int san, char **result);
+static char *scan_troff_mandoc(char *c, int san, char **result);
+
+static char **argument=NULL;
+
+static char charb[3];
+
+static char *
+expand_char(int nr)
+{
+ STRDEF *h;
+
+ if (!nr)
+ return NULL;
+
+ h = chardef;
+ if (h->nr != V('*','*')) {
+ printf("chardef corrupted\n");
+ exit(1);
+ }
+
+ for (h = chardef; h; h = h->next)
+ if (h->nr == nr) {
+ curpos += h->slen;
+ return h->st;
+ }
+ charb[0] = nr/256;
+ charb[1] = nr%256;
+ charb[2] = 0;
+ curpos += 2;
+ return charb;
+}
+
+static char *
+expand_string(int nr)
+{
+ STRDEF *h;
+
+ if (!nr)
+ return NULL;
+ for (h = strdef; h; h = h->next)
+ if (h->nr == nr) {
+ curpos += h->slen;
+ return h->st;
+ }
+ return NULL;
+}
+
+
+static char outbuffer[1024];
+static int obp=0;
+static int no_newline_output=0; /* boolean, set by \c */
+static int newline_for_fun=0;
+static int output_possible=0;
+static int out_length=0;
+
+static void
+add_links(char *c)
+{
+ /*
+ ** Add the links to the output.
+ ** At the moment the following are recognized:
+ **
+ ** name(*) -> ../man?/name.*
+ ** method://string -> method://string
+ ** www.host.name -> http://www.host.name
+ ** ftp.host.name -> ftp://ftp.host.name
+ ** name@host -> mailto:name@host
+ ** <name.h> -> file:/usr/include/name.h (guess)
+ **
+ ** Other possible links to add in the future:
+ **
+ ** /dir/dir/file -> file:/dir/dir/file
+ */
+ int i,j,nr;
+ char *f, *g, *h;
+ char *idtest[6]; /* url, mailto, www, ftp, manpage, include file */
+
+ out_length+=strlen(c);
+
+ nr=0;
+ idtest[0]=strstr(c+1,"://");
+ idtest[1]=strchr(c+1,'@');
+ idtest[2]=strstr(c,"www.");
+ idtest[3]=strstr(c,"ftp.");
+ idtest[4]=strchr(c+1,'(');
+ idtest[5]=strstr(c+1,".h&gt;");
+ for (i=0; i<6; i++) nr += (idtest[i]!=NULL);
+ while (nr) {
+ j=-1;
+ for (i=0; i<6; i++)
+ if (idtest[i] && (j<0 || idtest[i]<idtest[j])) j=i;
+ switch (j) {
+ case 5: /* <name.h> */
+ f=idtest[5];
+ h=f+2;
+ g=f;
+ while (g>c && g[-1]!=';') g--;
+ if (g!=c) {
+ char t;
+ t=*g;
+ *g=0;
+ printf("%s",c);
+ *g=t;*h=0;
+ include_file_html(g);
+ c=f+6;
+ } else {
+ f[5]=0;
+ printf("%s",c);
+ f[5]=';';
+ c=f+5;
+ }
+ break;
+ case 4: /* manpage? */
+ f=idtest[j];
+ /* find section - accept (1), (3F), (3Xt), (n), (l) */
+ g=strchr(f,')');
+ if (g && g-f<7 /* section has length at most 5, like 3Xlib */
+ /* preceded by name or html markup */
+ && (isalnum(f[-1]) || f[-1]=='>')
+ /* section is n or l or starts with a digit */
+ && strchr("123456789nl", f[1])
+ && (g-f == 2 || (g-f == 3 && isdigit(f[1]) && isalpha(f[2]))
+ || (f[2] == 'X' && isdigit(f[1])))
+ ) {
+ /* this might be a link */
+ h=f-1;
+ /* skip html markup */
+ while (h>c && *h=='>') {
+ while (h!=c && *h!='<') h--;
+ if (h!=c) h--;
+ }
+ if (isalnum(*h)) {
+ char t,te,tg,*e;
+ e=h+1;
+ while (h>c && (isalnum(h[-1]) || h[-1]=='_' ||
+ h[-1]=='-' || h[-1]=='.' || h[-1]==':'))
+ h--;
+ t=*h; *h=0;
+ printf("%s", c);
+ *h=t;
+ tg=*g; *g=0;
+ te=*e; *e=0;
+ man_page_html(f+1, h); /* section, page */
+ *e=te;
+ *g=tg;
+ c=e;
+ }
+ }
+ *f=0;
+ printf("%s", c);
+ *f='(';
+ idtest[4]=f-1;
+ c=f;
+ break; /* manpage */
+ case 3: /* ftp */
+ case 2: /* www */
+ g=f=idtest[j];
+ while (*g && (isalnum(*g) || *g=='_' || *g=='-' || *g=='+' ||
+ *g=='.')) g++;
+ if (g[-1]=='.') g--;
+ if (g-f>4) {
+ char t;
+ t=*f; *f=0;
+ printf("%s",c);
+ *f=t; t=*g;*g=0;
+ if (j==3)
+ ftp_html(f);
+ else
+ www_html(f);
+ *g=t;
+ c=g;
+ } else {
+ f[3]=0;
+ printf("%s",c);
+ c=f+3;
+ f[3]='.';
+ }
+ break;
+ case 1: /* mailto */
+ g=f=idtest[1];
+ while (g>c && (isalnum(g[-1]) || g[-1]=='_' || g[-1]=='-' ||
+ g[-1]=='+' || g[-1]=='.' || g[-1]=='%')) g--;
+ h=f+1;
+ while (*h && (isalnum(*h) || *h=='_' || *h=='-' || *h=='+' ||
+ *h=='.')) h++;
+ if (h[-1]=='.') h--;
+ if (h-f>4 && f-g>1) {
+ char t;
+ t=*g;
+ *g=0;
+ printf("%s",c);
+ *g=t;t=*h;*h=0;
+ mailto_html(g);
+ *h=t;
+ c=h;
+ } else {
+ *f=0;
+ printf("%s",c);
+ *f='@';
+ idtest[1]=c;
+ c=f;
+ }
+ break;
+ case 0: /* url */
+ g=f=idtest[0];
+ while (g>c && isalpha(g[-1]) && islower(g[-1])) g--;
+ h=f+3;
+ while (*h && !isspace(*h) && *h!='<' && *h!='>' && *h!='"' &&
+ *h!='&') h++;
+ if (f-g>2 && f-g<7 && h-f>3) {
+ char t;
+ t=*g;
+ *g=0;
+ printf("%s", c);
+ *g=t; t=*h; *h=0;
+ url_html(g);
+ *h=t;
+ c=h;
+ } else {
+ f[1]=0;
+ printf("%s", c);
+ f[1]='/';
+ c=f+1;
+ }
+ break;
+ default:
+ break;
+ }
+ nr=0;
+ if (idtest[0] && idtest[0]<c) idtest[0]=strstr(c+1,"://");
+ if (idtest[1] && idtest[1]<c) idtest[1]=strchr(c+1,'@');
+ if (idtest[2] && idtest[2]<c) idtest[2]=strstr(c,"www.");
+ if (idtest[3] && idtest[3]<c) idtest[3]=strstr(c,"ftp.");
+ if (idtest[4] && idtest[4]<c) idtest[4]=strchr(c+1,'(');
+ if (idtest[5] && idtest[5]<c) idtest[5]=strstr(c+1,".h&gt;");
+ for (i=0; i<6; i++) nr += (idtest[i]!=NULL);
+ }
+ printf("%s", c);
+}
+
+int current_font=0;
+int current_size=0;
+int fillout = 1;
+
+/*
+ * Kludge: remove \a - in the context
+ * .TH NAME 2 date "Version" "Title"
+ * we got output \aTitle\a.
+ */
+static void
+out_html(char *c) {
+ if (!c)
+ return;
+ if (no_newline_output) { /* remove \n if present */
+ int i=0;
+ while (c[i]) {
+ if (!no_newline_output)
+ c[i-1]=c[i];
+ if (c[i]=='\n')
+ no_newline_output=0;
+ i++;
+ }
+ if (!no_newline_output)
+ c[i-1]=0;
+ }
+ if (scaninbuff) {
+ while (*c) {
+ if (buffpos >= buffmax) {
+ buffer = xrealloc(buffer, buffmax*2);
+ buffmax = buffmax*2;
+ }
+ if (*c != '\a')
+ buffer[buffpos++] = *c;
+ c++;
+ }
+ } else if (output_possible) {
+ while (*c) {
+ if (*c != '\a')
+ outbuffer[obp++] = *c;
+ if (*c == '\n' || obp > 1000) {
+ outbuffer[obp] = 0;
+ add_links(outbuffer);
+ obp = 0;
+ }
+ c++;
+ }
+ }
+}
+
+/* --------------------------------------------------------------- */
+/* All references to dl_set and itemdepth are here. */
+/* --------------------------------------------------------------- */
+static int itemdepth=0;
+static int dl_set[30]= { 0 };
+#define noDL 0
+#define DL 1
+#define UL 2
+#define OL 3
+static char *dl_open[4] = { "", "<DL COMPACT>\n", "<UL>", "<OL>" };
+static char *dl_close[4] = { "", "</DL>\n", "</UL>", "</OL>" };
+
+static inline void
+dl_begin(void) {
+ if (itemdepth < SIZE(dl_set) && dl_set[itemdepth] == noDL) {
+ out_html(dl_open[DL]);
+ dl_set[itemdepth]=DL;
+ }
+ out_html("<DT>");
+}
+
+static inline void
+dl_end(void) {
+ if (itemdepth < SIZE(dl_set)) {
+ int type = dl_set[itemdepth];
+ if (type == DL) {
+ out_html(dl_close[type]);
+ dl_set[itemdepth]=noDL;
+ }
+ }
+}
+
+static inline void
+dl_newlevel(void) {
+ itemdepth++;
+ if (itemdepth < SIZE(dl_set))
+ dl_set[itemdepth]=noDL;
+ out_html("<DL COMPACT><DT><DD>");
+}
+
+static inline void
+dl_endlevel(void) {
+ if (itemdepth) {
+ dl_end();
+ out_html("</DL>\n");
+ itemdepth--;
+ }
+}
+
+static inline void
+dl_down(void) {
+ while (itemdepth)
+ dl_endlevel();
+ dl_end();
+}
+
+static inline int
+dl_type(int type) {
+ return (itemdepth < SIZE(dl_set) && dl_set[itemdepth] == type);
+}
+
+static inline void
+dl_newlevel_type(int type) {
+ itemdepth++;
+ if (itemdepth < SIZE(dl_set)) {
+ dl_set[itemdepth]=type;
+ out_html(dl_open[type]);
+ }
+}
+
+static inline void
+dl_endlevel_type(void) {
+ if (itemdepth) {
+ if (itemdepth < SIZE(dl_set))
+ out_html(dl_close[dl_set[itemdepth]]);
+ itemdepth--;
+ }
+}
+/* --------------------------------------------------------------- */
+/* This stuff is broken.
+It generates
+ <DT><B>TIOCLINUX, subcode=0<DD>
+ Dump the screen.
+ </B><I>argp</I> points to a
+from
+ .IP "\fBTIOCLINUX, subcode=0"
+ Dump the screen.
+ \fIargp\fP points to a
+Bug 1: incorrect nesting: </B> is needed before <DD>.
+Bug 2: incorrect font: after the .IP things are roman again.
+*/
+
+#define FO0 ""
+#define FC0 ""
+#define FO1 "<I>"
+#define FC1 "</I>"
+#define FO2 "<B>"
+#define FC2 "</B>"
+#define FO3 "<TT>"
+#define FC3 "</TT>"
+
+char *switchfont[16] = { "" , FC0 FO1, FC0 FO2, FC0 FO3,
+ FC1 FO0, "" , FC1 FO2, FC1 FO3,
+ FC2 FO0, FC2 FO1, "" , FC2 FO3,
+ FC3 FO0, FC3 FO1, FC3 FO2, "" };
+
+static char *
+change_to_font(int nr)
+{
+ int i;
+ switch (nr) {
+ case '0': nr++;
+ case '1': case '2': case '3': case '4':
+ nr = nr-'1'; break;
+ case V('C','W'): break;
+ case 'L': nr=3; break;
+ case 'B': nr=2; break;
+ case 'I': nr=1; break;
+ case 0: case 1: case 2: case 3:
+ break;
+ case 'P': case 'R':
+ default: nr=0; break;
+ }
+ i= current_font*4+nr%4;
+ current_font=nr%4;
+ return switchfont[i];
+}
+
+static char sizebuf[200];
+
+static char *
+change_to_size(int nr)
+{
+ int i;
+ switch (nr) {
+ case '0': case '1': case '2': case '3': case '4': case '5': case '6':
+ case '7': case '8': case '9': nr=nr-'0'; break;
+ case '\0': break;
+ default: nr=current_size+nr; if (nr>9) nr=9; if (nr< -9) nr=-9; break;
+ }
+ if (nr==current_size) return "";
+ i=current_font;
+ sizebuf[0]=0;
+ strcat(sizebuf, change_to_font(0));
+ if (current_size) strcat(sizebuf, "</FONT>");
+ current_size=nr;
+ if (nr) {
+ int l;
+ strcat(sizebuf, "<FONT SIZE=\"");
+ l=strlen(sizebuf);
+ if (nr>0) sizebuf[l++]='+'; else sizebuf[l++]='-',nr=-nr;
+ sizebuf[l++]=nr+'0';
+ sizebuf[l++]='"';
+ sizebuf[l++]='>';
+ sizebuf[l]=0;
+ }
+ strcat(sizebuf, change_to_font(i));
+ return sizebuf;
+}
+
+int asint=0;
+int intresult=0;
+
+#define SKIPEOL while (*c && *c++!='\n')
+
+static int skip_escape=0;
+static int single_escape=0;
+
+static char *
+scan_escape(char *c) {
+ char *h=NULL;
+ char b[5];
+ INTDEF *intd;
+ int exoutputp,exskipescape;
+ int i,j;
+
+ intresult=0;
+ switch (*c) {
+ case 'e': h="\\"; curpos++;break;
+ case '0':
+ case ' ': h="&nbsp;";curpos++; break;
+ case '|': h=""; break;
+ case '"': SKIPEOL; c--; h=""; break;
+ case '$':
+ if (argument) {
+ c++;
+ i=(*c -'1');
+ if (!(h=argument[i])) h="";
+ }
+ break;
+ case 'z':
+ c++;
+ if (*c=='\\') { c=scan_escape(c+1); c--;h=""; }
+ else {
+ b[0]=*c;
+ b[1]=0;
+ h="";
+ }
+ break;
+ case 'k': c++; if (*c=='(') c+=2;
+ case '^':
+ case '!':
+ case '%':
+ case 'a':
+ case 'd':
+ case 'r':
+ case 'u':
+ case '\n':
+ case '&': h=""; break;
+ case '(':
+ c++;
+ i= c[0]*256+c[1];
+ c++;
+ h = expand_char(i);
+ break;
+ case '*':
+ c++;
+ if (*c=='(') {
+ c++;
+ i= c[0]*256+c[1];
+ c++;
+ } else
+ i= *c *256+' ';
+ h = expand_string(i);
+ break;
+ case 'f':
+ c++;
+ if (*c=='\\') {
+ c++;
+ c=scan_escape(c);
+ c--;
+ i=intresult;
+ } else if (*c != '(')
+ i=*c;
+ else {
+ c++;
+ i=c[0]*256+c[1];
+ c++;
+ }
+ if (!skip_escape) h=change_to_font(i); else h="";
+ break;
+ case 's':
+ c++;
+ j=0;i=0;
+ if (*c=='-') {j= -1; c++;} else if (*c=='+') {j=1; c++;}
+ if (*c=='0') c++; else if (*c=='\\') {
+ c++;
+ c=scan_escape(c);
+ i=intresult; if (!j) j=1;
+ } else
+ while (isdigit(*c) && (!i || (!j && i<4))) i=i*10+(*c++)-'0';
+ if (!j) { j=1; if (i) i=i-10; }
+ if (!skip_escape) h=change_to_size(i*j); else h="";
+ c--;
+ break;
+ case 'n':
+ c++;
+ j=0;
+ switch (*c) {
+ case '+': j=1; c++; break;
+ case '-': j=-1; c++; break;
+ default: break;
+ }
+ if (*c=='(') {
+ c++;
+ i=V(c[0],c[1]);
+ c=c+1;
+ } else {
+ i=V(c[0],' ');
+ }
+ intd=intdef;
+ while (intd && intd->nr!=i) intd=intd->next;
+ if (intd) {
+ intd->val=intd->val+j*intd->incr;
+ intresult=intd->val;
+ } else {
+ switch (i) {
+ case V('.','s'): intresult=current_size; break;
+ case V('.','f'): intresult=current_font; break;
+ default: intresult=0; break;
+ }
+ }
+ h="";
+ break;
+ case 'w':
+ c++;
+ i=*c;
+ c++;
+ exoutputp=output_possible;
+ exskipescape=skip_escape;
+ output_possible=0;
+ skip_escape=1;
+ j=0;
+ while (*c!=i) {
+ j++;
+ if (*c==escapesym) c=scan_escape(c+1); else c++;
+ }
+ output_possible=exoutputp;
+ skip_escape=exskipescape;
+ intresult=j;
+ break;
+ case 'l': h="<HR>"; curpos=0;
+ case 'b':
+ case 'v':
+ case 'x':
+ case 'o':
+ case 'L':
+ case 'h':
+ c++;
+ i=*c;
+ c++;
+ exoutputp=output_possible;
+ exskipescape=skip_escape;
+ output_possible=0;
+ skip_escape=1;
+ while (*c != i)
+ if (*c==escapesym) c=scan_escape(c+1);
+ else c++;
+ output_possible=exoutputp;
+ skip_escape=exskipescape;
+ break;
+ case 'c': no_newline_output=1; break;
+ case '{': newline_for_fun++; h="";break;
+ case '}': if (newline_for_fun) newline_for_fun--; h="";break;
+ case 'p': h="<BR>\n";curpos=0; break;
+ case 't': h="\t";curpos=(curpos+8)&0xfff8; break;
+ case '<': h="&lt;";curpos++; break;
+ case '>': h="&gt;";curpos++; break;
+ case '\\': if (single_escape) { c--; break;}
+ default: b[0]=*c; b[1]=0; h=b; curpos++; break;
+ }
+ c++;
+ if (!skip_escape) out_html(h);
+ return c;
+}
+
+typedef struct TABLEITEM TABLEITEM;
+
+struct TABLEITEM {
+ char *contents;
+ int size,align,valign,colspan,rowspan,font,vleft,vright,space,width;
+ TABLEITEM *next;
+};
+
+static TABLEITEM emptyfield = {NULL,0,0,0,1,1,0,0,0,0,0,NULL};
+typedef struct TABLEROW TABLEROW;
+
+struct TABLEROW {
+ TABLEITEM *first;
+ TABLEROW *prev, *next;
+};
+
+static char *tableopt[]= { "center", "expand", "box", "allbox", "doublebox",
+ "tab", "linesize", "delim", NULL };
+static int tableoptl[] = { 6,6,3,6,9,3,8,5,0};
+
+
+static void clear_table(TABLEROW *table)
+{
+ TABLEROW *tr1,*tr2;
+ TABLEITEM *ti1,*ti2;
+
+ tr1=table;
+ while (tr1->prev) tr1=tr1->prev;
+ while (tr1) {
+ ti1=tr1->first;
+ while (ti1) {
+ ti2=ti1->next;
+ if (ti1->contents) free(ti1->contents);
+ free(ti1);
+ ti1=ti2;
+ }
+ tr2=tr1;
+ tr1=tr1->next;
+ free(tr2);
+ }
+}
+
+char *scan_expression(char *c, int *result);
+
+static char *scan_format(char *c, TABLEROW **result, int *maxcol)
+{
+ TABLEROW *layout, *currow;
+ TABLEITEM *curfield;
+ int i,j;
+ if (*result) {
+ clear_table(*result);
+ }
+ layout= currow=(TABLEROW*) xmalloc(sizeof(TABLEROW));
+ currow->next=currow->prev=NULL;
+ currow->first=curfield=(TABLEITEM*) xmalloc(sizeof(TABLEITEM));
+ *curfield=emptyfield;
+ while (*c && *c!='.') {
+ switch (*c) {
+ case 'C': case 'c': case 'N': case 'n':
+ case 'R': case 'r': case 'A': case 'a':
+ case 'L': case 'l': case 'S': case 's':
+ case '^': case '_':
+ if (curfield->align) {
+ curfield->next=(TABLEITEM*)xmalloc(sizeof(TABLEITEM));
+ curfield=curfield->next;
+ *curfield=emptyfield;
+ }
+ curfield->align=toupper(*c);
+ c++;
+ break;
+ case 'i': case 'I': case 'B': case 'b':
+ curfield->font = toupper(*c);
+ c++;
+ break;
+ case 'f': case 'F':
+ c++;
+ curfield->font = toupper(*c);
+ c++;
+ if (!isspace(*c)) c++;
+ break;
+ case 't': case 'T': curfield->valign='t'; c++; break;
+ case 'p': case 'P':
+ c++;
+ i=j=0;
+ if (*c=='+') { j=1; c++; }
+ if (*c=='-') { j=-1; c++; }
+ while (isdigit(*c)) i=i*10+(*c++)-'0';
+ if (j) curfield->size= i*j; else curfield->size=j-10;
+ break;
+ case 'v': case 'V':
+ case 'w': case 'W':
+// c=scan_expression(c+2,&curfield->width);
+ c++;
+ if (*c == '(') {
+ c=scan_expression(c+1,&curfield->width);
+ } else {
+ i=0;
+ while (isdigit(*c)) i=i*10+(*c++)-'0';
+ curfield->width=i;
+ }
+ break;
+ case '|':
+ if (curfield->align) curfield->vleft++;
+ else curfield->vright++;
+ c++;
+ break;
+ case 'e': case 'E':
+ c++;
+ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ i=0;
+ while (isdigit(*c)) i=i*10+(*c++)-'0';
+ curfield->space=i;
+ break;
+ case ',': case '\n':
+ currow->next=(TABLEROW*)xmalloc(sizeof(TABLEROW));
+ currow->next->prev=currow;
+ currow=currow->next;
+ currow->next=NULL;
+ curfield=currow->first=(TABLEITEM*)xmalloc(sizeof(TABLEITEM));
+ *curfield=emptyfield;
+ c++;
+ break;
+ default:
+ c++;
+ break;
+ }
+ }
+ if (*c=='.') while (*c++!='\n');
+ *maxcol=0;
+ currow=layout;
+ while (currow) {
+ curfield=layout->first;
+ i=0;
+ while (curfield) {
+ i++;
+ curfield=curfield->next;
+ }
+ if (i>*maxcol) *maxcol=i;
+ currow=currow->next;
+ }
+ *result=layout;
+ return c;
+}
+
+static TABLEROW *
+next_row(TABLEROW *tr)
+{
+ if (tr->next) {
+ tr=tr->next;
+ if (!tr->next) next_row(tr);
+ return tr;
+ } else {
+ TABLEITEM *ti, *ti2;
+ tr->next=(TABLEROW*)xmalloc(sizeof(TABLEROW));
+ tr->next->prev=tr;
+ ti=tr->first;
+ tr=tr->next;
+ tr->next=NULL;
+ if (ti) tr->first=ti2=(TABLEITEM*) xmalloc(sizeof(TABLEITEM));
+ else tr->first=ti2=NULL;
+ while (ti!=ti2) {
+ *ti2=*ti;
+ ti2->contents=NULL;
+ if ((ti=ti->next)) {
+ ti2->next=(TABLEITEM*) xmalloc(sizeof(TABLEITEM));
+ }
+ ti2=ti2->next;
+ }
+ return tr;
+ }
+}
+
+char itemreset[20]="\\fR\\s0";
+
+static char *
+scan_table(char *c) {
+ char *h;
+ char *g;
+ int center=0, expand=0, box=0, border=0, linesize=1;
+ int i,j,maxcol=0, finished=0;
+ int oldfont, oldsize,oldfillout;
+ char itemsep='\t';
+ TABLEROW *layout=NULL, *currow;
+ TABLEITEM *curfield;
+ while (*c++!='\n'); /* skip TS */
+ h=c;
+ if (*h=='.') return c-1;
+ oldfont=current_font;
+ oldsize=current_size;
+ oldfillout=fillout;
+ out_html(change_to_font(0));
+ out_html(change_to_size(0));
+ if (!fillout) {
+ fillout=1;
+ out_html("</PRE>");
+ }
+ while (*h && *h!='\n') h++;
+ if (h[-1]==';') {
+ /* scan table options */
+ while (c<h) {
+ while (isspace(*c)) c++;
+ for (i=0; tableopt[i] && strncmp(tableopt[i],c,tableoptl[i]);i++);
+ c=c+tableoptl[i];
+ switch (i) {
+ case 0: center=1; break;
+ case 1: expand=1; break;
+ case 2: box=1; break;
+ case 3: border=1; break;
+ case 4: box=2; break;
+ case 5: while (*c++!='('); itemsep=*c++; break;
+ case 6: while (*c++!='('); linesize=0;
+ while (isdigit(*c)) linesize=linesize*10+(*c++)-'0';
+ break;
+ case 7: while (*c!=')') c++;
+ default: break;
+ }
+ c++;
+ }
+ c=h+1;
+ }
+ /* scan layout */
+ c=scan_format(c,&layout, &maxcol);
+ currow=layout;
+ next_row(currow);
+ curfield=layout->first;
+ i=0;
+ while (!finished && *c) {
+ /* search item */
+ h=c;
+ if ((*c=='_' || *c=='=') && (c[1]==itemsep || c[1]=='\n')) {
+ if (c[-1]=='\n' && c[1]=='\n') {
+ if (currow->prev) {
+ currow->prev->next=(TABLEROW*) xmalloc(sizeof(TABLEROW));
+ currow->prev->next->next=currow;
+ currow->prev->next->prev=currow->prev;
+ currow->prev=currow->prev->next;
+ } else {
+ currow->prev=layout=(TABLEROW*) xmalloc(sizeof(TABLEROW));
+ currow->prev->prev=NULL;
+ currow->prev->next=currow;
+ }
+ curfield=currow->prev->first=
+ (TABLEITEM*) xmalloc(sizeof(TABLEITEM));
+ *curfield=emptyfield;
+ curfield->align=*c;
+ curfield->colspan=maxcol;
+ curfield=currow->first;
+ c=c+2;
+ } else {
+ if (curfield) {
+ curfield->align=*c;
+ do {
+ curfield=curfield->next;
+ } while (curfield && curfield->align=='S');
+ }
+ if (c[1]=='\n') {
+ currow=next_row(currow);
+ curfield=currow->first;
+ }
+ c=c+2;
+ }
+ } else if (*c=='T' && c[1]=='{') {
+ h=c+2;
+ c=strstr(h,"\nT}");
+ c++;
+ *c=0;
+ g=NULL;
+ scan_troff(h, 0, &g);
+ scan_troff(itemreset, 0, &g);
+ *c='T';
+ c+=3;
+ if (curfield) {
+ curfield->contents=g;
+ do {
+ curfield=curfield->next;
+ } while (curfield && curfield->align=='S');
+ } else
+ if (g) free(g);
+ if (c[-1]=='\n') {
+ currow=next_row(currow);
+ curfield=currow->first;
+ }
+ } else if (*c=='.' && c[1]=='T' && c[2]=='&' && c[-1]=='\n') {
+ TABLEROW *hr;
+ while (*c++!='\n');
+ hr=currow;
+ currow=currow->prev;
+ hr->prev=NULL;
+ c=scan_format(c,&hr, &i);
+ hr->prev=currow;
+ currow->next=hr;
+ currow=hr;
+ next_row(currow);
+ curfield=currow->first;
+ } else if (*c=='.' && c[1]=='T' && c[2]=='E' && c[-1]=='\n') {
+ finished=1;
+ while (*c++!='\n');
+ if (currow->prev)
+ currow->prev->next=NULL;
+ currow->prev=NULL;
+ clear_table(currow);
+ } else if (*c=='.' && c[-1]=='\n' && !isdigit(c[1])) {
+ /* skip troff request inside table (usually only .sp ) */
+ while (*c++!='\n');
+ } else {
+ h=c;
+ while (*c && (*c!=itemsep || c[-1]=='\\') &&
+ (*c!='\n' || c[-1]=='\\')) c++;
+ i=0;
+ if (*c==itemsep) {i=1; *c='\n'; }
+ if (h[0]=='\\' && h[2]=='\n' &&
+ (h[1]=='_' || h[1]=='^')) {
+ if (curfield) {
+ curfield->align=h[1];
+ do {
+ curfield=curfield->next;
+ } while (curfield && curfield->align=='S');
+ }
+ h=h+3;
+ } else {
+ g=NULL;
+ h=scan_troff(h,1,&g);
+ scan_troff(itemreset,0,&g);
+ if (curfield) {
+ curfield->contents=g;
+ do {
+ curfield=curfield->next;
+ } while (curfield && curfield->align=='S');
+ } else if (g) free(g);
+ }
+ if (i) *c=itemsep;
+ c=h;
+ if (c[-1]=='\n') {
+ currow=next_row(currow);
+ curfield=currow->first;
+ }
+ }
+ }
+ /* calculate colspan and rowspan */
+ currow=layout;
+ while (currow->next) currow=currow->next;
+ while (currow) {
+ TABLEITEM *ti, *ti1=NULL, *ti2=NULL;
+ ti=currow->first;
+ if (currow->prev) ti1=currow->prev->first;
+ while (ti) {
+ switch (ti->align) {
+ case 'S':
+ if (ti2) {
+ ti2->colspan++;
+ if (ti2->rowspan<ti->rowspan) ti2->rowspan=ti->rowspan;
+ }
+ break;
+ case '^':
+ if (ti1) ti1->rowspan++;
+ default:
+ if (!ti2) ti2=ti;
+ else {
+ do {
+ ti2=ti2->next;
+ } while (ti2 && curfield->align=='S');
+ }
+ break;
+ }
+ ti=ti->next;
+ if (ti1) ti1=ti1->next;
+ }
+ currow=currow->prev;
+ }
+ /* produce html output */
+ if (center) out_html("<CENTER>");
+ if (box==2) out_html("<TABLE BORDER><TR><TD>");
+ out_html("<TABLE");
+ if (box || border) {
+ out_html(" BORDER");
+ if (!border) out_html("><TR><TD><TABLE");
+ if (expand) out_html(" WIDTH=100%");
+ }
+ out_html(">\n");
+ currow=layout;
+ while (currow) {
+ j=0;
+ out_html("<TR VALIGN=top>");
+ curfield=currow->first;
+ while (curfield) {
+ if (curfield->align!='S' && curfield->align!='^') {
+ out_html("<TD");
+ switch (curfield->align) {
+ case 'N':
+ curfield->space+=4;
+ case 'R':
+ out_html(" ALIGN=right");
+ break;
+ case 'C':
+ out_html(" ALIGN=center");
+ default:
+ break;
+ }
+ if (!curfield->valign && curfield->rowspan>1)
+ out_html(" VALIGN=center");
+ if (curfield->colspan>1) {
+ char buf[5];
+ out_html(" COLSPAN=");
+ sprintf(buf, "%i", curfield->colspan);
+ out_html(buf);
+ }
+ if (curfield->rowspan>1) {
+ char buf[5];
+ out_html(" ROWSPAN=");
+ sprintf(buf, "%i", curfield->rowspan);
+ out_html(buf);
+ }
+ j=j+curfield->colspan;
+ out_html(">");
+ if (curfield->size) out_html(change_to_size(curfield->size));
+ if (curfield->font) out_html(change_to_font(curfield->font));
+ switch (curfield->align) {
+ case '=': out_html("<HR><HR>"); break;
+ case '_': out_html("<HR>"); break;
+ default:
+ if (curfield->contents) out_html(curfield->contents);
+ break;
+ }
+ if (curfield->space)
+ for (i=0; i<curfield->space;i++) out_html("&nbsp;");
+ if (curfield->font) out_html(change_to_font(0));
+ if (curfield->size) out_html(change_to_size(0));
+ if (j>=maxcol && curfield->align>'@' && curfield->align!='_')
+ out_html("<BR>");
+ out_html("</TD>");
+ }
+ curfield=curfield->next;
+ }
+ out_html("</TR>\n");
+ currow=currow->next;
+ }
+ if (box && !border) out_html("</TABLE>");
+ out_html("</TABLE>");
+ if (box==2) out_html("</TABLE>");
+ if (center) out_html("</CENTER>\n");
+ else out_html("\n");
+ if (!oldfillout) out_html("<PRE>");
+ fillout=oldfillout;
+ out_html(change_to_size(oldsize));
+ out_html(change_to_font(oldfont));
+ return c;
+}
+
+char *scan_expression(char *c, int *result) {
+ int value=0,value2,sign=1,opex=0;
+ char oper='c';
+
+ if (*c=='!') {
+ c=scan_expression(c+1, &value);
+ value= (!value);
+ } else if (*c=='n') {
+ c++;
+ value=nroff;
+ } else if (*c=='t') {
+ c++;
+ value=1-nroff;
+ } else if (*c=='\'' || *c=='"' || *c<' ' || (*c=='\\' && c[1]=='(')) {
+ /* ?string1?string2?
+ ** test if string1 equals string2.
+ */
+ char *st1=NULL, *st2=NULL, *h;
+ char *tcmp=NULL;
+ char sep;
+ sep=*c;
+ if (sep=='\\') {
+ tcmp=c;
+ c=c+3;
+ }
+ c++;
+ h=c;
+ while (*c!= sep && (!tcmp || strncmp(c,tcmp,4))) c++;
+ *c='\n';
+ scan_troff(h, 1, &st1);
+ *c=sep;
+ if (tcmp) c=c+3;
+ c++;
+ h=c;
+ while (*c!=sep && (!tcmp || strncmp(c,tcmp,4))) c++;
+ *c='\n';
+ scan_troff(h,1,&st2);
+ *c=sep;
+ if (!st1 && !st2) value=1;
+ else if (!st1 || !st2) value=0;
+ else value=(!strcmp(st1, st2));
+ if (st1) free(st1);
+ if (st2) free(st2);
+ if (tcmp) c=c+3;
+ c++;
+ } else {
+ while (*c && !isspace(*c) && *c!=')') {
+ opex=0;
+ switch (*c) {
+ case '(':
+ c=scan_expression(c+1, &value2);
+ value2=sign*value2;
+ opex=1;
+ break;
+ case '.':
+ case '0': case '1':
+ case '2': case '3':
+ case '4': case '5':
+ case '6': case '7':
+ case '8': case '9': {
+ int num=0,denum=1;
+ value2=0;
+ while (isdigit(*c)) value2=value2*10+((*c++)-'0');
+ if (*c=='.') {
+ c++;
+ while (isdigit(*c)) {
+ num=num*10+((*c++)-'0');
+ denum=denum*10;
+ }
+ }
+ if (isalpha(*c)) {
+ /* scale indicator */
+ switch (*c) {
+ case 'i': /* inch -> 10pt */
+ value2=value2*10+(num*10+denum/2)/denum;
+ num=0;
+ break;
+ default:
+ break;
+ }
+ c++;
+ }
+ value2=value2+(num+denum/2)/denum;
+ value2=sign*value2;
+ opex=1;
+ break;
+ }
+ case '\\':
+ c=scan_escape(c+1);
+ value2=intresult*sign;
+ if (isalpha(*c)) c++; /* scale indicator */
+ opex=1;
+ break;
+ case '-':
+ if (oper) { sign=-1; c++; break; }
+ case '>':
+ case '<':
+ case '+':
+ case '/':
+ case '*':
+ case '%':
+ case '&':
+ case '=':
+ case ':':
+ if (c[1]=='=') oper=(*c++) +16; else oper=*c;
+ c++;
+ break;
+ default: c++; break;
+ }
+ if (opex) {
+ sign=1;
+ switch (oper) {
+ case 'c': value=value2; break;
+ case '-': value=value-value2; break;
+ case '+': value=value+value2; break;
+ case '*': value=value*value2; break;
+ case '/': if (value2) value=value/value2; break;
+ case '%': if (value2) value=value%value2; break;
+ case '<': value=(value<value2); break;
+ case '>': value=(value>value2); break;
+ case '>'+16: value=(value>=value2); break;
+ case '<'+16: value=(value<=value2); break;
+ case '=': case '='+16: value=(value==value2); break;
+ case '&': value = (value && value2); break;
+ case ':': value = (value || value2); break;
+ default: fprintf(stderr,
+ "man2html: Unknown operator %c.\n", oper);
+ }
+ oper=0;
+ }
+ }
+ if (*c==')') c++;
+ }
+ *result=value;
+ return c;
+}
+
+static void
+trans_char(char *c, char s, char t) {
+ char *sl = c;
+ int slash = 0;
+
+ while (*sl && (*sl != '\n' || slash)) {
+ if (!slash) {
+ if (*sl == escapesym)
+ slash = 1;
+ else if (*sl == s)
+ *sl = t;
+ } else
+ slash = 0;
+ sl++;
+ }
+}
+
+/*
+ * Read STR until end-of-line (not preceded by \).
+ * Find whitespace separated words, and store starts in WORDS of lth MAXN.
+ * Return number of words in N.
+ * Replace each end-of-word by the character EOW (usually \n or 0).
+ * Return pointer to last char seen (either \n or 0).
+ *
+ * A part \"... is skipped.
+ * Quotes not preceded by \ are replaced by \a.
+ */
+static char *
+fill_words(char *str, char *words[], int maxn, int *n, char eow) {
+ char *s = str;
+ int backslash = 0;
+ int skipspace = 0; /* 1 if space is not end-of-word */
+
+ *n = 0;
+ words[*n] = s;
+ while (*s && (*s != '\n' || backslash)) {
+ if (!backslash) {
+ if (*s == '"') {
+ *s = '\a';
+ skipspace = !skipspace;
+ } else if (*s == escapesym) {
+ backslash = 1;
+ } else if ((*s == ' ' || *s == '\t') && !skipspace) {
+ *s = eow;
+ if (words[*n] != s && *n < maxn-1)
+ (*n)++;
+ words[*n] = s+1;
+ }
+ } else {
+ if (*s == '"') {
+ s--;
+ *s = eow;
+ if (words[*n] != s && *n < maxn-1)
+ (*n)++;
+ s++;
+ while (*s && *s != '\n') s++;
+ words[*n] = s;
+ s--;
+ }
+ backslash = 0;
+ }
+ s++;
+ }
+ if (s != words[*n])
+ (*n)++;
+ return s;
+}
+
+
+char *section_list[] = {
+ "1", "User Commands ",
+ "1C", "User Commands",
+ "1G", "User Commands",
+ "1S", "User Commands",
+ "1V", "User Commands ",
+ "2", "System Calls",
+ "2V", "System Calls",
+ "3", "C Library Functions",
+ "3C", "Compatibility Functions",
+ "3F", "Fortran Library Routines",
+ "3K", "Kernel VM Library Functions",
+ "3L", "Lightweight Processes Library",
+ "3M", "Mathematical Library",
+ "3N", "Network Functions",
+ "3R", "RPC Services Library",
+ "3S", "Standard I/O Functions",
+ "3V", "C Library Functions",
+ "3X", "Miscellaneous Library Functions",
+ "4", "Devices and Network Interfaces",
+ "4F", "Protocol Families",
+ "4I", "Devices and Network Interfaces",
+ "4M", "Devices and Network Interfaces",
+ "4N", "Devices and Network Interfaces",
+ "4P", "Protocols",
+ "4S", "Devices and Network Interfaces",
+ "4V", "Devices and Network Interfaces",
+ "5", "File Formats",
+ "5V", "File Formats",
+ "6", "Games and Demos",
+ "7", "Environments, Tables, and Troff Macros",
+ "7V", "Environments, Tables, and Troff Macros",
+ "8", "Maintenance Commands",
+ "8C", "Maintenance Commands",
+ "8S", "Maintenance Commands",
+ "8V", "Maintenance Commands",
+ "L", "Local Commands",
+/* for Solaris:
+ "1", "User Commands",
+ "1B", "SunOS/BSD Compatibility Package Commands",
+ "1b", "SunOS/BSD Compatibility Package Commands",
+ "1C", "Communication Commands ",
+ "1c", "Communication Commands",
+ "1F", "FMLI Commands ",
+ "1f", "FMLI Commands",
+ "1G", "Graphics and CAD Commands ",
+ "1g", "Graphics and CAD Commands ",
+ "1M", "Maintenance Commands",
+ "1m", "Maintenance Commands",
+ "1S", "SunOS Specific Commands",
+ "1s", "SunOS Specific Commands",
+ "2", "System Calls",
+ "3", "C Library Functions",
+ "3B", "SunOS/BSD Compatibility Library Functions",
+ "3b", "SunOS/BSD Compatibility Library Functions",
+ "3C", "C Library Functions",
+ "3c", "C Library Functions",
+ "3E", "C Library Functions",
+ "3e", "C Library Functions",
+ "3F", "Fortran Library Routines",
+ "3f", "Fortran Library Routines",
+ "3G", "C Library Functions",
+ "3g", "C Library Functions",
+ "3I", "Wide Character Functions",
+ "3i", "Wide Character Functions",
+ "3K", "Kernel VM Library Functions",
+ "3k", "Kernel VM Library Functions",
+ "3L", "Lightweight Processes Library",
+ "3l", "Lightweight Processes Library",
+ "3M", "Mathematical Library",
+ "3m", "Mathematical Library",
+ "3N", "Network Functions",
+ "3n", "Network Functions",
+ "3R", "Realtime Library",
+ "3r", "Realtime Library",
+ "3S", "Standard I/O Functions",
+ "3s", "Standard I/O Functions",
+ "3T", "Threads Library",
+ "3t", "Threads Library",
+ "3W", "C Library Functions",
+ "3w", "C Library Functions",
+ "3X", "Miscellaneous Library Functions",
+ "3x", "Miscellaneous Library Functions",
+ "4", "File Formats",
+ "4B", "SunOS/BSD Compatibility Package File Formats",
+ "4b", "SunOS/BSD Compatibility Package File Formats",
+ "5", "Headers, Tables, and Macros",
+ "6", "Games and Demos",
+ "7", "Special Files",
+ "7B", "SunOS/BSD Compatibility Special Files",
+ "7b", "SunOS/BSD Compatibility Special Files",
+ "8", "Maintenance Procedures",
+ "8C", "Maintenance Procedures",
+ "8c", "Maintenance Procedures",
+ "8S", "Maintenance Procedures",
+ "8s", "Maintenance Procedures",
+ "9", "DDI and DKI",
+ "9E", "DDI and DKI Driver Entry Points",
+ "9e", "DDI and DKI Driver Entry Points",
+ "9F", "DDI and DKI Kernel Functions",
+ "9f", "DDI and DKI Kernel Functions",
+ "9S", "DDI and DKI Data Structures",
+ "9s", "DDI and DKI Data Structures",
+ "L", "Local Commands",
+*/
+ NULL, "Misc. Reference Manual Pages",
+ NULL, NULL
+};
+
+static char *
+section_name(char *c)
+{
+ int i=0;
+
+ if (!c) return "";
+ while (section_list[i] && strcmp(c,section_list[i])) i=i+2;
+ if (section_list[i+1]) return section_list[i+1];
+ else return c;
+}
+
+int manidxlen = 0;
+char *manidx = NULL;
+int subs = 0;
+int mip = 0; /* current offset in manidx[] */
+char label[5]="lbAA";
+
+static void
+manidx_need(int m) {
+ if (mip + m >= manidxlen) {
+ manidxlen += 10000;
+ manidx = xrealloc(manidx, manidxlen);
+ }
+}
+
+static void
+add_to_index(int level, char *item)
+{
+ char *c = NULL;
+
+ label[3]++;
+ if (label[3]>'Z') {
+ label[3]='A';
+ label[2]++;
+ }
+
+ if (level != subs) {
+ manidx_need(6);
+ if (subs) {
+ strcpy(manidx+mip, "</DL>\n");
+ mip += 6;
+ } else {
+ strcpy(manidx+mip, "<DL>\n");
+ mip += 5;
+ }
+ }
+ subs = level;
+
+ scan_troff(item, 1, &c);
+ manidx_need(100 + strlen(c));
+ sprintf(manidx+mip, "<DT><A HREF=\"#%s\">%s</A><DD>\n", label, c);
+ if (c) free(c);
+ while (manidx[mip]) mip++;
+}
+
+static char *
+skip_till_newline(char *c)
+{
+ int lvl=0;
+
+ while (*c && (*c!='\n' || lvl>0)) {
+ if (*c=='\\') {
+ c++;
+ if (*c=='}') lvl--; else if (*c=='{') lvl++;
+ }
+ c++;
+ }
+ c++;
+ if (lvl<0 && newline_for_fun) {
+ newline_for_fun = newline_for_fun+lvl;
+ if (newline_for_fun<0) newline_for_fun=0;
+ }
+ return c;
+}
+
+int ifelseval=0;
+
+static char *
+scan_request(char *c) {
+ /* BSD Mandoc stuff - by Michael Hamilton */
+ static int mandoc_synopsis=0; /* True if we are in the synopsis section */
+ static int mandoc_command=0; /* True if this is mandoc page */
+ static int mandoc_bd_options; /* Only copes with non-nested Bd's */
+ static int inXo=0;
+
+ int i,j,mode = 0;
+ char *h;
+ char *wordlist[20];
+ int words;
+ char *sl;
+ STRDEF *owndef;
+
+ while (*c == ' ' || *c == '\t')
+ c++;
+ if (c[0] == '\n')
+ return c+1;
+ if (c[1] == '\n')
+ j = 1;
+ else
+ j = 2;
+ while (c[j] == ' ' || c[j] == '\t')
+ j++;
+ if (c[0] == escapesym) {
+ /* some pages use .\" .\$1 .\} */
+ /* .\$1 is too difficult/stupid */
+ if (c[1] == '$')
+ c = skip_till_newline(c);
+ else
+ c = scan_escape(c+1);
+ } else {
+ i=V(c[0],c[1]);
+ switch (i) {
+ case V('a','b'):
+ h=c+j;
+ while (*h && *h !='\n') h++;
+ *h=0;
+ if (scaninbuff && buffpos) {
+ buffer[buffpos]=0;
+ printf("%s\n", buffer);
+ }
+ fprintf(stderr, "%s\n", c+2); /* XXX */
+ exit(0);
+ break;
+ case V('d','i'):
+ {
+ STRDEF *de;
+ c=c+j;
+ i=V(c[0],c[1]);
+ if (*c == '\n') { c++;break; }
+ while (*c && *c!='\n') c++;
+ c++;
+ h=c;
+ while (*c && strncmp(c,".di",3)) while (*c && *c++!='\n');
+ *c=0;
+ de=strdef;
+ while (de && de->nr !=i) de=de->next;
+ if (!de) {
+ de=(STRDEF*) xmalloc(sizeof(STRDEF));
+ de->nr=i;
+ de->slen=0;
+ de->next=strdef;
+ de->st=NULL;
+ strdef=de;
+ } else {
+