Git, where zombie branches shamble again

2021-10-23 Thread G. Branden Robinson
[Here's another long email; Ralph may want to skip it.]

Hi Keith,

At 2021-10-23T22:07:27+0100, Keith Marshall via Groff-commit wrote:
> Guys,
> 
> I have no idea what's happened here!
[...]
> Well, I pulled, and updated my local tree, to capture Brandon's most
> recent commits, then applied _one_ trivial ms patch, (which _should_
> have affected only tmac/s.tmac, and ChangeLog); how this push has
> regurgitated around 50 of Branden's old commits is beyond me.

It looks like you had a local, remote-tracking branch for
dev-gropdf-boxes (which Bertrand created back in April or so).

Recently, Deri landed that same work (sboxes) on master, ignoring the
branch (a good move in my opinion, since the velocity of master is
relatively high, I was taking a long time to finish the work I wanted to
do on the branch, and rebasing on _any_ Savannah-hosted branch produces
commit emails).

On master, I cherry-picked some changes from the dev-gropdf-boxes branch
and did my usual fixups, disposing of the items from the `BRANCH-TODO`
file on the branch that I deemed still relevant.

I then attempted to delete this branch, as it was neither up
to date with master (getting it that way before closing it out would
have meant a rebase, meaning another huge email blitz), nor needed any
longer.

However, I did not succeed in completely deleting the branch on
Savannah--I though I had, since it no longer appeared alongside the
'master' and Knuth-Plass formatting branches on the Web UI.  I _think_
what happened is that I managed to get the branch into a half-dead state
on Savannah, but when I tried to push my branch deletion it _did_ manage
to update with the state of my work as I had left it before I realized
that my rebasing was going to cause a commit mail blitz.  That
discouraged me, and I left the work for later once I had decided what to
do about the problem (which never happened).

Fast forward to the past 24 hours.  You probably "git --pull --rebase"d,
and implicitly pulled all branches.  You did your work and
pushed...implicitly, _all_ branches.  Apparently, this was enough to
pull the writhing zombie of the dev-gropdf-boxes branch from its grave,
and you got the dubious credit for (rebased) commits to the branch that
I had done months before but not pushed until the last week.

Today, after your mail, I have done this:

$ git push --delete origin dev-gropdf-boxes
To git.sv.gnu.org:/srv/git/groff.git
 - [deleted] dev-gropdf-boxes

It _seems_ to be truly dead:

$ git branch --remote -l | grep gropdf
  origin/gropdfmultiglyph

(I don't know what that is, but it's not dev-gropdf-boxes; maybe we
should clean it up too.)

I attribute the problem to, in decreasing order of importance:
  1. My inexperience as a Git administrator of remote branch management;
  2. Some "helpful" Git defaults where pushes and pulls involve _all_
 branches you have checked out, not just the one corresponding to
 one's working tree (or maybe you have "--all" in a convenient alias
 somewhere);
  3. Configuration of the groff-commit list to notify of activity on all
 branches instead of just master;
  4. Some kind of disagreement between the Savannah Git Web UI and Git
 proper over which branches are truly alive.  If you do "git branch
 --remote --list", you'll see several more branches than
  shows us.

I think point (3) discourages work on remote branches, especially when
the parent branch is busy.  On the other hand, most of my development
experience is on local-only branches (or remote branches that are by
convention reserved to single-developer use), where one really does have
almost unlimited freedom, and rebasing (interactive and otherwise) is
frequent, and you can't mess up your colleagues with a "--force --push".

But the problem was mainly (1); that is, me.

Sorry about that.

Regards,
Branden


signature.asc
Description: PGP signature
___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


Re: [groff] 02/54: doc/groff.texi: Remove stray word from recast.

2021-10-23 Thread Keith Marshall via Groff-commit
Guys,

I have no idea what's happened here!

On 23/10/2021 21:57, Keith Marshall via Groff-commit wrote:
> keithmarshall pushed a commit to branch dev-gropdf-boxes
> in repository groff.
> 
> commit 2995aadecfadcda9e0db3412fea41bbfbd6d0d70
> Author: G. Branden Robinson 
> AuthorDate: Sun Apr 4 19:19:24 2021 +1000

Well, I pulled, and updated my local tree, to capture Brandon's most
recent commits, then applied _one_ trivial ms patch, (which _should_
have affected only tmac/s.tmac, and ChangeLog); how this push has
regurgitated around 50 of Branden's old commits is beyond me.

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 51/54: tmac/s.tmac: Make FAM string work more sensibly.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit fd15f9f61f199f51559195546e3abcc827023331
Author: G. Branden Robinson 
AuthorDate: Wed Apr 21 04:28:52 2021 +1000

tmac/s.tmac: Make FAM string work more sensibly.

* tmac/s.tmac: Make the FAM string work more sensibly; it now applies to
  headers, footers, and footnotes only if set before the first call of a
  sectioning, paragraphing, or (non-date) document description macro.

  (PT, BT): Set the font family to that saved for titles.

  (fn*do-FS): Set the font family to that saved for footnotes.

  (par@init): Copy the document font family to independent strings for
  titles and footnotes.

  (par@reset): If in a footnote environment, set the font family to that
  saved for footnotes; otherwise use \*[FAM].

* tmac/groff_ms.7.man (Differences from troff ms/Text settings):
  Describe placement-dependent effect of FAM string setting.

* doc/groff.texi (Highlighting in ms):
* doc/ms.ms (Highlighting): As above, and suggest different occasions in
  which ".ds FAM C" and "CW" are convenient.

Fixes .
---
 ChangeLog   | 22 ++
 doc/groff.texi  | 17 -
 doc/ms.ms   | 52 ++--
 tmac/groff_ms.7.man | 15 +--
 tmac/s.tmac |  8 +++-
 5 files changed, 92 insertions(+), 22 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 86be337..ce6085b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2021-04-21  G. Branden Robinson 
+
+   * tmac/s.tmac: Make the FAM string work more sensibly; it now
+   applies to headers, footers, and footnotes only if set
+   before the first call of a sectioning, paragraphing, or
+   {non-date} document description macro.
+   (PT, BT): Set the font family to that saved for titles.
+   (fn*do-FS): Set the font family to that saved for footnotes.
+   (par@init): Copy the document font family to independent strings
+   for titles and footnotes.
+   (par@reset): If in a footnote environment, set the font family
+   to that saved for footnotes; otherwise use \*[FAM].
+
+   * tmac/groff_ms.7.man (Differences from troff ms/Text settings):
+   Describe placement-dependent effect of FAM string setting.
+
+   * doc/groff.texi (Highlighting in ms):
+   * doc/ms.ms (Highlighting): As above, and suggest different
+   occasions in which ".ds FAM C" and "CW" are convenient.
+
+   Fixes .
+
 2021-04-19  G. Branden Robinson 
 
