From: Anas Nashif
Date: Mon, 5 Nov 2012 05:23:24 +0000 (-0800)
Subject: Imported Upstream version 1.21
X-Git-Tag: upstream/1.21^0
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Fsandbox%2Fpcoval%2Fupstream;p=platform%2Fupstream%2Fgroff.git
Imported Upstream version 1.21
---
f522c1ee6d7bd011af2bd90296ccfd9901ad12ab
diff --git a/BUG-REPORT b/BUG-REPORT
new file mode 100644
index 0000000..293101e
--- /dev/null
+++ b/BUG-REPORT
@@ -0,0 +1,55 @@
+ Groff Bug Report
+
+Please read the PROBLEMS file before sending in a bug report.
+
+Please fill in all fields, even if you think they are not relevant.
+
+Please delete the text in brackets before sending it in.
+
+Please report separate bugs separately.
+
+Send the completed form to bug-groff@gnu.org
+
+GROFF VERSION:
+[The version of groff you are using. For example, `1.05']
+
+MACHINE:
+[The machine you are using. For example, `Sun SPARCstation 2']
+
+OS:
+[The operating system you are using. For example, `SunOS 4.1.1']
+
+COMPILER:
+[The compiler you are used to compile groff. For example, `g++ 1.40.3']
+
+INPUT FILES:
+[Include all the files necessary to reproduce the problem that are not
+part of the standard groff distribution. This includes font
+description files, DESC files and macro files (with the exception of
+the -ms and -mm macros: we have them). Send them as a shell archive or
+as a uuencoded, compressed tar file.
+
+It's easier for us if you can provide an example that doesn't depend on
+any macro package, but obviously if you're reporting a problem with a
+macro package that won't be possible. Also a short example is more
+convenient than a long one, but don't worry if you can't find a short
+example. Don't say something like ``any file that X'': Always send a
+definite example.]
+
+COMMAND LINE:
+[The command line that we should run in order to observe the bug. For
+example, `gtroff -Tps bug.tr'. If the command line uses -ms or -mm,
+say whether these refer to the groff versions or the Unix versions of
+the macros.]
+
+DESCRIPTION OF INCORRECT BEHAVIOUR:
+[What goes wrong when that command line is run? For example, `gtroff
+gets a segmentation fault', or `The output looks bad because the bar
+over the x is too long and is too far over to the left.' If you get an
+error message, include it here without modification: Don't edit it to
+make it more readable.]
+
+SUGGESTED FIX [optional]:
+[If you can suggest a fix for the problem, include a context diff here.
+But don't delay sending in a bug report in the hope of finding a fix.
+Guesses about the cause of the bug are not usually helpful.]
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. 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
+them 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 prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. 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.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey 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;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU 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 that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ 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.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+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.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ 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
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ 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 3 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, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program 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, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU 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 Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..3665e85
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,9052 @@
+2010-12-31 Werner LEMBERG
+
+Version 1.21 released
+=====================
+
+ * NEWS, REVISION, VERSION, doc/groff.texinfo, doc/webpage.ms: Updated.
+ * aclocal.m4, configure: Regenerated.
+
+2010-12-31 Werner LEMBERG
+
+ * doc/webpage.ms: Updated.
+
+2010-12-31 Werner LEMBERG
+
+ * configure: Regenerate with autoconf 2.67.
+
+2010-12-31 Werner LEMBERG
+
+ Update various scripts.
+
+ * config.guess, config.sub: Update from `config' repository.
+ * install-sh, mkinstalldirs: Update from `gnulib' repository.
+
+2010-12-31 Werner LEMBERG
+
+ Update texinfo.tex.
+
+ * doc/texinfo.tex: Update von `texinfo' repository.
+
+2010-12-30 Werner LEMBERG
+
+ Call texi2dvi with correct makeinfo binary.
+
+ * doc/Makefile.in (.texinfo.dvi, .texinfo.pdf): Use $(MAKEINFO).
+
+2010-12-30 Werner LEMBERG
+
+ Documentation updates.
+
+ * NEWS, PROBLEMS, MANIFEST: Update.
+
+2010-12-26 Werner LEMBERG
+
+ Speed up troff.
+
+ * src/include/ptable.h (PTABLE): Make hash tables much more sparse
+ by changing the ratio `FULL_NUM/FULL_DEN' from 2/3 to 1/4. This
+ increases the allocated memory by about 200kByte (which is nothing
+ today) but assures that there aren't extremely long searches for a
+ free hash slot in case that the hash function doesn't return a free
+ one. Due to the nature of the entries in uniuni.cpp, the used hash
+ function in ptable.cpp is not optimal, but using a sparse array
+ compensates this.
+
+2010-12-20 Werner LEMBERG
+
+ Replace patch from 2010-12-18 with a much faster implementation.
+
+ * src/roff/troff/node.h (node): Add virtual function
+ `get_break_code'.
+
+ * src/roff/troff/node.cpp (inter_char_space_node): Remove class
+ completely.
+ (glyph_node::merge_glyph_node): Restore previous version.
+
+ (break_char_node): Add `prev_break_code' field and update
+ constructors.
+ (node::get_break_code, break_char_node::get_break_code): Implement.
+
+ (node::add_char): Pass remaining cflags values.
+
+ (break_char_node::add_self): Use the logic of the now deleted
+ `inter_char_space_node::add_self' function to insert a space node if
+ necessary.
+
+2010-12-20 Daiki Ueno
+
+ A new try to not changing srcdir if building in separate builddir.
+
+ Makefile.in ($GNULIBDIRS): Disable calls to autoconf and friends.
+
+2010-12-20 Werner LEMBERG
+
+ Speed up access to cflags values.
+
+ We now recompute the cflags values for all charinfo objects if
+ `.class' has been called.
+
+ * src/roff/troff/charinfo.h: Add external references to `class_flag'
+ and `get_flags'.
+ (charinfo): `get_flags' no longer has a return value.
+ (charinfo::overlaps_horizontally, charinfo::overlaps_vertically,
+ charinfo::can_break_before, charinfo::can_break_after,
+ charinfo::can_break_after, charinfo::ends_sentence,
+ charinfo::transparent,, charinfo:ignore_hcodes,
+ charinfo::prohibit_break_before, charinfo::prohibit_break_after,
+ charinfo::inter_char_space): Call global `get_flags' only if
+ necessary.
+ (charinfo::add_to_class): Set `class_flag'.
+
+ * src/roff/troff/input.cpp (class_flag): New global flag.
+ (charinfo::charinfo): Call `get_flags' member function.
+ (get_flags): New global function which iterates over all entries in
+ the charinfo dictionary.
+ (charinfo::get_flags): Set `flags' directly.
+
+2010-12-19 Werner LEMBERG
+
+ Protect `.class' against cyclic nesting.
+
+ * src/roff/troff/charinfo.h (charinfo::contains): Add optional
+ boolean argument.
+ * src/roff/troff/input.cpp (define_class, charinfo::contains): Check
+ for cyclic nesting.
+
+2010-12-18 Werner LEMBERG
+
+ Improve CJK support with new values for `.cflags'.
+
+ This patch introduces three new values to `.cflags':
+
+ don't break before character: 128
+ don't break after character: 256
+ allow inter-character break: 512
+
+ They are handled differently if compared to other cflags values:
+
+ (1) hcode values are completely ignored
+ (2) similar to kern values, and contrary to the other cflags
+ values, troff looks at pairs of characters to decide whether a
+ break gets inserted
+
+ A yet-to-be-written patch should add inter-character spacing if
+ those flags are active; currently, only zero-width breakpoints are
+ inserted.
+
+ * src/roff/troff/charinfo.h (charinfo): Change type of `flags' to
+ `int'. Update callers accordingly.
+ New enum values `DONT_BREAK_BEFORE', `DONT_BREAK_AFTER', and
+ `INTER_CHAR_SPACE'.
+ New member functions `prohibit_break_before',
+ `prohibit_break_after', and `inter_char_space'.
+ * src/roff/troff/input.cpp: Updated.
+
+ * src/roff/troff/node.cpp (inter_char_space_node): New class similar
+ to kern_pair_node, collecting charinfo entities with the
+ abovementioned cflags values.
+ (break_char_type): Add new enum values.
+ (glyph_node::merge_glyph_node): Handle abovementioned cflags values
+ and emit an `inter_char_space_node' if necessary.
+
+ * tmac/ja.tmac: Use new cflags values.
+
+ * doc/groff.texinfo, NEWS, man/groff_diff.man: Document new values.
+
+2010-12-18 Werner LEMBERG
+
+ Remove compiler warning.
+
+ * src/libs/libgroff/relocate.cpp (msw2posixpath): Remove redundant
+ dereferencing.
+
+2010-12-16 Daiki Ueno
+
+ Don't change srcdir if building in a separate builddir.
+
+ * Makefile.in ($GNULIBDIRS): Copy configuring stuff of gnulib if
+ necessary.
+
+2010-12-15 Werner LEMBERG
+
+ Fix compilation problem.
+
+ This issue happens with gcc 4.2.4.
+
+ * src/roff/troff/node.cpp (node::~node): Move to...
+ * src/roff/troff/node.h: Here. This ensures that the inline
+ member function is publicly visible.
+
+2010-12-15 Werner LEMBERG
+
+ Remove unused code.
+
+ * src/roff/troff/node.cpp, src/roff/troff/node.h
+ (space_node::space_node): Remove unused constructor.
+
+2010-12-15 Werner LEMBERG
+
+ Use enum to increase readability.
+
+ * src/roff/troff/node.cpp (break_char_type): New enum.
+ (break_char_node::add_self, node::add_char): Use it.
+
+2010-12-13 Daiki Ueno
+ Werner LEMBERG
+
+ Add wide character support to grotty.
+
+ This is a huge patch, mainly by adding the gnulib infrastructure in
+ a separate directory tree (in `src/libs/gnulib/lib') for its
+ `wcwidth' module. However, the actual changes to native groff
+ source files are just a few lines.
+
+ * Makefile.comm (INCLUDES): Updated.
+ (LIBGNU): Define.
+
+ * Makefile.in (NOMAKEDIRS): Updated.
+ (GNULLIBDIRS): Define.
+ (DISTDIRS): Add GNULLIBDIRS.
+ ($LIBDIRS): Depend on GNULLIBDIRS.
+ ($GNULLIBDIRS): New target.
+
+ * src/libs/libgroff/font.cpp (font::get_width, font::load)
+ [is_unicode]: Use `wcwidth'.
+
+ * src/roff/troff/Makefile.sub (XLIBS): Add LIBGNU.
+ * src/roff/troff/input.cpp (main): Set LC_CTYPE.
+
+ * src/devices/grotty/Makefile.sub (XLIBS): Add LIBGNU.
+ * src/devices/grotty/tty.cpp (main): Set LC_CTYPE.
+
+ * src/libs/gnulib/*: New files. The import was done as follows:
+
+ . Call
+
+ gnulib-tool --create-testdir \
+ --dir=src/libs/gnulib \
+ wcwidth
+
+ to get a testbed.
+
+ . Manually move directories src/libs/gl{lib,m4} to
+ src/libs/{lib,m4}, and do s/gllib/lib/ and s/glm4/m4/ everywhere
+ to `convert' the gnulib testbed to a standard gnulib
+ configuration as maintained by gnulib-tool.
+
+ . Call
+
+ gnulib-tool --add-import \
+ --dir=src/libs/gnulib \
+ wcwidth
+
+ to update everything.
+
+2010-12-13 Werner LEMBERG
+
+ `.class' must not emit empty lines.
+
+ * src/roff/troff/input.cpp (define_class): Add missing `skip_line'
+ calls.
+
+2010-12-06 UKAI Fumitoshi
+ Colin Watson
+
+ Add Japanese localization.
+
+ * tmac/ja.tmac: New file.
+ * tmac/Makefile.sub (NORMALFILES): Updated.
+
+2010-12-06 Colin Watson
+ Daiki Ueno
+
+ Implement support for character classes.
+
+ This patch uses standard C++ headers, contrary to the rest of groff.
+ Ideally, everything in groff should be updated to do the same.
+
+ * src/include/font.h (glyph_to_unicode): New function.
+
+ * src/libs/libgroff/font.cpp (glyph_to_unicode): Implement it.
+ (font::contains, font::get_code): Use it.
+
+ * src/roff/troff/charinfo.h: Include and .
+ (charinfo): New members `ranges' and `nested_classes'.
+ New member functions `get_unicode_code' and `get_flags'.
+ New member functions `add_to_class', `is_class', and `contains'.
+ (charinfo::overlaps_horizontally, charinfo::overlaps_vertically,
+ charinfo::can_break_before, charinfo::can_break_after,
+ charinfo::can_break_after, charinfo::ends_sentence,
+ charinfo::transparent,, charinfo:ignore_hcodes): Use `get_flags',
+ which handles character classes also.
+
+ * src/roff/troff/input.cpp (char_class_dictionary): New global
+ variable.
+ (define_class): New function.
+ (init_input_requests): Register `class'.
+
+ (charinfo::get_unicode_code, charinfo::get_flags,
+ charinfo::contains): Implement it.
+
+ * NEWS, doc/groff.texinfo (Character Classes), man/groff_diff.man,
+ man/groff.man: Document it.
+
+2010-11-11 Anton Shepelev
+
+ [grohtml]: Improve texinfo documentation.
+
+ * doc/groff.texinfo (grohtml): Insert man page description, slightly
+ extended.
+
+2010-11-11 Werner LEMBERG
+
+ Fix crash in tbl with option `nospaces'.
+ Reported by Louis Guillaume .
+
+ * src/libs/libgroff/string.cpp (string::remove_spaces): If input
+ data consists of spaces only and thus reduces to nothing, set `sz'
+ to 0.
+
+2010-11-02 Ulrich Spörlein
+
+ [mdoc]: Complete previous patch and document OpenBSD releases.
+
+ * tmac/doc-common (doc-operating-system-NetBSD): Add versions 5.0,
+ 5.0.1, and 5.0.2.
+ (doc-operating-system-OpenBSD-*): New strings.
+ (doc-operating-system-FreeBSD-*): Add version 8.1.
+ (doc-operating-system-DragonFly-*): Add versions 2.2, 2.4, 2.6, and
+ 2.8.
+ (Os): Handle DragonFly and OpenBSD.
+
+ * tmac/groff_mdoc.man: Document OpenBSD releases.
+ Add DragonFly release 2.8.
+
+2010-11-02 Ulrich Spörlein
+
+ [mdoc]: Improve man page.
+
+ * tmac/groff_tmac.man: Fix prologue macro order.
+ Update NetBSD, FreeBSD, and DragonflyBSD version numbers.
+ Other minor layout improvements.
+
+2010-11-02 Anton Shepelev
+
+ [grohtml] Improve man page.
+
+ * src/devices/grohtml/grohtml.man: Document two-pass handling of
+ input data.
+
+2010-09-19 Werner LEMBERG
+
+ [groff] Don't use prefix for preconv.
+ Reported by Dorai Sitaram
+
+ * src/roff/groff/groff.cpp (main): Fix it.
+
+2010-07-28 Larry Kollar
+
+ * doc/groff.texinfo, man/groff.man: Document `!' operator better.
+
+2010-06-28 Jan Vcelak
+
+ * src/roff/troff/node.cpp (make_node): Adding missing `%'.
+ Reported in
+ http://lists.gnu.org/archive/html/bug-groff/2010-06/msg00022.html
+
+2010-06-05 Larry Jones
+
+ * man/groff_diff.man: Document \n[.P].
+
+2010-06-04 Werner LEMBERG
+
+ * NEWS: Updated.
+
+2010-06-04 Denis M. Wilson
+
+ afmtodit: Add option `-o' to specify an output file.
+
+ * src/utils/afmtodit.pl: Implement it.
+ * src/utils/afmtodit.man: Document it.
+
+2010-06-04 Larry Jones
+
+ * man/groff_diff.man: Document \n[.O].
+
+2010-05-30 Werner LEMBERG
+
+ Fix metric files for devps families A, BM, and font ZCMI.
+ Problem reported by Denis M. Wilson .
+
+ * font/devps/{AB, ABI, AI, AR, BMB, BMBI, BMI, BMR, ZCMI}:
+ Regenerated, using correct AFM files (from the Adobe Core 35 fonts
+ with 229 glyphs).
+
+2010-05-28 Werner LEMBERG
+
+ Don't use obsolete intermediate output command `F'.
+ Reported by Krzysztof Zelechowski
+
+ * src/roff/troff/nodes.cpp (troff_output_file::really_put_filename):
+ Replace `F' command with `x F'.
+
+2010-05-24 Werner LEMBERG
+
+ * PROBLEMS: Document that mdoc doesn't work with test-groff.
+ Reported by Krzysztof Zelechowski
+
+2010-05-22 Werner LEMBERG
+
+ Document preconv in texinfo.
+
+ * doc/groff.texinfo: Mention preconv and its related command line
+ options for groff.
+ Add stubs for direct preconv documentation.
+ Sort groff options and environment variables.
+
+2010-05-22 Werner LEMBERG
+
+ Use DESC's `unicode' keyword for grotty.
+
+ Consequently, no longer check directly for the `utf8' device name
+ which prevented the creation of arbitrarily called output device
+ directories like `devunicode'.
+
+ Problem reported by Christopher Yeleighton
+ in Savannah bug #29895.
+
+ * src/devices/grotty/tty.cpp (tty_printer): Remove `is_utf8' member.
+ Replace all ocurrences with `font::is_unicode'.
+ (tty_printer::tty_printer): Remove argument.
+
+ * src/devices/grotty/grotty.man: Document `unicode' keyword.
+
+2010-05-19 Werner LEMBERG
+
+ Update symbol tables for devps font generation.
+
+ * font/devps/generate/textmap: Sort alphabetically.
+ Replace tabs with spaces.
+
+ * font/devps/generate/symbolchars: Update list to remove duplicates
+ which have already been added to `textmap' on 2007-04-09.
+
+ * font/devps/symbolmap: Regenerated.
+
+ * font/devps/*: Regenerate font definition files.
+
+2010-05-09 Colin Watson
+
+ Handle ditroff command `Dt' without argument gracefully.
+
+ Without this patch, grotty goes into an infinite loop if it tries to
+ process
+
+ x T utf8
+ x res 240 24 40
+ x init
+ p1
+ Dt
+
+ * src/libs/libdriver/input.cpp (get_integer_arg): Emit a fatal error
+ on a non-integer argument, bringing the code into line with the
+ behaviour documented in the header comment.
+ (get_possibly_integer_args): Terminate the loop on a non-integer
+ argument.
+ (next_arg_begin): Return newline or EOF after emitting the
+ corresponding error, rather than continuing on to the next line.
+
+2010-05-01 Werner LEMBERG
+
+ * doc/groff.texinfo: Improve documentation of \R escape.
+
+2010-03-10 Werner LEMBERG
+
+ * doc/groff.texinfo: Document \n[DD] register.
+ Updated version stuff.
+
+2010-03-10 Larry Kollar
+
+ * tmac/groff_ms.man: Document \n[DD] register.
+ Problem reported by Ted.
+
+2010-02-25 Colin Watson
+
+ Use named signals for `trap' in shell scripts.
+
+ * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2/graph.sh,
+ contrib/pic2graph/pic2graph.sh: Do it.
+
+2010-02-25 Werner LEMBERG
+
+ Fix angle brackets in grohtml.
+ Reported by Colin Watson .
+
+ * src/devices/grohtml/post-html.cpp (get_html_entity): Add U+27E8
+ and U+27E9.
+
+2010-02-24 Colin Watson
+
+ Add new FreeBSD and Posix versions.
+
+ * tmac/doc-common: Add FreeBSD versions 7.2, 7.3, and 8.0
+ * tmac/doc-syms: Add Posix 2008
+ * tmac/groff_mdoc.man: Document it.
+
+2010-02-16 Larry Kollar
+
+ tbl: Add `nowarn' option.
+
+ * src/preproc/tbl/table.h (table): Add `NOWARN' enumeration value.
+
+ * src/preproc/tbl/main.cpp (process_options),
+ src/preprox/tbl/table.cpp (table::compute_expand_width,
+ table::compute_separation_factor): Handle `NOWARN'.
+
+ * src/preproc/tbl/tbl.man, NEWS: Document it.
+
+2010-02-08 Larry Kollar
+
+ * tmac/www.tmac (www-li-ol): Fix indentation if more than 10 items.
+
+2010-02-04 Larry Kollar
+
+ Improve `tbl' warnings.
+
+ * src/preproc/tbl/table.cpp (table::compute_expand_width,
+ table::compute_separation_factor): Add file name strings to
+ warnings.
+
+2010-01-23 Bjarni Ingi Gislason
+
+ Fix `MC' macro of the ms package.
+
+ * tmac/s.tmac (@MC): Define `pg*col-top' after the paragraph has
+ been initialized. Otherwise, using this example,
+
+ .nh
+ .nf
+ .kern 0
+ .pl 6c
+ .ll 70n
+ .MC 30n
+ Text for multiple columns.
+ Text for multiple columns.
+ Text for multiple columns.
+ Text for multiple columns.
+ Text for multiple columns.
+
+ the columns start at different vertical positions.
+
+2010-01-23 Larry Kollar
+
+ * tmac/www.tmac (www-li-{ul,ol,dl}): Handle `PORPHANS' register.
+
+2010-01-23 Larry Kollar
+
+ PROBLEMS: Document some Mac OS issues.
+
+2010-01-02 Deri James
+
+ Don't hardcode `ps' device.
+ This is needed for cooperation with gropdf.
+
+ * src/preproc/pic/troff.cpp (troff_output::text): Use GROPS_REG.
+
+2009-12-31 Werner LEMBERG
+
+ Make patterns with uppercase letters work.
+ Problem reported by Bjarni Ingi Gislason .
+
+ * src/roff/troff/input.cpp (init_hpf_code_table): Use `cmlower'.
+ * doc/groff.texinfo, man/groff_diff.man: Update documentation of
+ `hpfcode' request.
+
+2009-11-24 Maurice van der Pot
+
+ Fix double frees and memory leaks.
+
+ * src/roff/troff/env.cpp (environment::make_tag): Use local object.
+ * src/roff/troff/input.cpp (input_stack::check_end_diversion): Free
+ `diversion_state' here.
+ (interpolate_arg): Fix memory leaks.
+ * src/roff/troff/mtsm.cpp (mtsm::pop_state): Don't free `sp->state'.
+
+2009-11-20 Paulo Ricardo Zanoni
+
+ * */*.cpp: Replace `printf(string);' with `printf("%s", string);'.
+
+2009-10-28 Werner LEMBERG
+
+ Document limitations with `#' characters, tbl, and eqn.
+ Problem reported by Michael Kain .
+
+ * src/preproc/eqn/eqn.man, src/preproc/tbl/tbl.man: Do it.
+
+2009-10-26 Werner LEMBERG
+
+ * tmac/doc-common (Dx): Define register.
+
+2009-10-26 Jörg Sonnenberger
+
+ Implement `%U' in mdoc for URL references.
+
+ * tmac/doc-common (%U): New register.
+ (Rd): Handle `doc-url-count' and `doc-url-name'.
+
+ * tmac/doc.tmac (doc-url-count, doc-url-name): New registers.
+ (doc-save-global-vars, doc-restore-global-vars, doc-reset-reference,
+ doc-print-reference): Handle `doc-url-count' and `doc-url-name'.
+ (%U): New macro.
+
+ * NEWS, tmac/groff_mdoc.man: Document `%U' macro.
+
+2009-09-09 Jari Aalto
+
+ * src/roff/groff/groff.man: Point to troff(1) for `-w' and `-W'.
+
+2009-09-08 Werner LEMBERG
+
+ [troff]: Fix hyphenation problem with kerned letters.
+ Problem reported by Steve Izma .
+
+ * src/roff/troff/node.cpp
+ (kern_pair_node::add_discretionary_hyphen): Compute `tf' using the
+ first node, `n1'. `n2' might be another kerning node, and the
+ `get_tfont' member function isn't defined then.
+
+2009-09-01 Michael Cain
+
+ [pic] Fix a border case for arc computation.
+
+ * src/preproc/pic/object.cpp (object_spec::make_arc): It can happen
+ that test `radius < d' in the loop is satisfied, but the difference
+ in the two values is on the order of 1e-10. If `radius' is small,
+ doubling the value can lead to a fairly gross error.
+
+ The original code appears to have been intended to deal with the
+ situation when radius is orders of magnitude less than `d'. The
+ replacement code simply assigns `radius' the smallest value that
+ avoids problems with the floating point code further on in the
+ routine.
+
+2009-08-14 Roger Leigh
+
+ * man/groff_char.man: Fix white heart and diamond unicode values.
+
+2009-07-29 Werner LEMBERG
+
+ * tmac/hyphen.fr: Fix typo which prevents hyphenation.
+ Reported by Seb .
+
+2009-06-25 Werner LEMBERG
+
+ Make groff compile on Interix.
+ Reported by Jay Krell .
+
+ * configure.ac: Call AC_USE_SYTEM_EXTENSIONS.
+
+ * src/include/lib.h [__INTERIX]: Define _ALL_SOURCE.
+
+ * configure: Regenerated.
+
+2009-05-29 Werner LEMBERG
+
+ pic: Fix handling of nested positions.
+ Reported by Doug McIlroy .
+
+ * src/preproc/pic/pic.y: Split `expr' into `expr_lower_than' and
+ `expr_not_lower_than' so that we can handle
+
+ (1/3)<(1/2),baz>
+
+ correctly. Without the patch, `(1/3)<(1/2)' is handled prematurely
+ as a comparison.
+
+2009-05-07 Werner LEMBERG
+
+ Accept \0 and friends within \o.
+ Reported by Doug McIlroy .
+
+ * src/roff/troff/token.h (token): Add TOKEN_HORIZONTAL_SPACE
+ enumeration value together with `horizontal_space' member function.
+ Add `do_overstrike' as a friend.
+
+ * src/roff/troff/input.cpp: Use TOKEN_HORIZONTAL_SPACE for \0, \|,
+ \^, and \h.
+ Update all affected places.
+ (do_overstrike): Remove `static' attribute.
+ Accept all escapes which produce a fixed horizontal space.
+
+2009-04-24 Werner LEMBERG
+
+ Use straight quotes where appropriate.
+ Reported by Reuben Thomas .
+
+ * man/groff.man: Do it.
+
+2009-04-14 Werner LEMBERG
+
+ Fix documentation of `em' request.
+ Reported by Joachim Walsdorff
+ .
+
+ * doc/groff.texinfo (End-of-input Traps): Rewrite.
+
+2009-04-10 Werner LEMBERG
+
+ Fix a memory leak in troff for -Thtml.
+ Reported by Urs Eggli .
+
+ * src/roff/troff/node.h (node::~node): Move to...
+ * src/roff/troff/node.cpp: Here. Free `state' and `push_state'.
+
+2009-04-01 Werner LEMBERG
+
+ * tmac/doc.tmac: Call `ec' before mapping characters.
+
+2009-03-07 Werner LEMBERG
+ Gunnar Florus
+
+ Improve configuration.
+
+ * configure.ac: Read `VERSION' and `REVISION' files to provide
+ proper values for AC_INIT.
+ * Makefile.in: Use `@datarootdir@' and `@docdir@' so that
+ configure's `--datarootdir' and `--docdir' options are honoured.
+ Documentation is now by default installed into something like
+ `/usr/local/share/doc/groff-1.20.1'.
+
+ * configure: Regenerated.
+
+2009-02-21 Colin Watson
+ Werner LEMBERG
+
+ Add a new `file' warning category.
+
+ * src/roff/troff/troff.h (warning_type): Add WARN_FILE.
+ * src/roff/troff/input.cpp (DEFAULT_WARNING_MASK): Include
+ WARN_FILE.
+ (warning_table): Add `file' category.
+ (macro_source): Convert error on missing macro file to a
+ warning.
+ * NEWS, doc/groff.texinfo (I/O, Warnings), man/groff_diff.man,
+ src/roff/troff/troff.man: Document new warning category.
+
+2009-02-18 Werner LEMBERG
+
+ * doc/groff.texinfo: Improve documentation of `lsm' request.
+
+2009-02-14 Werner LEMBERG
+
+ Implement a leading spaces macro request, `lsm', in analogy to
+ `blm'.
+ Implement two new number registers, \n[lsn] and \n[lss], which hold
+ the number of spaces and the horizontal space, respectively, which
+ would be inserted if the macro registered by `lsm' wasn't called.
+
+ * src/roff/troff/input.cpp (leading_spaces_macro_name,
+ leading_spaces_number, leading_spaces_space): New global
+ variables.
+ (leading_spaces_macro): New function.
+ (process_input_stack) : Handle `lsm'.
+ (init_input_requests): Register `lsm', \n[lsn], and \n[lss].
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
+ (Leading Spaces Traps): Document new requests and registers.
+
+2009-02-10 Denis M. Wilson
+
+ * man/groff.man: Document missing number registers (`$$', `.b',
+ `.F', `.j', `.k', `.L', `.O', `.P', `.R', `opmaxx', `opmaxy',
+ `opminx', `opminy').
+
+ * doc/groff.texinfo: Document missing `.R' register.
+ Add `.U' to register index.
+
+2009-01-19 Werner LEMBERG
+
+ Fix incorrect grops color state before \X'...'.
+ Problem reported by Miklos Somogyi .
+
+ * src/devices/grops/ps.cpp (ps_printer::special): Check color state
+ before doing a PS special and flush buffer.
+ Update called functions.
+
+2009-01-09 Werner LEMBERG
+
+Version 1.20.1 released
+=======================
+
+ `gnu.png' isn't needed any more.
+
+ * doc/Makefile.in: Don't handle or create `gnu.png'.
+ Update all affected targets.
+
+ * doc/Makefile.sub: Don't handle or create `gnu.png'.
+ Update alll affected targets.
+
+
+ `gnu.eps' was missing in the tarball.
+ Problem reported by Patrik Gräser.
+
+ (PROCESSEDEXAMPLEFILES): Remove `gnu.eps'.
+ (MOSTLYCLEANNOTSRCDIRADD): Fix names of info files.
+ (install_data): Handle `gnu.eps' specially.
+
+ * MORE.STUFF: Mention texi2html's troff backend.
+ Mention http://groff.ffii.org/groff/contrib.
+
+ * README: Mention `MORE.STUFF'.
+
+ * NEWS, doc/webpage.ms, doc/groff.texinfo: Updated.
+
+2009-01-08 Werner LEMBERG
+
+ * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed
+ to...
+ (MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This.
+
+2009-01-06 Werner LEMBERG
+
+ Remove heuristics for LIBEXT.
+
+ * configure.ac: Provide LIBEXT.
+ * Makefile.in: Use it.
+
+ * configure: Regenerated.
+
+2009-01-05 Werner LEMBERG
+
+Version 1.20 released
+=====================
+
+2009-01-05 Werner LEMBERG
+
+ * */*: Update FDL 1.1 to FDL 1.3.
+
+2009-01-05 Werner LEMBERG
+
+ * */*: Update copyright year.
+
+2009-01-05 Werner LEMBERG
+
+ * MANIFEST: Updated.
+
+2009-01-05 Werner LEMBERG
+
+ * doc/texinfo.tex (\key): Fix excessive whitespace.
+ (\texinfoversion): Tag file as patched.
+
+2009-01-05 Werner LEMBERG
+
+ * tmac/s.tmac (@TS, TE, @EQ, @EN), tmac/an-old.tmac (TS, TE, EQ,
+ EN), tmac/e.tmac (TS, TE, EQ, EN): Set line length to a large value
+ if processed with -Thtml.
+
+2009-01-04 Werner LEMBERG
+
+ * tmac/www.tmac (TS, TE, EQ, EN): Set line length to a large value
+ if processed with -Thtml to avoid warning messages (from code
+ inserted by tbl, for example).
+
+2009-01-04 Gunnar Florus
+
+ * */*: Update GPL2 to GPL3.
+
+2009-01-04 Werner LEMBERG
+
+ * Makefile.in (dist): Don't use soft links but copy files to
+ preserve the file's time stamps.
+ * Makefile.sub (configure): Remove `autom4te.cache'.
+
+2009-01-04 Werner LEMBERG
+
+ * tmac/de.tmac: Fix German date strings. Reported by Axel Kielhorn.
+
+2009-01-04 Werner LEMBERG
+
+ * doc/texinfo.tex: Updated from `texinfo' CVS repository.
+ * doc/txi-en.tex: New file from `texinfo' CVS repository.
+
+2009-01-04 Werner LEMBERG
+
+ * font/make-Rproto: Moved to...
+ * font/util/make-Rproto: Here.
+
+ * Makefile.in (NOMAKEDIRS): Add `m4', `font/devps/old', and
+ `font/util'.
+
+2009-01-04 Werner LEMBERG
+
+ * src/roff/troff/TODO: Mention local variables.
+
+2009-01-03 Werner LEMBERG
+
+ * contrib/hdtbl/examples/col_rowspan_colors.roff,
+ contrib/hdtbl/examples/color_boxes.roff,
+ contrib/hdtbl/examples/color_nested_tables.roff,
+ contrib/hdtbl/examples/color_table_cells.roff,
+ contrib/hdtbl/examples/color_transitions.roff,
+ contrib/hdtbl/examples/short_reference.roff: Minor improvements.
+
+2009-01-03 Werner LEMBERG
+
+ * doc/webpage.ms: Updated.
+
+2009-01-03 Werner LEMBERG
+
+ * NEWS, doc/groff.texinfo, font/devps/*, VERSION, REVISION: Prepare
+ for version 1.20.
+
+2009-01-03 Werner LEMBERG
+
+ * src/preproc/tbl/table.cpp (table::compute_expand_width,
+ table::compute_separation_factor): In warning messages, don't refer
+ to pages but to input line numbers.
+
+2009-01-03 Werner LEMBERG
+
+ * tmac/groff_ms.man: Improve formatting of tables.
+
+2009-01-03 Werner LEMBERG
+
+ * tmac/www.tmac (www->): Handle XHTML.
+ (HTML
): Handle non-HTML devices.
+ (www:url_check_tag): Avoid warnings.
+
+2009-01-03 Werner LEMBERG
+
+ * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and `
+ conservatively to ASCII for the sake of easy cut and paste.
+
+2009-01-03 Werner LEMBERG
+
+ * NEWS: Mention hdtbl.
+
+2009-01-02 Werner LEMBERG
+
+ * tmac/groff_mdoc.man: Update OS version string listing.
+
+2009-01-02 Werner LEMBERG
+
+ * config.rpath, m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4,
+ m4/lib-link.m4, m4/lib-prefix.m4, src/include/localcharset.h,
+ src/libs/libgroff/config.charset, src/libs/libgroff/localcharset.c,
+ src/libs/libgroff/ref-add.sin, src/libs/libgroff/ref-del.sin:
+ Updated from `gnulib' git repository.
+
+ * configure: Regenerated.
+
+2009-01-02 Werner LEMBERG
+
+ * tmac/ptx.tmac: New file.
+
+ * NEWS, man/groff_tmac: man: Document it.
+
+2008-12-30 Werner LEMBERG
+
+ Fix more quoting issues.
+
+ * tmac/www.tmac (BCL, BGIMG, PIMG, MPIMG, LNS): For the sake of
+ XHTML, quote more arguments.
+ (IMG): Fix quoting.
+
+2008-12-30 Werner LEMBERG
+
+ Fix quoting issues in www.tmac.
+
+ * tmac/www.tmac (www:url_breaks_splitted): Renamed to...
+ (www:url_breaks_split): This.
+ (www->): New string to close tag singletons like or . In
+ XHTML mode (not implemented yet), this has to be changed from `>' to
+ `/>'.
+ (IMG): Don't use
+ Use www->.
+ (PIMG, MPIMG): Don't use
+ Use www->.
+ Fix doublequote issues.
+ (HR): Don't use .
+ Use www->.
+ (LNS): Fix doublequote issues.
+
+2008-12-24 Michail Vidiassov
+
+ * tmac/doc-common: Add entries for Mac OS X and FreeBSD.
+
+2008-12-22 Alexey Gladkov
+
+ * contrib/groffer/perl/roff2.pl: Fix syntax error.
+
+2008-12-15 Werner LEMBERG
+
+ * NEWS: Mention `preconv'.
+
+2008-11-12 Werner LEMBERG
+
+ Implement `x' specifier for expanded columns. Contrary to old DWB
+ tbl, more than a single `x' specifier can be used. At the same
+ time, remove most of the code from change 2007-02-09 which collides
+ with the new implementation.
+
+ * src/preproc/tbl/main.cpp (format): Add `expand' array.
+ (format::format, format::~format): Updated.
+ (input_entry_format): Add `expand' field.
+ (input_entry_format::input_entry_format): Updated.
+ (input_entry_format::debug_print): Handle `expand'.
+ (process_format): Handle `x' specifier.
+ (process_data): Updated.
+
+ * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): Remove.
+ (EXPAND_REG): New macro.
+ (table_entry::divert, block_entry::divert,
+ alphabetic_block_entry::divert): Add parameter to control whether
+ expanded columns shall be handled.
+ (block_entry::do_width): Remove.
+ (block_entry::do_divert): Add parameter to control whether expanded
+ columns shall be handled.
+ Treat expanded columns like columns with a minimum width.
+ Remove `experimental' code.
+ (table::table, table::~table, table::allocate): Updated.
+ (table::set_expand_column): New function.
+ (table::count_block_columns): Replace with...
+ (table::count_expand_columns): This function.
+ (table::divide_span): Handle expanded columns the same as equal
+ columns.
+ (table::sum_columns): Add parameter to control whether expanded
+ columns shall be handled.
+ (table::compute_available_block_width): Replace with...
+ (table::compute_expand_width): This function.
+ (table::compute_total_separation): New function, taking code from
+ `compute_separation_factor'.
+ (table::compute_separation_factor): Simpler code. The check for the
+ `EXPAND' flag has been moved to the caller.
+ (table::compute_widths): Add `top-level' changes to handle expanded
+ blocks.
+
+ * src/preproc/tbl/table.h (table): New field `total_separation'.
+ Remove `blockflag' array.
+ Add `expand' array.
+ Update member function declarations.
+
+ * src/preproc/tbl/tbl.man: Document `x' specifier.
+ Expand documentation to cover all aspects of Lesk's tbl reference.
+
+ * NEWS: Document `x' specifier.
+
+2008-11-08 Werner LEMBERG
+
+ * src/preproc/tbl/tbl.man: Restructuring.
+ Improve text block documentation.
+
+2008-11-07 Werner LEMBERG
+
+ * src/preproc/tbl/table.cpp (table::compute_widths): Use default
+ scaling operator for minimum width. Without this fix, `lw3' (or
+ `lw(3)' would be handled as a column with a minimum width of 3u
+ instead of 3n.
+
+2008-11-05 Werner LEMBERG
+
+ * tmac/doc-common (Dt): Start a new page if necessary and set up
+ headers.
+
+ * tmac/andoc.tmac (reload-doc): Simplify due to change in
+ doc-common.
+
+ * NEWS: Document it.
+
+2008-10-18 Werner LEMBERG
+
+ * src/preproc/tbl/main.cpp (process_format): Rename `x' and `X' to
+ `m' and `M', respectively.
+ Sort entries in `switch' block.
+ * src/preproc/tbl/tbl.man: Updated.
+ Sort key entries; other minor improvements.
+
+2008-10-17 Werner LEMBERG
+
+ * src/preproc/tbl/table.cpp (table::compute_available_block_width):
+ New function.
+ (table::compute_widths): Replace some code with new function
+ (shifted to a more appropriate place).
+ * src/preproc/tbl/table.h: Updated.
+
+2008-10-16 Werner LEMBERG
+
+ * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add
+ NetBSD 4.0.1.
+
+2008-10-13 Werner LEMBERG
+
+ * tmac/groff_mdoc.man: Update documentation on BSD-like OS string
+ versions.
+
+2008-10-10 Werner LEMBERG
+
+ * man/roff.man, doc/groff.texinfo: Improve the history part. This
+ is based on input from Tom Van Vleck .
+
+
+ * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that
+ value of `rst' register is not zero, as can happen for the HTML
+ output device. Otherwise, there are too many loops, and we get a
+ stack overflow because of recursion.
+
+2008-10-05 Stephen Gildea
+
+ * src/preproc/ref/ref.cpp (reference::compute_sort_key): Do
+ not insert SORT_SEP before the first field, so that sort_key
+ has the same format as before the patch of 2003-08-23.
+
+2008-10-04 Werner LEMBERG
+
+ * tmac/doc-common (doc-operating-system-*): Update releases.
+
+ * tmac/an-old.tmac (an-extra1, an-extra2, an-extra3): Initialize.
+
+ * tmac/andoc.tmac: Rewritten, based on a preliminary version from
+ Tadziu Hoffmann. It can now process multiple man pages with both
+ man and mdoc formats intermixed.
+
+ * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
+ man/groff_tmac.man: Document it.
+
+2008-10-04 Werner LEMBERG
+
+ * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
+ \O[5] non-transparent w.r.t. beginning-of-line recognition (similar
+ to the other \O variants).
+
+ * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up
+ default macros. This causes endless loops (at least for TE).
+
+ * doc/groff.texinfo: Improve documentation of `.als'.
+
+2008-10-03 Werner LEMBERG
+
+ * src/devices/grops/grops.man, src/roff/troff/troff.man,
+ src/preproc/soelim/soelim.man: Correct documentation of -I switch.
+ Reported by Larry Kollar.
+ Other minor formatting issues.
+
+2008-10-02 Werner LEMBERG
+
+ * tmac/trace.tmac: Much improved.
+ (trace-full): New register to be set on the command line; it
+ controls whether number and string register assignments get traced
+ also.
+ (!!c): New macro for comments.
+ (rm): New traced macro.
+ (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to
+ `!!xxx'; this makes doc.tmac completely traceable.
+ Trace call of .de and friends also.
+
+ * tmac/groff_tmac.man, NEWS: Update.
+
+2008-09-30 Werner LEMBERG
+
+ Restore behaviour of \$0 if a macro is called with string syntax
+ (problem caused by change on 2008-09-29).
+
+ * src/roff/troff/input.cpp (input_iterator, input_stack,
+ macro_iterator): Add `get_macro_name' member function.
+ (interpolate_string): Use it.
+
+2008-09-29 Werner LEMBERG
+
+ Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
+ expected. Without the patch,
+
+ .de aaa
+ \\*[bbb]\\
+ . tm \\$*
+ ..
+ .de bbb
+ . shift
+ ..
+ .aaa 1 2 3
+
+ prints `2 3' instead of `1 2 3'.
+
+ * src/roff/troff/input.cpp (input_iterator, input_stack,
+ macro_iterator): Add `get_arg_list' member function.
+ (macro): Add `is_a_string', `is_string', and `clear_string_flag'
+ members.
+ Update constructors and operators.
+ (arg_list): Add copy constructor.
+ (macro_iterator): Add optional argument to constructor to indicate
+ whether arguments shall be inherited from calling macro.
+ (interpolate_string): If string argument is a macro, push a macro
+ iterator on the stack.
+ (do_define_macro): Call clear_string_flag if macro data contains a
+ newline.
+
+ * src/roff/troff/request.h: Updated.
+
+2008-09-29 Eric S. Raymond
+
+ * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities.
+ Improve the documentation of text objects.
+
+2008-09-28 Eric S. Raymond
+
+ * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph,
+ contrib/eqn2graph.man: Tweak scripts to cope with incompatible
+ changes in ImageMagick crop options. Document the bugs.
+
+2008-09-28 Werner LEMBERG
+
+ If a macro is called as a string, inherit value of \n[.br] from the
+ caller. This is useful for `trace.tmac'.
+
+ * src/roff/troff/input.cpp (string_iterator): New members
+ `with_break' and `get_break_flag'.
+ (string_iterator::string_iterator): Updated.
+
+ * doc/groff.texinfo: Improve documentation of \$0 and string syntax
+ calling of macros.
+ Document behaviour of \n[.br] within strings.
+
+2008-09-26 Werner LEMBERG
+
+ * tmac/trace.tmac: Add copyright message.
+ Use `.de1' where possible to make source code more readable.
+ (so, mso, als, rn): Restore escape character before executing the
+ request.
+ (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'.
+
+2008-09-24 Werner LEMBERG
+
+ Fix incompatibility between `.de1' and `.do'. Without this change,
+ the following snippet
+
+ .de1 xx
+ . tm \\n(.C
+ ..
+ .cp 1
+ .do xx
+
+ prints 1 instead of 0.
+
+ * src/roff/troff/input.cc (do_request): If a macro gets processed,
+ call tok.next().
+ (interpolate_macro): Add optional argument. Update callers.
+ (request::invoke): Add optional argument.
+ (macro::invoke): Add optional argument to delay call of tok.next().
+
+ * src/roff/troff/request.h (request_or_macro): Add argument to
+ `invoke' member. Update all derived classes.
+
+ * doc/groff.texinfo: Improve documentation of .do request.
+
+2008-09-09 Werner LEMBERG
+
+ * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu
+ Hoffmann.
+
+2008-09-06 Werner LEMBERG
+
+ * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make
+ `.Nm' work properly if next manual page is printed.
+
+2008-08-20 Werner LEMBERG
+
+ * src/preproc/tbl/tbl.man: Document computation of element widths.
+
+2008-08-20 Alexey Gladkov
+ Werner LEMBERG
+
+ Add default encoding option -D to preconv and groff.
+
+ * src/preproc/preconv/preconv.cpp (default_encoding): Make it an
+ array.
+ Update all users.
+ (main): Handle new option -D.
+ (usage): Updated.
+ * src/preproc/preconv/preconv.man: Updated.
+
+ * src/roff/groff/groff.cpp (main): Handle new option -D.
+ (synopsis, help): Updated.
+ * src/roff/groff/groff.man: Updated.
+
+2008-07-26 Werner LEMBERG
+
+ * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
+ by Denis M. Wilson.
+
+ * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
+
+2008-07-24 Denis M. Wilson
+
+ New options -f and -k for afmtodit.
+
+ * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal
+ name of the groff font.
+ New option `-k' disables output of kerning data.
+ * src/afmtodit/afmtodit.man, NEWS: Document new options.
+
+2008-07-18 Werner LEMBERG
+
+ * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit
+ warning messages if table gets squeezed.
+ (table::compute_widths): Fix computation of AVAILABLE_REG.
+ Emit warning if table is wider than line length.
+
+ * src/preproc/tbl/tbl.man: Minor improvements.
+
+2008-05-02 Larry Jones
+
+ * contrib/chem/Makefile.sub (README, examples/README): In makefiles,
+ the `$<' macro is only guaranteed to be defined in inference rules,
+ not in explicit target rules. Since there is only one input file in
+ the places where it is used, the `$?' macro (which is guaranteed to be
+ defined for both kinds of rules) is a suitable replacement.
+
+ * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most
+ versions of ls don't have a `--color' option.
+
+2008-04-30 Larry Jones
+
+ * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'.
+
+2008-04-29 Larry Jones
+
+ * src/eqn/script.cpp (script_box::output): Portability fix.
+
+2008-04-05 Dorai Sitaram
+
+ Add better support for `.TAG #