bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #57601] .hy 8 inhibits some breakpoints that it should not


From: Dave
Subject: [bug #57601] .hy 8 inhibits some breakpoints that it should not
Date: Wed, 15 Jan 2020 02:00:56 -0500 (EST)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:71.0) Gecko/20100101 Firefox/71.0

URL:
  <https://savannah.gnu.org/bugs/?57601>

                 Summary: .hy 8 inhibits some breakpoints that it should not
                 Project: GNU troff
            Submitted by: barx
            Submitted on: Wed 15 Jan 2020 01:00:55 AM CST
                Category: Core
                Severity: 3 - Normal
              Item Group: Incorrect behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None

    _______________________________________________________

Details:

This bug is present in a groff built from a recent pull from git.  It's not
the absolute latest code, but was pulled and built within the past month:

$ groff --version
GNU groff version 1.22.4.74-b400-dirty



The effect of ".hy 8" is documented to be "Do not hyphenate the first two
characters of a word."  And usually, this is its only effect.  But for a few
words, it inhibits other breakpoints later in the word that should not be
affected.

To find out how groff hyphenates a word, you can use the command line posted
in http://lists.gnu.org/archive/html/groff/2018-11/msg00023.html.  For
instance, to see the division of the word "behavioral":

$ printf ".ll 1u\n%s\n" behavioral | nroff 2> /dev/null | sed '/^$/d'
be-
hav-
io-
ral

The documentation of ".hy 8" means the first hyphenation point should
disappear -- "be-" is only two letters, and .hy 8 disallows that break -- and
the other breakpoints should remain the same.  But in fact, one of the other
breakpoints disappears as well:

$ printf ".hy 8\n.ll 1u\n%s\n" behavioral | nroff 2> /dev/null | sed '/^$/d'
behav-
ioral

A trawl through a 20,000-entry word list reveals that each of the following
words exhibits the same odd behavior:

architectural
arrival
calliope
collegiate
conjectural
consular
creosote
espionage
guttural
hereafter
hereinafter
immutable
inequitable
inescapable
insignia
rebellious
revival
ruinous
saltpeter
scriptural
sculptural
structural
survival
thereafter
tumultuous
verbiage
virginal
voltmeter
voluptuous
wastewater

(This is not meant to be a comprehensive list; my script only looked for a
specific subset of failing patterns.  But these are all words that exhibit the
bug when used in the example command lines above.)




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57601>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]