* src/roff/troff/input.cpp (source, source_quietly,
diff --git a/doc/groff.texi b/doc/groff.texi
index d8f5552..9925568 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -3241,11 +3241,6 @@ Sets its first argument in a @code{constant-width} 
(monospaced)
 roman typeface.  It operates similarly to the @code{B}@tie{}macro
 otherwise.  This is a Version@tie{}10 Research Unix extension.
 @c possibly V9, but definitely not Berkeley
-
-In @code{groff} @file{ms} you might prefer to change the font family to
-Courier, which is monospaced, by setting the @code{FAM} string to
-@samp{C}.  You can then use all four style macros above, returning to
-the default family (Times) with @samp{.ds FAM T}.
 @endDefmac
 
 @Defmac {BX, [@Var{txt}], ms}
@@ -3289,6 +3284,18 @@ superscript.
 Text enclosed with @code{\*<} and @code{\*>} is printed as a subscript.
 @endDefstr
 
+Rather than calling the @code{CW} macro, in @code{groff} @file{ms} you
+might prefer to change the font family to Courier---a monospaced
+typeface---by setting the @code{FAM} string to @samp{C}.  You can then
+use all four style macros above, returning to the default family (Times)
+with @samp{.ds FAM T}.  If you set @code{FAM} before the first call of a
+sectioning, paragraphing, or (non-date) document description macro, it
+also applies to headers, footers, and footnotes (as well as the body
+text).  A change to @code{FAM} takes effect at the next paragraph, so
+@code{CW} remains useful to ``inline'' a change to the font family,
+similarly to the practice of this document in noting syntactical
+elements of @file{ms} and @code{groff}.
+
 @c -
 
 @node Lists in ms, Indented regions in ms, Highlighting in ms, ms Body Text
diff --git a/doc/ms.ms b/doc/ms.ms
index d5518c3..0bbcf5f 100644
--- a/doc/ms.ms
+++ b/doc/ms.ms
@@ -1207,20 +1207,6 @@ macro otherwise.
 .
 This is a Version\~10 Research Unix extension.
 .\" possibly V9, but definitely not Berkeley
-.
-.
-.sp \n[PD]u
-In
-.I "groff ms"
-you might prefer to change the font family to Courier\[em]a monospaced
-typeface\[em]by setting
-.CW \[rs]*[FAM]
-to
-.CW C \[rq]. \[lq]
-.
-You can then use all four style macros above,
-returning to the default family (Times) 

[groff] 53/54: contrib/sboxes/msboxes.ms: Fix non-body font.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 1c74ce20666bc6ac026db72cf0fc519ba13b0c3b
Author: G. Branden Robinson 
AuthorDate: Wed Apr 21 04:53:40 2021 +1000

contrib/sboxes/msboxes.ms: Fix non-body font.

Take advantage of fix to Savannah #60422.  Set FAM string earlier, but
at last possible opportunity such that it will affect headers, footers,
and footnote text.  The document now uses Helevetica consistently except
where switched to Courier for code examples.
---
 BRANCH-TODO   | 2 --
 contrib/sboxes/msboxes.ms | 4 ++--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/BRANCH-TODO b/BRANCH-TODO
index 98eeced..e6ca956 100644
--- a/BRANCH-TODO
+++ b/BRANCH-TODO
@@ -9,8 +9,6 @@ Resolve the following issues.
   - Use BI in title.
   - Recast language to time-proof it (avoid "recent").
   - Use correct \[aq] glyphs in code literals.
-  - The font is wrong outside the box once the document source is
-presented (headers and footnotes are in Courier on pp. 3-4).
 * Get the BX=x chatter out of stderr.
 * Update gropdf(1) to document \X'pdf: background'.
 * Decide on a place in the existing ms name space definition for the new
diff --git a/contrib/sboxes/msboxes.ms b/contrib/sboxes/msboxes.ms
index e715c7e..84fcc5a 100644
--- a/contrib/sboxes/msboxes.ms
+++ b/contrib/sboxes/msboxes.ms
@@ -16,6 +16,7 @@
 .EF 
 .OH 'Using PDF boxes with the \f[I]ms\f[] macros''%'
 .OF 
+.ds FAM H
 .TL
 Using PDF boxes with the \f[I]ms\f[] macros
 .AU
@@ -23,7 +24,6 @@ Deri James
 .AI
 d...@chuzzlewit.myzen.co.uk
 .\" .AB no
-.ds FAM H
 .LP
 A recent extension to the Groff PDF driver allows coloured rectangles to be
 created beneath any output created by groff. The extension is a new "\eX'pdf:'"
@@ -161,6 +161,7 @@ The above was produced by the following code.
 \&.EF 
 \&.OH 'Using PDF boxes with the \ef[I]ms\ef[] macros''%'
 \&.OF 
+\&.ds FAM H
 \&.TL
 Using PDF boxes with the \ef[I]ms\ef[] macros
 \&.AU
@@ -168,7 +169,6 @@ Deri James
 \&.AI
 d...@chuzzlewit.myzen.co.uk
 \&.\" .AB no
-\&.ds FAM H
 \&.LP
 A recent extension to the Groff PDF driver allows coloured rectangles to be
 created beneath any output created by groff. The extension is a new "\eX'pdf:'"

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 50/54: src/roff/troff/input.cpp: Use Boolean literals.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit fea5e653f57041422f743d13d66bb57ff758d8f3
Author: G. Branden Robinson 
AuthorDate: Tue Apr 20 01:56:14 2021 +1000

src/roff/troff/input.cpp: Use Boolean literals.

* src/roff/troff/input.cpp (source, source_quietly, macro_source,
  macro_source_quietly): Use idiomatic Boolean literals.
---
 ChangeLog| 6 ++
 src/roff/troff/input.cpp | 8 
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ddef1f1..86be337 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-04-19  G. Branden Robinson 
+
+   * src/roff/troff/input.cpp (source, source_quietly,
+   macro_source, macro_source_quietly): Use idiomatic Boolean
+   literals.
+
 2021-04-17  G. Branden Robinson 
 
* doc/groff.texi: Drop workarounds for Texinfo pre-5.0 versions;
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 80733d1..c2b2910 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -5981,7 +5981,7 @@ void do_source(bool quietly)
 
 void source()
 {
-  do_source(0 /* not quietly*/ );
+  do_source(false /* not quietly*/ );
 }
 
 // .soquiet: like .so, but silently ignore files that can't be opened
@@ -5989,7 +5989,7 @@ void source()
 
 void source_quietly()
 {
-  do_source(1 /* quietly */ );
+  do_source(true /* quietly */ );
 }
 
 // like .so but use popen()
@@ -7844,7 +7844,7 @@ void do_macro_source(bool quietly)
 
 void macro_source()
 {
-  do_macro_source(0 /* not quietly (if WARN_FILE enabled) */ );
+  do_macro_source(false /* not quietly (if WARN_FILE enabled) */ );
 }
 
 // .msoquiet: like .mso, but silently ignore files that can't be opened
@@ -7852,7 +7852,7 @@ void macro_source()
 
 void macro_source_quietly()
 {
-  do_macro_source(1 /* quietly */ );
+  do_macro_source(true /* quietly */ );
 }
 
 static void process_input_file(const char *name)

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 41/54: {ChangeLog, NEWS}: Report localization change.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit e0536d285fd744eab69a30becba2190b74c5a609
Author: G. Branden Robinson 
AuthorDate: Thu Apr 15 19:46:36 2021 +1000

{ChangeLog, NEWS}: Report localization change.

Fixes .
---
 ChangeLog | 63 +++
 NEWS  | 18 ++
 2 files changed, 81 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index dbc5063..113a5ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,66 @@
+2021-04-15  G. Branden Robinson 
+
+   [tmac]: Adjust editor file encoding hints.
+
+   * tmac/cs.tmac: Tell Vim the file is "iso-8859-2" (ISO Latin-2).
+   * tmac/en.tmac: Stop telling Emacs the file is "latin-1"; it's
+   ASCII.
+   * tmac/fr.tmac: Tell Vim file is "iso-8859-15" (ISO Latin-9).
+
+   Vim users may need to use ":e ++enc=iso-8859-2", for instance,
+   to see correct glyphs.
+
+2021-04-15  G. Branden Robinson 
+
+   Determine the groff locale (default input language) using the
+   system locale.  Use the environment if possible.  Try LC_ALL
+   first, then LANG.  "C" means English (en).  Otherwise, only the
+   first two characters of the locale name are used.
+
+   Unrecognized locales (those without a supporting xx.tmac file)
+   are ignored, and groff falls back to English.
+
+   Those who want groff's default locale to differ from LC_ALL/LANG
+   should edit the troffrc file to source the appropriate groff
+   locale macro file (cs.tmac, de.tmac, den.tmac, fr.tmac, ja.tmac,
+   sv.tmac, zh.tmac).
+
+   The first-order determinant of hyphenation points is language,
+   not territory.  Use ISO 639 2-letter language codes for
+   hyphenation and exception patterns instead of ISO 3166 2-letter
+   territory codes.
+
+   * tmac/*.us: Rename *.us files to *.en.
+   * tmac/troffrc: Change hyphenation language "us" to "en".
+   * tmac/en.tmac: Add English localization file.  Set hyphenation
+   mode to 4.
+   * tmac/troffrc: Derive groff locale from system.
+
+   * doc/groff.texi (Manipulating Hyphenation):
+   * man/groff.7.man (Hyphenation):
+   * man/groff_diff.7.man (Implementation differences): Refer to
+   "U.S. English" hyphenation patterns as simply "English"; they
+   will be mostly correct for Commonwealth English as well, and no
+   alternative English hyphenation patterns for other territories
+   are available.
+
+   * doc/groff.texi (Manipulating Hyphenation):
+   * man/groff_diff.7.man (New requests): Note that default
+   hyphenation mode depends on the language used on the system.
+   Add concept index entry for localization.  Add file index
+   entries for the locale macro files (cs.tmac, etc.).  Add
+   environment variable index entries for LANG and LC_ALL.
+   Describe how groff's idea of the locale is determined.  Update
+   to reflect rename of English hyphenation patterns and .hla
+   identifier from "us" to "en".
+
+   * src/roff/groff/tests/localization_works.sh: Add 10 test cases.
+   * src/roff/groff/groff.am (groff_TESTS): Run test.
+
+   * tmac/LOCALIZATION: Rewrite.
+
+   Fixes .
+
 2021-04-12  Dave Kemper 
 
* doc/meref.me: Correct various small issues.
diff --git a/NEWS b/NEWS
index 4a726cf..f0da9f3 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,24 @@ VERSION 1.23.0
 troff
 -
 
+o The groff locale (the default input language) is now determined using
+  the system locale.  The LC_ALL and LANG environment variables are
+  checked, in that order.  If set, the value's first two characters
+  determine the groff locale.  If these variables are not set, if the
+  first one found is set to "C", or if no groff localization file exists
+  for the language, groff falls back to English, loading en.tmac.
+
+  Those who want groff's default locale to differ from LC_ALL/LANG
+  should edit the troffrc file to source the appropriate groff locale
+  macro file (cs.tmac, de.tmac, den.tmac, fr.tmac, ja.tmac, sv.tmac,
+  zh.tmac).
+
+  The default hyphenation mode (as used by the .hy request) for users of
+  English is thus changed from "1", which was inappropriate for the
+  TeX-based hyphenation patterns groff has used since at least 1991, to
+  "4".  However, calling .hy without an argument remains synonymous with
+  ".hy 1".
+
 o A new read-only register ".cp" is implemented.  Within a .do request,
   "\n[.cp]" holds the saved value of compatibility mode.  See
   groff_diff(7) or the groff Texinfo manual for rationale, use case, and

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 39/54: tmac/LOCALIZATION: Rewrite.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 464eb35d1d69d90f155ae2c2bdfa9bb34e42c367
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 18:25:55 2021 +1000

tmac/LOCALIZATION: Rewrite.
---
 tmac/LOCALIZATION | 79 +--
 1 file changed, 41 insertions(+), 38 deletions(-)

diff --git a/tmac/LOCALIZATION b/tmac/LOCALIZATION
index cf01a03..3f8a1cb 100644
--- a/tmac/LOCALIZATION
+++ b/tmac/LOCALIZATION
@@ -1,54 +1,57 @@
-
 Localization
 
 
-The localization process involves two files.
-
-  - A locale dependent file (for example, fr.tmac for French) where all
-locale specific strings are (re)defined.
-
-  - A locale independent file (trans.tmac) responsible for activating those
-localized strings.
+The localization process involves two groff files and zero or more
+hyphenation pattern files.
 
-All you have to do is to create a new file named 'LL.tmac' where 'LL' is
-your country code ('de' for Germany, 'el' for Greece, ...), maybe using
-'fr.tmac' as a template.
+1.  A locale-dependent file (for example, fr.tmac for French) does one
+or several of the following.
 
-The first thing to do is to redefine the string 'locale' to your language.
+A.  A string identifying the groff locale (e.g., "english") is set.
+B.  Locale-specific strings used by macro packages are (re)defined.
+C.  The "trans.tmac" file is loaded with the .mso request to
+activate the strings set up in the previous item.
+C.  Other tweaks to macro package configuration are peformed, such
+as altering the ordering of the components of a date string.
+D.  Additional inter-sentence space is set to a language-appropriate
+amount with the .ss request.
+E.  A hyphenation mode appropriate to the hyphenation pattern files
+for the locale is set with the .hy request.
+F.  Hyphenation codes appropriate to the hyphenation pattern files
+for the locale are set with the .hcode request.
+G.  The hyphenation language is set with the .hla request.
+H.  Hyphenation pattern and exception files are loaded with the .hpf
+and .hpfa requests.
+I.  Support for a character encoding approriate to the locale is
+loaded with the .mso request.
 
-  .ds locale german\"
+2.  A locale-independent file (trans.tmac) activates the localized
+strings set up in item B above.
 
-Then change all the translations in the predefined strings.  Don't forget
-the \" at the end of each string, preventing spaces from lurking around.
+See the groff Texinfo manual in doc/groff.texi for descriptions of the
+requests referred to above.
 
-After 'trans.tmac' has been called by
+Localization files are named using ISO 639-1 language identifiers.
+Further specialization of locales by ISO 3166 territory codes is
+tentatively planned as of groff 1.23.0, awaiting expressions of demand.
 
-  .mso trans.tmac
+After 'trans.tmac' has been loaded, you must redefine the date strings
+in order to use the day and month names translated earlier.  The date
+format also may need to be changed.
 
-you must redefine the date strings in order to use the day and month names
-translated earlier.  If you don't feel comfortable with groff maybe you
-should use the definitions used in 'fr.tmac'.  Nevertheless, you should take
-care of the order of the date elements.
+- If the locale's date format is MM/DD/, use the following.
 
-  - If your date format is MM/DD/YY:
+for ms: .ds DY \*[MO] \n[dy] \n[year]\"
+for mm: .ds cov*new-date \\*[MO\\n[mo]] \\n[dy] \\n[year]\"
+for me: .ds td \*(mo \n(dy \n(y4\"
 
-  for ms: .ds DY \*[MO] \n[dy] \n[year]
-  for mm: .ds cov*new-date \\*[MO\\n[mo]] \\n[dy] \\n[year]
-  for me: .ds td \*(mo \n(dy \n(y4
+- If the locale's date format is DD/MM/, use the following.
 
-  - If your date format is DD/MM/YY:
-
-  for ms: .ds DY \n[dy] \*[MO] \n[year]
-  for mm: .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] \\n[year]
-  for me: .ds td \n(dy \*(mo \n(y4
+for ms: .ds DY \n[dy] \*[MO] \n[year]\"
+for mm: .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] \\n[year]\"
+for me: .ds td \n(dy \*(mo \n(y4\"
 
 Other date formats can be handled similarly.
 
-NOTE: For the mm package, in the 'ISODATE' macro, only the first definition
-  of 'cov*new-date' must be changed (see 'fr.tmac').
-
-Finally, change groff behaviour in order to comply with your locale.  For
-example, 'fr.tmac' changes the default encoding, sets the sentence spaces,
-and final activates hyphenation, provided there are hyphenation patterns
-available (which should be put into files named 'hyphen.LL' for
-consistency).
+Note: For the mm package, in the 'ISODATE' macro, only the first
+definition of 'cov*new-date' must be changed (see 'fr.tmac').

___
Groff-commit mailing list
Groff-commit@gnu.org

[groff] 29/54: doc/groff.texi: Fix more "current environment"s.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 0a281c771b093220af5430148e2028d336d9b6d2
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 19:12:01 2021 +1000

doc/groff.texi: Fix more "current environment"s.
---
 doc/groff.texi | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 9ca7e79..f876f6e 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7706,10 +7706,10 @@ register @samp{.hla}; it is associated with the 
environment
 @cindex hyphenated lines, consecutive (@code{hlm})
 Set the maximum number of consecutive hyphenated lines to @var{n}.  If
 @var{n} is negative, there is no maximum.  If omitted, @var{n}
-is@tie{}@minus{}1.  This value is associated with the current
-environment (@pxref{Environments}).  Only lines output from a given
-environment count towards the maximum associated with that environment.
-Hyphens resulting from @code{\%} are counted; explicit hyphens are not.
+is@tie{}@minus{}1.  This value is associated with the environment
+(@pxref{Environments}).  Only lines output from a given environment
+count towards the maximum associated with that environment.  Hyphens
+resulting from @code{\%} are counted; explicit hyphens are not.
 
 @cindex hyphenation consecutive line limit register (@code{.hlm})
 @cindex hyphenation consecutive line count register (@code{.hlc})
@@ -7727,8 +7727,8 @@ Set the (right) hyphenation margin to @var{length}.  If 
the adjustment
 mode is not @samp{b} or @samp{n}, the line is not hyphenated if it is
 shorter than @var{length}.  Without an argument, the hyphenation margin
 is reset to its default value, 0.  The default scaling indicator is
-@samp{m}.  The hyphenation margin is associated with the current
-environment (@pxref{Environments}).
+@samp{m}.  The hyphenation margin is associated with the environment
+(@pxref{Environments}).
 
 A negative argument resets the hyphenation margin to zero, emitting a
 warning of type @samp{range}.
@@ -7748,7 +7748,7 @@ Suppress hyphenation of the line in adjustment modes 
@samp{b} or
 @var{hyphenation-space} extra space to each inter-word space.  Without
 an argument, the hyphenation space adjustment threshold is set to its
 default value, 0.  The default scaling indicator is @samp{m}.  The
-hyphenation space adjustment threshold is associated with the current
+hyphenation space adjustment threshold is associated with the
 environment (@pxref{Environments}).
 
 A negative argument resets the hyphenation space adjustment threshold to
@@ -8822,7 +8822,7 @@ Temporarily indent the next output line by @var{offset}.  
If an
 increment or decrement value is specified, adjust the temporary
 indentation relative to the value set by the @code{in} request.
 
-This request causes a break; its value is associated with the current
+This request causes a break; its value is associated with the
 environment (@pxref{Environments}).  The default scaling indicator is
 @samp{m}.  A call of @code{ti} without an argument is ignored.
 
@@ -8987,7 +8987,7 @@ An intervening control line that causes a break is 
stronger than
 
 @cindex interrupted line register (@code{.int})
 The @code{.int} register contains a positive value if the last output
-line was interrupted with @code{\c}; this is associated with the current
+line was interrupted with @code{\c}; this is associated with the
 environment (@pxref{Environments}).
 @endDefesc
 

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 28/54: doc/groff.texi (Manipulating Hyphenation): Tweak.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit feba7d2115211a9d61a4ba61f496e38358c0639d
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 08:14:42 2021 +1000

doc/groff.texi (Manipulating Hyphenation): Tweak.

- Shift some material into the lead sentence.
- : Document request default in lead paragraph.
- : Drop redundant statement of inapplicability of placement
  restrictions to exceptions defined with .hw.
- : Tighten wording and consolidate paragraphs.
---
 doc/groff.texi | 31 +++
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index e9cef7d..9ca7e79 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7266,7 +7266,8 @@ If @emph{undiscardable} space is required, use the 
@code{\h} escape.
 
 @cindex hyphenation, automatic
 @cindex automatic hyphenation
-GNU @code{troff} normally hyphenates words where necessary.  The
+When filling, GNU @code{troff} hyphenates words as needed at
+user-specified and automatically determined hyphenation points.  The
 machine-driven determination of hyphenation points in words requires
 algorithms and data, and is susceptible to conventions and preferences.
 Before tackling such @dfn{automatic hyphenation}, let us consider how
@@ -7277,11 +7278,11 @@ hyphenation points can be set manually.
 @cindex hyphenation, manual
 @cindex manual hyphenation
 Explicitly hyphenated words such as ``mother-in-law'' are eligible for
-breaking after each of their hyphens when GNU @code{troff} fills lines.
-Relatively few words in a language offer such obvious break points,
-however, and automatic hyphenation is not perfect, particularly for
-unusual words found in technical literature.  We may wish to instruct
-GNU @code{troff} how to hyphenate specific words if the need arises.
+breaking after each of their hyphens.  Relatively few words in a
+language offer such obvious break points, however, and automatic
+hyphenation is not perfect, particularly for unusual words found in
+technical literature.  We may wish to instruct GNU @code{troff} how to
+hyphenate specific words if the need arises.
 
 @cindex hyphenation exceptions
 @Defreq {hw, word @dots{}}
@@ -7424,9 +7425,9 @@ with up to a certain amount of additional inter-word 
space (@code{hys}).
 @DefreqList {hy, [@Var{mode}]}
 @DefregListEndx {.hy}
 Set automatic hyphenation mode to @var{mode}, an integer encoding
-conditions for hyphenation.  The hyphenation mode is available in the
-read-only register @samp{.hy}; it is associated with the environment
-(@pxref{Environments}).
+conditions for hyphenation; if omitted, 1 is implied.  The hyphenation
+mode is available in the read-only register @samp{.hy}; it is associated
+with the environment (@pxref{Environments}).
 
 Typesetting practice generally does not avail itself of every
 opportunity for hyphenation, but the details differ by language and site
@@ -7545,9 +7546,8 @@ the @cite{groff_tmac@r{(5)}} man page for more 
information on GNU
 @end multitable
 
 Hyphenation exceptions within pattern files (i.e., the words within a
-@TeX{} @code{\hyphenation} group) also obey the hyphenation restrictions
-given by @code{hy}.  However, exceptions specified with @code{hw} do
-not.
+@TeX{} @code{\hyphenation} group) obey the hyphenation restrictions
+given by @code{hy}.
 @endDefreq
 
 @Defreq {nh, }
@@ -7561,11 +7561,10 @@ remembered.
 @DefreqListEndx {hpfcode, a b [c d] @dots{}}
 @cindex hyphenation patterns (@code{hpf})
 @cindex patterns for hyphenation (@code{hpf})
-Read hyphenation patterns from @var{pattern-file}.  This file is sought
+Read hyphenation patterns from @var{pattern-file}, which is sought
 in the same way that macro files are with the @code{mso} request or the
-@option{-m@var{name}} command-line option to @code{groff}.
-
-The @var{pattern-file} should have the same format as (simple) @TeX{}
+@option{-m@var{name}} command-line option to @code{groff}.  The
+@var{pattern-file} should have the same format as (simple) @TeX{}
 pattern files.  More specifically, the following scanning rules are
 implemented.
 

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 24/54: groff(7): Drop discussion of Y2K issues.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit fae62043e63ebb17d7d705d9232e80e2e0e32c02
Author: Dave Kemper 
AuthorDate: Sun Apr 11 10:48:45 2021 +

groff(7): Drop discussion of Y2K issues.

Fixes .
---
 ChangeLog   | 7 +++
 man/groff.7.man | 8 ++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fc1d744..6ccc633 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-04-12  Dave Kemper 
+
+   * man/groff.7.man (Registers/Writable registers) :
+   Drop discussion of Y2K issues.
+
+   Fixes .
+
 2021-04-11  G. Branden Robinson 
 
* doc/groff.texi (Setting Registers) : Fix error; the
diff --git a/man/groff.7.man b/man/groff.7.man
index 27a1c98..0a826c4 100644
--- a/man/groff.7.man
+++ b/man/groff.7.man
@@ -4883,15 +4883,11 @@ image (set by
 .
 .TPx
 .REG year
-The current year (year 2000 compliant).
+The current year.
 .
 .TPx
 .REG yr
-Current year minus 1900.
-.
-For Y2K compliance use
-.register year
-instead.
+The current year minus 1900.
 .
 .PD
 .

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 23/54: doc/groff.texi: Make small clarifications.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 02aacdf717f6a6de6bc503dfc2fb0dca9694dd57
Author: G. Branden Robinson 
AuthorDate: Mon Apr 12 00:06:02 2021 +1000

doc/groff.texi: Make small clarifications.
---
 doc/groff.texi | 82 ++
 1 file changed, 42 insertions(+), 40 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 813bbb8..1cfcfae 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -4496,16 +4496,16 @@ not interested in details.
 
 @acronym{AT} @code{troff} was designed to take input as it would be
 composed on a typewriter, including the teletypewriters used as early
-computer terminals, and relieve the user of having to be concerned with
-the precise line length that the final version of the document would
-use, where words should be hyphenated, and how to achieve straight
-margins on both the left and right sides of the page.  Early in its
-development, the program gained the ability to prepare output for a
-phototypesetter; a document could then be prepared for output to either
-a teletypewriter, a phototypesetter, or both.  GNU @code{troff}
-continues this tradition of permitting an author to compose a single
-master version of a document which can then be rendered for a variety of
-output formats or devices.
+computer terminals, and relieve the user of having to be concerned
+during the drafting process with the precise line length that the final
+version of the document would use, where words should be hyphenated, and
+how to achieve straight margins on both the left and right sides of the
+page.  Early in its development, the program gained the ability to
+prepare output for a phototypesetter; a document could then be prepared
+for output to either a teletypewriter, a phototypesetter, or both.  GNU
+@code{troff} continues this tradition of permitting an author to compose
+a single master version of a document which can then be rendered for a
+variety of output formats or devices.
 
 @code{roff} input files contain text interspersed with instructions to
 control the formatter.  Even in the absence of such instructions, GNU
@@ -4655,11 +4655,11 @@ the advice presented in @ref{Input Conventions}.
 @cindex special characters
 @cindex characters, special
 Normally, the occurrence of a visible non-end-of-sentence character (as
-opposed to a space or tab) after an end-of-sentence character cancels
-detection of the end of a sentence.  For example, it would be incorrect
-for GNU @code{troff} to infer the end of a sentence after the dot in
-@samp{3.14159}.  However, several characters are treated
-@emph{transparently} after the occurence of an end-of-sentence
+opposed to a space or tab) immediately after an end-of-sentence
+character cancels detection of the end of a sentence.  For example, it
+would be incorrect for GNU @code{troff} to infer the end of a sentence
+after the dot in @samp{3.14159}.  However, several characters are
+treated @emph{transparently} after the occurence of an end-of-sentence
 character.  That is, GNU @code{troff} does not cancel end-of-sentence
 detection when it processes them.  This is because such characters are
 often used as footnote markers or to close quotations and
@@ -4724,8 +4724,8 @@ on a different output line; this is called a @dfn{break}. 
 In this
 manual and in @code{roff} discussions generally, a ``break'' if not
 further qualified always refers to the termination of an output line.
 When the formatter is filling text, it introduces breaks automatically
-to keep output lines from exceeding the current line length.  After an
-automatic break, GNU @code{troff} adjusts the line if applicable (see
+to keep output lines from exceeding the configured line length.  After
+an automatic break, GNU @code{troff} adjusts the line if applicable (see
 below), and then resumes collecting and filling text on the next output
 line.
 
@@ -4861,12 +4861,12 @@ name and each other by spaces) that specify details of 
the action GNU
 @code{troff} is expected to perform.  If a request is meaningless
 without arguments, it is typically ignored.
 
-GNU @code{troff} requests, combined with its escape sequences, comprise
-the control language of the formatter.  Of key importance are the
-requests that define macros.  Macros are invoked like requests, enabling
-the request repertoire to be extended or overridden.@footnote{Argument
-handling in macros is more flexible but also more complex.
-@xref{Request and Macro Arguments}.}
+GNU @code{troff}'s requests and escape sequences comprise the control
+language of the formatter.  Of key importance are the requests that
+define macros.  Macros are invoked like requests, enabling the request
+repertoire to be extended or overridden.@footnote{Argument handling in
+macros is more flexible but also more complex.  @xref{Request and Macro
+Arguments}.}
 
 @cindex macro
 @cindex calling a macro
@@ -4985,13 +4985,13 @@ We could have defined 

[groff] 22/54: doc/groff.texi (Manipulating Hyphenation): Tweak.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 62373e779f0ca76aeb8c5ed62385cc6ebc28b89a
Author: G. Branden Robinson 
AuthorDate: Sun Apr 11 10:40:44 2021 +1000

doc/groff.texi (Manipulating Hyphenation): Tweak.

- Clarify forward reference within node.
- Shift description of .hy register and environment association to lead
  paragraph of .hy request description since over a page and a half is
  given over to discussion of the semantics of the argument and its
  interaction with hyphenation pattern files.
- Recast forward reference to table since it has a tendency to end up on
  the next page.
- Note that .hy value 2 applies even to manual hyphenation points.
- Follow "U.S." with Texinfo @: command since the Texinfo manual
  recommends it.
- Add forward reference within node.
- Adjust wording of hcode example.
---
 doc/groff.texi | 70 --
 1 file changed, 34 insertions(+), 36 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 9118886..813bbb8 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7300,9 +7300,9 @@ within-word placement restrictions imposed by the 
@code{hy} request (see
 below).
 
 Hyphenation exceptions specified with the @code{hw} request are
-associated with the hyphenation language (see below) and environment
-(@pxref{Environments}); calling the @code{hw} request in the absence of
-a hyphenation language is an error.
+associated with the hyphenation language (see the @code{hla} request
+below) and environment (@pxref{Environments}); calling the @code{hw}
+request in the absence of a hyphenation language is an error.
 
 The request is ignored if there are no parameters.
 @endDefreq
@@ -7411,10 +7411,13 @@ lines have been hyphenated (@code{hlm}), the line has 
not reached a
 certain minimum length (@code{hym}), or the line can instead be adjusted
 with up to a certain amount of additional inter-word space (@code{hys}).
 
+@cindex hyphenation mode register (@code{.hy})
 @DefreqList {hy, [@Var{mode}]}
 @DefregListEndx {.hy}
-Set automatic hyphenation mode to @var{mode}.  The optional numeric
-argument @var{mode} encodes conditions for hyphenation.
+Set automatic hyphenation mode to @var{mode}, an integer encoding
+conditions for hyphenation.  The hyphenation mode is available in the
+read-only register @samp{.hy}; it is associated with the environment
+(@pxref{Environments}).
 
 Typesetting practice generally does not avail itself of every
 opportunity for hyphenation, but the details differ by language and site
@@ -7429,9 +7432,9 @@ sought.@footnote{The mode is a vector of booleans encoded 
as an integer.
 To a programmer, this fact is easily deduced from the exclusive use of
 powers of two for the configuration parameters; they are computationally
 easy to ``mask off'' and compare to zero.  To almost everyone else, the
-arrangement seems recondite and unfriendly.}  The entries in the table
-below are termed @dfn{values}, and the sum of the desired values is the
-@dfn{mode}.
+arrangement seems recondite and unfriendly.}  The entries in the
+following table are termed @dfn{values}; the sum of the desired
+values is the @dfn{mode}.
 
 @table @code
 @item 0
@@ -7449,14 +7452,14 @@ restrictions relative to that basis.
 
 @table @code
 @item 2
-disables hyphenation of the last word on a page.@footnote{This value
-prevents hyphenation if the next page location trap is closer than the
-next text baseline would be.  GNU @code{troff} automatically inserts an
-implicit vertical position trap at the end of each page to cause a page
+disables hyphenation of the last word on a page,@footnote{Hyphenation is
+prevented if the next page location trap is closer than the next text
+baseline would be.  GNU @code{troff} automatically inserts an implicit
+vertical position trap at the end of each page to cause a page
 transition.  Users or macro packages can set such traps explicitly to
 prevent hyphenation of the last word in a column in multi-column page
-layouts or before floating figures or tables.
-@xref{Page Location Traps}.}
+layouts or before floating figures or tables.  @xref{Page Location
+Traps}.} even for manually hyphenated words.
 
 @item 4
 disables hyphenation before the last two characters of a word.
@@ -7510,12 +7513,12 @@ s- plit- t- in- g
 @endExample
 
 @noindent
-instead of the correct `split- ting'.  U.S. English patterns as
+instead of the correct `split- ting'.  U.S.@: English patterns as
 distributed with GNU @code{troff} need two characters at the beginning
 and three characters at the end; this means that value@tie{}4 of
 @code{hy} is mandatory.  Value@tie{}8 is possible as an additional
 restriction, but values@tie{}16 and@tie{}32 should be avoided, as should
-mode@tie{}1 (the default!).  Modes@tie{}4 and@tie{}6 are typical.
+mode@tie{}1.  Modes@tie{}4 and@tie{}6 are typical.
 
 A table of left and right minimum character 

[groff] 17/54: doc/groff.texi (I/O): Tweak content.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 7b2079738aa02759442146752fbc0de399e43f5b
Author: G. Branden Robinson 
AuthorDate: Sun Apr 11 09:23:36 2021 +1000

doc/groff.texi (I/O): Tweak content.

The qualifying clause is not necessary; file warnings are enabled by
default.
---
 doc/groff.texi | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 911d6dd..9e6368d 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -14298,8 +14298,7 @@ The search path for @var{file} can be controlled with 
the @option{-I}
 command-line option.
 
 @code{soquiet} works the same way, except that no warning diagnostic
-is issued if @var{file} does not exist, even if warnings of type
-@samp{file} are enabled.
+is issued if @var{file} does not exist.
 @endDefreq
 
 @Defreq {pso, command}

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 13/54: groff(7): Fix style nits.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit cfbbaa81840315bcef010580de045d193285559a
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 12:19:11 2021 +1000

groff(7): Fix style nits.

- (mso): Set "tmac" in italics.  Tighten wording.
- (so): Say "interpolate" instead of "include"; the latter is something
  of a C-language-ism.  Recast sense of "source" to serve more as a
  mnemonic for the request name than a taxonomic description of the
  argument.
---
 man/groff.7.man | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/man/groff.7.man b/man/groff.7.man
index 43a15f5..e799629 100644
--- a/man/groff.7.man
+++ b/man/groff.7.man
@@ -2200,13 +2200,16 @@ or in an internal register used by
 .B .rt
 if no argument.
 .
+.
 .TPx
 .REQ .mso "file"
-The same as
-.request .so
+As
+.request .so ,
 except that
 .I file
-is searched in the tmac directories.
+is sought in the
+.I tmac
+directories.
 .
 .
 .TPx
@@ -2540,9 +2543,12 @@ command in a
 .I DESC
 file.
 .
+.
 .TPx
-.REQ .so "filename"
-Include source file.
+.REQ .so file
+Interpolate (\[lq]source\[rq])
+.IR file .
+.
 .
 .TPx
 .REQ .sp

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 12/54: doc/groff.texi (I/O): Shift sentence.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit f616943b9f50b9dc5b091ba90aa34b24587c7073
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 12:14:27 2021 +1000

doc/groff.texi (I/O): Shift sentence.

Move explanation of "file" warning behavior from .mso to .so
description, since it applies to .so and .mso incorporates .so's
behavior by reference.
---
 doc/groff.texi | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index e72f3bd..0a1fbf0 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -14273,9 +14273,11 @@ The fill color is associated with the current 
environment
 @cindex including a file (@code{so})
 @cindex file, inclusion (@code{so})
 Read in the specified @var{file} and include it in place of the
-@code{so} request.  This is quite useful for large documents, e.g.@:
-keeping each chapter in a separate file.  @xref{gsoelim}, for more
-information.
+@code{so} request.  If @var{file} does not exist, a warning of type
+@samp{file} is emitted and the request has no other effect.
+@xref{Debugging}, for information about warnings.  This is quite useful
+for large documents, e.g.@: keeping each chapter in a separate file.
+@xref{gsoelim}, for more information.
 
 Since @code{gtroff} replaces the @code{so} request with the contents of
 @code{file}, it makes a difference whether the data is terminated with a
@@ -14312,13 +14314,12 @@ for @code{pso} also.
 @endDefreq
 
 @Defreq {mso, file}
-Identical to the @code{so} request except that @code{gtroff} searches
-for the specified @var{file} in the same directories as macro files for
-the @option{-m} command-line option.  If the file name to be included
-has the form @file{@var{name}.tmac} and it isn't found, @code{mso} tries
-to include @file{tmac.@var{name}} and vice versa.  If the file does not
-exist, a warning of type @samp{file} is emitted.  @xref{Debugging}, for
-information about warnings.
+Identical to the @code{so} request
+except that @code{gtroff} searches for the specified @var{file} in the
+same directories as macro files for the @option{-m} command-line option.
+If the file name to be included has the form @file{@var{name}.tmac} and
+it isn't found, @code{mso} tries to include @file{tmac.@var{name}} and
+vice versa.
 @endDefreq
 
 @DefreqList {trf, file}

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 49/54: Fix building with "make distcheck".

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 4ca4618d36dc5623d9b27c6eb1e6d57065e27325
Author: G. Branden Robinson 
AuthorDate: Sun Apr 18 15:40:18 2021 +1000

Fix building with "make distcheck".

Lo and behold, a new application of "test-groff" arises...
---
 BRANCH-TODO  | 1 -
 contrib/sboxes/sboxes.am | 7 +--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/BRANCH-TODO b/BRANCH-TODO
index ea6f3dc..d24e76b 100644
--- a/BRANCH-TODO
+++ b/BRANCH-TODO
@@ -5,7 +5,6 @@ $ git rebase master
 
 Resolve the following issues.
 
-* Get it building with 'make distcheck'.
 * Style-tweak the new document msboxes.pdf.
   - Use BI in title.
   - Recast language to time-proof it (avoid "recent").
diff --git a/contrib/sboxes/sboxes.am b/contrib/sboxes/sboxes.am
index e362467..01bc0ce 100644
--- a/contrib/sboxes/sboxes.am
+++ b/contrib/sboxes/sboxes.am
@@ -15,6 +15,7 @@ dist_sboxesexample_DATA = $(SBOXES_EXAMPLEFILES)
 SBOXES_PROCESSEDEXAMPLEFILES = contrib/sboxes/msboxes.pdf
 sboxesprocessedexampledir = $(exampledir)/sboxes
 nodist_sboxesprocessedexample_DATA = $(SBOXES_PROCESSEDEXAMPLEFILES)
+MOSTLYCLEANFILES += $(SBOXES_PROCESSEDEXAMPLEFILES)
 else
 EXTRA_DIST += $(SBOXES_EXAMPLEFILES)
 endif
@@ -22,9 +23,11 @@ endif
 $(SBOXES_PROCESSEDEXAMPLEFILES): $(SBOXES_NORMAL_FILES) \
   groff troff gropdf font/devpdf/build_font_files
 
-contrib/sboxes/msboxes.pdf:
+TEST_GROFF=$(top_builddir)/test-groff
+
+contrib/sboxes/msboxes.pdf: $(sboxes_srcdir)/msboxes.ms $(TEST_GROFF)
mkdir -p $(top_builddir)/contrib/sboxes/
-   $(top_builddir)/groff $(SBOXES_FLAGS) $(sboxes_srcdir)/msboxes.ms > $@
+   $(TEST_GROFF) $(SBOXES_FLAGS) $(sboxes_srcdir)/msboxes.ms > $@
 
 uninstall_groffdirs: uninstall_sboxes
 uninstall_sboxes:

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 48/54: BRANCH-TODO: Add "acceptance criteria".

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit f5d37ff4337eafda031838ff213c2747941ac55f
Author: G. Branden Robinson 
AuthorDate: Sun Apr 18 15:26:29 2021 +1000

BRANCH-TODO: Add "acceptance criteria".
---
 BRANCH-TODO | 36 
 1 file changed, 36 insertions(+)

diff --git a/BRANCH-TODO b/BRANCH-TODO
new file mode 100644
index 000..ea6f3dc
--- /dev/null
+++ b/BRANCH-TODO
@@ -0,0 +1,36 @@
+Keep this branch up to date with 'master'.
+
+$ git checkout $THIS_BRANCH
+$ git rebase master
+
+Resolve the following issues.
+
+* Get it building with 'make distcheck'.
+* Style-tweak the new document msboxes.pdf.
+  - Use BI in title.
+  - Recast language to time-proof it (avoid "recent").
+  - Use correct \[aq] glyphs in code literals.
+  - The font is wrong outside the box once the document source is
+presented (headers and footnotes are in Courier on pp. 3-4).
+* Update gropdf(1) to document \X'pdf: background'.
+* Decide on a place in the existing ms name space definition for the new
+  macros.  "BoxStart" and "BoxStop" are in the part we say we won't use.
+  Maybe "BOXSTART" and "BOXSTOP" or "BOX1" and "BOX2".  ("B1" and "B2"
+  already exist and are similar, with much less functionality.)
+* Does sboxes need to be in contrib?  gropdf isn't.  Can we put it in
+  tmac?
+* Should we opportunistically load sboxes.tmac from s.tmac?  The user
+  would then not need to specify an "-msboxes" argument to groff.
+  (AT troff did this to modularize ms with
+  tmac.s{cover,disp,keep,refs}.)
+* Fix copyright notices.  This is piping fresh 2021 stuff.
+
+When commits have been to the branch resolving all of the above, delete
+this file and rebase the branch onto master.
+
+$ git checkout master
+$ git rebase $THIS_BRANCH
+
+If this branch was kept up to date, there should be no problems.
+
+GBR, 2021-04-18

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 46/54: doc/me{intro,ref}.me: Use "point size" correctly.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 5e46b038e35d990ec3ef18dc0d8fb04031d2fe87
Author: Dave Kemper 
AuthorDate: Fri Apr 16 11:50:37 2021 +

doc/me{intro,ref}.me: Use "point size" correctly.

Fixes .
---
 ChangeLog  |  8 
 doc/meintro.me | 12 ++--
 doc/meref.me   | 36 ++--
 3 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b63f0c8..871d46c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2021-04-17  Dave Kemper 
+
+   * doc/meintro.me:
+   * doc/meref.me: Correct and make consistent usage of the term
+   "point size".
+
+   Fixes .
+
 2021-04-17  G. Branden Robinson 
 
* tmac/an-old.tmac (SS): Add devtags support.  Set a subsection
diff --git a/doc/meintro.me b/doc/meintro.me
index 2b0e91b..3514492 100644
--- a/doc/meintro.me
+++ b/doc/meintro.me
@@ -2108,7 +2108,7 @@ The default point size
 is 10 points
 for most text,
 8 points for footnotes.
-To change the pointsize,
+To change the point size,
 type:
 .(b
 \&.sz \c
@@ -2126,20 +2126,20 @@ between adjacent lines)
 is set to be proportional
 to the type size.
 .pp
-These pointsize changes are
+These point-size changes are
 .i temporary !!!
 For example,
-to reset the pointsize of basic text to twelve point, use:
+to reset the point size of basic text to twelve point, use:
 .(b
 \&.nr pp 12
 \&.nr sp 12
 \&.nr tp 12
 .)b
-to reset the default pointsize of
+to reset the default point size of
 paragraphs,
 section headers,
 and titles respectively.
-If you only want to set the names of sections in a larger pointsize,
+If you only want to set the names of sections in a larger point size,
 use:
 .(b
 \&.nr sp 11
@@ -2150,7 +2150,7 @@ alone \*- this sets section titles
 above)
 in a larger font than the default.
 .pp
-A single word or phrase can be set in a smaller pointsize
+A single word or phrase can be set in a smaller point size
 than the surrounding text
 using the
 .b .sm
diff --git a/doc/meref.me b/doc/meref.me
index 359dd67..73ea081 100644
--- a/doc/meref.me
+++ b/doc/meref.me
@@ -96,7 +96,7 @@ Specifically,
 the reader should understand
 breaks,
 fonts,
-pointsizes,
+point sizes,
 the use and definition of number registers
 and strings,
 how to define macros,
@@ -1115,11 +1115,11 @@ on the current page.
 .b .sz
 .i +P
 .DE
-The pointsize is set to
+The point size is set to
 .i P
 [10p],
 and the line spacing is set proportionally.
-The line spacing as a percentage of the pointsize expressed in units
+The line spacing as a percentage of the point size expressed in units
 is stored in
 .NR ($v .
 The percentage used internally
@@ -1133,8 +1133,8 @@ This size is
 sticky beyond many macros:
 in particular,
 .NR (pp
-(paragraph pointsize)
-modifies the pointsize every time a new paragraph is begun
+(paragraph point size)
+modifies the point size every time a new paragraph is begun
 using the
 .b \&.pp ,
 .b \&.lp ,
@@ -1145,15 +1145,15 @@ or
 macros.
 Also,
 .NR (fp
-(footnote pointsize),
+(footnote point size),
 .NR (qp
-(quote pointsize),
+(quote point size),
 .NR (sp
-(section header pointsize),
+(section header point size),
 and
 .NR (tp
-(title pointsize)
-may modify the pointsize.
+(title point size)
+may modify the point size.
 .TL
 .b .r
 .i W
@@ -1270,7 +1270,7 @@ it is safe in nofill mode only.
 .DE
 Sets
 .i W
-in a smaller pointsize,
+in a smaller point size,
 with
 .i X
 appended.
@@ -2108,7 +2108,7 @@ NAME  TYPEDESCRIPTION
 \en(fi R   footnote indent (first line only)
 \en(fm R   footer margin
 \&.fo  M   set footer
-\en(fp R   footnote pointsize
+\en(fp R   footnote point size
 \en(fs R   footnote prespace
 \en(fu R   footnote undent (from right margin)
 \eh\'\fI\\fP\'   F\(sc   local horizontal motion for distance \fI\\fP
@@ -2162,13 +2162,13 @@ NAMETYPEDESCRIPTION
 \&.po  M\(sc   page offset
 \en(po R   simulated page offset
 \&.pp  M   begin paragraph
-\en(pp R   paragraph pointsize
+\en(pp R   paragraph point size
 \en(ps R   paragraph prespace
 \&.q   M   quoted
 \e*(qa S   for all
 \e*(qe S   there exists
 \en(qi R   quote indent (also shortens line)
-\en(qp R   quote pointsize
+\en(qp R   quote point size
 \en(qs R   quote pre/post space
 \&.r   M   roman font
 \&.rb  M   real bold font
@@ -2185,14 +2185,14 @@ NAMETYPEDESCRIPTION
 \&.sh  M   begin numbered section
 \en(si R   relative base indent per section depth
 \&.sk  M   skip next page
-\&.sm  M   set argument in a smaller pointsize
+\&.sm  M   set argument in a smaller point size
 \&.so  M\(sc   source input file
 \en(so R   additional section title offset
 \&.sp  M\(sc   vertical space (except at top of page, in contrast to .bl)
-\en(sp R   section title pointsize
+\en(sp R  

[groff] 45/54: tmac/an-old.tmac (SS): Add devtags support.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 7c1303ff9ad77d121ae1afcad3fa156f8e8310c3
Author: G. Branden Robinson 
AuthorDate: Sat Apr 17 11:43:36 2021 +1000

tmac/an-old.tmac (SS): Add devtags support.

Set a subsection title as a second-level heading and add it to a table
of contents, if any.  Prompted by a query from Hans Unzner to the groff
mailing list.  Thanks, Hans!
---
 ChangeLog| 7 +++
 tmac/an-old.tmac | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index be37277..b63f0c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2021-04-17  G. Branden Robinson 
 
+   * tmac/an-old.tmac (SS): Add devtags support.  Set a subsection
+   title as a second-level heading and add it to a table of
+   contents, if any.  Prompted by a query from Hans Unzner to the
+   groff mailing list.  Thanks, Hans!
+
+2021-04-17  G. Branden Robinson 
+
* tmac/an-old.tmac (SH): Fix apparent thinko.  Pass the devtags
macro a literal "1" argument.  Passing it \n[an-level] wasn't
correct (it stores the relative inset level, not a sectioning
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index 96ce559..ad13147 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -337,6 +337,8 @@
 .  fi
 .  in \\n[IN]u
 .  ti \\n[SN]u
+.  nr need_eo_h 1
+.  DEVTAG-SH 2
 .  itc 1 an-trap
 .  nr an-no-space-flag 1
 .  nr an-break-flag 1

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 43/54: groff_char(7): Add tab to fundamental charset.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 8f8106b03b9ca364ec3fd0bc87e6df56f07930bc
Author: G. Branden Robinson 
AuthorDate: Fri Apr 16 12:25:41 2021 +1000

groff_char(7): Add tab to fundamental charset.
---
 man/groff_char.7.man | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/man/groff_char.7.man b/man/groff_char.7.man
index b5ce186..6dc31d2 100644
--- a/man/groff_char.7.man
+++ b/man/groff_char.7.man
@@ -226,7 +226,9 @@ which is one reason it does not support UTF-8 natively.
 .\" 
 .
 The ninety-four characters catalogued above,
-plus the space and the newline,
+plus the space,
+tab,
+and newline,
 form the fundamental character
 set for
 .I groff

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 36/54: tmac/en.tmac: Set hyphenation mode to 4.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 0907d730894da5e34bc27f15680f8b13cc7ab1ba
Author: G. Branden Robinson 
AuthorDate: Fri Jan 15 03:27:15 2021 +1100

tmac/en.tmac: Set hyphenation mode to 4.
---
 tmac/en.tmac | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tmac/en.tmac b/tmac/en.tmac
index 6aae40d..0bc4196 100644
--- a/tmac/en.tmac
+++ b/tmac/en.tmac
@@ -22,6 +22,9 @@
 .
 .ds locale english\"
 .
+.\" Set the minimum hyphenation mode that works with the patterns.
+.hy 4
+.
 .\" Set the hyphenation language to English.
 .do hla en
 .

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 35/54: tmac/troffrc: Derive groff locale from system.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 4a639b37fc6ce331f4ca4d12cf320ec4c20cd783
Author: G. Branden Robinson 
AuthorDate: Mon Jan 4 17:53:05 2021 +1100

tmac/troffrc: Derive groff locale from system.

Determine the groff locale (default input language) using the system
locale.  Use the environment if possible.  Try LC_ALL first, then LANG.
"C" means English (en).  Otherwise, only the first two characters of the
locale name are used.

Unrecognized locales (those without a supporting xx.tmac file) are
ignored, and groff falls back to English.

Those who want groff's default locale to differ from LC_ALL/LANG should
edit this troffrc to source the appropriate groff locale macro file
(cs.tmac, de.tmac, den.tmac, fr.tmac, ja.tmac, sv.tmac, zh.tmac).
---
 tmac/troffrc | 27 ++-
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/tmac/troffrc b/tmac/troffrc
index d0d54b8..3ab545f 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -54,12 +54,29 @@ troffrc!html
 .el \
 .  do tr \[char65]\~
 .
-.\" Set the hyphenation language to English.
-.do hla en
 .
-.\" Load hyphenation patterns and exceptions.
-.do hpf hyphen.en
-.do hpfa hyphenex.en
+.\" Determine the groff locale from the environment if possible.  Try
+.\" LC_ALL first, then LANG.  "C" means English (en).  Otherwise, only
+.\" the first two characters of the locale name are used.
+.do ds troffrc!language \V[LC_ALL]
+.do if '\*[troffrc!language]'' \{\
+.  do ds troffrc!language \V[LANG]
+.  do if '\*[troffrc!language]'' \
+.  do ds troffrc!language C
+.\}
+.do if '\*[troffrc!language]'C' \
+.  do ds troffrc!language en
+.do length troffrc!lang_length \*[troffrc!language]
+.do if (\n[troffrc!lang_length] > 2) \
+.  do substring troffrc!language 0 1
+.do msoquiet \*[troffrc!language].tmac
+.do rm troffrc!language
+.do rr troffrc!lang_length
+.\" If the configured system locale has no groff localization, fall back
+.\" to English.
+.do if !d locale \
+.  do mso en.tmac
+.
 .
 .\" Handle paper formats.
 .do mso papersize.tmac

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 33/54: [troffrc]: Change hyphenation language us to en.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 2051302b96b17c339dc126c2e1eff2ca802605a3
Author: G. Branden Robinson 
AuthorDate: Mon Jan 4 17:10:20 2021 +1100

[troffrc]: Change hyphenation language us to en.
---
 tmac/troffrc | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tmac/troffrc b/tmac/troffrc
index 2ba343e..d0d54b8 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -54,12 +54,12 @@ troffrc!html
 .el \
 .  do tr \[char65]\~
 .
-.\" Set the hyphenation language to 'us'.
-.do hla us
+.\" Set the hyphenation language to English.
+.do hla en
 .
 .\" Load hyphenation patterns and exceptions.
-.do hpf hyphen.us
-.do hpfa hyphenex.us
+.do hpf hyphen.en
+.do hpfa hyphenex.en
 .
 .\" Handle paper formats.
 .do mso papersize.tmac

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 32/54: [tmac]: Rename *.us to *.en.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit d104ae8074a0f36fa90b57f653b329489a1daaff
Author: G. Branden Robinson 
AuthorDate: Mon Jan 4 16:59:03 2021 +1100

[tmac]: Rename *.us to *.en.

The first-order determinant of hyphenation points is language, not
territory.  Use ISO 639 2-letter language codes for hyphenation and
exception patterns instead of ISO 3166 2-letter territory codes.
---
 tmac/{hyphen.us => hyphen.en} | 0
 tmac/{hyphenex.us => hyphenex.en} | 0
 tmac/tmac.am  | 4 ++--
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tmac/hyphen.us b/tmac/hyphen.en
similarity index 100%
rename from tmac/hyphen.us
rename to tmac/hyphen.en
diff --git a/tmac/hyphenex.us b/tmac/hyphenex.en
similarity index 100%
rename from tmac/hyphenex.us
rename to tmac/hyphenex.en
diff --git a/tmac/tmac.am b/tmac/tmac.am
index c4d0ed5..9583210 100644
--- a/tmac/tmac.am
+++ b/tmac/tmac.am
@@ -77,8 +77,8 @@ TMACNORMALFILES = \
   tmac/troffrc \
   tmac/troffrc-end \
   tmac/trans.tmac \
-  tmac/hyphen.us \
-  tmac/hyphenex.us \
+  tmac/hyphen.en \
+  tmac/hyphenex.en \
   tmac/fr.tmac \
   tmac/hyphen.fr \
   tmac/sv.tmac \

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 47/54: doc/groff.texi: Drop Texinfo pre-5.0 workarounds.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit e3563bd9ccef5734b1a67ee7a32cb23de5d6c1c1
Author: G. Branden Robinson 
AuthorDate: Sat Apr 17 21:38:00 2021 +1000

doc/groff.texi: Drop Texinfo pre-5.0 workarounds.

Our local macros produced many warnings during generation of our Texinfo
manual.

* doc/groff.texi (Langlemacro):
  (Ranglemacro):
  (Lparenmacro):
  (Rparenmacro):
  (Lbrackmacro):
  (Rbrackmacro): Delete.  Replace call sites with literals.
  (Lbracemacro):
  (Rbracemacro): Delete.  Replace call sites with @lbracechar{} and
  @rbracechar{}.
  (angles): Reimplement in terms of @guilsinglleft{} and
  @guilsinglright{}.  Flesh out comment.

Fixes remainder of .

I tested Info (text) and PDF generation only with Texinfo 6.7 but in
implementing the changes I used only features documented in the Texinfo
5.0 manual.  I am not certain that the cosmetic/rendering problems (such
as font choice) noted in the now-deleted comments were all fixed by the
time of Texinfo 5.0, but they seem to be now.
---
 ChangeLog  |  19 
 doc/groff.texi | 138 +++--
 2 files changed, 55 insertions(+), 102 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 871d46c..ddef1f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2021-04-17  G. Branden Robinson 
+
+   * doc/groff.texi: Drop workarounds for Texinfo pre-5.0 versions;
+   our local macros produced many warnings during generation of our
+   Texinfo manual.
+   (Langlemacro):
+   (Ranglemacro):
+   (Lparenmacro):
+   (Rparenmacro):
+   (Lbrackmacro):
+   (Rbrackmacro): Delete.  Replace call sites with literals.
+   (Lbracemacro):
+   (Rbracemacro): Delete.  Replace call sites with @lbracechar{}
+   and @rbracechar{}.
+   (angles): Reimplement in terms of @guilsinglleft{} and
+   @guilsinglright{}.  Flesh out comment.
+
+   Fixes remainder of .
+
 2021-04-17  Dave Kemper 
 
* doc/meintro.me:
diff --git a/doc/groff.texi b/doc/groff.texi
index c4600a1..d8f5552 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -404,76 +404,10 @@ developing GNU and promoting software freedom.''
 @end macro
 
 
-@c 
-
-@tex
-\gdef\Langlemacro{\angleleft}
-\gdef\Ranglemacro{\angleright}
-@end tex
-
-@iftex
-@set Langlemacro @Langlemacro
-@set Ranglemacro @Ranglemacro
-@end iftex
-
-@ifnottex
-@set Langlemacro <
-@set Ranglemacro >
-@end ifnottex
+@c Render text with angle brackets around it, as in .
 
 @macro angles{text}
-@value{Langlemacro}@r{\text\}@value{Ranglemacro}
-@end macro
-
-
-@c Special care is required with parentheses, brackets, and braces:
-@c
-@c . Real parentheses in @deffn produce an error while compiling with
-@c   TeX.
-@c . Real brackets use the wrong font in @deffn, overriding @t{}.
-@c
-@c . @{ and @} fail with info if used in a macro.
-@c
-@c Since macros aren't expanded in @deffn during -E, the following
-@c definitions are for non-TeX only.
-@c
-@c This is true for texinfo 4.0 and above.
-
-@iftex
-@set Lparenmacro @lparen
-@set Rparenmacro @rparen
-@set Lbrackmacro @lbrack
-@set Rbrackmacro @rbrack
-@set Lbracemacro @{
-@set Rbracemacro @}
-@end iftex
-
-@ifnottex
-@set Lparenmacro (
-@set Rparenmacro )
-@set Lbrackmacro [
-@set Rbrackmacro ]
-@set Lbracemacro @{
-@set Rbracemacro @}
-@end ifnottex
-
-@macro Lparen{}
-@value{Lparenmacro}
-@end macro
-@macro Rparen{}
-@value{Rparenmacro}
-@end macro
-@macro Lbrack{}
-@value{Lbrackmacro}
-@end macro
-@macro Rbrack{}
-@value{Rbrackmacro}
-@end macro
-@macro Lbrace{}
-@value{Lbracemacro}
-@end macro
-@macro Rbrace{}
-@value{Rbracemacro}
+@guilsinglleft{}@r{\text\}@guilsinglright{}
 @end macro
 
 
@@ -3344,8 +3278,8 @@ Prints all text following in the normal point size (that 
is, the value
 of the @code{PS} register).
 @endDefmac
 
-@DefstrList {@Lbrace{}, ms}
-@DefstrListEndx {@Rbrace{}, ms}
+@DefstrList {@lbracechar{}, ms}
+@DefstrListEndx {@rbracechar{}, ms}
 Text enclosed with @code{\*@{} and @code{\*@}} is printed as a
 superscript.
 @endDefstr
@@ -6504,8 +6438,8 @@ contents do not become inaccessible until it has no more 
names.
 Numeric registers can be accessed via the @code{\n} escape.
 
 @DefescList {\\n, , i, }
-@DefescItem {\\n, @Lparen{}, id, }
-@DefescListEnd {\\n, @Lbrack{}, ident, @Rbrack{}}
+@DefescItem {\\n, (, id, }
+@DefescListEnd {\\n, [, ident, ]}
 @cindex nested assignments
 @cindex assignments, nested
 @cindex indirect assignments
@@ -6558,10 +6492,10 @@ form.
 
 @DefescList {\\n, +, i, }
 @DefescItem {\\n, -, i, }
-@DefescItem {\\n, +@Lparen{}, id, }
-@DefescItem {\\n, -@Lparen{}, id, }
-@DefescItem {\\n, +@Lbrack{}, ident, @Rbrack{}}
-@DefescListEnd {\\n, -@Lbrack{}, ident, @Rbrack{}}
+@DefescItem {\\n, +(, id, }
+@DefescItem {\\n, -(, id, }

[groff] 54/54: contrib/sboxes/msboxes.ms: Use BI in title.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 99f01219a34a7c3ed826bedc8194cc4cbed60b93
Author: G. Branden Robinson 
AuthorDate: Wed Apr 21 04:59:39 2021 +1000

contrib/sboxes/msboxes.ms: Use BI in title.

Use bold italics for italics in the (bold) document title for consistent
weight.
---
 BRANCH-TODO   | 1 -
 contrib/sboxes/msboxes.ms | 8 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/BRANCH-TODO b/BRANCH-TODO
index e6ca956..6c67cdf 100644
--- a/BRANCH-TODO
+++ b/BRANCH-TODO
@@ -6,7 +6,6 @@ $ git rebase master
 Resolve the following issues.
 
 * Style-tweak the new document msboxes.pdf.
-  - Use BI in title.
   - Recast language to time-proof it (avoid "recent").
   - Use correct \[aq] glyphs in code literals.
 * Get the BX=x chatter out of stderr.
diff --git a/contrib/sboxes/msboxes.ms b/contrib/sboxes/msboxes.ms
index 84fcc5a..e346b3d 100644
--- a/contrib/sboxes/msboxes.ms
+++ b/contrib/sboxes/msboxes.ms
@@ -18,7 +18,9 @@
 .OF 
 .ds FAM H
 .TL
-Using PDF boxes with the \f[I]ms\f[] macros
+Using PDF boxes with the
+.BI ms
+macros
 .AU
 Deri James
 .AI
@@ -163,7 +165,9 @@ The above was produced by the following code.
 \&.OF 
 \&.ds FAM H
 \&.TL
-Using PDF boxes with the \ef[I]ms\ef[] macros
+Using PDF boxes with the
+\&.BI ms
+macros
 \&.AU
 Deri James
 \&.AI

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 52/54: BRANCH-TODO: Add item.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 1400cd34eb6a3c81cd5a0e79d3fe525501bb76f4
Author: G. Branden Robinson 
AuthorDate: Wed Apr 21 04:38:27 2021 +1000

BRANCH-TODO: Add item.
---
 BRANCH-TODO | 1 +
 1 file changed, 1 insertion(+)

diff --git a/BRANCH-TODO b/BRANCH-TODO
index d24e76b..98eeced 100644
--- a/BRANCH-TODO
+++ b/BRANCH-TODO
@@ -11,6 +11,7 @@ Resolve the following issues.
   - Use correct \[aq] glyphs in code literals.
   - The font is wrong outside the box once the document source is
 presented (headers and footnotes are in Courier on pp. 3-4).
+* Get the BX=x chatter out of stderr.
 * Update gropdf(1) to document \X'pdf: background'.
 * Decide on a place in the existing ms name space definition for the new
   macros.  "BoxStart" and "BoxStop" are in the part we say we won't use.

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 25/54: doc/groff.texi (Built-in registers): Revise.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 178439303c4e7542e210ee0dc306b0919ae8f0b6
Author: G. Branden Robinson 
AuthorDate: Mon Apr 12 19:12:11 2021 +1000

doc/groff.texi (Built-in registers): Revise.

* doc/groff.texi (Built-in registers):
  - Say "GNU troff" instead of "gtroff".
  - Stop saying that registers "return" things; they are not functions.
  - Add footnote explaining constant value of `.R` register.
  - Standardize description of boolean-valued registers.
  - Note that month, day, and year registers are (also) initialized at
program start.
  - Add CSTR #54 erratum index entries for its mis-description of `yr`
register.  Recast description of the problem with it.  Convert
colon-terminated sentence fragments to grammatical prose.
  - Make minor clarifications.
  - Move @codequote* commands to mark this node as reviewed for correct
grave accent and apostrophe glyph usage.

* man/groff_diff.7.man (Language/New number registers) : Sync with
  doc/groff.texi.
---
 doc/groff.texi   | 129 +++
 man/groff_diff.7.man |   7 ++-
 2 files changed, 71 insertions(+), 65 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 1cfcfae..e9cef7d 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -6698,37 +6698,41 @@ returned.
 
 @c -
 
+@codequotebacktick on
+@codequoteundirected on
+
 @node Built-in Registers,  , Assigning Formats, Registers
 @subsection Built-in Registers
 @cindex built-in registers
 @cindex registers, built-in
 
 The following lists some built-in registers that are not described
-elsewhere in this manual.  Any register that begins with a @samp{.} is
-read-only.  A complete listing of all built-in registers can be found in
-@ref{Register Index}.
+elsewhere in this manual.  Any register name that begins with a @samp{.}
+is read-only.  A complete listing of all built-in registers can be found
+in @ref{Register Index}.
 
 @table @code
 @item \n[.F]
 @cindex current input file name register (@code{.F})
 @cindex input file name, current, register (@code{.F})
 @vindex .F
-This read-only string-valued register returns the current input file
-name.
+This read-only string-valued register stores the name of the file being
+formatted.
 
 @item \n[.H]
 @cindex horizontal resolution register (@code{.H})
 @cindex resolution, horizontal, register (@code{.H})
 @vindex .H
-Number of basic units per horizontal unit of output device resolution.
-@xref{Measurements}.
+Number of basic units in a unit of horizontal resolution of the output
+device.  @xref{Measurements}.
 
 @item \n[.R]
 @cindex number of registers register (@code{.R})
 @cindex registers, number of, register (@code{.R})
 @vindex .R
-The number of registers available.  This is always 1 in
-GNU@tie{}@code{troff}; it exists for backward compatibility.
+Number of registers available.  This is always 1 in GNU
+@code{troff};@footnote{GNU @code{troff} dynamically allocates memory for
+as many registers as required.} it exists for backward compatibility.
 
 @item \n[.U]
 @cindex safer mode
@@ -6736,16 +6740,15 @@ GNU@tie{}@code{troff}; it exists for backward 
compatibility.
 @cindex unsafe mode
 @cindex mode, unsafe
 @vindex .U
-If @code{gtroff} is called with the @option{-U} command-line option to
-activate unsafe mode, the register @code{.U} is set to@tie{}1, and to
-zero otherwise.  @xref{Groff Options}.
+1 if GNU @code{troff} is called with the @option{-U} command-line option
+to activate unsafe mode, and zero otherwise.  @xref{Groff Options}.
 
 @item \n[.V]
 @cindex vertical resolution register (@code{.V})
 @cindex resolution, vertical, register (@code{.V})
 @vindex .V
-Number of basic units per vertical unit of output device resolution.
-@xref{Measurements}.
+Number of basic units in a unit of vertical resolution of the output
+device.  @xref{Measurements}.
 
 @item \n[seconds]
 @cindex seconds, current time (@code{seconds})
@@ -6754,7 +6757,7 @@ Number of basic units per vertical unit of output device 
resolution.
 @vindex seconds
 The number of seconds after the minute, normally in the range@tie{}0
 to@tie{}59, but can be up to@tie{}61 to allow for leap seconds.
-Initialized at start-up of @code{gtroff}.
+Initialized at start-up of GNU @code{troff}.
 
 @item \n[minutes]
 @cindex minutes, current time (@code{minutes})
@@ -6762,7 +6765,7 @@ Initialized at start-up of @code{gtroff}.
 @cindex current time, minutes (@code{minutes})
 @vindex minutes
 The number of minutes after the hour, in the range@tie{}0 to@tie{}59.
-Initialized at start-up of @code{gtroff}.
+Initialized at start-up of GNU @code{troff}.
 
 @item \n[hours]
 @cindex hours, current time (@code{hours})
@@ -6770,55 +6773,57 @@ Initialized at start-up of @code{gtroff}.
 @cindex current time, hours (@code{hours})
 @vindex hours

[groff] 44/54: tmac/an-old.tmac (SH): Fix apparent thinko.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit c0193e5cd7be6f6eb19b8e30ff61f4b62a9ecdaa
Author: G. Branden Robinson 
AuthorDate: Sat Apr 17 11:38:00 2021 +1000

tmac/an-old.tmac (SH): Fix apparent thinko.

Pass the devtags macro a literal "1" argument.  Passing it \n[an-level]
wasn't correct (it stores the relative inset level, not a sectioning
level), and was useless anyway: SH has already called .an-set-margin by
this point, which resets \n[an-level] to 1.  man(7) does not support
nesting of SH macros.  Also call .DEVTAG-NH by its alias .DEVTAG-SH
since section headings are not numbered in man(7).
---
 ChangeLog| 11 +++
 tmac/an-old.tmac |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 113a5ff..be37277 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2021-04-17  G. Branden Robinson 
+
+   * tmac/an-old.tmac (SH): Fix apparent thinko.  Pass the devtags
+   macro a literal "1" argument.  Passing it \n[an-level] wasn't
+   correct (it stores the relative inset level, not a sectioning
+   level), and was useless anyway: SH has already called
+   .an-set-margin by this point, which resets \n[an-level] to 1.
+   man(7) does not support nesting of SH macros.  Also call
+   .DEVTAG-NH by its alias .DEVTAG-SH since section headings are
+   not numbered in man(7).
+
 2021-04-15  G. Branden Robinson 
 
[tmac]: Adjust editor file encoding hints.
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index ba1ad64..96ce559 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -317,7 +317,7 @@
 .  in \\n[an-margin]u
 .  ti 0
 .  nr need_eo_h 1
-.  DEVTAG-NH \\n[an-level]
+.  DEVTAG-SH 1
 .  itc 1 an-trap
 .  nr an-no-space-flag 1
 .  nr an-break-flag 1

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 38/54: Test localization refactor.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 3052e2f31c4bca107be6cddb6c1c1761c45bdcb4
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 15:35:51 2021 +1000

Test localization refactor.

* src/roff/groff/tests/localization_works.sh: Add 10 test cases.
* src/roff/groff/groff.am (groff_TESTS): Run test.
---
 src/roff/groff/groff.am|  1 +
 src/roff/groff/tests/localization_works.sh | 92 ++
 2 files changed, 93 insertions(+)

diff --git a/src/roff/groff/groff.am b/src/roff/groff/groff.am
index 42fb983..faf8406 100644
--- a/src/roff/groff/groff.am
+++ b/src/roff/groff/groff.am
@@ -45,6 +45,7 @@ groff_TESTS = \
   src/roff/groff/tests/do_not_loop_infinitely_when_breaking_cjk.sh \
   src/roff/groff/tests/dot-cp_register_works.sh \
   src/roff/groff/tests/dot-nm_register_works.sh \
+  src/roff/groff/tests/localization_works.sh \
   src/roff/groff/tests/msoquiet_works.sh \
   src/roff/groff/tests/on_latin1_device_oq_is_0x27.sh \
   src/roff/groff/tests/recognize_end_of_sentence.sh \
diff --git a/src/roff/groff/tests/localization_works.sh 
b/src/roff/groff/tests/localization_works.sh
new file mode 100755
index 000..3418c34
--- /dev/null
+++ b/src/roff/groff/tests/localization_works.sh
@@ -0,0 +1,92 @@
+#!/bin/sh
+#
+# Copyright (C) 2021 Free Software Foundation, Inc.
+#
+# This file is part of groff.
+#
+# groff 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.
+#
+# groff 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 .
+#
+
+groff="${abs_top_builddir:-.}/test-groff"
+
+set -e
+
+export LC_ALL LANG
+
+DOC='\*[locale]'
+
+# Test fallback/conflicting cases.
+
+echo "testing that LC_ALL= LANG= loads English localization" >&2
+LC_ALL=
+LANG=
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx english
+
+echo "testing that LC_ALL=en_US loads English localization" >&2
+LC_ALL=en_US
+LANG=
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx english
+
+echo "testing that LC_ALL=en_US LANG=fr_FR loads English localization" \
+  >&2
+LC_ALL=en_US
+LANG=fr_FR
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx english
+
+# Test straightforward cases.
+
+echo "testing that LC_ALL= LANG=cs_CZ loads Czech localization" >&2
+LC_ALL=
+LANG=cs_CZ
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx czech
+
+echo "testing that LC_ALL= LANG=de_DE loads German localization" >&2
+LC_ALL=
+LANG=de_DE
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx german
+
+echo "testing that LC_ALL= LANG=en_US loads English localization" >&2
+LC_ALL=
+LANG=en_US
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx english
+
+echo "testing that LC_ALL= LANG=fr_FR loads French localization" >&2
+LC_ALL=
+LANG=fr_FR
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx french
+
+echo "testing that LC_ALL= LANG=ja_JP loads Japanese localization" >&2
+LC_ALL=
+LANG=ja_JP
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx japanese
+
+echo "testing that LC_ALL= LANG=sv_SE loads Swedish localization" >&2
+LC_ALL=
+LANG=sv_SE
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx swedish
+
+echo "testing that LC_ALL= LANG=zh_ZH loads Chinese localization" >&2
+LC_ALL=
+LANG=zh_ZH
+OUTPUT=$(echo "$DOC" | "$groff" -Tascii)
+echo "$OUTPUT" | grep -qx chinese

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 20/54: doc/groff.texi: Drop example.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 85b193632616bcf018dd71b813d4b301d4af6242
Author: G. Branden Robinson 
AuthorDate: Sun Apr 11 09:13:45 2021 +1000

doc/groff.texi: Drop example.

It wasn't illustrating anything particular about the .hla register, and
could be misleading--you don't need to copy a string-valued register
into a string to interpolate it.
---
 doc/groff.texi | 6 --
 1 file changed, 6 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 541dda1..4279eca 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7688,12 +7688,6 @@ usually invoked by the @file{troffrc} or 
@file{troffrc-end} files;
 The hyphenation language is available in the read-only string-valued
 register @samp{.hla}; it is associated with the environment
 (@pxref{Environments}).
-
-@Example
-.ds curr_language \n[.hla]
-\*[curr_language]
-@result{} us
-@endExample
 @endDefreq
 
 @DefreqList {hlm, [@Var{n}]}

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 42/54: doc/groff.texi: Tweak style.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 6a8226e1fc8c23fe1c81f9124ee8942a9dcac838
Author: G. Branden Robinson 
AuthorDate: Fri Apr 16 22:47:31 2021 +1000

doc/groff.texi: Tweak style.

(Hyphenation): Explicitly note availability of manual hyphenation in
lead paragraph.  Will the quest to explain *roff hyphenation lucidly
ever end?

(Tab Stops): Clarify context when WYSIWYG formatting is misleading.

(Manipulating Hyphenation) : Remove restrictive appositive; we just
told the reader in the previous paragraph that the hyphenation character
is configurable.
---
 doc/groff.texi   | 34 +-
 man/groff_diff.7.man |  3 +--
 2 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 4dc29ce..c4600a1 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -4699,10 +4699,10 @@ collected from the input to exactly fill 
it---typically, there is room
 left over only for part of the next word.  The process of splitting a
 word so that it appears partially on one line (with a hyphen to indicate
 to the reader that the word has been broken) with the remainder of the
-word on the next is @dfn{hyphenation}.  GNU @code{troff} uses a
-hyphenation algorithm and language-specific pattern files (based on but
-simplified from those used in @TeX{}) to decide which words can be
-hyphenated and where.
+word on the next is @dfn{hyphenation}.  Hyphenation points can be
+manually specified; GNU @code{troff} also uses a hyphenation algorithm
+and language-specific pattern files (based on those used in @TeX{}) to
+decide which words can be hyphenated and where.
 
 Hyphenation does not always occur even when the hyphenation rules for a
 word allow it; it can be disabled, and when not disabled there are
@@ -4804,9 +4804,9 @@ These tab stops are by default located every half inch 
across the page.
 With them, simple tables can be made easily.@footnote{``Tab'' is short
 for ``tabulation'', revealing the term's origin as a spacing mechanism
 for table arrangement.}  However, this method can be deceptive as the
-appearance (and width) of the text on a terminal and the results from
-GNU @code{troff} can vary greatly, particularly when proportional
-typefaces are used.
+appearance (and width) of the text in an editor and the results from GNU
+@code{troff} can vary greatly, particularly when proportional typefaces
+are used.
 
 A tab character does not cause a break and therefore does not interrupt
 filling.  We use an arrow @arrow{} below to indicate an input tab
@@ -7394,16 +7394,16 @@ The hyphenation character is associated with the 
environment
 @cindex @code{tr} request, and soft hyphen character
 Set the @dfn{soft hyphen character},@footnote{``Soft hyphen
 @emph{character}'' is a misnomer since it is an output glyph.} inserted
-when a word is hyphenated automatically or at a hyphenation character
-@code{\%}, to@tie{}@var{glyph}.@footnote{It is ``soft'' because it only
-appears in output where hyphenation is actually performed; a ``hard''
-hyphen, as in ``long-term'', always appears.}  If the argument is
-omitted, the soft hyphen glyph is set to the default, @code{\[hy]}.  If
-the selected glyph does not exist in the font in use at a potential
-hyphenation point, then the line is not broken at that point.  Neither
-character definitions (specified with the @code{char} and similar
-requests) nor translations (specified with the @code{tr} request) are
-considered when assigning the soft hyphen glyph.
+when a word is hyphenated automatically or at a hyphenation character,
+to@tie{}@var{glyph}.@footnote{It is ``soft'' because it only appears in
+output where hyphenation is actually performed; a ``hard'' hyphen, as in
+``long-term'', always appears.}  If the argument is omitted, the soft
+hyphen glyph is set to the default, @code{\[hy]}.  If the selected glyph
+does not exist in the font in use at a potential hyphenation point, then
+the line is not broken at that point.  Neither character definitions
+(specified with the @code{char} and similar requests) nor translations
+(specified with the @code{tr} request) are considered when assigning the
+soft hyphen glyph.
 @endDefreq
 
 @cindex hyphenation parameters, automatic
diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index 8d8bde6..d580c97 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -2803,8 +2803,7 @@ request but before the mounted special fonts.
 .BI .shc\~ glyph
 Set the soft hyphen glyph,
 inserted when a word is hyphenated automatically or at a hyphenation
-character
-.BR \[rs]% ,
+character,
 .RI to\~ glyph .
 .
 If the argument is omitted,

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 40/54: [tmac]: Adjust editor file encoding hints.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 3f6cc9d5280f8c267bf558f61918e4955e354009
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 18:26:27 2021 +1000

[tmac]: Adjust editor file encoding hints.

* tmac/cs.tmac: Tell Vim the file is "iso-8859-2" (ISO Latin-2).
* tmac/en.tmac: Stop telling Emacs the file is "latin-1"; it's ASCII.
* tmac/fr.tmac: Tell Vim the file is "iso-8859-15" (ISO Latin-9).

Vim users may need to use ":e ++enc=iso-8859-2", for instance, to see
correct glyphs.
---
 tmac/cs.tmac | 2 +-
 tmac/en.tmac | 1 -
 tmac/fr.tmac | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/tmac/cs.tmac b/tmac/cs.tmac
index b59e0a3..17ae8a7 100644
--- a/tmac/cs.tmac
+++ b/tmac/cs.tmac
@@ -176,4 +176,4 @@
 .\" coding: latin-2
 .\" fill-column: 72
 .\" End:
-.\" vim: set filetype=groff textwidth=72:
+.\" vim: set fileencoding=iso-8859-2 filetype=groff textwidth=72:
diff --git a/tmac/en.tmac b/tmac/en.tmac
index 0bc4196..5dbcf68 100644
--- a/tmac/en.tmac
+++ b/tmac/en.tmac
@@ -35,7 +35,6 @@
 .
 .\" Local Variables:
 .\" mode: nroff
-.\" coding: latin-1
 .\" fill-column: 72
 .\" End:
 .\" vim: set filetype=groff textwidth=72:
diff --git a/tmac/fr.tmac b/tmac/fr.tmac
index 90ec202..205ec80 100644
--- a/tmac/fr.tmac
+++ b/tmac/fr.tmac
@@ -196,4 +196,4 @@
 .\" coding: latin-9
 .\" fill-column: 72
 .\" End:
-.\" vim: set filetype=groff textwidth=72:
+.\" vim: set fileencoding=iso-8859-15 filetype=groff textwidth=72:

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 14/54: groff_diff(7): Resync mso with our Texinfo manual.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 92421bd0b388589980f8d2f8a4af32dbfea64ada
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 12:23:43 2021 +1000

groff_diff(7): Resync mso with our Texinfo manual.
---
 man/groff_diff.7.man | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index 096718c..384897b 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -2570,11 +2570,14 @@ tries to include
 .BI tmac. name
 instead and vice versa.
 .
-A warning of type
-.B file
-is generated if
+If
 .I file
-can't be loaded, and the request is ignored.
+does not exist,
+a warning of type
+.RB \[lq] file \[rq]
+is emitted
+and the request has no other effect.
+.
 .
 .TP
 .BI .nop \~anything

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 37/54: [docs]: Update hyphenation and localization stuff.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 3811c1a833f939d1b7d3c13e7909b13f45d19c77
Author: G. Branden Robinson 
AuthorDate: Fri Jan 15 03:38:11 2021 +1100

[docs]: Update hyphenation and localization stuff.

* doc/groff.texi (Manipulating Hyphenation):
* man/groff.7.man (Hyphenation):
* man/groff_diff.7.man (Implementation differences):
  - Refer to "U.S. English" hyphenation patterns as simply "English";
they will be mostly correct for Commonwealth English as well, and no
alternative English hyphenation patterns for other territories are
available.

* doc/groff.texi (Manipulating Hyphenation):
* man/groff_diff.7.man (New requests):
  - Note that default hyphenation mode depends on the language used on
the system.
  - Add concept index entry for localization.
  - Add file index entries for the locale macro files (cs.tmac, etc.).
  - Add environment variable index entries for LANG and LC_ALL.
  - Describe how groff's idea of the locale is determined.
  - Update to reflect rename of English hyphenation patterns and
.hla identifier from "us" to "en".
---
 doc/groff.texi   | 68 
 man/groff.7.man  |  2 +-
 man/groff_diff.7.man | 61 --
 3 files changed, 86 insertions(+), 45 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 96bb6c0..4dc29ce 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7427,7 +7427,9 @@ with up to a certain amount of additional inter-word 
space (@code{hys}).
 Set automatic hyphenation mode to @var{mode}, an integer encoding
 conditions for hyphenation; if omitted, 1 is implied.  The hyphenation
 mode is available in the read-only register @samp{.hy}; it is associated
-with the environment (@pxref{Environments}).
+with the environment (@pxref{Environments}).  The default hyphenation
+mode depends on the language in use on the system; see the @code{hpf}
+request below.
 
 Typesetting practice generally does not avail itself of every
 opportunity for hyphenation, but the details differ by language and site
@@ -7452,8 +7454,7 @@ disables hyphenation.
 
 @item 1
 enables hyphenation except after the first and before the last character
-of a word; this is the default if @var{mode} is omitted and also the
-start-up value of GNU @code{troff}.
+of a word.
 @end table
 
 The remaining values ``imply'' 1; that is, they enable hyphenation
@@ -7523,12 +7524,12 @@ s- plit- t- in- g
 @endExample
 
 @noindent
-instead of the correct `split- ting'.  U.S.@: English patterns as
-distributed with GNU @code{troff} need two characters at the beginning
-and three characters at the end; this means that value@tie{}4 of
-@code{hy} is mandatory.  Value@tie{}8 is possible as an additional
-restriction, but values@tie{}16 and@tie{}32 should be avoided, as should
-mode@tie{}1.  Modes@tie{}4 and@tie{}6 are typical.
+instead of the correct `split- ting'.  English patterns as distributed
+with GNU @code{troff} need two characters at the beginning and three
+characters at the end; this means that value@tie{}4 of @code{hy} is
+mandatory.  Value@tie{}8 is possible as an additional restriction, but
+values@tie{}16 and@tie{}32 should be avoided, as should mode@tie{}1.
+Modes@tie{}4 and@tie{}6 are typical.
 
 A table of left and right minimum character counts for hyphenation as
 needed by the patterns distributed with GNU @code{troff} follows; see
@@ -7538,7 +7539,7 @@ the @cite{groff_tmac@r{(5)}} man page for more 
information on GNU
 @multitable {German traditional}{pattern name}{left min}{right min}
 @headitemlanguage   @tab pattern name @tab left min @tab right min
 @itemCzech  @tab cs   @tab 2@tab 2
-@itemU.S. English   @tab us   @tab 2@tab 3
+@itemEnglish@tab en   @tab 2@tab 3
 @itemFrench @tab fr   @tab 2@tab 3
 @itemGerman traditional @tab det  @tab 2@tab 2
 @itemGerman reformed@tab den  @tab 2@tab 2
@@ -7617,25 +7618,39 @@ Character codes that would otherwise be invalid in GNU 
@code{troff} can
 be used.  By default, every code maps to itself except those for letters
 `A' to `Z', which map to those for `a' to `z'.
 
+@cindex localization
 @pindex troffrc
 @pindex troffrc-end
-@pindex hyphen.us
-@pindex hyphenex.us
+@pindex cs.tmac
+@pindex de.tmac
+@pindex en.tmac
+@pindex fr.tmac
+@pindex ja.tmac
+@pindex sv.tmac
+@pindex zh.tmac
+@tindex LC_ALL
+@tindex LANG
 The set of hyphenation patterns is associated with the language set by
 the @code{hla} request (see below).  The @code{hpf} request is usually
-invoked by the @file{troffrc} or @file{troffrc-end} file; by default,
-@file{troffrc} loads hyphenation patterns and exceptions for U.S.@:
-English (in 

[groff] 30/54: doc/groff.texi: Fix style nit.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 9fe6a74d7d9c9d596135d3bf3baeb5b59b924866
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 19:12:29 2021 +1000

doc/groff.texi: Fix style nit.
---
 doc/groff.texi | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index f876f6e..96bb6c0 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7484,10 +7484,10 @@ enables hyphenation before the last character of a word.
 enables hyphenation after the first character of a word.
 @end table
 
-Apart from value 2, restrictions imposed by the hyphenation mode are
-@emph{not} respected for words whose hyphenations have been explicitly
-specified with the hyphenation character (@samp{\%} by default) or the
-@code{hw} request.
+Apart from value@tie{}2, restrictions imposed by the hyphenation mode
+are @emph{not} respected for words whose hyphenations have been
+explicitly specified with the hyphenation character (@samp{\%} by
+default) or the @code{hw} request.
 
 The nonzero values in the previous table are additive.  For example,
 value@tie{}12 causes GNU @code{troff} to hyphenate neither the last two

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 10/54: doc/groff.texi: Fix content nits.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit fd4c325ae8934c15a40dd48d41fbfd570c345ec3
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 09:37:37 2021 +1000

doc/groff.texi: Fix content nits.

* doc/groff.texi (Filling): Characterize some escapes as "word
  separators" rather than "word-separating space"; \:, for instance, is
  not a "space".
  (Hyphenation): Recast lead sentence for clarity; it's challenging to
  pivot between byte-at-a-time finite state parsing to the more gestalt
  view of text taken by most human readers.
  (Requests and Macros): Parenthesize a phrase to disambiguate the
  antecedent of a subsequent "that".
---
 doc/groff.texi | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 4a00462..ceaf427 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -4528,10 +4528,10 @@ it can---this is known as @dfn{filling}.  To GNU 
@code{troff}, a
 @dfn{word} is any sequence of one or more characters that aren't spaces,
 tabs, or newlines.  Words are separated by spaces, tabs, newlines, or
 file boundaries.@footnote{There are also @emph{escape sequences} which
-can function as word characters, word-separating space, or neither---the
-last simply have no effect on GNU @code{troff}'s idea of whether its
-input is within a word or not.}  To disable filling, see
-@ref{Manipulating Filling and Adjustment}.
+can function as word characters, word separators, or neither---the last
+simply have no effect on GNU @code{troff}'s idea of whether its input is
+within a word or not.}  To disable filling, see @ref{Manipulating
+Filling and Adjustment}.
 
 @Example
 It is a truth universally acknowledged
@@ -4678,15 +4678,15 @@ Adjustment}.
 @subsection Hyphenation
 @cindex hyphenation
 
-When an output line is nearly full, it is uncommon for the most recent
-word collected from the input to exactly fill it---typically, there is
-enough room left over for part of the next word.  The process of
-splitting a word so that it appears partially on one line (with a hyphen
-to indicate to the reader that the word has been broken) with the
-remainder of the word on the next is @dfn{hyphenation}.  GNU
-@code{troff} uses a hyphenation algorithm and language-specific pattern
-files (based on but simplified from those used in @TeX{}) to decide
-which words can be hyphenated and where.
+When an output line is nearly full, it is uncommon for the next word
+collected from the input to exactly fill it---typically, there is room
+left over only for part of the next word.  The process of splitting a
+word so that it appears partially on one line (with a hyphen to indicate
+to the reader that the word has been broken) with the remainder of the
+word on the next is @dfn{hyphenation}.  GNU @code{troff} uses a
+hyphenation algorithm and language-specific pattern files (based on but
+simplified from those used in @TeX{}) to decide which words can be
+hyphenated and where.
 
 Hyphenation does not always occur even when the hyphenation rules for a
 word allow it; it can be disabled, and when not disabled there are
@@ -4840,8 +4840,8 @@ line}.@footnote{The @key{\RET} escape can alter how an 
input line is
 classified; see @ref{Line Control}.}
 
 @cindex argument
-Requests often take @dfn{arguments}, words separated from the request
-name and each other by spaces that specify details of the action GNU
+Requests often take @dfn{arguments}, words (separated from the request
+name and each other by spaces) that specify details of the action GNU
 @code{troff} is expected to perform.  If a request is meaningless
 without arguments, it is typically ignored.
 

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 34/54: tmac/en.tmac: Add English localization file.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 128073b59cb768cd4ff4b773175b08fa592212ff
Author: G. Branden Robinson 
AuthorDate: Mon Jan 4 17:44:57 2021 +1100

tmac/en.tmac: Add English localization file.
---
 tmac/en.tmac | 38 ++
 tmac/tmac.am |  1 +
 2 files changed, 39 insertions(+)

diff --git a/tmac/en.tmac b/tmac/en.tmac
new file mode 100644
index 000..6aae40d
--- /dev/null
+++ b/tmac/en.tmac
@@ -0,0 +1,38 @@
+.\" English localization for groff
+.\"
+.\" Copyright (C) 2021 Free Software Foundation, Inc.
+.\"
+.\" This file is part of groff.
+.\"
+.\" groff 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.
+.\"
+.\" groff 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
+.\" .
+.\"
+.\" Please send comments to gr...@gnu.org.
+.
+.ds locale english\"
+.
+.\" Set the hyphenation language to English.
+.do hla en
+.
+.\" Load hyphenation patterns and exceptions.
+.do hpf hyphen.en
+.do hpfa hyphenex.en
+.
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" coding: latin-1
+.\" fill-column: 72
+.\" End:
+.\" vim: set filetype=groff textwidth=72:
diff --git a/tmac/tmac.am b/tmac/tmac.am
index 9583210..080415d 100644
--- a/tmac/tmac.am
+++ b/tmac/tmac.am
@@ -77,6 +77,7 @@ TMACNORMALFILES = \
   tmac/troffrc \
   tmac/troffrc-end \
   tmac/trans.tmac \
+  tmac/en.tmac \
   tmac/hyphen.en \
   tmac/hyphenex.en \
   tmac/fr.tmac \

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 27/54: groff_diff(7): Protect "U.S." from bad spacing.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 7690ca1927793131e8419d1f3154cb638c7ba1b0
Author: G. Branden Robinson 
AuthorDate: Tue Apr 13 08:13:00 2021 +1000

groff_diff(7): Protect "U.S." from bad spacing.
---
 man/groff_diff.7.man | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index edcf69a..1a56f78 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -2148,7 +2148,7 @@ or
 files;
 .I troffrc
 sets the default language to \[lq]us\[rq]
-(U.S. English).
+(U.S.\& English).
 .
 .
 .IP
@@ -2297,7 +2297,7 @@ or
 file;
 by default,
 .I troffrc
-loads hyphenation patterns and exceptions for U.S. English from the
+loads hyphenation patterns and exceptions for U.S.\& English from the
 files
 .I hyphen.us
 and
@@ -4545,8 +4545,8 @@ does not always hyphenate words as
 .RI AT\~ troff
 does.
 .
-The AT implementation uses a set of hard-coded rules specific to U.S.
-English,
+The AT implementation uses a set of hard-coded rules specific to
+U.S.\& English,
 while
 .I groff
 uses language-specific hyphenation pattern files derived from \*[tx].

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 08/54: ChangeLog: Log Dave's fix for Savannah #60349.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 9f05f423ea6bb3db99b602e8824d7b7fedae6eba
Author: G. Branden Robinson 
AuthorDate: Wed Apr 7 17:07:05 2021 +1000

ChangeLog: Log Dave's fix for Savannah #60349.
---
 ChangeLog | 8 
 1 file changed, 8 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index d0157f1..c12a321 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2021-04-06  Dave Kemper 
+
+   * src/roff/nroff/nroff.sh: Recognize -k and -K options and pass
+   them through to troff.  Document them in usage message.
+   * src/roff/nroff/nroff.1.man: Document new -k and -K options.
+
+   Fixes .
+
 2021-04-06  G. Branden Robinson 
 
* doc/groff.texi (Manipulating Hyphenation):

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 19/54: doc/groff.texi: Fix "current environment" nit.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 1343e1a6df75285e523a340c7871c23010e0e9cd
Author: G. Branden Robinson 
AuthorDate: Sun Apr 11 08:45:37 2021 +1000

doc/groff.texi: Fix "current environment" nit.

Nearly every use of the word "current" before "environment" is
superfluous; only the requests .evc and .pev alter or observe any
environment other than the current one.

Also merge many single-sentence paragraphs about environmental
associativity of various properties into their neighbors.
Single-sentence paragraphs should be used sparingly, for statements of
great note or Faulkernesque length.  Ours subsitute for the "E"
annotation in CSTR #54.
---
 doc/groff.texi | 159 +++--
 1 file changed, 65 insertions(+), 94 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index b9fefde..541dda1 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -6968,10 +6968,8 @@ the @code{fi} request.
 @cindex fill mode (@code{fi})
 @cindex mode, fill (@code{fi})
 Activate fill mode; a pending output line is broken.  The read-only
-register @code{.u} is set to@tie{}1.
-
-Fill mode enablement status is associated with the current environment
-(@pxref{Environments}).
+register @code{.u} is set to@tie{}1.  The fill mode enablement status is
+associated with the environment (@pxref{Environments}).
 
 See @ref{Line Control}, for interaction with the @code{\c} escape.
 @endDefreq
@@ -6982,10 +6980,8 @@ See @ref{Line Control}, for interaction with the 
@code{\c} escape.
 Activate no-fill mode: the output line length (@pxref{Line Layout}) is
 ignored and output lines are broken where the input lines are.  A
 pending output line is broken and adjustment is suppressed.  The
-register @code{.u} is set to@tie{}0.
-
-Fill mode enablement status is associated with the current environment
-(@pxref{Environments}).
+register @code{.u} is set to@tie{}0.  The fill mode enablement status is
+associated with the environment (@pxref{Environments}).
 
 See @ref{Line Control}, for interaction with the @code{\c} escape.
 @endDefreq
@@ -7066,9 +7062,8 @@ left
 @cindex adjustment mode register (@code{.j})
 The current adjustment mode is available in the read-only register
 @code{.j}; it can be stored and subsequently used to set adjustment.
-
 The adjustment mode and enablement status are associated with the
-current environment (@pxref{Environments}).
+environment (@pxref{Environments}).
 
 The value of @code{.j} for any adjustment mode is an implementation
 detail and should not be relied upon as a programmer's interface.
@@ -7077,10 +7072,8 @@ detail and should not be relied upon as a programmer's 
interface.
 @Defreq {na, }
 Disable adjustment.  This produces the same output as adjustment to the
 left margin, but the value of the adjustment mode register @code{.j} is
-altered differently.
-
-The adjustment mode and enablement status are associated with the
-current environment (@pxref{Environments}).
+altered differently.  The adjustment mode and enablement status are
+associated with the environment (@pxref{Environments}).
 @endDefreq
 
 @DefreqList {brp, }
@@ -7121,7 +7114,7 @@ This is an uninteresting sentence.
 @cindex lines, centering (@code{ce})
 Center the next @var{nnn} input text lines without filling them.  A
 pending output line is broken.  The number of lines still to be centered
-is associated with the current environment (@pxref{Environments}).
+is associated with the environment (@pxref{Environments}).
 
 @cindex @code{ce} request, difference from @w{@samp{.ad c}}
 While the @w{@samp{.ad c}} request also centers text, it fills the text
@@ -7174,7 +7167,7 @@ Align the next @var{nnn} input text lines to the right 
margin without
 filling them.  A pending output line is broken.  The @code{.rj}
 read-only register is the number of lines to be right-justified as set
 by the @code{rj} request.  The number of lines still to be
-right-justified is associated with the current environment
+right-justified is associated with the environment
 (@pxref{Environments}).
 @endDefreq
 
@@ -7211,9 +7204,9 @@ is set to @var{word-space-size}.
 
 The read-only registers @code{.ss} and @code{.sss} hold the values of
 minimal inter-word space and additional inter-sentence space,
-respectively.  These parameters are associated with the current
-environment (@pxref{Environments}), and rounded down to the nearest
-multiple of@tie{}12 on terminal output devices.
+respectively.  These parameters are associated with the environment
+(@pxref{Environments}), and rounded down to the nearest multiple
+of@tie{}12 on terminal output devices.
 
 @cindex fill mode, and inter-sentence space
 @cindex mode, fill, and inter-sentence space
@@ -7378,8 +7371,7 @@ works as the @code{\%} escape normally does, and thus no 
longer appears
 in the output.@footnote{@code{\%} itself stops marking hyphenation
 points but still produces no 

[groff] 06/54: [docs]: Revise hyphenation discussion.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit fc719bf85667c605d53591949dc04d895128c40d
Author: G. Branden Robinson 
AuthorDate: Tue Apr 6 14:50:08 2021 +1000

[docs]: Revise hyphenation discussion.

* doc/groff.texi (Manipulating Hyphenation):
  - Recast introductory paragraph to better distinguish between the
automatic breaking of words and placement of hyphens at
user-specified hyphenation points (done with the \% escape) and
automatic determination of hyphenation points within words (what the
pattern files and most of the hyphenation mode parameters are for).
Clarify that what our manual calls "automatic hyphenation" pertains
only to the latter.
  - Tweak narrative motivating manual hyphenation.
  -  Correct over-general claim; hyphenation exceptions defined with
the .hw request _do_ honor .hy value 2 (don't break a word at the
bottom of a page), but none of the others.
  - <\:> Clarify that escape is an input word boundary.
  -  Reorganize discussion of soft hyphen glyph-setting request.
Recast; "hyphenation" as defined in this manual always implies a
break.  Clarify that the soft hyphen glyph is applied to manual as
well as automatically-determined hyphenation points.  (This further
distinguishes such points from "explicit" hyphens, as in
"mother-in-law".)  Change more uses of soft hyphen "character" to
"glyph".  Tighten wording.
  - Move concept index entry for "automatic hyphenation" to first
discussion of the concept instead of immediately prior to the .hy
request entry.
  - Add concept index entries for "automatic hyphenation parameters",
"explicit hyphenation", "manual hyphenation", and altenate orderings
of these words.
  -  Recharacterize as setting the _automatic_ hyphenation mode.
Tighten wording in footnote regarding vertical location traps.  Note
that restrictions apart from value 2 are not applied to words with
manually-assigned hyphenation points.

* man/groff_diff.7.man (Language/Escape sequences) <\:>: Drop example.

* man/groff.7.man (Hyphenation): Mention .hw request and its purpose in
  introductory paragraph.  Contrast with default of automatic
  determination of hyphenation points.

* man/groff_diff.7.man (Language/New requests) :
* man/groff.7.man (Hyphenation): Resync with our Texinfo manual.

Continues addressing .
---
 ChangeLog| 37 --
 doc/groff.texi   | 87 +++-
 man/groff.7.man  | 39 +++
 man/groff_diff.7.man | 47 +---
 4 files changed, 114 insertions(+), 96 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4f6d0ef..d0157f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,31 @@
-2021-03-24  G. Branden Robinson 
-
-   * doc/groff.texi (Manipulating Hyphenation): Recast description
-   of \% escape to emphasize independence of its two uses (e.g.,
-   "\%pseudo\%unununium" is hyphenated only after "pseudo-", if at
-   all).  Add example.  Note that .nh affects only automatic
-   hyphenation.
-   * man/groff.7.man (Requests/Request short reference) <.nh>:
-   Clarify that the request disables only _automatic_ hyphenation.
+2021-04-06  G. Branden Robinson 
+
+   * doc/groff.texi (Manipulating Hyphenation):
+   Recast introductory paragraph to better distinguish between the
+   automatic breaking of words and placement of hyphens at
+   user-specified hyphenation points (done with the \% escape) and
+   automatic determination of hyphenation points within words (what
+   the pattern files and most of the hyphenation mode parameters
+   are for).  Clarify that what our manual calls "automatic
+   hyphenation" pertains only to the latter.
+Correct over-general claim; hyphenation exceptions defined
+   with the .hw request _do_ honor .hy value 2 (don't break a word
+   at the bottom of a page), but none of the others.
+   <\%> Recast description of escape to emphasize independence of
+   its two uses (e.g., "\%pseudo\%unununium" is hyphenated only
+   after "pseudo-", if at all).
+   <\:> Clarify that escape is an input word boundary.
+Clarify that the soft hyphen glyph is applied to manual as
+   well as automatically-determined hyphenation points.
+Recharacterize as setting the _automatic_ hyphenation mode.
+   Note that restrictions apart from value 2 are not applied to
+   words with manually-assigned hyphenation points.
+Note that request affects only automatic hyphenation.
+
+   * man/groff.7.man (Requests/Request short reference) <.hy,.nh>:
+   Clarify that requests deal with 

[groff] 21/54: doc/groff.texi: Fix error in .rnn description.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 136ca62525660b44cc46faaf1ed7906bc861c737
Author: G. Branden Robinson 
AuthorDate: Sun Apr 11 09:45:35 2021 +1000

doc/groff.texi: Fix error in .rnn description.

* doc/groff.texi (Setting Registers) : Fix error; the request is
  not ignored if the second argument (the new name) does not exist.
  Problem dates back to 52a6d12a (11 May 2000).
* man/groff_diff.7.man (Language/New requests) : Sync with above.

Input:
.rr b
.nr a 1
.rnn a b
.tm \nb

Output (stderr):
1
---
 ChangeLog| 6 ++
 doc/groff.texi   | 4 ++--
 man/groff_diff.7.man | 7 +++
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a21e856..fc1d744 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-04-11  G. Branden Robinson 
+
+   * doc/groff.texi (Setting Registers) : Fix error; the
+   request is not ignored if the second argument (the new name)
+   does not exist.  Problem dates back to 52a6d12a (11 May 2000).
+
 2021-04-09  G. Branden Robinson 
 
Implement new .soquiet and .msoquiet requests.
diff --git a/doc/groff.texi b/doc/groff.texi
index 4279eca..9118886 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -6470,8 +6470,8 @@ any.
 @Defreq {rnn, ident1 ident2}
 @cindex renaming a register (@code{rnn})
 @cindex register, renaming (@code{rnn})
-Rename register @var{ident1} to @var{ident2}.  If either @var{ident1} or
-@var{ident2} doesn't exist, the request is ignored.
+Rename register @var{ident1} to @var{ident2}.  If @var{ident1} doesn't
+exist, the request is ignored.
 @endDefreq
 
 @Defreq {aln, new old}
diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index a5e263c..44d838e 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -2769,6 +2769,7 @@ The
 request implicitly does
 .BR .rj\~0 .
 .
+.
 .TP
 .BI .rnn \~xx\~yy
 Rename number register
@@ -2776,6 +2777,12 @@ Rename number register
 to
 .IR yy .
 .
+If
+.I xx
+doesn't exist,
+the request is ignored.
+.
+.
 .TP
 .BI .schar\~ c\~string
 Define global fallback character (or glyph)\~\c

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 26/54: doc/meref.me: Correct various small issues.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit f04b84052c60a581f889fbdbd2a124c05dc06ad8
Author: Dave Kemper 
AuthorDate: Mon Apr 12 03:57:12 2021 +

doc/meref.me: Correct various small issues.

- Change names of two diacritical marks to match Unicode usage: "circle"
  to "ring," "Czech" to "caron"
- Correct description of caron from "inverted" to "raised" v
- Correct description of string \*- from "3/4 em dash" to "em dash"
- Remove some excess verbiage
- Correct some minor typos and punctuation

Fixes .
---
 ChangeLog|  6 ++
 doc/meref.me | 32 ++--
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6ccc633..dbc5063 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2021-04-12  Dave Kemper 
 
+   * doc/meref.me: Correct various small issues.
+
+   Fixes .
+
+2021-04-12  Dave Kemper 
+
* man/groff.7.man (Registers/Writable registers) :
Drop discussion of Y2K issues.
 
diff --git a/doc/meref.me b/doc/meref.me
index edc7b8f..359dd67 100644
--- a/doc/meref.me
+++ b/doc/meref.me
@@ -665,7 +665,7 @@ End this page,
 but do not begin the next page.
 Useful for forcing out footnotes,
 but other than
-that hardly every used.
+that hardly ever used.
 Must be followed by a
 .b .bp
 or the end of input.
@@ -1456,8 +1456,7 @@ ends the header portion of the table.
 .b .TE
 .DE
 Table end.
-Note that this table
-does not float,
+This table does not float;
 in fact,
 it is not even guaranteed to stay on one page
 if you use requests such as
@@ -1678,7 +1677,7 @@ If there are any spaces in it,
 the entire header must be quoted.
 If you want the header to have the chapter number
 in it,
-Use the string
+use the string
 .b "\e\e\e\en(ch" .
 For example, to number appendixes
 .b A.1
@@ -1690,8 +1689,7 @@ Each section
 should be preceded by the
 .b .+c
 macro.
-It should be mentioned
-that it is easier when using
+It is easier when using
 \*T to put the front material
 at the end of the paper,
 so that the table of contents
@@ -1872,9 +1870,7 @@ Right quote.
 .TL
 .ST \-
 .DE
-.ie \w'\(34'>0 \(34
-.el 3/4
-em dash.
+Em dash.
 .sh 1 "Special Characters and Marks"
 .pp
 There are a number of special characters
@@ -1890,8 +1886,8 @@ Umlaut\e*:u\e*:   u\*:
 Tilde  \e*~n\e*~   n\*~
 Caret  \e*^e\e*^   e\*^
 Cedilla\e*,c\e*,   c\*,
-Czech  \e*ve\e*v   e\*v
-Circle \e*oA\e*o   A\*o
+Caron  \e*ve\e*v   e\*v
+Ring   \e*oA\e*o   A\*o
 There exists   \e*(qe  \*(qe
 For all\e*(qa  \*(qa
 .fi
@@ -2038,7 +2034,7 @@ NAME  TYPEDESCRIPTION
 \&.+c  M   begin chapter
 \e*,   S   cedilla
 \e\-   F\(sc   minus sign
-\e*\-  S   3/4 em dash
+\e*\-  S   em dash
 \e0F\(sc   unpaddable digit-width space
 \&.1c  M   revert to single column output
 \&.2c  M   begin two column output
@@ -2099,8 +2095,8 @@ NAME  TYPEDESCRIPTION
 \e*(dw S   current day of week
 \en(dy R\(sc   day of month
 \eeF\(sc   printable version of \e
-\&.ef  M   set footer (even numbered pages only)
-\&.eh  M   set header (even numbered pages only)
+\&.ef  M   set footer (even-numbered pages only)
+\&.eh  M   set header (even-numbered pages only)
 \&.el  M\(sc   else part of conditional
 \&.ep  M   end page
 \en(es R   equation pre/post space
@@ -2154,9 +2150,9 @@ NAME  TYPEDESCRIPTION
 \&.np  M   begin numbered paragraph
 \&.nr  M\(sc   set number register
 \&.ns  M\(sc   no space mode
-\e*o   S   circle (e.g., for Norse A\*o)
-\&.of  M   set footer (odd numbered pages only)
-\&.oh  M   set header (odd numbered pages only)
+\e*o   S   ring (e.g., for Norse A\*o)
+\&.of  M   set footer (odd-numbered pages only)
+\&.oh  M   set header (odd-numbered pages only)
 \&.pa  M   begin page
 \&.pd  M   print delayed text
 \en(pf R   paragraph font
@@ -2211,7 +2207,7 @@ NAME  TYPEDESCRIPTION
 \&.uh  M   unnumbered section
 \&.ul  M\(sc   underline next line
 \ev\'\fI\\fP\'   F\(sc   local vertical motion for distance \fI\\fP
-\e*v   S   inverted `v' for czeck ``e\*v''
+\e*v   S   raised `v' for caron ``e\*v''
 \ew\'\fI\\fP\'   F\(sc   return width of string \fI\\fP
 \&.xl  M   set line length (local)
 \&.xp  M   print index

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 05/54: doc/groff.texi: Remove unnecessary command.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 5e1b6c48b8d4a256eee3bcdf8b507f70363785e5
Author: G. Branden Robinson 
AuthorDate: Mon Apr 5 11:12:26 2021 +1000

doc/groff.texi: Remove unnecessary command.
---
 doc/groff.texi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 687c534..9a4b739 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7274,7 +7274,6 @@ in the word indicating a hyphenation point.  For example, 
the request
 marks potential hyphenation points in ``insalubrious'', and prevents
 ``alpha'' from being hyphenated at all.
 
-@noindent
 Besides the space character, any character whose hyphenation code is
 zero can be used to separate the arguments of @code{hw} (see the
 @code{hcode} request below).  In addition, this request can be used more

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 18/54: doc/groff.texi: Fix style nit.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit f968b97b4d48f8857e8fa3f5fc8260eea376f659
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 17:20:23 2021 +1000

doc/groff.texi: Fix style nit.

Refer to each "read-only string-valued register" consistently as such
instead of using a variety of other constructions.  ("Read-only" is
strictly redundant here because there is no way to assign an arbitrary
non-number to a register, but I judge it worth reminding the reader of
the point.)
---
 doc/groff.texi | 47 +++
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 9e6368d..b9fefde 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -6713,7 +6713,8 @@ read-only.  A complete listing of all built-in registers 
can be found in
 @cindex current input file name register (@code{.F})
 @cindex input file name, current, register (@code{.F})
 @vindex .F
-This string-valued register returns the current input file name.
+This read-only string-valued register returns the current input file
+name.
 
 @item \n[.H]
 @cindex horizontal resolution register (@code{.H})
@@ -7695,7 +7696,7 @@ The hyphenation language is associated with the current 
environment
 (@pxref{Environments}).
 
 @cindex hyphenation language register (@code{.hla})
-The hyphenation language is available as a string in the read-only
+The hyphenation language is available in the read-only string-valued
 register @samp{.hla}.
 
 @Example
@@ -9374,10 +9375,9 @@ single character as an argument) to change the font on 
the fly:
 .mc \f[I]x\f[]
 @endExample
 
-The current style name is available in the read-only register
-@samp{.sty} (this is a string-valued register); if the current font
-isn't a style, the empty string is returned.  It is associated with the
-current environment.
+The current style name is available in the read-only string-valued
+register @samp{.sty}; if the current font isn't a style, the empty
+string is returned.  It is associated with the current environment.
 
 @xref{Font Positions}, for an alternative syntax.
 @endDefreq
@@ -9491,8 +9491,8 @@ the previous font family.  Use @code{\F[]} to do this 
with the escape;
 @code{\FP} selects font family @samp{P} instead.
 
 The value at start-up is @samp{T}.  The current font family is available
-in the read-only register @samp{.fam} (this is a string-valued
-register); it is associated with the current environment.
+in the read-only string-valued register @samp{.fam}; it is associated
+with the current environment.
 
 @Example
 spam,
@@ -9516,10 +9516,10 @@ a single character as an argument) to change the font 
family on the fly.
 .mc \F[P]x\F[]
 @endExample
 
-The @samp{.fn} register contains the current @dfn{real font name} of the
-current font.  This is a string-valued register.  If the current font is
-a style, the value of @code{\n[.fn]} is the proper concatenation of
-family and style name.
+The read-only string-valued register @samp{.fn} contains the current
+@dfn{real font name} of the current font.  If the current font is a
+style, the value of @code{\n[.fn]} is the proper concatenation of family
+and style name.
 @endDefreq
 
 @Defreq {sty, n style}
@@ -10850,10 +10850,9 @@ resulting size is non-positive, it is set to 1@dmn{u}.
 
 @cindex type size registers (@code{.s}, @code{.ps})
 @cindex point size registers (@code{.s}, @code{.ps})
-The read-only register @code{.s} returns the point size in points as a
-decimal fraction.  This is a string.  To get the point size in scaled
-points, use the @code{.ps} register instead (@pxref{Fractional Type
-Sizes}).
+The read-only string-valued register @code{.s} returns the point size in
+points as a decimal fraction.  To get the point size in scaled points,
+use the @code{.ps} register instead (@pxref{Fractional Type Sizes}).
 
 @code{.s} is associated with the current environment
 (@pxref{Environments}).
@@ -13687,10 +13686,10 @@ After the diversion.
 @cindex vertical position in diversion register (@code{.d})
 @cindex position, vertical, in diversion, register (@code{.d})
 @cindex diversion, vertical position in, register (@code{.d})
-Diversions may be nested.  The read-only register @code{.z} contains the
-name of the current diversion (this is a string-valued register).  The
-read-only register @code{.d} contains the current vertical place in the
-diversion.  If not in a diversion, it is the same as register @code{nl}.
+Diversions may be nested.  The read-only string-valued register
+@code{.z} contains the name of the current diversion.  The read-only
+register @code{.d} contains the current vertical place in the diversion.
+If not in a diversion, it is the same as register @code{nl}.
 @endDefreg
 
 @Defreg {.h}
@@ -13959,8 +13958,8 @@ Switch to another environment.  The argument @var{env} 
is the name of
 the environment to switch to.  With no argument, @code{gtroff} switches
 back to 

[groff] 11/54: [ms]: Update footnote documentation.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 9faf46318e2fd4ab4d5fcc367c1a0c37bfb1560c
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 10:17:34 2021 +1000

[ms]: Update footnote documentation.

* doc/groff.texi (ms Document Control Settings) : Update description
  to cover application of footnote format to footnote markers in
  general, not just numbers.  Clarify different behavior of format 1
  with respect to automatic numbers and other markers.

  (ms Footnotes): Recast introductory paragraph to drop promotional
  language in favor of describing functionality.  Add concept index
  entry for "footnote marker".  Shift string and macro descriptions from
  sentence fragments to statements in the imperative mood.  Expand
  advice on usage of footnote markers.  Discuss configurable footnote
  parameters with link to "ms Document Control Settings" node.

  <*>: Describe string operation in more detail.

  : Describe more precisely how the optional argument is handled.

* doc/ms.ms (Footnotes): Bracket section heading and lead paragraph in a
  keep.  Synchronize with doc/groff.texi.  Add example using document's
  own text as a model.  Move paragraph discussing footnote usage in
  keeps and displays to precede (new) discussion of footnote formatting.

* tmac/groff_ms.7.man (Usage/Footnotes): Resync relevant portions with
  doc/ms.ms.

Fixes .
---
 ChangeLog   |  19 +
 doc/groff.texi  |  70 +---
 doc/ms.ms   | 226 ++--
 tmac/groff_ms.7.man | 118 ++-
 4 files changed, 290 insertions(+), 143 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c12a321..ddaed14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2021-04-08  G. Branden Robinson 
+
+   * doc/groff.texi (ms Document Control Settings) : Update
+   description to cover application of footnote format to footnote
+   markers in general, not just numbers.  Clarify different
+   behavior of format 1 with respect to automatic numbers and other
+   markers.
+   (ms Footnotes) <*>: Describe string operation in more detail.
+   : Describe more precisely how the optional argument is
+   handled.
+
+   * doc/ms.ms (Footnotes): Synchronize with doc/groff.texi.  Add
+   example using document's own text as a model.
+
+   * tmac/groff_ms.7.man (Usage/Footnotes): Resync relevant
+   portions with doc/ms.ms.
+
+   Fixes .
+
 2021-04-06  Dave Kemper 
 
* src/roff/nroff/nroff.sh: Recognize -k and -K options and pass
diff --git a/doc/groff.texi b/doc/groff.texi
index ceaf427..e72f3bd 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -2818,25 +2818,23 @@ Default: 2@dmn{n}.
 @endDefmpreg
 
 @Defmpreg {FF, ms}
-Defines the format of
-automatically numbered @c see Savannah #60227
-footnotes at the bottom of a column or page.  This is a Berkeley
-extension.
+Defines the format of automatically numbered footnotes,
+and those for which the @code{FS} request is given a marker argument, at
+the bottom of a column or page.  This is a Berkeley extension.
 @table @code
 @item 0
-Set the footnote number as a superscript; indent the footnote text
+Indent the footnote paragraph and set the marker as a superscript
 (default).
 
 @item 1
-Set the number followed by a period (that is, ``1.@:'') and indent the
-footnote text.
+Like @code{0}, but set the marker as regular text and follow an
+automatic number with a period.
 
 @item 2
-Like @code{1}, but without an indentation.
+Like @code{1}, but without indentation.
 
 @item 3
-Like @code{1}, but set the footnote text as a paragraph with the number
-hanging.
+Like @code{1}, but set the footnote paragraph with the marker hanging.
 @end table
 
 Effective: next footnote.
@@ -3764,36 +3762,54 @@ l | l .
 @cindex @code{ms} macros, footnotes
 @cindex footnotes [@code{ms}]
 
-The @file{ms} macro package has a flexible footnote system.  You can
-specify either numbered footnotes or symbolic footnotes (that is, using
-a marker such as a dagger symbol).
+@cindex footnote marker [@code{ms}]
+@cindex marker, footnote [@code{ms}]
+A footnote is typically anchored to a place in the text with a
+@dfn{marker}, which is a small integer, a symbol such as a dagger, or
+arbitrary user-specified text.  The footnote text is set at the nearest
+available ``foot'', or bottom, of a text column or page.
+
+Automatic numbering of footnotes is available.
 
 @Defstr {*, ms}
-Specifies the location of a numbered footnote marker in the text.
+Place an automatically numbered footnote marker in the text.  Each time
+this string is interpolated, the number it produces increments by one.
+Automatic footnote numbers start at 1.  This is a Berkeley extension.
 @endDefesc
 

[groff] 01/01: [ms]: Defend against uncontrolled page trap recursion.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch master
in repository groff.

commit 8830820a9a85ad52a8452017d52e67378a76c4c4
Author: Keith Marshall 
AuthorDate: Sat Oct 23 21:56:31 2021 +0100

[ms]: Defend against uncontrolled page trap recursion.

* tmac/s.tmac (pg@top) [HM+FM+.V>.p]: Diagnose insufficient page
length, and abort; cf. 
---
 ChangeLog   |  7 +++
 tmac/s.tmac | 11 ++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index a3a3f54..0de438e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-10-23  Keith Marshall  
+
+   [ms]: Defend against uncontrolled page trap recursion.
+
+   * tmac/s.tmac (pg@top) [HM+FM+.V>.p]: Diagnose insufficient page
+   length, and abort; cf. 
+
 2021-10-21  G. Branden Robinson 
 
* tmac/tmac.am: Build more quietly.
diff --git a/tmac/s.tmac b/tmac/s.tmac
index 186951f..735e50e 100644
--- a/tmac/s.tmac
+++ b/tmac/s.tmac
@@ -566,8 +566,17 @@ along with this program.  If not, see 
.
 .de 1C
 .MC \\n[LL]u
 ..
-.\" top of page macro
 .de pg@top
+.\" Invoked by '.wh 0' trap at the top of every page.
+.\" At short page length, recursion may occur; ensure
+.\" that page length is sufficient to avoid it.
+.if (u;\\n[HM]+\\n[FM])+\n[.V]>\\n[.p]) \{\
+.  ds pg*pl-abort-msg] "\*[@s]:\"
+.  if !'\\n[.F]'' .as pg*pl-abort-msg "\\n[.F]:\"
+.  if !'\\n[.c]'0' .as pg*pl-abort-msg "\\n[.c]:\"
+.  as pg*pl-abort-msg " abort: insufficient page length specified\"
+.  ab \\*[pg*pl-abort-msg]
+.   \}
 .ch pg*footer -\\n[FM]u/2u
 .nr pg*col-num 0
 .nr pg@fn-bottom-margin 0

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 16/54: ChangeLog: Fix misleading statement.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit ef3e66f551ce09d261ed19930107805684bed069
Author: G. Branden Robinson 
AuthorDate: Fri Apr 9 18:12:31 2021 +1000

ChangeLog: Fix misleading statement.

File warnings are, in fact, enabled by default.
---
 ChangeLog | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5b3f57b..a21e856 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,10 +6,9 @@
Savannah #59814 can use this to quietly attempt to open a
localization file.  groff only supports a few locales, so people
with LANG=es_ES, for instance, would ordinarily see warning
-   diagnostics on every groff startup if file warnings were
-   enabled; and {2} system- or site-configurable support of
-   per-user {.,}troffrc or man.local files, gracefully failing if
-   they don't exist.
+   diagnostics on every groff startup; and {2} system- or
+   site-configurable support of per-user {.,}troffrc or man.local
+   files, gracefully failing if they don't exist.
 
* src/roff/troff/input.cpp:
(do_source): Add new function, taking boolean "quietly"

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 09/54: doc/groff.texi: Fix content and style nits.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit b21d200dd8380b46b0d2cdb2daeae0c510c90915
Author: G. Branden Robinson 
AuthorDate: Wed Apr 7 17:58:07 2021 +1000

doc/groff.texi: Fix content and style nits.

* doc/groff.texi (Manipulating Hyphenation):
  - Say "breakable" instead of "broken" to reinforce the notion of break
points as circumstantial.
  - Expand passing mention of scope of hw request; it's all further
processing in a run of the formatter, not just the current
"document".
  - Fix misplaced modifier.
---
 doc/groff.texi | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 7789362..4a00462 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7304,8 +7304,8 @@ matching a hyphenation exception defined with @code{hw}.
 
 Situations also arise when only a specific occurrence of a word needs
 its hyphenation altered or suppressed, or when something that is not a
-word in a natural language, like a URL, needs to be broken in sensible
-places without hyphens.
+word in a natural language, like a URL, needs to be breakable in
+sensible places without hyphens.
 
 @DefescList {\\%, , , }
 @DefescListEndx {\:, , , }
@@ -7319,7 +7319,7 @@ Each instance within a word indicates to GNU @code{troff} 
that the
 word may be hyphenated at that point, while prefixing a word with this
 escape prevents it from being otherwise hyphenated.  This mechanism
 affects only that occurrence of the word; to change the hyphenation of a
-word for the remainder of the document, use the @code{hw} request.
+word for the remainder of input processing, use the @code{hw} request.
 
 @cindex @code{\X}, followed by @code{\%}
 @cindex @code{\Y}, followed by @code{\%}
@@ -7343,7 +7343,7 @@ output if it does.  This escape is an input word 
boundary, so the
 remainder of the word is subject to hyphenation as normal.
 
 You can use @code{\:} and @code{\%} in combination to control breaking
-of a file name or URL or to permit hyphenation after only certain
+of a file name or URL or to permit hyphenation only after certain
 explicit hyphens within a word.
 
 @Example

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 07/54: [nroff]: Support and document -k and -K options.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit d71e05680e6b7843ed8da238f644888262574875
Author: Dave Kemper 
AuthorDate: Tue Apr 6 10:48:33 2021 +

[nroff]: Support and document -k and -K options.

* src/roff/nroff/nroff.sh: Recognize -k and -K options and pass them
  through to troff.  Document them in usage message.
* src/roff/nroff/nroff.1.man: Document new -k and -K options.

Fixes .
---
 NEWS   | 4 ++--
 src/roff/nroff/nroff.1.man | 7 ++-
 src/roff/nroff/nroff.sh| 7 ---
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index 684a0e3..22c4d88 100644
--- a/NEWS
+++ b/NEWS
@@ -79,8 +79,8 @@ o The new option -V emits the constructed groff command that 
nroff would
   this is a historical deficiency of the Bourne shell family not yet
   corrected by the POSIX standard.
 
-o nroff now recognizes the -b, -E, and -z options and passes them
-  through to troff.
+o nroff now recognizes the -b, -E, -k, -K, and -z options and passes
+  them through to troff.
 
 Macro Packages
 --
diff --git a/src/roff/nroff/nroff.1.man b/src/roff/nroff/nroff.1.man
index d621196..b43009d 100644
--- a/src/roff/nroff/nroff.1.man
+++ b/src/roff/nroff/nroff.1.man
@@ -35,11 +35,14 @@
 .\" 
 .
 .SY @g@nroff
-.RB [ \-bcCEhipStUVz ]
+.RB [ \-bcCEhikpStUVz ]
 [\c
 .BI \-d cs\c
 ]
 [\c
+.BI \-K arg\c
+]
+[\c
 .BI \-m name\c
 ]
 [\c
@@ -150,6 +153,8 @@ The
 .BR \-d ,
 .BR \-E ,
 .BR \-i ,
+.BR \-k ,
+.BR \-K ,
 .BR \-m ,
 .BR \-M ,
 .BR \-n ,
diff --git a/src/roff/nroff/nroff.sh b/src/roff/nroff/nroff.sh
index d0a1289..f5dcff0 100644
--- a/src/roff/nroff/nroff.sh
+++ b/src/roff/nroff/nroff.sh
@@ -72,10 +72,10 @@ do
 -[eq] | -s*)
   # ignore these options
   ;;
--[dmMnoPrTwW])
+-[dKmMnoPrTwW])
   echo "$prog: option '$1' requires an argument" >&2
   exit 1 ;;
--[bCEipStUz] | -[dMmrnoPwW]*)
+-[bCEikpStUz] | -[dKMmrnoPwW]*)
   opts="$opts $1" ;;
 -T*)
   Topt=$1 ;;
@@ -93,8 +93,9 @@ do
   echo "GNU nroff (groff) version @VERSION@"
   opts="$opts $1" ;;
 --help)
+  # Wrap usage message at 80 columns.
   cat 

[groff] 01/54: Add Deri James'extension to gropdf to draw boxes and sboxes macros.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 253d01c19256f3e6fa566f805d4757c13f9a78e4
Author: Bertrand Garrigues 
AuthorDate: Sat Apr 3 01:35:46 2021 +0200

Add Deri James'extension to gropdf to draw boxes and sboxes macros.

(see https://lists.gnu.org/archive/html/groff/2021-04/msg0.html)
---
 Makefile.am  |   1 +
 contrib/sboxes/msboxes.ms| 287 +++
 contrib/sboxes/sboxes.am |  39 ++
 contrib/sboxes/sboxes.tmac   | 116 +
 src/devices/gropdf/gropdf.pl | 140 +
 5 files changed, 583 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index aec1bae..1a3292f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -659,6 +659,7 @@ include $(top_srcdir)/contrib/mom/mom.am
 include $(top_srcdir)/contrib/pdfmark/pdfmark.am
 include $(top_srcdir)/contrib/pic2graph/pic2graph.am
 include $(top_srcdir)/contrib/rfc1345/rfc1345.am
+include $(top_srcdir)/contrib/sboxes/sboxes.am
 include $(top_srcdir)/doc/doc.am
 include $(top_srcdir)/font/devX100/devX100.am
 include $(top_srcdir)/font/devX100-12/devX100-12.am
diff --git a/contrib/sboxes/msboxes.ms b/contrib/sboxes/msboxes.ms
new file mode 100644
index 000..e715c7e
--- /dev/null
+++ b/contrib/sboxes/msboxes.ms
@@ -0,0 +1,287 @@
+.nr LL 17c
+.nr LT \n[LL]
+.nr PO 2c
+.nr PS 11
+.nr VS 13
+.nr PI 3.5n
+.nr HM 2c
+.nr FM 2c
+.nr QI 7n
+.\" .nr PD 7p
+.ll 17c
+.po 2c
+.\" .RP no
+.ND March 2021
+.EH '%''March 2021'
+.EF 
+.OH 'Using PDF boxes with the \f[I]ms\f[] macros''%'
+.OF 
+.TL
+Using PDF boxes with the \f[I]ms\f[] macros
+.AU
+Deri James
+.AI
+d...@chuzzlewit.myzen.co.uk
+.\" .AB no
+.ds FAM H
+.LP
+A recent extension to the Groff PDF driver allows coloured rectangles to be
+created beneath any output created by groff. The extension is a new "\eX'pdf:'"
+command (with a convenience command
+.B pdfbackground
+with the same parameters):-
+.QS
+.BoxStart SHADED cornsilk OUTLINED brown INDENT 2n WEIGHT 1p
+\M[floralwhite]\c
+.pdfbackground pagefill
+\M[]\c
+.B
+\eX'pdf: background
+.BI
+cmd left top right bottom weight'
+.br
+.B .pdfbackground
+.BI
+cmd left top right bottom weight'
+.LP
+Where:-
+.IP cmd 7n
+Can be any of "page|fill|box" in combination. So "pagefill" would draw a
+rectangle which covers whole current page size (in which case the rest of the
+parameters can be omitted because the box dimensions are taken from the
+current media size). "boxfill", on the other hand, requires the given
+dimensions to place the box. Including "fill" in the command will make the
+rectangle filled with the current background colour "\eM[colour]" and including
+"box" will give the rectangle a border in the current stroke colour
+"\em[colour]".
+.sp \n[PD]u
+The "cmd" may also be "off", on its own, which will terminate drawing the
+current box. If you have specified a page colour
+with
+.B ".pdfbackground pagefill
+it is always the first box in the stack, and if
+you specify it again it will replace the first entry. Be aware that the
+pagefill box renders the page opaque so tools which "watermark" pdf pages are
+unlikely to be successful. To return the background to transparent do a
+.B ".pdfbackground off
+with no other boxes open
+.sp \n[PD]u
+Finally the command may be "footnote" followed by a new value for "bottom"
+which will be used for all current boxes, just for the current page. This is
+to allow room for footnotes which grow during the page.\m[red]\**\m[]
+.FS
+If the value is negative it is used as an offset from the bottom of the page.
+.FE
+.LP
+.IP left
+.IP top
+.IP right
+.IP bottom 7n
+Are the coordinates of the box. The "top" and "bottom" coordinates are
+the minimum and maximum for the box, since the actual start of the
+box is the vertical position of groff when you issue the command and the 
bottom of
+the box is the point where you turn the box "off". The top and bottom
+coordinates are only used if the box drawing extends onto the next page, so,
+ordinarily they would be set to the header and footer margins.
+.IP weight 7n
+If "box" is included in the command then this parameter provides the line width
+for the box border.
+.BoxStop
+.QE
+More convenience can be gained by including -msboxes on the groff command line
+which includes the macros "BoxStart" and "BoxStop".
+.QS
+.BoxStart SHADED cornsilk OUTLINED brown INDENT 2n WEIGHT 1p
+.BoxStart SHADED cornsilk3 INDENT 2p
+.B .BoxStart
+.R SHADED
+.I colour
+.R OUTLINED
+.I colour
+.R INDENT
+.I size
+.R WEIGHT
+.I size
+.BoxStop
+.LP
+Where SHADED gives the fill colour and OUTLINED the border colour. Omit either
+to get a borderless filled box, or just a border with no fill. WEIGHT is used
+if the box is OUTLINED.
+.LP
+INDENT is a value which leaves a gap between the border and the contents inside
+the box.
+.BoxStop
+.QE
+Boxes can stacked, so you can start a box within another box, usually the
+later boxes would be smaller than the 

[groff] 03/54: doc/ms.ms: Fix style nits.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 032a76941b0dcb2ec06913f914b1ad425dfd4937
Author: G. Branden Robinson 
AuthorDate: Sun Apr 4 19:20:46 2021 +1000

doc/ms.ms: Fix style nits.

- Stop using font-reset escape when previous font is no longer needed.
- Fix incorrect font style used on ellipsis and comma.
---
 doc/ms.ms | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/doc/ms.ms b/doc/ms.ms
index ae64ff4..0191d64 100644
--- a/doc/ms.ms
+++ b/doc/ms.ms
@@ -677,8 +677,7 @@ in the
 register.
 T}
 _
-\&.IP \f[R][\f[]\f[I]marker\f[] \f[R][\f[]\f[I]width\f[]\f[R]]]\f[]\
-   T{
+\&.IP \f[R][\f[I]marker\f[] [\f[I]width\f[]]]  T{
 Set a paragraph with a left indentation.
 .
 The optional
@@ -830,8 +829,8 @@ to number headings in the form
 .CW
 .I a .\c
 .I b .\c
-.I c.\|.\|.,
 .R
+.I c .\|.\|.,
 to any depth desired,
 with the numbering of each level increasing automatically and being
 reset when a more significant level is increased.

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit


[groff] 04/54: [docs]: Improve hyphenation discussion.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 99bd7bce53a4b4f5853b48252e9dcb1ba0a5a85e
Author: G. Branden Robinson 
AuthorDate: Sun Apr 4 20:43:23 2021 +1000

[docs]: Improve hyphenation discussion.

* doc/groff.texi (Manipulating Hyphenation): Recast description of \%
  escape to emphasize independence of its two uses (e.g.,
  "\%pseudo\%unununium" is hyphenated only after "pseudo-", if at all).
  Add example.  Note that .nh affects only automatic hyphenation.

* man/groff.7.man (Requests/Request short reference) <.nh>: Clarify that
  the request disables only _automatic_ hyphenation.

  (Hyphenation): Add new introductory paragraph summarizing manual
  hyphenation support and features, including notice that breaking at
  explicit hyphens is performed in fill mode, i.e., even if _automatic_
  hyphenation is disabled.

Thanks to Peter Schaffter for the report.

Fixes .
---
 ChangeLog   | 18 ++
 doc/groff.texi  | 23 ++-
 man/groff.7.man | 21 +++--
 3 files changed, 51 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5295c42..4f6d0ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2021-03-24  G. Branden Robinson 
+
+   * doc/groff.texi (Manipulating Hyphenation): Recast description
+   of \% escape to emphasize independence of its two uses (e.g.,
+   "\%pseudo\%unununium" is hyphenated only after "pseudo-", if at
+   all).  Add example.  Note that .nh affects only automatic
+   hyphenation.
+   * man/groff.7.man (Requests/Request short reference) <.nh>:
+   Clarify that the request disables only _automatic_ hyphenation.
+   (Hyphenation): Add new introductory paragraph summarizing manual
+   hyphenation support and features, including notice that breaking
+   at explicit hyphens is performed in fill mode, i.e., even if
+   _automatic_ hyphenation is disabled.
+
+   Thanks to Peter Schaffter for the report.
+
+   Fixes .
+
 2021-03-27  Deri James  
 
Changes to the ghostscript fontnames (9.53.3).
diff --git a/doc/groff.texi b/doc/groff.texi
index 4269855..687c534 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -7310,11 +7310,11 @@ places without hyphens.
 @cindex hyphenation, disabling (@code{\%})
 To tell GNU @code{troff} how to hyphenate words as they occur in input,
 use the @code{\%} escape, also known as the @dfn{hyphenation character}.
-Preceding a word with this escape prevents it from being automatically
-hyphenated; each instance within a word indicates to GNU @code{troff}
-that the word may be hyphenated at that point.  This mechanism affects
-only that occurrence of the word; to change the hyphenation of a word
-for the remainder of the document, use the @code{hw} request.
+Each instance within a word indicates to GNU @code{troff} that the
+word may be hyphenated at that point, while prefixing a word with this
+escape prevents it from being otherwise hyphenated.  This mechanism
+affects only that occurrence of the word; to change the hyphenation of a
+word for the remainder of the document, use the @code{hw} request.
 
 @cindex @code{\X}, followed by @code{\%}
 @cindex @code{\Y}, followed by @code{\%}
@@ -7339,10 +7339,15 @@ inserted, the remainder of the (input) word is subject 
to hyphenation as
 normal.
 
 You can use @code{\:} and @code{\%} in combination to control breaking
-of a file name or URL.
+of a file name or URL or to permit hyphenation after only certain
+explicit hyphens within a word.
 
 @Example
-@dots{} check \%/var/log/\:\%httpd/\:\%access_log @dots{}
+@c Wrap example at 56 columns.
+The \%Lethbridge-Stewart-\:\%Sackville-Baggins divorce
+was, in retrospect, inevitable once the contents of
+\%/var/log/\:\%httpd/\:\%access_log on the family web
+server came to light, revealing visitors from Hogwarts.
 @endExample
 @endDefesc
 
@@ -7527,8 +7532,8 @@ The hyphenation mode can be found in the read-only 
register @samp{.hy}.
 @endDefreq
 
 @Defreq {nh, }
-Disable hyphenation; i.e., set the hyphenation mode to@tie{}0 (see
-above).  The hyphenation mode of the last call to @code{hy} is not
+Disable automatic hyphenation; i.e., set the hyphenation mode to@tie{}0
+(see above).  The hyphenation mode of the last call to @code{hy} is not
 remembered.
 @endDefreq
 
diff --git a/man/groff.7.man b/man/groff.7.man
index 7c2df5c..7080ce1 100644
--- a/man/groff.7.man
+++ b/man/groff.7.man
@@ -2228,7 +2228,7 @@ No filling or adjusting of output lines.
 .
 .TPx
 .REQ .nh
-Disable hyphenation;
+Disable automatic hyphenation;
 same as
 .RB \[lq] ".hy 0" \[rq].
 .
@@ -4870,7 +4870,24 @@ instead.
 .SH Hyphenation
 .\" 
 .
-Several requests influence hyphenation.
+Explicitly hyphenated words such as 

[groff] 02/54: doc/groff.texi: Remove stray word from recast.

2021-10-23 Thread Keith Marshall via Groff-commit
keithmarshall pushed a commit to branch dev-gropdf-boxes
in repository groff.

commit 2995aadecfadcda9e0db3412fea41bbfbd6d0d70
Author: G. Branden Robinson 
AuthorDate: Sun Apr 4 19:19:24 2021 +1000

doc/groff.texi: Remove stray word from recast.
---
 doc/groff.texi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/groff.texi b/doc/groff.texi
index 2c37e88..4269855 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -3467,8 +3467,8 @@ Firearms,
 
 Second, you could apply the @code{\p} escape to force a break.  The
 space following the escape is important; if you omit it, @code{groff}
-prints the first word of the paragraph text fits) on the same line as
-the term or label (if it fits) @emph{then} breaks the line.
+prints the first word of the paragraph text on the same line as the term
+or label (if it fits) @emph{then} breaks the line.
 
 @CartoucheExample
 .IP guns

___
Groff-commit mailing list
Groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit