[CCing debian-devel because I need some mentoring]

Hi Colin,

I've sent you a couple of mails over the past few months, but I don't
recall seeing a reply.

I am not a proficient gbp user, but I think I have done what is
necessary.

...except that I don't think I did the upstream merge/tagging right.

I suspect this because if I do a "git rebase -i origin", git goes crazy
and tells me I have merge conflicts.  None of the release candidates
were already staged even as reference points, so I had to wade into the
gbp documentation myself, and I probably screwed it up.

*** I have not PUSHED anything. ***

But after the point where I merged the upstream tarballs, things are
clean and I can rebase at will.

The upstream diffs are too gigantic to enclose (4,500+ commits since
groff 1.22.4), and not very interesting as they can be seen at groff's
own Git repo.

I'm attaching a git diff -p of my changes after that, meaning the actual
packaging work.

For the benefit of people reading this message, here are the commit
messages themselves (git log -r HEAD~21..HEAD).

commit 3cff7c6967e89d187efb160ce7d2a09af5ea82aa (HEAD -> master)
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:53:06 2023 -0600

    debian/changelog: Add upstream bug closers.

commit 1fd80f4151713e9f1d3cb52a4b749fa643776908
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:29:27 2023 -0600

    debian/groff{,-base}.install: Add new files

    ...provided upstream (en.tmac, hyphen.it, it.tmac, groff_font.5,
    groff_out.5, groff_tmac.5, groff_man_style.7, groff_rfc1345.7,
    FontMap-X11, ptx.tmac, rfc1345.tmac, sanitize.tmac, sboxes.tmac; see
    upstream NEWS).

commit 56bf101afd21b9516775f58511e51d85dde06ef1
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:09:23 2023 -0600

    debian/groff{,-base}.install: Drop files

    ...that are no longer produced upstream (see upstream NEWS).

commit 9e99a662a4512e1f6656da2b9408f0f411abd311
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:53:50 2023 -0600

    debian/rules (confflags): Migrate option name.

    ...to "--with-appdefdir" from "--with-appresdir" per upstream NEWS.

commit 21ca0ea6c2162a95faf850b7f9c208b4d6d05374
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:47:03 2023 -0600

    Drop {meintro,meref,pic}.txt.

commit 58720f040d16da8bc868eca5466c91ee1a343889
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:17:45 2023 -0600

    debian/patches/clamp-negative-tab-stop*: Drop

    Applied upstream in commit 6692653f7cae4116d4e70318f71b3d0808f2261f,
    2021-09-11.

commit 01d76131b10c44f05ba7378a6193a5ce74f10fb9
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:14:29 2023 -0600

    debian/patches/destructor-segv.patch: Drop

    Applied upstream in commit c788cf8c6bbe939fa11f7ec032e525a7e33f41b6,
    2020-09-29.

commit 0323958c2ea85b86d24e07907e5718584fe5e746
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:11:54 2023 -0600

    debian/patches/document-sgr.patch: Resync

    ...with upstream.

commit 34942d9ebdb365be2765d1cf05850f7a8a6b78ad
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:07:36 2023 -0600

    debian/patches/bsd-updates.patch: Drop

    Applied upstream in commit 5a8af7104f1c581bcfbad12b56033ad403b0afe1,
    2019-12-21.

commit 915e5df22c31ce935de36322f1fa4db933c923e5
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:04:51 2023 -0600

    debian/patches/mdoc-Lk-arguments.patch: Drop

    Applied upstream in commit 76e4db6e839904d2e2a28b29b483678214598f3b,
    2019-01-12.

commit 34fe473ff1c2853d823d5acd3362aeef3e634c7b
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:00:23 2023 -0600

    debian/patches/avoid-perl-diamond.patch: Drop

    Applied upstream in commit 27472b5ae548d3dbe933713d488d676708996253,
    2019-01-24.

commit 4266e24f1d65d5e7c06ac3c2ae2a202c3d0629ce
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:57:25 2023 -0600

    debian/patches/sort-perl-hash-keys.patch: Drop

    Applied upstream in commit fcf3dc68839d83bfba206d1febffd9514a71ee82,
    2015-11-06.

commit cb1cbb55e73e877c73a45d070eed89179699f316
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:52:43 2023 -0600

    debian/patches/series: Drop display-utc-times.*

commit 2ec0236804bf60e18282526d343068e9c26d6df2
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:49:14 2023 -0600

    debian/patches/mmse-note.patch: Resync w/ upstream

commit e8e7c6ce1e8267bbf6c65ce5910140ccc5a8993a
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:45:39 2023 -0600

    debian/patches/load-desc-failure.patch: Resync

    ...with upstream.

commit b7dc5d92ac984184ab30aef76e5d21752a044fe9
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:40:55 2023 -0600

    debian/patches/papersize-config.patch: Resync

    ...with upstream.

commit bb6d8e31ae4f60afd1ede232618dbff17e64ac87
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:35:20 2023 -0600

    debian/patches/extratmacdirs.patch: Resync

    ...with upstream.

commit c2714677d1d1bbb46a311bfa41676cfa48b3e210
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:33:00 2023 -0600

    debian/patches/doc-gzipped.patch: Resync

    ...with upstream.

commit 43d0f4ebe864f61cb296e4f9c7450b6bd98405b5
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:25:21 2023 -0600

    debian/patches/doc-gfdl.patch: Resync w/ upstream

    ditroff(7) is no more.

commit 54f193419e1a967093b4b034a1cab645e0301b00
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:17:10 2023 -0600

    debian/patches/nroff-ifs.patch: Resync w/ upstream

commit c0addd1c828607c0e99cbc50fb150c25005d803e
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:05:40 2023 -0600

    Update build dependencies

    Add m4; drop bison, texinfo (closes: #1011666).

How do we move forward with this?  I am anxious about the closing of the
soft freeze window.

Regards,
Branden
commit 3cff7c6967e89d187efb160ce7d2a09af5ea82aa
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:53:06 2023 -0600

    debian/changelog: Add upstream bug closers.

diff --git a/debian/changelog b/debian/changelog
index de4978e6..5bb681ca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,34 @@
 groff (1.23.0~rc3-1) experimental; urgency=medium
 
   [ G. Branden Robinson ]
+  * New upstream release candidate.
+    + Composite glyph support is improved (closes: #782903).
+    + gxditview uses correct glyphs for \[oq] and \[cq] (closes: #243238).
+    + grotty documents pager requirements more prominently (closes: #257413).
+    + troff no longer loops infinitely when rendering man pages to extremely
+      narrow terminals (closes: #411227).
+    + grops and grodvi no longer crash on invalid input (closes: #421437).
+    + Programs (notably tbl) no longer split diagnostic messages across
+      multiple lines, making lintian reports useless (closes: #710178).
+    + Internal library libbib (used by lookbib and others) now validates input
+      to avoid heap overread (closes: #716109).
+    + Documentation of `ft` request is no longer mangled (closes: #1021961).
+    + mdoc(7) subsection headings are now consistently indented even if they
+      break (closes: #1022179).
+    + groff(7) documents the correct special character escape sequence for the
+      acute accent (closes: #551111).
+    + man(7) documents are no longer missing a blank line after tbl(1) tables.
+      Also see upstream NEWS file (closes: #854347).
+    + roff(7) is no longer an advertisement for Emacs (closes: #248529).
+    + Eliminate excess space when using mdoc(7) Pq, Po, Pc and Bq, Bo, Bc
+      macros and formatting for typesetters, and align output with behavior of
+      `Pq` and `Bq` as documented in groff_mdoc(7) (closes: #1021795).
+    + man(7) documents in Japanese no longer cause the formatter to loop
+      infinitely (closes: #892423).
+    + gropdf(1) now understands "com10" paper size (closes: #1009248).
+    + mdoc(7) no longer places page numbers inconsistently (closes: #919890).
+    + mdoc(7) now refers to AT&T Unix/32V correctly (closes: #991633).
+
   * debian/control: Add build-dependency on m4.  Drop build-deps on bison and
     texinfo (closes: #1011666).
   * debian/patches/nroff-ifs.patch:

commit 1fd80f4151713e9f1d3cb52a4b749fa643776908
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:29:27 2023 -0600

    debian/groff{,-base}.install: Add new files
    
    ...provided upstream (en.tmac, hyphen.it, it.tmac, groff_font.5,
    groff_out.5, groff_tmac.5, groff_man_style.7, groff_rfc1345.7,
    FontMap-X11, ptx.tmac, rfc1345.tmac, sanitize.tmac, sboxes.tmac; see
    upstream NEWS).

diff --git a/debian/changelog b/debian/changelog
index 21d5e1df..de4978e6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -60,6 +60,11 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/groff{,-base}.install: Drop files that are no longer produced
     upstream (see upstream NEWS).
 
+  * debian/groff{,-base}.install: Add new files provided upstream (en.tmac,
+    hyphen.it, it.tmac, groff_font.5, groff_out.5, groff_tmac.5,
+    groff_man_style.7, groff_rfc1345.7, FontMap-X11, ptx.tmac, rfc1345.tmac,
+    sanitize.tmac, sboxes.tmac; see upstream NEWS).
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/groff-base.install b/debian/groff-base.install
index c0914ebc..947cbd6a 100644
--- a/debian/groff-base.install
+++ b/debian/groff-base.install
@@ -38,6 +38,7 @@ usr/share/groff/${env:UPSTREAM_VERSION}/tmac/den.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/devtag.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/doc.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/doc-old.tmac
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/en.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/eqnrc
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/europs.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/fallbacks.tmac
@@ -46,10 +47,12 @@ usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.cs
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.den
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.det
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.fr
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.it
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.sv
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.en
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphenex.cs
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphenex.en
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/it.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/ja.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/latin1.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/latin2.tmac
diff --git a/debian/groff.install b/debian/groff.install
index b569a139..e8d4f930 100644
--- a/debian/groff.install
+++ b/debian/groff.install
@@ -58,20 +58,26 @@ usr/share/man/man1/pic2graph.1
 usr/share/man/man1/refer.1
 usr/share/man/man1/tfmtodit.1
 usr/share/man/man1/xtotroff.1
+usr/share/man/man5/groff_font.5
+usr/share/man/man5/groff_out.5
+usr/share/man/man5/groff_tmac.5
 usr/share/man/man7/groff.7
 usr/share/man/man7/groff_char.7
 usr/share/man/man7/groff_diff.7
 usr/share/man/man7/groff_hdtbl.7
 usr/share/man/man7/groff_man.7
+usr/share/man/man7/groff_man_style.7
 usr/share/man/man7/groff_mdoc.7
 usr/share/man/man7/groff_me.7
 usr/share/man/man7/groff_mm.7
 usr/share/man/man7/groff_mom.7
 usr/share/man/man7/groff_ms.7
+usr/share/man/man7/groff_rfc1345.7
 usr/share/man/man7/groff_trace.7
 usr/share/man/man7/groff_www.7
 usr/share/man/man7/roff.7
 usr/share/groff/${env:UPSTREAM_VERSION}/pic
+usr/share/groff/${env:UPSTREAM_VERSION}/font/FontMap-X11
 usr/share/groff/${env:UPSTREAM_VERSION}/font/devX*
 usr/share/groff/${env:UPSTREAM_VERSION}/font/devcp1047
 usr/share/groff/${env:UPSTREAM_VERSION}/font/devdvi
@@ -103,10 +109,14 @@ usr/share/groff/${env:UPSTREAM_VERSION}/tmac/mse.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/om.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/pdf.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/pdfmark.tmac
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/ptx.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/refer.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/refer-me.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/refer-mm.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/refer-ms.tmac
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/rfc1345.tmac
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/sanitize.tmac
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/sboxes.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/s.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/spdf.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/trace.tmac

commit 56bf101afd21b9516775f58511e51d85dde06ef1
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 22:09:23 2023 -0600

    debian/groff{,-base}.install: Drop files
    
    ...that are no longer produced upstream (see upstream NEWS).

diff --git a/debian/changelog b/debian/changelog
index 2425c9c7..21d5e1df 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -57,6 +57,9 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/rules (confflags): Migrate to "--with-appdefdir" from
     "--with-appresdir" per upstream NEWS.
 
+  * debian/groff{,-base}.install: Drop files that are no longer produced
+    upstream (see upstream NEWS).
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/groff-base.install b/debian/groff-base.install
index 607358d0..c0914ebc 100644
--- a/debian/groff-base.install
+++ b/debian/groff-base.install
@@ -10,7 +10,6 @@ usr/bin/preconv
 usr/bin/soelim
 usr/bin/tbl
 usr/bin/troff
-usr/lib/groff/grog/subs.pl
 usr/share/man/man1/eqn.1
 usr/share/man/man1/groff.1
 usr/share/man/man1/grog.1
@@ -29,7 +28,6 @@ usr/share/groff/${env:UPSTREAM_VERSION}/font/devlatin1
 usr/share/groff/${env:UPSTREAM_VERSION}/font/devps
 usr/share/groff/${env:UPSTREAM_VERSION}/font/devutf8
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/an-ext.tmac
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/an-old.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/an.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/andoc.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/composite.tmac
@@ -49,9 +47,9 @@ usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.den
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.det
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.fr
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.sv
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.us
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphen.en
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphenex.cs
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphenex.us
+usr/share/groff/${env:UPSTREAM_VERSION}/tmac/hyphenex.en
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/ja.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/latin1.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/latin2.tmac
@@ -68,14 +66,12 @@ usr/share/groff/${env:UPSTREAM_VERSION}/tmac/ps.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/psatk.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/psold.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/pspic.tmac
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/safer.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/sv.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/trans.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/troffrc
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/troffrc-end
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/tty-char.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/tty.tmac
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/unicode.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/www.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/zh.tmac
 usr/share/groff/current
diff --git a/debian/groff.install b/debian/groff.install
index bd8b2fbd..b569a139 100644
--- a/debian/groff.install
+++ b/debian/groff.install
@@ -10,7 +10,6 @@ usr/bin/gpinyin
 usr/bin/grap2graph
 usr/bin/grn
 usr/bin/grodvi
-usr/bin/groffer
 usr/bin/grolbp
 usr/bin/grolj4
 usr/bin/gropdf
@@ -27,19 +26,8 @@ usr/bin/pic2graph
 usr/bin/post-grohtml
 usr/bin/pre-grohtml
 usr/bin/refer
-usr/bin/roff2dvi
-usr/bin/roff2html
-usr/bin/roff2pdf
-usr/bin/roff2ps
-usr/bin/roff2text
-usr/bin/roff2x
 usr/bin/tfmtodit
 usr/bin/xtotroff
-usr/lib/groff/glilypond
-usr/lib/groff/gpinyin
-usr/lib/groff/groff_opts_no_arg.txt
-usr/lib/groff/groff_opts_with_arg.txt
-usr/lib/groff/groffer
 usr/share/doc
 usr/share/info
 usr/share/man/man1/addftinfo.1
@@ -53,7 +41,6 @@ usr/share/man/man1/gpinyin.1
 usr/share/man/man1/grap2graph.1
 usr/share/man/man1/grn.1
 usr/share/man/man1/grodvi.1
-usr/share/man/man1/groffer.1
 usr/share/man/man1/grohtml.1
 usr/share/man/man1/grolbp.1
 usr/share/man/man1/grolj4.1
@@ -69,17 +56,8 @@ usr/share/man/man1/pdfroff.1
 usr/share/man/man1/pfbtops.1
 usr/share/man/man1/pic2graph.1
 usr/share/man/man1/refer.1
-usr/share/man/man1/roff2dvi.1
-usr/share/man/man1/roff2html.1
-usr/share/man/man1/roff2pdf.1
-usr/share/man/man1/roff2ps.1
-usr/share/man/man1/roff2text.1
-usr/share/man/man1/roff2x.1
 usr/share/man/man1/tfmtodit.1
 usr/share/man/man1/xtotroff.1
-usr/share/man/man5
-usr/share/man/man5/groff_filenames.5
-usr/share/man/man7/ditroff.7
 usr/share/man/man7/groff.7
 usr/share/man/man7/groff_char.7
 usr/share/man/man7/groff_diff.7
@@ -105,7 +83,6 @@ usr/share/groff/${env:UPSTREAM_VERSION}/oldfont
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/62bit.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/X.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/Xps.tmac
-usr/share/groff/${env:UPSTREAM_VERSION}/tmac/a4.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/dvi.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/e.tmac
 usr/share/groff/${env:UPSTREAM_VERSION}/tmac/ec.tmac

commit 9e99a662a4512e1f6656da2b9408f0f411abd311
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:53:50 2023 -0600

    debian/rules (confflags): Migrate option name.
    
    ...to "--with-appdefdir" from "--with-appresdir" per upstream NEWS.

diff --git a/debian/changelog b/debian/changelog
index 65142459..2425c9c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -54,6 +54,9 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
     these targets have disappeared upstream.
   * debian/groff.docs: Remove; it contained only the foregoing three files.
 
+  * debian/rules (confflags): Migrate to "--with-appdefdir" from
+    "--with-appresdir" per upstream NEWS.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/rules b/debian/rules
index 1065829d..5b4a8baf 100755
--- a/debian/rules
+++ b/debian/rules
@@ -41,7 +41,7 @@ gtmp  = debian/groff
 include /usr/share/dpkg/architecture.mk
 
 confflags = \
-	--libdir=\$${prefix}/lib --with-appresdir=/etc/X11/app-defaults \
+	--libdir=\$${prefix}/lib --with-appdefdir=/etc/X11/app-defaults \
 	BASH_PROG=/bin/bash GREP=/bin/grep
 
 override_dh_autoreconf:

commit 21ca0ea6c2162a95faf850b7f9c208b4d6d05374
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:47:03 2023 -0600

    Drop {meintro,meref,pic}.txt.

diff --git a/debian/changelog b/debian/changelog
index 5d7c4b1b..65142459 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -50,6 +50,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/clamp-negative-tab-stop-positions.patch: Drop; applied
     upstream in commit 6692653f7cae4116d4e70318f71b3d0808f2261f, 2021-09-11.
 
+  * debian/rules: Stop calling rules to generate {meintro,meref,pic}.txt since
+    these targets have disappeared upstream.
+  * debian/groff.docs: Remove; it contained only the foregoing three files.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/groff.docs b/debian/groff.docs
deleted file mode 100644
index 9782eb04..00000000
--- a/debian/groff.docs
+++ /dev/null
@@ -1,3 +0,0 @@
-debian/build/doc/meintro.txt
-debian/build/doc/meref.txt
-debian/build/doc/pic.txt
diff --git a/debian/rules b/debian/rules
index a8f0c0ee..1065829d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -80,8 +80,6 @@ endif
 	GROFF_NO_SGR=1 dh_auto_build --builddirectory=debian/build -- \
 		extratmacdirs=/usr/share/groff/tmac \
 		docdir=\$${prefix}/share/doc/groff-base $(cross)
-	GROFF_NO_SGR=1 $(MAKE) -C debian/build $(cross) \
-		doc/meintro.txt doc/meref.txt doc/pic.txt
 
 override_dh_auto_install:
 	dh_auto_install -- \

commit 58720f040d16da8bc868eca5466c91ee1a343889
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:17:45 2023 -0600

    debian/patches/clamp-negative-tab-stop*: Drop
    
    Applied upstream in commit 6692653f7cae4116d4e70318f71b3d0808f2261f,
    2021-09-11.

diff --git a/debian/changelog b/debian/changelog
index d72f04f5..5d7c4b1b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -46,6 +46,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/destructor-segv.patch: Drop; applied upstream in commit
     c788cf8c6bbe939fa11f7ec032e525a7e33f41b6, 2020-09-29.
 
+  * debian/patches/series:
+  * debian/patches/clamp-negative-tab-stop-positions.patch: Drop; applied
+    upstream in commit 6692653f7cae4116d4e70318f71b3d0808f2261f, 2021-09-11.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/clamp-negative-tab-stop-positions.patch b/debian/patches/clamp-negative-tab-stop-positions.patch
deleted file mode 100644
index 433e33bb..00000000
--- a/debian/patches/clamp-negative-tab-stop-positions.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 0c048e31d8ca2f23d799dc97789a6591e05c8a5b Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robin...@gmail.com>
-Date: Sat, 11 Sep 2021 07:02:07 +1000
-Subject: [troff]: Clamp negative tab stop positions to 0.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-...instead of throwing an assertion failure.
-
-* src/roff/troff/env.cpp (tab_stops::distance_to_next_tab): Replace
-  `assert` with clamping logic, ensuring that `lastpos` can never be
-  negative.  While negative tab stop positions don't make much sense
-  (they result in zero horizontal motion), user input like `.ta T -5`
-  should never provoke an assertion failure.
-
-  (set_tabs): Throw range warning in additional scenario, viz., if a
-  repeating tab offset is negative.
-
-Fixes <https://bugs.debian.org/990406>.  Thanks to наб for the report.
-
-Also wrap nearby long source lines.
-
-Origin: backport, https://git.savannah.gnu.org/cgit/groff.git/commit/?id=6692653f7cae4116d4e70318f71b3d0808f2261f
-Bug-Debian: https://bugs.debian.org/990406
-Last-Update: 2021-12-26
-
-Patch-Name: clamp-negative-tab-stop-positions.patch
----
- src/roff/troff/env.cpp | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
-index c11d2dfc..a5c57e8b 100644
---- a/src/roff/troff/env.cpp
-+++ b/src/roff/troff/env.cpp
-@@ -2595,7 +2595,8 @@ tab_type tab_stops::distance_to_next_tab(hunits curpos, hunits *distance)
-   return distance_to_next_tab(curpos, distance, &nextpos);
- }
- 
--tab_type tab_stops::distance_to_next_tab(hunits curpos, hunits *distance,
-+tab_type tab_stops::distance_to_next_tab(hunits curpos,
-+					 hunits *distance,
- 					 hunits *nextpos)
- {
-   hunits lastpos = 0;
-@@ -2611,14 +2612,16 @@ tab_type tab_stops::distance_to_next_tab(hunits curpos, hunits *distance,
-     return TAB_NONE;
-   hunits base = lastpos;
-   for (;;) {
--    for (tem = repeated_list; tem && tem->pos + base <= curpos; tem = tem->next)
-+    for (tem = repeated_list; tem && tem->pos + base <= curpos;
-+	 tem = tem->next)
-       lastpos = tem->pos;
-     if (tem) {
-       *distance = tem->pos + base - curpos;
-       *nextpos  = tem->pos + base;
-       return tem->type;
-     }
--    assert(lastpos > 0);
-+    if (lastpos < 0)
-+      lastpos = 0;
-     base += lastpos;
-   }
-   return TAB_NONE;
-@@ -2780,7 +2783,7 @@ void set_tabs()
-     else if (tok.ch() == 'L') {
-       tok.next();
-     }
--    if (pos <= prev_pos && !first)
-+    if (pos <= prev_pos && (!first || repeated))
-       warning(WARN_RANGE,
- 	      "positions of tab stops must be strictly increasing");
-     else {
diff --git a/debian/patches/series b/debian/patches/series
index e7525360..275bf824 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,4 +8,3 @@ load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
 document-sgr.patch
-clamp-negative-tab-stop-positions.patch

commit 01d76131b10c44f05ba7378a6193a5ce74f10fb9
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:14:29 2023 -0600

    debian/patches/destructor-segv.patch: Drop
    
    Applied upstream in commit c788cf8c6bbe939fa11f7ec032e525a7e33f41b6,
    2020-09-29.

diff --git a/debian/changelog b/debian/changelog
index d72686ae..d72f04f5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -42,6 +42,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/bsd-updates.patch: Drop; applied upstream in commit
     5a8af7104f1c581bcfbad12b56033ad403b0afe1, 2019-12-21.
 
+  * debian/patches/series:
+  * debian/patches/destructor-segv.patch: Drop; applied upstream in commit
+    c788cf8c6bbe939fa11f7ec032e525a7e33f41b6, 2020-09-29.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/destructor-segv.patch b/debian/patches/destructor-segv.patch
deleted file mode 100644
index a728d07b..00000000
--- a/debian/patches/destructor-segv.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 912a8bf478e81282b8d965e577ef516e5b758151 Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robin...@gmail.com>
-Date: Tue, 29 Sep 2020 07:02:25 +1000
-Subject: Fix SEGV arising from recursing destructor.
-
-* src/roff/troff/node.h (output_file): Add class member `is_dying` to
-  track whether destructor has already been entered; initialize false.
-
-* src/roff/troff/node.cpp (real_output_file::~real_output_file): Set
-  `is_dying` true when destructor entered.
-
-* src/roff/troff/div.cpp (cleanup_and_exit): Only delete
-  `the_output` object if it is not already being destroyed.
-
-Thanks to "hackerb9" for reporting the problem.  Problem appears to date
-back to groff 1.02 (June 1991) or earlier.
-
-Fixes <https://savannah.gnu.org/bugs/index.php?59202>.
-
-Origin: backport, https://git.savannah.gnu.org/cgit/groff.git/commit/?id=c788cf8c6bbe939fa11f7ec032e525a7e33f41b6
-Bug: https://savannah.gnu.org/bugs/index.php?59202
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1942974
-Last-Update: 2021-09-09
-
-Patch-Name: destructor-segv.patch
----
- src/roff/troff/div.cpp  | 5 ++++-
- src/roff/troff/node.cpp | 2 ++
- src/roff/troff/node.h   | 1 +
- 3 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/roff/troff/div.cpp b/src/roff/troff/div.cpp
-index 66382a85..91b01c9e 100644
---- a/src/roff/troff/div.cpp
-+++ b/src/roff/troff/div.cpp
-@@ -559,7 +559,10 @@ void cleanup_and_exit(int exit_code)
- {
-   if (the_output) {
-     the_output->trailer(topdiv->get_page_length());
--    delete the_output;
-+    // If we're already dying, don't call the_output's destructor.  See
-+    // node.cpp:real_output_file::~real_output_file().
-+    if (!the_output->is_dying)
-+      delete the_output;
-   }
-   FLUSH_INPUT_PIPE(STDIN_FILENO);
-   exit(exit_code);
-diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
-index 27311b1c..464a0ab7 100644
---- a/src/roff/troff/node.cpp
-+++ b/src/roff/troff/node.cpp
-@@ -1656,6 +1656,8 @@ real_output_file::~real_output_file()
- {
-   if (!fp)
-     return;
-+  // Prevent destructor from recursing; see div.cpp:cleanup_and_exit().
-+  is_dying = true;
-   // To avoid looping, set fp to 0 before calling fatal().
-   if (ferror(fp) || fflush(fp) < 0) {
-     fp = 0;
-diff --git a/src/roff/troff/node.h b/src/roff/troff/node.h
-index 15b654de..e1c1960f 100644
---- a/src/roff/troff/node.h
-+++ b/src/roff/troff/node.h
-@@ -626,6 +626,7 @@ class output_file {
-   char make_g_plus_plus_shut_up;
- public:
-   output_file();
-+  bool is_dying = false;
-   virtual ~output_file();
-   virtual void trailer(vunits);
-   virtual void flush() = 0;
diff --git a/debian/patches/series b/debian/patches/series
index fcdd39e8..e7525360 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,5 +8,4 @@ load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
 document-sgr.patch
-destructor-segv.patch
 clamp-negative-tab-stop-positions.patch

commit 0323958c2ea85b86d24e07907e5718584fe5e746
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:11:54 2023 -0600

    debian/patches/document-sgr.patch: Resync
    
    ...with upstream.

diff --git a/debian/changelog b/debian/changelog
index fa5dc7b3..d72686ae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,7 +9,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/extratmacdirs.patch:
   * debian/patches/papersize-config.patch:
   * debian/patches/load-desc-failure.patch:
-  * debian/patches/mmse-note.patch: Resync with upstream.
+  * debian/patches/mmse-note.patch:
+  * debian/patches/document-sgr.patch: Resync with upstream.
 
   * debian/patches/series: Comment out display-utc-times.patch.  Quoting NEWS:
     "The semantics of the environment variable SOURCE_DATE_EPOCH to groff,
diff --git a/debian/patches/document-sgr.patch b/debian/patches/document-sgr.patch
index ae0ee901..40494fd4 100644
--- a/debian/patches/document-sgr.patch
+++ b/debian/patches/document-sgr.patch
@@ -5,21 +5,21 @@ Subject: Document Debian-specific man/mdoc SGR defaults
 
 Bug-Debian: https://bugs.debian.org/963490
 Forwarded: not-needed
-Last-Update: 2020-06-25
+Last-Update: 2023-02-25
 
 Patch-Name: document-sgr.patch
 ---
  src/devices/grotty/grotty.1.man | 28 ++++++++++++++++++++++++++++
  1 file changed, 28 insertions(+)
 
-diff --git a/src/devices/grotty/grotty.1.man b/src/devices/grotty/grotty.1.man
-index 1d9b5f8c..2a3b462b 100644
---- a/src/devices/grotty/grotty.1.man
-+++ b/src/devices/grotty/grotty.1.man
-@@ -124,6 +124,22 @@ environment variable or using the \[oq]sgr\[cq] X command (see below).
+Index: groff/src/devices/grotty/grotty.1.man
+===================================================================
+--- groff.orig/src/devices/grotty/grotty.1.man
++++ groff/src/devices/grotty/grotty.1.man
+@@ -169,6 +169,22 @@ OSC\~8 hyperlinks are produced for these
  .
  .
- .LP
+ .P
 +(Debian-specific: The old behaviour is the default when using the
 +.B man
 +and
@@ -35,14 +35,15 @@ index 1d9b5f8c..2a3b462b 100644
 +environment variable to something non-empty.)
 +.
 +.
-+.LP
- For SGR support, it is necessary to use the
- .B \-R
- option of
-@@ -266,6 +282,18 @@ Use
- .BR grotty 's
- old output format (see above).
- This also disables color output.
++.P
+ In keeping with long-standing practice and the rarity of terminals
+ (and emulators)
+ that support oblique or italic fonts,
+@@ -429,6 +445,21 @@ legacy output format
+ SGR and OSC escape sequences are not emitted.
+ .
+ .
++.IP
 +(Debian-specific: This option is enabled by default when using the
 +.B man
 +and
@@ -55,6 +56,8 @@ index 1d9b5f8c..2a3b462b 100644
 +or temporarily by setting the
 +.I GROFF_SGR
 +environment variable to something non-empty.)
- .
++.
++.
  .TP
  .B \-d
+ Ignore all

commit 34942d9ebdb365be2765d1cf05850f7a8a6b78ad
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:07:36 2023 -0600

    debian/patches/bsd-updates.patch: Drop
    
    Applied upstream in commit 5a8af7104f1c581bcfbad12b56033ad403b0afe1,
    2019-12-21.

diff --git a/debian/changelog b/debian/changelog
index a73bc1f7..fa5dc7b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -37,6 +37,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/mdoc-Lk-arguments.patch: Drop; applied upstream in commit
     76e4db6e839904d2e2a28b29b483678214598f3b, 2019-01-12.
 
+  * debian/patches/series:
+  * debian/patches/bsd-updates.patch: Drop; applied upstream in commit
+    5a8af7104f1c581bcfbad12b56033ad403b0afe1, 2019-12-21.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/bsd-updates.patch b/debian/patches/bsd-updates.patch
deleted file mode 100644
index 6eaedfa3..00000000
--- a/debian/patches/bsd-updates.patch
+++ /dev/null
@@ -1,255 +0,0 @@
-From a46726f43123659a2c3ace01d52bf9a53b6aaa76 Mon Sep 17 00:00:00 2001
-From: Ingo Schwarze <schwa...@openbsd.org>
-Date: Sat, 21 Dec 2019 14:39:17 +0100
-Subject: Update NetBSD, OpenBSD, FreeBSD, Darwin, and DragonFly version
- strings.
-
-* tmac/doc-common-u: Update.
-* tmac/groff_mdoc.7.man: Synchronize.
-
-Based on a patch from Guillem Jover <guil...@debian.org>
-via Colin Watson <cjwat...@debian.org>, tweaked by me.
-Fixes: https://bugs.debian.org/867123
-
-Origin: upstream, https://git.savannah.gnu.org/cgit/groff.git/commit/?id=5a8af7104f1c581bcfbad12b56033ad403b0afe1
-Bug-Debian: https://bugs.debian.org/867123
-Last-Update: 2019-12-23
-
-Patch-Name: bsd-updates.patch
----
- tmac/doc-common-u     | 122 ++++++++++++++++++++++++++++++++++++++++++
- tmac/groff_mdoc.7.man |  38 ++++++++-----
- 2 files changed, 147 insertions(+), 13 deletions(-)
-
-diff --git a/tmac/doc-common-u b/tmac/doc-common-u
-index 0d2e418d..648926c6 100644
---- a/tmac/doc-common-u
-+++ b/tmac/doc-common-u
-@@ -499,11 +499,22 @@
- .ds doc-operating-system-NetBSD-6.0.3 6.0.3
- .ds doc-operating-system-NetBSD-6.0.4 6.0.4
- .ds doc-operating-system-NetBSD-6.0.5 6.0.5
-+.ds doc-operating-system-NetBSD-6.0.6 6.0.6
- .ds doc-operating-system-NetBSD-6.1   6.1
- .ds doc-operating-system-NetBSD-6.1.1 6.1.1
- .ds doc-operating-system-NetBSD-6.1.2 6.1.2
- .ds doc-operating-system-NetBSD-6.1.3 6.1.3
- .ds doc-operating-system-NetBSD-6.1.4 6.1.4
-+.ds doc-operating-system-NetBSD-6.1.5 6.1.5
-+.ds doc-operating-system-NetBSD-7.0   7.0
-+.ds doc-operating-system-NetBSD-7.0.1 7.0.1
-+.ds doc-operating-system-NetBSD-7.0.2 7.0.2
-+.ds doc-operating-system-NetBSD-7.1   7.1
-+.ds doc-operating-system-NetBSD-7.1.1 7.1.1
-+.ds doc-operating-system-NetBSD-7.1.2 7.1.2
-+.ds doc-operating-system-NetBSD-7.2   7.2
-+.ds doc-operating-system-NetBSD-8.0   8.0
-+.ds doc-operating-system-NetBSD-8.1   8.1
- .
- .ds doc-operating-system-OpenBSD-2.0  2.0
- .ds doc-operating-system-OpenBSD-2.1  2.1
-@@ -542,6 +553,16 @@
- .ds doc-operating-system-OpenBSD-5.4  5.4
- .ds doc-operating-system-OpenBSD-5.5  5.5
- .ds doc-operating-system-OpenBSD-5.6  5.6
-+.ds doc-operating-system-OpenBSD-5.7  5.7
-+.ds doc-operating-system-OpenBSD-5.8  5.8
-+.ds doc-operating-system-OpenBSD-5.9  5.9
-+.ds doc-operating-system-OpenBSD-6.0  6.0
-+.ds doc-operating-system-OpenBSD-6.1  6.1
-+.ds doc-operating-system-OpenBSD-6.2  6.2
-+.ds doc-operating-system-OpenBSD-6.3  6.3
-+.ds doc-operating-system-OpenBSD-6.4  6.4
-+.ds doc-operating-system-OpenBSD-6.5  6.5
-+.ds doc-operating-system-OpenBSD-6.6  6.6
- .
- .ds doc-operating-system-FreeBSD-1.0     1.0
- .ds doc-operating-system-FreeBSD-1.1     1.1
-@@ -608,6 +629,16 @@
- .ds doc-operating-system-FreeBSD-9.2     9.2
- .ds doc-operating-system-FreeBSD-9.3     9.3
- .ds doc-operating-system-FreeBSD-10.0    10.0
-+.ds doc-operating-system-FreeBSD-10.1    10.1
-+.ds doc-operating-system-FreeBSD-10.2    10.2
-+.ds doc-operating-system-FreeBSD-10.3    10.3
-+.ds doc-operating-system-FreeBSD-10.4    10.4
-+.ds doc-operating-system-FreeBSD-11.0    11.0
-+.ds doc-operating-system-FreeBSD-11.1    11.1
-+.ds doc-operating-system-FreeBSD-11.2    11.2
-+.ds doc-operating-system-FreeBSD-11.3    11.3
-+.ds doc-operating-system-FreeBSD-12.0    12.0
-+.ds doc-operating-system-FreeBSD-12.1    12.1
- .
- .ds doc-operating-system-Darwin-8.0.0  8.0.0
- .ds doc-operating-system-Darwin-8.1.0  8.1.0
-@@ -654,6 +685,44 @@
- .ds doc-operating-system-Darwin-13.3.0 13.3.0
- .ds doc-operating-system-Darwin-13.4.0 13.4.0
- .ds doc-operating-system-Darwin-14.0.0 14.0.0
-+.ds doc-operating-system-Darwin-14.1.0 14.1.0
-+.ds doc-operating-system-Darwin-14.2.0 14.2.0
-+.ds doc-operating-system-Darwin-14.3.0 14.3.0
-+.ds doc-operating-system-Darwin-14.4.0 14.4.0
-+.ds doc-operating-system-Darwin-14.5.0 14.5.0
-+.ds doc-operating-system-Darwin-15.0.0 15.0.0
-+.ds doc-operating-system-Darwin-15.1.0 15.1.0
-+.ds doc-operating-system-Darwin-15.2.0 15.2.0
-+.ds doc-operating-system-Darwin-15.3.0 15.3.0
-+.ds doc-operating-system-Darwin-15.4.0 15.4.0
-+.ds doc-operating-system-Darwin-15.5.0 15.5.0
-+.ds doc-operating-system-Darwin-15.6.0 15.6.0
-+.ds doc-operating-system-Darwin-16.0.0 16.0.0
-+.ds doc-operating-system-Darwin-16.1.0 16.1.0
-+.ds doc-operating-system-Darwin-16.2.0 16.2.0
-+.ds doc-operating-system-Darwin-16.3.0 16.3.0
-+.ds doc-operating-system-Darwin-16.4.0 16.4.0
-+.ds doc-operating-system-Darwin-16.5.0 16.5.0
-+.ds doc-operating-system-Darwin-16.6.0 16.6.0
-+.ds doc-operating-system-Darwin-17.0.0 17.0.0
-+.ds doc-operating-system-Darwin-17.1.0 17.1.0
-+.ds doc-operating-system-Darwin-17.2.0 17.2.0
-+.ds doc-operating-system-Darwin-17.3.0 17.3.0
-+.ds doc-operating-system-Darwin-17.4.0 17.4.0
-+.ds doc-operating-system-Darwin-17.5.0 17.5.0
-+.ds doc-operating-system-Darwin-17.6.0 17.6.0
-+.ds doc-operating-system-Darwin-17.7.0 17.7.0
-+.ds doc-operating-system-Darwin-18.0.0 18.0.0
-+.ds doc-operating-system-Darwin-18.1.0 18.1.0
-+.ds doc-operating-system-Darwin-18.2.0 18.2.0
-+.ds doc-operating-system-Darwin-18.3.0 18.3.0
-+.ds doc-operating-system-Darwin-18.4.0 18.4.0
-+.ds doc-operating-system-Darwin-18.5.0 18.5.0
-+.ds doc-operating-system-Darwin-18.6.0 18.6.0
-+.ds doc-operating-system-Darwin-18.7.0 18.7.0
-+.ds doc-operating-system-Darwin-19.0.0 19.0.0
-+.ds doc-operating-system-Darwin-19.1.0 19.1.0
-+.ds doc-operating-system-Darwin-19.2.0 19.2.0
- .
- .ds doc-operating-system-DragonFly-1.0    1.0
- .ds doc-operating-system-DragonFly-1.1    1.1
-@@ -688,14 +757,67 @@
- .ds doc-operating-system-DragonFly-2.12   2.12
- .ds doc-operating-system-DragonFly-2.13   2.13
- .ds doc-operating-system-DragonFly-3.0    3.0
-+.ds doc-operating-system-DragonFly-3.0.1  3.0.1
-+.ds doc-operating-system-DragonFly-3.0.2  3.0.2
- .ds doc-operating-system-DragonFly-3.1    3.1
- .ds doc-operating-system-DragonFly-3.2    3.2
-+.ds doc-operating-system-DragonFly-3.2.1  3.2.1
-+.ds doc-operating-system-DragonFly-3.2.2  3.2.2
- .ds doc-operating-system-DragonFly-3.3    3.3
- .ds doc-operating-system-DragonFly-3.4    3.4
-+.ds doc-operating-system-DragonFly-3.4.1  3.4.1
-+.ds doc-operating-system-DragonFly-3.4.2  3.4.2
-+.ds doc-operating-system-DragonFly-3.4.3  3.4.3
- .ds doc-operating-system-DragonFly-3.5    3.5
- .ds doc-operating-system-DragonFly-3.6    3.6
-+.ds doc-operating-system-DragonFly-3.6.1  3.6.1
-+.ds doc-operating-system-DragonFly-3.6.2  3.6.2
- .ds doc-operating-system-DragonFly-3.7    3.7
- .ds doc-operating-system-DragonFly-3.8    3.8
-+.ds doc-operating-system-DragonFly-3.8.1  3.8.1
-+.ds doc-operating-system-DragonFly-3.8.2  3.8.2
-+.ds doc-operating-system-DragonFly-4.0    4.0
-+.ds doc-operating-system-DragonFly-4.0.1  4.0.1
-+.ds doc-operating-system-DragonFly-4.0.2  4.0.2
-+.ds doc-operating-system-DragonFly-4.0.3  4.0.3
-+.ds doc-operating-system-DragonFly-4.0.4  4.0.4
-+.ds doc-operating-system-DragonFly-4.0.5  4.0.5
-+.ds doc-operating-system-DragonFly-4.0.6  4.0.6
-+.ds doc-operating-system-DragonFly-4.1    4.1
-+.ds doc-operating-system-DragonFly-4.2    4.2
-+.ds doc-operating-system-DragonFly-4.2.1  4.2.1
-+.ds doc-operating-system-DragonFly-4.2.2  4.2.2
-+.ds doc-operating-system-DragonFly-4.2.3  4.2.3
-+.ds doc-operating-system-DragonFly-4.2.4  4.2.4
-+.ds doc-operating-system-DragonFly-4.3    4.3
-+.ds doc-operating-system-DragonFly-4.4    4.4
-+.ds doc-operating-system-DragonFly-4.4.1  4.4.1
-+.ds doc-operating-system-DragonFly-4.4.2  4.4.2
-+.ds doc-operating-system-DragonFly-4.4.3  4.4.3
-+.ds doc-operating-system-DragonFly-4.5    4.5
-+.ds doc-operating-system-DragonFly-4.6    4.6
-+.ds doc-operating-system-DragonFly-4.6.1  4.6.1
-+.ds doc-operating-system-DragonFly-4.6.2  4.6.2
-+.ds doc-operating-system-DragonFly-4.7    4.7
-+.ds doc-operating-system-DragonFly-4.8    4.8
-+.ds doc-operating-system-DragonFly-4.8.1  4.8.1
-+.ds doc-operating-system-DragonFly-4.9    4.9
-+.ds doc-operating-system-DragonFly-5.0    5.0
-+.ds doc-operating-system-DragonFly-5.0.1  5.0.1
-+.ds doc-operating-system-DragonFly-5.0.2  5.0.2
-+.ds doc-operating-system-DragonFly-5.1    5.1
-+.ds doc-operating-system-DragonFly-5.2    5.2
-+.ds doc-operating-system-DragonFly-5.2.1  5.2.1
-+.ds doc-operating-system-DragonFly-5.2.2  5.2.2
-+.ds doc-operating-system-DragonFly-5.3    5.3
-+.ds doc-operating-system-DragonFly-5.4    5.4
-+.ds doc-operating-system-DragonFly-5.4.1  5.4.1
-+.ds doc-operating-system-DragonFly-5.4.2  5.4.2
-+.ds doc-operating-system-DragonFly-5.4.3  5.4.3
-+.ds doc-operating-system-DragonFly-5.5    5.5
-+.ds doc-operating-system-DragonFly-5.6    5.6
-+.ds doc-operating-system-DragonFly-5.6.1  5.6.1
-+.ds doc-operating-system-DragonFly-5.6.2  5.6.2
- .
- .de Os
- .  ds doc-command-name
-diff --git a/tmac/groff_mdoc.7.man b/tmac/groff_mdoc.7.man
-index 2e9824dc..05f895f9 100644
---- a/tmac/groff_mdoc.7.man
-+++ b/tmac/groff_mdoc.7.man
-@@ -879,28 +879,40 @@ the release ID.
- 1.3, 1.3a, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.6, 1.6.1,
- 1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.1, 3.0, 3.0.1, 3.0.2, 3.0.3,
- 3.1, 3.1.1, 4.0, 4.0.1, 5.0, 5.0.1, 5.0.2, 5.1, 5.1.2, 5.1.3, 5.1.4,
--5.2, 5.2.1, 5.2.2, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.1, 6.1.1,
--6.1.2, 6.1.3, 6.1.4
-+5.2, 5.2.1, 5.2.2, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.1,
-+6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.1.5, 7.0, 7.0.1, 7.0.2, 7.1, 7.1.1, 7.1.2,
-+7.2, 8.0, 8.1
- .It FreeBSD
- 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1,
--2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1,
--4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0, 5.1,
--5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1, 7.2, 7.3, 7.4,
--8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 9.2, 9.3, 10.0
-+2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0,
-+4.1, 4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0,
-+5.1, 5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1, 7.2, 7.3,
-+7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 9.2, 9.3, 10.0, 10.1, 10.2, 10.3,
-+10.4, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1
- .It OpenBSD
- 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4,
- 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
--5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6
-+5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2, 6.3, 6.4,
-+6.5, 6.6
- .It DragonFly
--1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 1.8.1, 1.9, 1.10, 1.12, 1.12.2,
--1.13, 2.0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.9.1, 2.10, 2.10.1,
--2.11, 2.12, 2.13, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8
-+1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.8.1, 1.9, 1.10, 1.11, 1.12,
-+1.12.2, 1.13, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.9.1, 2.10,
-+2.10.1, 2.11, 2.12, 2.13, 3.0, 3.0.1, 3.0.2, 3.1, 3.2, 3.2.1, 3.2.2, 3.3,
-+3.4, 3.4.1, 3.4.2, 3.4.3, 3.5, 3.6, 3.6.1, 3.6.2, 3.7, 3.8, 3.8.1, 3.8.2,
-+4.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.1, 4.2, 4.2.1, 4.2.2,
-+4.2.3, 4.2.4, 4.3, 4.4, 4.4.1, 4.4.2, 4.4.3, 4.5, 4.6, 4.6.1, 4.6.2, 4.7,
-+4.8, 4.8.1, 4.9, 5.0, 5.0.1, 5.0.2, 5.1, 5.2, 5.2.1, 5.2.2, 5.3, 5.4, 5.4.1,
-+5.4.2, 5.4.3, 5.5, 5.6, 5.6.1, 5.6.2
- .It Darwin
- 8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0, 8.8.0, 8.9.0,
- 8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.0, 9.6.0, 9.7.0,
--9.8.0, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 10.5.0, 10.6.0, 10.7.0, 10.8.0,
--11.0.0, 11.1.0, 11.2.0, 11.3.0, 11.4.0, 11.5.0, 12.0.0, 12.1.0, 12.2.0,
--13.0.0, 13.1.0, 13.2.0, 13.3.0, 13.4.0, 14.0.0
-+9.8.0, 10.0.0, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 10.5.0, 10.6.0, 10.7.0,
-+10.8.0, 11.0.0, 11.1.0, 11.2.0, 11.3.0, 11.4.0, 11.5.0, 12.0.0, 12.1.0,
-+12.2.0, 13.0.0, 13.1.0, 13.2.0, 13.3.0, 13.4.0, 14.0.0, 14.1.0, 14.2.0,
-+14.3.0, 14.4.0, 14.5.0, 15.0.0, 15.1.0, 15.2.0, 15.3.0, 15.4.0, 15.5.0,
-+15.6.0, 16.0.0, 16.1.0, 16.2.0, 16.3.0, 16.4.0, 16.5.0, 16.6.0, 17.0.0,
-+17.1.0, 17.2.0, 17.3.0, 17.4.0, 17.5.0, 17.6.0, 17.7.0, 18.0.0, 18.1.0,
-+18.2.0, 18.3.0, 18.4.0, 18.5.0, 18.6.0, 18.7.0, 19.0.0, 19.1.0, 19.2.0
- .El
- .Ed
- .Pp
diff --git a/debian/patches/series b/debian/patches/series
index f0304a5c..fcdd39e8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,7 +7,6 @@ papersize-config.patch
 load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
-bsd-updates.patch
 document-sgr.patch
 destructor-segv.patch
 clamp-negative-tab-stop-positions.patch

commit 915e5df22c31ce935de36322f1fa4db933c923e5
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:04:51 2023 -0600

    debian/patches/mdoc-Lk-arguments.patch: Drop
    
    Applied upstream in commit 76e4db6e839904d2e2a28b29b483678214598f3b,
    2019-01-12.

diff --git a/debian/changelog b/debian/changelog
index 7cd976b4..a73bc1f7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -33,6 +33,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/avoid-perl-diamond.patch: Drop; applied upstream in commit
     27472b5ae548d3dbe933713d488d676708996253, 2019-01-24.
 
+  * debian/patches/series:
+  * debian/patches/mdoc-Lk-arguments.patch: Drop; applied upstream in commit
+    76e4db6e839904d2e2a28b29b483678214598f3b, 2019-01-12.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/mdoc-Lk-arguments.patch b/debian/patches/mdoc-Lk-arguments.patch
deleted file mode 100644
index d19ff938..00000000
--- a/debian/patches/mdoc-Lk-arguments.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 77033507090e50b10e5712fb3c1ca998152746c2 Mon Sep 17 00:00:00 2001
-From: Ingo Schwarze <schwa...@openbsd.org>
-Date: Sat, 12 Jan 2019 17:33:40 +0100
-Subject: Correctly handle groff_mdoc(7) .Lk arguments starting with a dot.
-
-* tmac/doc.tmac-u: Each argument to the .Lk macro is printed
-  on its own roff input line.  If it happens to start with a dot
-  or apostroph, it was misinterpreted as a request or macro.
-  Force it to be treated as text by adding "\&" in front of it.
-
-Bug reported by Jason McIntyre <jmc at OpenBSD>.
-
-Origin: upstream, https://git.savannah.gnu.org/cgit/groff.git/commit/?id=76e4db6e839904d2e2a28b29b483678214598f3b
-Bug-Debian: https://bugs.debian.org/946868
-Last-Update: 2019-12-17
-
-Patch-Name: mdoc-Lk-arguments.patch
----
- tmac/doc.tmac-u | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/tmac/doc.tmac-u b/tmac/doc.tmac-u
-index f172fd89..70236c04 100644
---- a/tmac/doc.tmac-u
-+++ b/tmac/doc.tmac-u
-@@ -6485,10 +6485,11 @@
- .  if (\n[doc-arg-ptr] <= \n[doc-lasttext-Lk]) \{\
- .    nop \*[doc-Em-font]\c
- .    while (\n[doc-arg-ptr] < \n[doc-lasttext-Lk]) \{\
--.      nop \*[doc-arg\n[doc-arg-ptr]]
-+.      nop \&\*[doc-arg\n[doc-arg-ptr]]
- .      nr doc-arg-ptr +1
- .    \}
--.    nop \*[doc-arg\n[doc-arg-ptr]]\f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]:
-+.    nop \&\*[doc-arg\n[doc-arg-ptr]]\c
-+.    nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]:
- .    nr doc-arg-ptr +1
- .  \}
- .
-@@ -6498,7 +6499,7 @@
- .
- .  \" Print the delimiters, if any.
- .  while (\n[doc-arg-ptr] <= \n[doc-arg-limit]) \{\
--.    nop \*[doc-arg\n[doc-arg-ptr]]\c
-+.    nop \&\*[doc-arg\n[doc-arg-ptr]]\c
- .    nr doc-arg-ptr +1
- .  \}
- .  nop \&
diff --git a/debian/patches/series b/debian/patches/series
index 9e51ef65..f0304a5c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,7 +7,6 @@ papersize-config.patch
 load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
-mdoc-Lk-arguments.patch
 bsd-updates.patch
 document-sgr.patch
 destructor-segv.patch

commit 34fe473ff1c2853d823d5acd3362aeef3e634c7b
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 21:00:23 2023 -0600

    debian/patches/avoid-perl-diamond.patch: Drop
    
    Applied upstream in commit 27472b5ae548d3dbe933713d488d676708996253,
    2019-01-24.

diff --git a/debian/changelog b/debian/changelog
index 1b4054ee..7cd976b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -29,6 +29,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/sort-perl-hash-keys.patch: Drop; applied upstream in commit
     fcf3dc68839d83bfba206d1febffd9514a71ee82, 2015-11-06.
 
+  * debian/patches/series:
+  * debian/patches/avoid-perl-diamond.patch: Drop; applied upstream in commit
+    27472b5ae548d3dbe933713d488d676708996253, 2019-01-24.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/avoid-perl-diamond.patch b/debian/patches/avoid-perl-diamond.patch
deleted file mode 100644
index 339e96f8..00000000
--- a/debian/patches/avoid-perl-diamond.patch
+++ /dev/null
@@ -1,764 +0,0 @@
-From 281658fb3e335f99f036b424b4baa8fce58f589b Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwat...@debian.org>
-Date: Thu, 28 Feb 2019 19:37:30 +0000
-Subject: Avoid Perl's unsafe "<>" operator
-
-The "<>" operator is implemented using the two-argument form of "open",
-which interprets magic such as pipe characters, allowing execution of
-arbitrary commands which is unlikely to be expected.  Perl >= 5.22 has a
-"<<>>" operator which avoids this, but also forbids the use of "-" to
-mean the standard input, which is a facility that the affected groff
-programs document.
-
-ARGV::readonly would probably also fix this, but I fundamentally dislike
-the approach of escaping data in preparation for a language facility to
-unescape it, especially when the required escaping is as non-obvious as
-it is here.  (For the same reason, I prefer to use subprocess invocation
-facilities that allow passing the argument list as a list rather than as
-a string to be interpreted by the shell.)  So I've abandoned this
-dubious convenience and changed the affected programs to iterate over
-command-line arguments manually using the three-argument form of open.
-
-This change involves an extra level of indentation, so it's a little
-awkward to review.  It consists of changing this form:
-
-  while (<>) {  # or foreach, which is similar but less efficient
-    ...
-  }
-
-... into this:
-
-  unshift @ARGV, '-' unless @ARGV;
-  foreach my $filename (@ARGV) {
-    my $input;
-    if ($filename eq '-') {
-      $input = \*STDIN;
-    } elsif (not open $input, '<', $filename) {
-      warn $!;
-      next;
-    }
-    while (<$input>) {
-      ...
-    }
-  }
-
-Local variations: glilypond doesn't need the initial unshift since
-that's already handled in contrib/glilypond/args.pl; gropdf declares
-$input in a slightly different way since it's also used in the LoadAhead
-function.
-
-Bug: https://savannah.gnu.org/bugs/?55557
-Bug-Debian: https://bugs.debian.org/920269
-Forwarded: https://lists.gnu.org/archive/html/groff/2019-01/msg00037.html
-Last-Update: 2019-02-28
-
-Patch-Name: avoid-perl-diamond.patch
----
- contrib/glilypond/glilypond.pl | 128 +++++++++++-----------
- contrib/gperl/gperl.pl         | 188 +++++++++++++++++----------------
- contrib/gpinyin/gpinyin.pl     |  88 ++++++++-------
- src/devices/gropdf/gropdf.pl   |  99 +++++++++--------
- tmac/hyphenex.pl               |  86 ++++++++-------
- 5 files changed, 318 insertions(+), 271 deletions(-)
-
-diff --git a/contrib/glilypond/glilypond.pl b/contrib/glilypond/glilypond.pl
-index 868801b2..f2a76158 100755
---- a/contrib/glilypond/glilypond.pl
-+++ b/contrib/glilypond/glilypond.pl
-@@ -565,73 +565,81 @@ our $Read =
-     ); # end definition %lilypond_args
- 
- 
-- LILYPOND: foreach (<>) {
--    chomp;
--    my $line = $_;
-+ LILYPOND: foreach my $filename (@ARGV) {
-+    my $input;
-+    if ($filename eq '-') {
-+      $input = \*STDIN;
-+    } elsif (not open $input, '<', $filename) {
-+      warn $!;
-+      next;
-+    }
-+    while (<$input>) {
-+      chomp;
-+      my $line = $_;
- 
- 
--    # now the lines with '.lilypond ...'
-+      # now the lines with '.lilypond ...'
- 
--    if ( /
--	   ^
--	   [.']
--	   \s*
--	   lilypond
--	   (
--	     .*
--	   )
--	   $
--	 /x ) { # .lilypond ...
--      my $args = $1;
--      $args =~ s/
--		  ^
--		  \s*
--		//x;
--      $args =~ s/
--		  \s*
--		  $
--		//x;
--      $args =~ s/
--		  ^
--		  (
--		    \S*
--		  )
--		  \s*
--		//x;
--      my $arg1 = $1; # 'start', 'end' or 'include'
--      $args =~ s/["'`]//g;
--      my $arg2 = $args; # file argument for '.lilypond include'
--
--      if ( exists $lilypond_args{$arg1} ) {
--	$lilypond_args{$arg1}->($arg2);
--	next;
--      } else {
--	# not a suitable argument of '.lilypond'
--	$stderr->print( "Unknown command: '$arg1' '$arg2':  '$line'" );
--      }
--
--      next LILYPOND;
--    } # end if for .lilypond
-+      if ( /
-+	     ^
-+	     [.']
-+	     \s*
-+	     lilypond
-+	     (
-+	       .*
-+	     )
-+	     $
-+	   /x ) { # .lilypond ...
-+	my $args = $1;
-+	$args =~ s/
-+		    ^
-+		    \s*
-+		  //x;
-+	$args =~ s/
-+		    \s*
-+		    $
-+		  //x;
-+	$args =~ s/
-+		    ^
-+		    (
-+		      \S*
-+		    )
-+		    \s*
-+		  //x;
-+	my $arg1 = $1; # 'start', 'end' or 'include'
-+	$args =~ s/["'`]//g;
-+	my $arg2 = $args; # file argument for '.lilypond include'
-+
-+	if ( exists $lilypond_args{$arg1} ) {
-+	  $lilypond_args{$arg1}->($arg2);
-+	  next;
-+	} else {
-+	  # not a suitable argument of '.lilypond'
-+	  $stderr->print( "Unknown command: '$arg1' '$arg2':  '$line'" );
-+	}
- 
-+	next LILYPOND;
-+      } # end if for .lilypond
- 
--    if ( $lilypond_mode ) { # do lilypond-mode
--      # see '.lilypond start'
--      $ly->print( $line );
--      next LILYPOND;
--    } # do lilypond-mode
- 
--    # unknown line without lilypond
--    unless ( /
--	       ^
--	       [.']
--	       \s*
--	       lilypond
--	     /x ) { # not a '.lilypond' line
--      $out->print($line);
--      next LILYPOND;
--    }
-+      if ( $lilypond_mode ) { # do lilypond-mode
-+	# see '.lilypond start'
-+	$ly->print( $line );
-+	next LILYPOND;
-+      } # do lilypond-mode
- 
--  } # end foreach <>
-+      # unknown line without lilypond
-+      unless ( /
-+		 ^
-+		 [.']
-+		 \s*
-+		 lilypond
-+	       /x ) { # not a '.lilypond' line
-+	$out->print($line);
-+	next LILYPOND;
-+      }
-+    } # end while <$input>
-+  } # end foreach $filename
- } # end Read
- 
- 
-diff --git a/contrib/gperl/gperl.pl b/contrib/gperl/gperl.pl
-index fdb93fff..6eb2f13b 100755
---- a/contrib/gperl/gperl.pl
-+++ b/contrib/gperl/gperl.pl
-@@ -132,114 +132,124 @@ my $out_file;
- 
- my $perl_mode = 0;
- 
--foreach (<>) {
--  chomp;
--  s/\s+$//;
--  my $line = $_;
--  my $is_dot_Perl = $line =~ /^[.']\s*Perl(|\s+.*)$/;
--
--  unless ( $is_dot_Perl ) {	# not a '.Perl' line
--    if ( $perl_mode ) {		# is running in Perl mode
--      print OUT $line;
--    } else {			# normal line, not Perl-related
--      print $line;
--    }
-+unshift @ARGV, '-' unless @ARGV;
-+foreach my $filename (@ARGV) {
-+  my $input;
-+  if ($filename eq '-') {
-+    $input = \*STDIN;
-+  } elsif (not open $input, '<', $filename) {
-+    warn $!;
-     next;
-   }
--
--
--  ##########
--  # now the line is a '.Perl' line
--
--  my $args = $line;
--  $args =~ s/\s+$//;	# remove final spaces
--  $args =~ s/^[.']\s*Perl\s*//;	# omit .Perl part, leave the arguments
--
--  my @args = split /\s+/, $args;
--
--  ##########
--  # start Perl mode
--  if ( @args == 0 || @args == 1 && $args[0] eq 'start' ) {
--    # For '.Perl' no args or first arg 'start' means opening 'Perl' mode.
--    # Everything else means an ending command.
--    if ( $perl_mode ) {
--      # '.Perl' was started twice, ignore
--      print STDERR q('.Perl' starter was run several times);
--      next;
--    } else {	# new Perl start
--      $perl_mode = 1;
--      open OUT, '>', $out_file;
-+  while (<$input>) {
-+    chomp;
-+    s/\s+$//;
-+    my $line = $_;
-+    my $is_dot_Perl = $line =~ /^[.']\s*Perl(|\s+.*)$/;
-+
-+    unless ( $is_dot_Perl ) {	# not a '.Perl' line
-+      if ( $perl_mode ) {		# is running in Perl mode
-+        print OUT $line;
-+      } else {			# normal line, not Perl-related
-+        print $line;
-+      }
-       next;
-     }
--  }
- 
--  ##########
--  # now the line must be a Perl ending line (stop)
- 
--  unless ( $perl_mode ) {
--    print STDERR 'gperl: there was a Perl ending without being in ' .
--      'Perl mode:';
--    print STDERR '    ' . $line;
--    next;
--  }
-+    ##########
-+    # now the line is a '.Perl' line
-+
-+    my $args = $line;
-+    $args =~ s/\s+$//;	# remove final spaces
-+    $args =~ s/^[.']\s*Perl\s*//;	# omit .Perl part, leave the arguments
-+
-+    my @args = split /\s+/, $args;
-+
-+    ##########
-+    # start Perl mode
-+    if ( @args == 0 || @args == 1 && $args[0] eq 'start' ) {
-+      # For '.Perl' no args or first arg 'start' means opening 'Perl' mode.
-+      # Everything else means an ending command.
-+      if ( $perl_mode ) {
-+        # '.Perl' was started twice, ignore
-+        print STDERR q('.Perl' starter was run several times);
-+        next;
-+      } else {	# new Perl start
-+        $perl_mode = 1;
-+        open OUT, '>', $out_file;
-+        next;
-+      }
-+    }
- 
--  $perl_mode = 0;	# 'Perl' stop calling is correct
--  close OUT;		# close the storing of 'Perl' commands
-+    ##########
-+    # now the line must be a Perl ending line (stop)
- 
--  ##########
--  # run this 'Perl' part, later on about storage of the result
--  # array stores prints with \n
--  my @print_res = `perl $out_file`;
-+    unless ( $perl_mode ) {
-+      print STDERR 'gperl: there was a Perl ending without being in ' .
-+        'Perl mode:';
-+      print STDERR '    ' . $line;
-+      next;
-+    }
- 
--  # remove 'stop' arg if exists
--  shift @args if ( $args[0] eq 'stop' );
-+    $perl_mode = 0;	# 'Perl' stop calling is correct
-+    close OUT;		# close the storing of 'Perl' commands
- 
--  if ( @args == 0 ) {
--    # no args for saving, so @print_res doesn't matter
--    next;
--  }
-+    ##########
-+    # run this 'Perl' part, later on about storage of the result
-+    # array stores prints with \n
-+    my @print_res = `perl $out_file`;
- 
--  my @var_names = ();
--  my @mode_names = ();
-+    # remove 'stop' arg if exists
-+    shift @args if ( $args[0] eq 'stop' );
- 
--  my $mode = '.ds';
--  for ( @args ) {
--    if ( /^\.?ds$/ ) {
--      $mode = '.ds';
-+    if ( @args == 0 ) {
-+      # no args for saving, so @print_res doesn't matter
-       next;
-     }
--    if ( /^\.?nr$/ ) {
--      $mode = '.nr';
--      next;
-+
-+    my @var_names = ();
-+    my @mode_names = ();
-+
-+    my $mode = '.ds';
-+    for ( @args ) {
-+      if ( /^\.?ds$/ ) {
-+        $mode = '.ds';
-+        next;
-+      }
-+      if ( /^\.?nr$/ ) {
-+        $mode = '.nr';
-+        next;
-+      }
-+      push @mode_names, $mode;
-+      push @var_names, $_;
-     }
--    push @mode_names, $mode;
--    push @var_names, $_;
--  }
- 
--  my $n_res = @print_res;
--  my $n_vars = @var_names;
-+    my $n_res = @print_res;
-+    my $n_vars = @var_names;
- 
--  if ( $n_vars < $n_res ) {
--    print STDERR 'gperl: not enough variables for Perl part: ' .
--      $n_vars . ' variables for ' . $n_res . ' output lines.';
--  } elsif ( $n_vars > $n_res ) {
--    print STDERR 'gperl: too many variablenames for Perl part: ' .
--      $n_vars . ' variables for ' . $n_res . ' output lines.';
--  }
--  if ( $n_vars < $n_res ) {
--    print STDERR 'gperl: not enough variables for Perl part: ' .
--      $n_vars . ' variables for ' . $n_res . ' output lines.';
--  }
-+    if ( $n_vars < $n_res ) {
-+      print STDERR 'gperl: not enough variables for Perl part: ' .
-+        $n_vars . ' variables for ' . $n_res . ' output lines.';
-+    } elsif ( $n_vars > $n_res ) {
-+      print STDERR 'gperl: too many variablenames for Perl part: ' .
-+        $n_vars . ' variables for ' . $n_res . ' output lines.';
-+    }
-+    if ( $n_vars < $n_res ) {
-+      print STDERR 'gperl: not enough variables for Perl part: ' .
-+        $n_vars . ' variables for ' . $n_res . ' output lines.';
-+    }
- 
--  my $n_min = $n_res;
--  $n_min = $n_vars if ( $n_vars < $n_res );
--  exit unless ( $n_min );
--  $n_min -= 1; # for starting with 0
-+    my $n_min = $n_res;
-+    $n_min = $n_vars if ( $n_vars < $n_res );
-+    exit unless ( $n_min );
-+    $n_min -= 1; # for starting with 0
- 
--  for my $i ( 0..$n_min ) {
--    my $value = $print_res[$i];
--    chomp $value;
--    print $mode_names[$i] . ' ' . $var_names[$i] . ' ' . $value;
-+    for my $i ( 0..$n_min ) {
-+      my $value = $print_res[$i];
-+      chomp $value;
-+      print $mode_names[$i] . ' ' . $var_names[$i] . ' ' . $value;
-+    }
-   }
- }
- 
-diff --git a/contrib/gpinyin/gpinyin.pl b/contrib/gpinyin/gpinyin.pl
-index e4bb5a31..57414f33 100755
---- a/contrib/gpinyin/gpinyin.pl
-+++ b/contrib/gpinyin/gpinyin.pl
-@@ -126,53 +126,63 @@ my @output_t =	# troff
-    '.el \\{\\',
-   );
- 
--foreach (<>) {	# get line from input
--  chomp;
--  s/\s+$//;		# remove final spaces
--# &err('gpinyin: ' . $_);
--
--  my $line = $_;	# with starting blanks
--
--  # .pinyin start or begin line
--  if ( $line =~ /^[.']\s*pinyin\s+(start|begin)$/ ) {
--    if ( $pinyin_mode ) {
--      # '.pinyin' was started twice, ignore
--      &err( q['.pinyin' starter was run several times] );
--    } else {	# new pinyin start
--      $pinyin_mode = 1;
--    }
-+unshift @ARGV, '-' unless @ARGV;
-+foreach my $filename (@ARGV) {
-+  my $input;
-+  if ($filename eq '-') {
-+    $input = \*STDIN;
-+  } elsif (not open $input, '<', $filename) {
-+    warn $!;
-     next;
-   }
-+  while (<$input>) {
-+    chomp;
-+    s/\s+$//;		# remove final spaces
-+#   &err('gpinyin: ' . $_);
-+
-+    my $line = $_;	# with starting blanks
-+
-+    # .pinyin start or begin line
-+    if ( $line =~ /^[.']\s*pinyin\s+(start|begin)$/ ) {
-+      if ( $pinyin_mode ) {
-+        # '.pinyin' was started twice, ignore
-+        &err( q['.pinyin' starter was run several times] );
-+      } else {	# new pinyin start
-+        $pinyin_mode = 1;
-+      }
-+      next;
-+    }
- 
--  # .pinyin stop or end line
--  if ( $line =~ /^[.']\s*pinyin\s+(stop|end)$/ ) {
--    if ( $pinyin_mode ) {		# normal stop
--      $pinyin_mode = 0;
--      &finish_pinyin_mode( \@output_n, \@output_t );
--    } else {	# ignore
--      &err( 'gpinyin: there was a .pinyin stop without ' .
--	'being in pinyin mode' );
-+    # .pinyin stop or end line
-+    if ( $line =~ /^[.']\s*pinyin\s+(stop|end)$/ ) {
-+      if ( $pinyin_mode ) {		# normal stop
-+        $pinyin_mode = 0;
-+        &finish_pinyin_mode( \@output_n, \@output_t );
-+      } else {	# ignore
-+        &err( 'gpinyin: there was a .pinyin stop without ' .
-+          'being in pinyin mode' );
-+      }
-+      next;
-     }
--    next;
--  }
- 
--  # now not a .pinyin line
-+    # now not a .pinyin line
- 
- 
--  if ( $pinyin_mode ) {	# within Pinyin
--    my $starting_blanks = '';
--    $starting_blanks = $1 if ( s/^(s+)// );	# handle starting spaces
-+    if ( $pinyin_mode ) {	# within Pinyin
-+      my $starting_blanks = '';
-+      $starting_blanks = $1 if ( s/^(s+)// );	# handle starting spaces
- 
--    my %outline = &handle_line($starting_blanks, $line);
--#&err('gpinyin outline n: ' . $outline{'n'} );
--#&err('gpinyin outline t: ' . $outline{'t'} );
--    push @output_n, $outline{'n'};
--    push @output_t, $outline{'t'};
--  } else {	# normal roff line, not within Pinyin
--    print $line;
--  }
--  next;
--}	# end of input line
-+      my %outline = &handle_line($starting_blanks, $line);
-+#     &err('gpinyin outline n: ' . $outline{'n'} );
-+#     &err('gpinyin outline t: ' . $outline{'t'} );
-+      push @output_n, $outline{'n'};
-+      push @output_t, $outline{'t'};
-+    } else {	# normal roff line, not within Pinyin
-+      print $line;
-+    }
-+    next;
-+  }	# end of input line
-+}
- 
- 
- ########################################################################
-diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 9b624c33..a8b1dbe0 100644
---- a/src/devices/gropdf/gropdf.pl
-+++ b/src/devices/gropdf/gropdf.pl
-@@ -61,6 +61,7 @@ my @obj;	# Array of PDF objects
- my $objct=0;	# Count of Objects
- my $fct=0;	# Output count
- my %fnt;	# Used fonts
-+our $input;	# Current input filehandle
- my $lct=0;	# Input Line Count
- my $src_name='';
- my %env;	# Current environment
-@@ -288,56 +289,64 @@ my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})",
- 				'ModDate' => "($dt)",
- 				'CreationDate' => "($dt)");
- 
--while (<>)
--{
--    chomp;
--    s/\r$//;
--    $lct++;
-+unshift @ARGV, '-' unless @ARGV;
-+foreach my $filename (@ARGV) {
-+    local $input;
-+    if ($filename eq '-') {
-+	$input = \*STDIN;
-+    } elsif (not open $input, '<', $filename) {
-+	warn $!;
-+	next;
-+    }
-+    while (<$input>) {
-+	chomp;
-+	s/\r$//;
-+	$lct++;
- 
--    do 	# The ahead buffer behaves like 'ungetc'
--    {{
--	if (scalar(@ahead))
--	{
--	    $_=shift(@ahead);
--	}
-+	do 	# The ahead buffer behaves like 'ungetc'
-+	{{
-+	    if (scalar(@ahead))
-+	    {
-+		$_=shift(@ahead);
-+	    }
- 
- 
--	my $cmd=substr($_,0,1);
--	next if $cmd eq '#';	# just a comment
--	my $lin=substr($_,1);
-+	    my $cmd=substr($_,0,1);
-+	    next if $cmd eq '#';	# just a comment
-+	    my $lin=substr($_,1);
- 
--	while ($cmd eq 'w')
--	{
--	    $cmd=substr($lin,0,1);
--	    $lin=substr($lin,1);
--	    $w_flg=1 if $gotT;
--	}
-+	    while ($cmd eq 'w')
-+	    {
-+		$cmd=substr($lin,0,1);
-+		$lin=substr($lin,1);
-+		$w_flg=1 if $gotT;
-+	    }
- 
--	$lin=~s/^\s+//;
-+	    $lin=~s/^\s+//;
- #		$lin=~s/\s#.*?$//;	# remove comment
--	$stream.="\% $_\n" if $debug;
--
--	do_x($lin),next if ($cmd eq 'x');
--	next if $suppress;
--	do_p($lin),next if ($cmd eq 'p');
--	do_f($lin),next if ($cmd eq 'f');
--	do_s($lin),next if ($cmd eq 's');
--	do_m($lin),next if ($cmd eq 'm');
--	do_D($lin),next if ($cmd eq 'D');
--	do_V($lin),next if ($cmd eq 'V');
--	do_v($lin),next if ($cmd eq 'v');
--	do_t($lin),next if ($cmd eq 't');
--	do_u($lin),next if ($cmd eq 'u');
--	do_C($lin),next if ($cmd eq 'C');
--	do_c($lin),next if ($cmd eq 'c');
--	do_N($lin),next if ($cmd eq 'N');
--	do_h($lin),next if ($cmd eq 'h');
--	do_H($lin),next if ($cmd eq 'H');
--	do_n($lin),next if ($cmd eq 'n');
--
--	my $tmp=scalar(@ahead);
--    }} until scalar(@ahead) == 0;
--
-+	    $stream.="\% $_\n" if $debug;
-+
-+	    do_x($lin),next if ($cmd eq 'x');
-+	    next if $suppress;
-+	    do_p($lin),next if ($cmd eq 'p');
-+	    do_f($lin),next if ($cmd eq 'f');
-+	    do_s($lin),next if ($cmd eq 's');
-+	    do_m($lin),next if ($cmd eq 'm');
-+	    do_D($lin),next if ($cmd eq 'D');
-+	    do_V($lin),next if ($cmd eq 'V');
-+	    do_v($lin),next if ($cmd eq 'v');
-+	    do_t($lin),next if ($cmd eq 't');
-+	    do_u($lin),next if ($cmd eq 'u');
-+	    do_C($lin),next if ($cmd eq 'C');
-+	    do_c($lin),next if ($cmd eq 'c');
-+	    do_N($lin),next if ($cmd eq 'N');
-+	    do_h($lin),next if ($cmd eq 'h');
-+	    do_H($lin),next if ($cmd eq 'H');
-+	    do_n($lin),next if ($cmd eq 'n');
-+
-+	    my $tmp=scalar(@ahead);
-+	}} until scalar(@ahead) == 0;
-+    }
- }
- 
- exit 0 if $lct==0;
-@@ -3248,7 +3257,7 @@ sub  LoadAhead
- 
-     foreach my $j (1..$no)
-     {
--	my $lin=<>;
-+	my $lin=<$input>;
- 	chomp($lin);
- 	$lin=~s/\r$//;
- 	$lct++;
-diff --git a/tmac/hyphenex.pl b/tmac/hyphenex.pl
-index fba3e8d6..aee5845b 100644
---- a/tmac/hyphenex.pl
-+++ b/tmac/hyphenex.pl
-@@ -31,47 +31,57 @@ print "% for corrections and omissions.\n";
- print "\n";
- print "\\hyphenation{\n";
- 
--while (<>) {
--  # retain only lines starting with \1 ... \6 or \tabalign
--  next if not (m/^\\[123456]/ || m/^\\tabalign/);
--  # remove final newline
--  chop;
--  # remove all TeX commands except \1 ... \6
--  s/\\[^123456\s{]+//g;
--  # remove all paired { ... }
--  1 while s/{(.*?)}/\1/g;
--  # skip lines which now have only whitespace before '&'
--  next if m/^\s*&/;
--  # remove comments
--  s/%.*//;
--  # remove trailing whitespace
--  s/\s*$//;
--  # remove trailing '*' (used as a marker in the document)
--  s/\*$//;
--  # split at whitespace
--  @field = split(' ');
--  if ($field[0] eq "\\1" || $field[0] eq "\\4") {
--    print "  $field[2]\n";
-+unshift @ARGV, '-' unless @ARGV;
-+foreach my $filename (@ARGV) {
-+  my $input;
-+  if ($filename eq '-') {
-+    $input = \*STDIN;
-+  } elsif (not open $input, '<', $filename) {
-+    warn $!;
-+    next;
-   }
--  elsif ($field[0] eq "\\2" || $field[0] eq "\\5") {
--    print "  $field[2]\n";
--    # handle multiple suffixes separated by commata
--    @suffix_list = split(/,/, "$field[3]");
--    foreach $suffix (@suffix_list) {
--      print "  $field[2]$suffix\n";
-+  while (<$input>) {
-+    # retain only lines starting with \1 ... \6 or \tabalign
-+    next if not (m/^\\[123456]/ || m/^\\tabalign/);
-+    # remove final newline
-+    chop;
-+    # remove all TeX commands except \1 ... \6
-+    s/\\[^123456\s{]+//g;
-+    # remove all paired { ... }
-+    1 while s/{(.*?)}/\1/g;
-+    # skip lines which now have only whitespace before '&'
-+    next if m/^\s*&/;
-+    # remove comments
-+    s/%.*//;
-+    # remove trailing whitespace
-+    s/\s*$//;
-+    # remove trailing '*' (used as a marker in the document)
-+    s/\*$//;
-+    # split at whitespace
-+    @field = split(' ');
-+    if ($field[0] eq "\\1" || $field[0] eq "\\4") {
-+      print "  $field[2]\n";
-     }
--  }
--  elsif ($field[0] eq "\\3" || $field[0] eq "\\6") {
--    # handle multiple suffixes separated by commata
--    @suffix_list = split(/,/, "$field[3],$field[4]");
--    foreach $suffix (@suffix_list) {
--      print "  $field[2]$suffix\n";
-+    elsif ($field[0] eq "\\2" || $field[0] eq "\\5") {
-+      print "  $field[2]\n";
-+      # handle multiple suffixes separated by commata
-+      @suffix_list = split(/,/, "$field[3]");
-+      foreach $suffix (@suffix_list) {
-+        print "  $field[2]$suffix\n";
-+      }
-+    }
-+    elsif ($field[0] eq "\\3" || $field[0] eq "\\6") {
-+      # handle multiple suffixes separated by commata
-+      @suffix_list = split(/,/, "$field[3],$field[4]");
-+      foreach $suffix (@suffix_list) {
-+        print "  $field[2]$suffix\n";
-+      }
-+    }
-+    else {
-+      # for '&', split at '&' with trailing whitespace
-+      @field = split(/&\s*/);
-+      print "  $field[1]\n";
-     }
--  }
--  else {
--    # for '&', split at '&' with trailing whitespace
--    @field = split(/&\s*/);
--    print "  $field[1]\n";
-   }
- }
- 
diff --git a/debian/patches/series b/debian/patches/series
index a4d41e13..9e51ef65 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,7 +7,6 @@ papersize-config.patch
 load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
-avoid-perl-diamond.patch
 mdoc-Lk-arguments.patch
 bsd-updates.patch
 document-sgr.patch

commit 4266e24f1d65d5e7c06ac3c2ae2a202c3d0629ce
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:57:25 2023 -0600

    debian/patches/sort-perl-hash-keys.patch: Drop
    
    Applied upstream in commit fcf3dc68839d83bfba206d1febffd9514a71ee82,
    2015-11-06.

diff --git a/debian/changelog b/debian/changelog
index 1a87a056..1b4054ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,10 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
     reckon SOURCE_DATE_EPOCH with respect to the local time zone.  Users of
     SOURCE_DATE_EPOCH may wish to also set the TZ environment variable."
 
+  * debian/patches/series:
+  * debian/patches/sort-perl-hash-keys.patch: Drop; applied upstream in commit
+    fcf3dc68839d83bfba206d1febffd9514a71ee82, 2015-11-06.
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/series b/debian/patches/series
index 4ad2cb3c..a4d41e13 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,7 +7,6 @@ papersize-config.patch
 load-desc-failure.patch
 mmse-note.patch
 #display-utc-times.patch
-sort-perl-hash-keys.patch
 avoid-perl-diamond.patch
 mdoc-Lk-arguments.patch
 bsd-updates.patch
diff --git a/debian/patches/sort-perl-hash-keys.patch b/debian/patches/sort-perl-hash-keys.patch
deleted file mode 100644
index 59b8bbb0..00000000
--- a/debian/patches/sort-perl-hash-keys.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 3c7075d5a846ff178c8fe83f8479f5f98e98f32d Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwat...@debian.org>
-Date: Fri, 6 Nov 2015 11:53:02 +0000
-Subject: Sort Perl hash keys
-
-Hash iteration order may differ between runs, which makes builds harder
-to reproduce.  Sort hash keys in gropdf and afmtodit output to avoid
-this.
-
-Forwarded: https://lists.gnu.org/archive/html/groff/2018-03/msg00009.html
-Last-Update: 2018-03-05
-
-Patch-Name: sort-perl-hash-keys.patch
----
- src/devices/gropdf/gropdf.pl   |  8 ++++----
- src/utils/afmtodit/afmtodit.pl | 12 ++++++------
- 2 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 134b0962..9b624c33 100644
---- a/src/devices/gropdf/gropdf.pl
-+++ b/src/devices/gropdf/gropdf.pl
-@@ -377,7 +377,7 @@ my $info=BuildObj(++$objct,\%info);
- 
- PutObj($objct);
- 
--foreach my $fontno (keys %fontlst)
-+foreach my $fontno (sort keys %fontlst)
- {
-     my $o=$fontlst{$fontno}->{FNT};
- 
-@@ -846,7 +846,7 @@ sub do_x
- 		    my @xwds=split(' ',"<< $1 >>");
- 		    my $docinfo=ParsePDFValue(\@xwds);
- 
--		    foreach my $k (keys %{$docinfo})
-+		    foreach my $k (sort keys %{$docinfo})
- 		    {
- 			$info{$k}=$docinfo->{$k} if $k ne 'Producer';
- 		    }
-@@ -856,7 +856,7 @@ sub do_x
- 		    my @xwds=split(' ',"<< $1 >>");
- 		    my $docview=ParsePDFValue(\@xwds);
- 
--		    foreach my $k (keys %{$docview})
-+		    foreach my $k (sort keys %{$docview})
- 		    {
- 			$cat->{$k}=$docview->{$k} if !exists($cat->{$k});
- 		    }
-@@ -1707,7 +1707,7 @@ sub MapInsHash
-     my $val=shift;
- 
- 
--    foreach my $k (keys(%{$val}))
-+    foreach my $k (sort keys(%{$val}))
-     {
- 	MapInsValue($pdf,$o,$k,$insmap,$parent,$val->{$k}) if $k ne 'Contents';
-     }
-diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
-index 954c58e7..59d871fc 100644
---- a/src/utils/afmtodit/afmtodit.pl
-+++ b/src/utils/afmtodit/afmtodit.pl
-@@ -164,8 +164,8 @@ while (<AFM>) {
- 		$depth{$n} = -$lly;
- 		$left_side_bearing{$n} = -$llx;
- 		$right_side_bearing{$n} = $urx - $w;
--#		while ((my $lig, my $glyph2) = each %ligs) {
--#		    $ligatures{$lig} = $n . " " . $glyph2;
-+#		foreach my $lig (sort keys %ligs) {
-+#		    $ligatures{$lig} = $n . " " . $ligs{$lig};
- #		}
- 	    }
- 	}
-@@ -267,7 +267,7 @@ $italic_angle = $opt_a if $opt_a;
- if (!$opt_x) {
-     my %mapped;
-     my $i = ($#encoding > 256) ? ($#encoding + 1) : 256;
--    while (my $ch = each %width) {
-+    foreach my $ch (sort keys %width) {
- 	# add unencoded characters
- 	if (!$in_encoding{$ch}) {
- 	    $encoding[$i] = $ch;
-@@ -407,9 +407,9 @@ my %default_ligatures = (
-   "ffl", "ff l",
- );
- 
--while (my ($lig, $components) = each %default_ligatures) {
-+foreach my $lig (sort keys %default_ligatures) {
-     if (defined $width{$lig} && !defined $ligatures{$lig}) {
--	$ligatures{$lig} = $components;
-+	$ligatures{$lig} = $default_ligatures{$lig};
-     }
- }
- 
-@@ -456,7 +456,7 @@ if ($opt_e) {
- 
- if (!$opt_n && %ligatures) {
-     print("ligatures");
--    while (my $lig = each %ligatures) {
-+    foreach my $lig (sort keys %ligatures) {
- 	print(" $lig");
-     }
-     print(" 0\n");

commit cb1cbb55e73e877c73a45d070eed89179699f316
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:52:43 2023 -0600

    debian/patches/series: Drop display-utc-times.*

diff --git a/debian/changelog b/debian/changelog
index 4ae2d563..1a87a056 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,20 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/load-desc-failure.patch:
   * debian/patches/mmse-note.patch: Resync with upstream.
 
+  * debian/patches/series: Comment out display-utc-times.patch.  Quoting NEWS:
+    "The semantics of the environment variable SOURCE_DATE_EPOCH to groff,
+    support for which was added in 1.22.4, were not established at that time
+    with respect to time zone selection, prompting divergent interpretations;
+    Debian and distributions derived from it have for several years patched
+    groff to implicitly use UTC as the time zone when interpreting the current
+    time (or SOURCE_DATE_EPOCH) as a local time.  While a convenient and
+    defensible choice for reproducible build efforts, it runs against the
+    grain of user expectations.  Systems programmers like time zone-invariant,
+    monotonically increasing clocks; the broader user base usually prefers a
+    clock that follows an applicable civil calendar.  groff programs now
+    reckon SOURCE_DATE_EPOCH with respect to the local time zone.  Users of
+    SOURCE_DATE_EPOCH may wish to also set the TZ environment variable."
+
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
diff --git a/debian/patches/series b/debian/patches/series
index e45905e1..4ad2cb3c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,7 +6,7 @@ extratmacdirs.patch
 papersize-config.patch
 load-desc-failure.patch
 mmse-note.patch
-display-utc-times.patch
+#display-utc-times.patch
 sort-perl-hash-keys.patch
 avoid-perl-diamond.patch
 mdoc-Lk-arguments.patch

commit 2ec0236804bf60e18282526d343068e9c26d6df2
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:49:14 2023 -0600

    debian/patches/mmse-note.patch: Resync w/ upstream

diff --git a/debian/changelog b/debian/changelog
index f9351ac8..4ae2d563 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,7 +8,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/doc-gzipped.patch:
   * debian/patches/extratmacdirs.patch:
   * debian/patches/papersize-config.patch:
-  * debian/patches/load-desc-failure.patch: Resync with upstream.
+  * debian/patches/load-desc-failure.patch:
+  * debian/patches/mmse-note.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/mmse-note.patch b/debian/patches/mmse-note.patch
index 05fcab29..b2a41f4d 100644
--- a/debian/patches/mmse-note.patch
+++ b/debian/patches/mmse-note.patch
@@ -5,7 +5,7 @@ Subject: Note that groff_mmse(7) is only available in Swedish locales
 
 Bug-Debian: https://bugs.debian.org/710431
 Forwarded: no
-Last-Update: 2018-11-30
+Last-Update: 2023-02-25
 
 Patch-Name: mmse-note.patch
 ---
@@ -15,57 +15,57 @@ Patch-Name: mmse-note.patch
  src/roff/groff/groff.1.man | 3 ++-
  4 files changed, 7 insertions(+), 3 deletions(-)
 
-diff --git a/contrib/mm/groff_mm.7.man b/contrib/mm/groff_mm.7.man
-index a95790cb..223d33e8 100644
---- a/contrib/mm/groff_mm.7.man
-+++ b/contrib/mm/groff_mm.7.man
-@@ -3982,6 +3982,7 @@ of Lund, Sweden.
- .BR @g@eqn (@MAN1EXT@)
- .br
- .BR groff_mmse (@MAN7EXT@)
+Index: groff/contrib/mm/groff_mm.7.man
+===================================================================
+--- groff.orig/contrib/mm/groff_mm.7.man
++++ groff/contrib/mm/groff_mm.7.man
+@@ -5091,6 +5091,7 @@ You can browse it interactively with \[l
+ .MR @g@eqn @MAN1EXT@ ,
+ .MR @g@refer @MAN1EXT@ ,
+ .MR groff_mmse @MAN7EXT@
 +(only in Swedish locales)
  .
  .
  .\" Restore compatibility mode (for, e.g., Solaris 10/11).
-diff --git a/contrib/mm/mmroff.1.man b/contrib/mm/mmroff.1.man
-index cd5c3753..a19c7c48 100644
---- a/contrib/mm/mmroff.1.man
-+++ b/contrib/mm/mmroff.1.man
-@@ -93,7 +93,8 @@ of Lund, Sweden.
+Index: groff/contrib/mm/mmroff.1.man
+===================================================================
+--- groff.orig/contrib/mm/mmroff.1.man
++++ groff/contrib/mm/mmroff.1.man
+@@ -141,7 +141,8 @@ Sweden.
  .\" ====================================================================
  .
- .IR groff_mm (@MAN7EXT@),
--.IR groff_mmse (@MAN7EXT@),
-+.IR groff_mmse (@MAN7EXT@)
+ .MR groff_mm @MAN7EXT@ ,
+-.MR groff_mmse @MAN7EXT@ ,
++.MR groff_mmse @MAN7EXT@
 +(only in Swedish locales),
- .IR groff (@MAN1EXT@),
- .IR @g@troff (@MAN1EXT@),
- .IR @g@tbl (@MAN1EXT@),
-diff --git a/man/groff_tmac.5.man b/man/groff_tmac.5.man
-index 9dd19585..0811e57f 100644
---- a/man/groff_tmac.5.man
-+++ b/man/groff_tmac.5.man
-@@ -244,7 +244,8 @@ Swedish localization support, including the me, mom, and ms macro
- packages.
- .
- Note that Swedish for the mm macros is handled separately; see
--.BR groff_mmse (@MAN7EXT@).
-+.BR groff_mmse (@MAN7EXT@)
+ .MR groff @MAN1EXT@ ,
+ .MR @g@troff @MAN1EXT@ ,
+ .MR @g@tbl @MAN1EXT@ ,
+Index: groff/man/groff_tmac.5.man
+===================================================================
+--- groff.orig/man/groff_tmac.5.man
++++ groff/man/groff_tmac.5.man
+@@ -415,7 +415,8 @@ Some of the localization of the
+ .I mm
+ package is handled separately;
+ see
+-.MR groff_mmse @MAN7EXT@ .
++.MR groff_mmse @MAN7EXT@
 +(only in Swedish locales).
  .
- It should be used as the last macro package on the command line.
  .
-diff --git a/src/roff/groff/groff.1.man b/src/roff/groff/groff.1.man
-index 06701bb2..622a067d 100644
---- a/src/roff/groff/groff.1.man
-+++ b/src/roff/groff/groff.1.man
-@@ -2017,7 +2017,8 @@ Groff macro packages and macro-specific utilities:
- .BR \%groff_mdoc (@MAN7EXT@),
- .BR \%groff_me (@MAN7EXT@),
- .BR \%groff_mm (@MAN7EXT@),
--.BR \%groff_mmse (@MAN7EXT@),
-+.BR \%groff_mmse (@MAN7EXT@)
+ .TP
+Index: groff/src/roff/groff/groff.1.man
+===================================================================
+--- groff.orig/src/roff/groff/groff.1.man
++++ groff/src/roff/groff/groff.1.man
+@@ -2298,7 +2298,8 @@ Macro packages and package-specific util
+ .MR groff_mdoc @MAN7EXT@ , \" #56
+ .MR groff_me @MAN7EXT@ , \" #57
+ .MR groff_mm @MAN7EXT@ , \" # 10
+-.MR groff_mmse @MAN7EXT@ , \" # 11
++.MR groff_mmse @MAN7EXT@ \" # 11
 +(only in Swedish locales),
- .BR \%groff_mom (@MAN7EXT@),
- .BR \%groff_ms (@MAN7EXT@),
- .BR \%groff_www (@MAN7EXT@),
+ .MR mmroff @MAN1EXT@ , \" #12
+ .MR groff_mom @MAN7EXT@ , \" #13
+ .MR pdfmom @MAN1EXT@ , \" #30

commit e8e7c6ce1e8267bbf6c65ce5910140ccc5a8993a
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:45:39 2023 -0600

    debian/patches/load-desc-failure.patch: Resync
    
    ...with upstream.

diff --git a/debian/changelog b/debian/changelog
index 7ca0b855..f9351ac8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,7 +7,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/doc-gfdl.patch:
   * debian/patches/doc-gzipped.patch:
   * debian/patches/extratmacdirs.patch:
-  * debian/patches/papersize-config.patch: Resync with upstream.
+  * debian/patches/papersize-config.patch:
+  * debian/patches/load-desc-failure.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/load-desc-failure.patch b/debian/patches/load-desc-failure.patch
index 47c0e15e..5487a99d 100644
--- a/debian/patches/load-desc-failure.patch
+++ b/debian/patches/load-desc-failure.patch
@@ -7,33 +7,32 @@ If the device is known to be one of the devices in the groff binary package
 rather than groff-base, refer the user to that.
 
 Forwarded: not-needed
-Last-Update: 2018-03-05
+Last-Update: 2023-02-25
 
 Patch-Name: load-desc-failure.patch
 ---
  src/roff/groff/groff.cpp | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
 
-diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
-index a3815bf3..bfb01d9c 100644
---- a/src/roff/groff/groff.cpp
-+++ b/src/roff/groff/groff.cpp
-@@ -340,8 +340,16 @@ int main(int argc, char **argv)
-     commands[PIC_INDEX].append_arg("-U");
-   }
+Index: groff/src/roff/groff/groff.cpp
+===================================================================
+--- groff.orig/src/roff/groff/groff.cpp
++++ groff/src/roff/groff/groff.cpp
+@@ -379,8 +379,15 @@ int main(int argc, char **argv)
    font::set_unknown_desc_command_handler(handle_unknown_desc_command);
--  if (!font::load_desc())
--    fatal("invalid device '%1'", device);
-+  if (!font::load_desc()) {
+   const char *desc = font::load_desc();
+   if (0 /* nullptr */ == desc)
+-    fatal("cannot load 'DESC' description file for device '%1'",
+-	  device);
 +    if (strcmp(device, "X100") == 0 || strcmp(device, "X100-12") == 0 ||
 +	strcmp(device, "X75") == 0 || strcmp(device, "X75-12") == 0 ||
 +	strcmp(device, "dvi") == 0 || strcmp(device, "html") == 0 ||
 +	strcmp(device, "lbp") == 0 || strcmp(device, "lj4") == 0)
-+      fatal("invalid device '%1' (try installing the 'groff' package?)",
-+	    device);
++      fatal("cannot load 'DESC' description file for device '%1'"
++	    " (try installing the 'groff' package?)", device);
 +    else
-+      fatal("invalid device '%1'", device);
-+  }
-   if (!postdriver)
-     fatal("no 'postpro' command in DESC file for device '%1'", device);
-   if (predriver && !zflag) {
++      fatal("cannot load 'DESC' description file for device '%1'",
++	    device);
+   if (need_postdriver && (0 /* nullptr */ == postdriver))
+     fatal_with_file_and_line(desc, 0, "device description file missing"
+ 			     " 'postpro' directive");

commit b7dc5d92ac984184ab30aef76e5d21752a044fe9
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:40:55 2023 -0600

    debian/patches/papersize-config.patch: Resync
    
    ...with upstream.

diff --git a/debian/changelog b/debian/changelog
index 371ded60..7ca0b855 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,7 +6,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/patches/nroff-ifs.patch:
   * debian/patches/doc-gfdl.patch:
   * debian/patches/doc-gzipped.patch:
-  * debian/patches/extratmacdirs.patch: Resync with upstream.
+  * debian/patches/extratmacdirs.patch:
+  * debian/patches/papersize-config.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/papersize-config.patch b/debian/patches/papersize-config.patch
index bb3988f7..2548400f 100644
--- a/debian/patches/papersize-config.patch
+++ b/debian/patches/papersize-config.patch
@@ -4,7 +4,7 @@ Date: Thu, 2 Jan 2014 13:13:21 +0000
 Subject: Use /etc/papersize in preference to configure-time selection
 
 Forwarded: not-needed
-Last-Update: 2018-03-29
+Last-Update: 2023-02-25
 
 Patch-Name: papersize-config.patch
 ---
@@ -14,11 +14,11 @@ Patch-Name: papersize-config.patch
  font/devps/devps.am   | 4 ++--
  4 files changed, 8 insertions(+), 8 deletions(-)
 
-diff --git a/font/devdvi/devdvi.am b/font/devdvi/devdvi.am
-index a5b5f114..af111d2f 100644
---- a/font/devdvi/devdvi.am
-+++ b/font/devdvi/devdvi.am
-@@ -83,9 +83,9 @@ font/devdvi/DESC: $(devdvi_srcdir)/DESC.in
+Index: groff/font/devdvi/devdvi.am
+===================================================================
+--- groff.orig/font/devdvi/devdvi.am
++++ groff/font/devdvi/devdvi.am
+@@ -81,9 +81,9 @@ font/devdvi/DESC: $(devdvi_srcdir)/DESC.
  	$(AM_V_GEN)$(MKDIR_P) `dirname $@` \
  	&& cat $(devdvi_srcdir)/DESC.in >$@ \
  	&& if test "$(PAGE)" = A4; then \
@@ -30,11 +30,11 @@ index a5b5f114..af111d2f 100644
  	   fi \
  	&& (test -z '$(DVIPRINT)' \
  	    || echo print '$(DVIPRINT)' >>$@)
-diff --git a/font/devlbp/devlbp.am b/font/devlbp/devlbp.am
-index 30002f89..1a4e5135 100644
---- a/font/devlbp/devlbp.am
-+++ b/font/devlbp/devlbp.am
-@@ -47,9 +47,9 @@ font/devlbp/DESC: $(devlbp_srcdir)/DESC.in
+Index: groff/font/devlbp/devlbp.am
+===================================================================
+--- groff.orig/font/devlbp/devlbp.am
++++ groff/font/devlbp/devlbp.am
+@@ -45,9 +45,9 @@ font/devlbp/DESC: $(devlbp_srcdir)/DESC.
  	$(AM_V_GEN)$(MKDIR_P) `dirname $@` \
  	&& cat $(devlbp_srcdir)/DESC.in >$@ \
  	&& if test "$(PAGE)" = A4; then \
@@ -46,11 +46,11 @@ index 30002f89..1a4e5135 100644
  	   fi \
  	&& (test -z '$(LBPPRINT)' \
  	    || echo print '$(LBPPRINT)' >>$@)
-diff --git a/font/devlj4/devlj4.am b/font/devlj4/devlj4.am
-index f9aaa369..3ff64402 100644
---- a/font/devlj4/devlj4.am
-+++ b/font/devlj4/devlj4.am
-@@ -92,9 +92,9 @@ font/devlj4/DESC: $(devlj4_srcdir)/DESC.in
+Index: groff/font/devlj4/devlj4.am
+===================================================================
+--- groff.orig/font/devlj4/devlj4.am
++++ groff/font/devlj4/devlj4.am
+@@ -90,9 +90,9 @@ font/devlj4/DESC: $(devlj4_srcdir)/DESC.
  	&& echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>$@ \
  	&& cat $(devlj4_srcdir)/DESC.in >>$@ \
  	&& if test "$(PAGE)" = A4; then \
@@ -62,19 +62,19 @@ index f9aaa369..3ff64402 100644
  	   fi \
  	&& (test -z '$(LJ4PRINT)' \
  	    || echo print '$(LJ4PRINT)' >>$@)
-diff --git a/font/devps/devps.am b/font/devps/devps.am
-index 3205e3ba..3913f2bf 100644
---- a/font/devps/devps.am
-+++ b/font/devps/devps.am
-@@ -143,9 +143,9 @@ font/devps/DESC: $(devps_srcdir)/DESC.in
- 	&& cat $(devps_srcdir)/DESC.in >$@ \
- 	&& echo broken $(BROKEN_SPOOLER_FLAGS) >>$@ \
+Index: groff/font/devps/devps.am
+===================================================================
+--- groff.orig/font/devps/devps.am
++++ groff/font/devps/devps.am
+@@ -144,9 +144,9 @@ font/devps/DESC: $(devps_srcdir)/DESC.in
+ 	&& cat $(devps_srcdir)/DESC.in >$@.tmp \
+ 	&& echo broken $(BROKEN_SPOOLER_FLAGS) >>$@.tmp \
  	&& if test "$(PAGE)" = A4; then \
--	     echo "papersize a4" >>$@; \
-+	     echo "papersize /etc/papersize a4" >>$@; \
+-	     echo "papersize a4" >>$@.tmp; \
++	     echo "papersize /etc/papersize a4" >>$@.tmp; \
  	   else \
--	     echo "papersize letter" >>$@; \
-+	     echo "papersize /etc/papersize letter" >>$@; \
+-	     echo "papersize letter" >>$@.tmp; \
++	     echo "papersize /etc/papersize letter" >>$@.tmp; \
  	   fi \
  	&& (test -z '$(PSPRINT)' \
- 	    || echo print '$(PSPRINT)' >>$@)
+ 	    || echo print '$(PSPRINT)' >>$@.tmp)

commit bb6d8e31ae4f60afd1ede232618dbff17e64ac87
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:35:20 2023 -0600

    debian/patches/extratmacdirs.patch: Resync
    
    ...with upstream.

diff --git a/debian/changelog b/debian/changelog
index fa6d246b..371ded60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,7 +5,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
     texinfo (closes: #1011666).
   * debian/patches/nroff-ifs.patch:
   * debian/patches/doc-gfdl.patch:
-  * debian/patches/doc-gzipped.patch: Resync with upstream.
+  * debian/patches/doc-gzipped.patch:
+  * debian/patches/extratmacdirs.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/extratmacdirs.patch b/debian/patches/extratmacdirs.patch
index 93ffd6b7..d3b141a8 100644
--- a/debian/patches/extratmacdirs.patch
+++ b/debian/patches/extratmacdirs.patch
@@ -11,18 +11,18 @@ current state.  A more upstreamable approach might be to add a --with-*
 option to configure.
 
 Forwarded: no
-Last-Update: 2018-03-05
+Last-Update: 2023-02-25
 
 Patch-Name: extratmacdirs.patch
 ---
  Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/Makefile.am b/Makefile.am
-index d18c49b8..754a8fe7 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -211,7 +211,7 @@ localtmacdir=$(dataprogramdir)/site-tmac
+Index: groff/Makefile.am
+===================================================================
+--- groff.orig/Makefile.am
++++ groff/Makefile.am
+@@ -207,7 +207,7 @@ localtmacdir=$(dataprogramdir)/site-tmac
  # directory will be always added.
  # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
  # current nor in the home directory.

commit c2714677d1d1bbb46a311bfa41676cfa48b3e210
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:33:00 2023 -0600

    debian/patches/doc-gzipped.patch: Resync
    
    ...with upstream.

diff --git a/debian/changelog b/debian/changelog
index 5003ab82..fa6d246b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,7 +4,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   * debian/control: Add build-dependency on m4.  Drop build-deps on bison and
     texinfo (closes: #1011666).
   * debian/patches/nroff-ifs.patch:
-  * debian/patches/doc-gfdl.patch: Resync with upstream.
+  * debian/patches/doc-gfdl.patch:
+  * debian/patches/doc-gzipped.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/doc-gzipped.patch b/debian/patches/doc-gzipped.patch
index 9641b3a3..b3fff0ab 100644
--- a/debian/patches/doc-gzipped.patch
+++ b/debian/patches/doc-gzipped.patch
@@ -5,7 +5,7 @@ Subject: Adjust documentation references to account for compression
 
 Bug-Debian: https://bugs.debian.org/498356
 Forwarded: not-needed
-Last-Update: 2018-12-20
+Last-Update: 2023-02-25
 
 Patch-Name: doc-gzipped.patch
 ---
@@ -13,29 +13,29 @@ Patch-Name: doc-gzipped.patch
  src/preproc/pic/pic.1.man     | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/contrib/pdfmark/pdfroff.1.man b/contrib/pdfmark/pdfroff.1.man
-index 16800924..7e9d4575 100644
---- a/contrib/pdfmark/pdfroff.1.man
-+++ b/contrib/pdfmark/pdfroff.1.man
-@@ -828,7 +828,7 @@ Detailed documentation on the use of these packages may be found,
- in PDF format, in the reference guide
- .BR "\*(lqPortable Document Format Publishing with GNU Troff\*(rq" ,
- included in the installed documentation set as
--.IR @PDFDOCDIR@/pdfmark.pdf .
-+.IR @PDFDOCDIR@/pdfmark.pdf.gz .
+Index: groff/contrib/pdfmark/pdfroff.1.man
+===================================================================
+--- groff.orig/contrib/pdfmark/pdfroff.1.man
++++ groff/contrib/pdfmark/pdfroff.1.man
+@@ -946,7 +946,7 @@ as the preferred formatter.
  .
  .
- .\" Restore compatibility mode (for, e.g., Solaris 10/11).
-diff --git a/src/preproc/pic/pic.1.man b/src/preproc/pic/pic.1.man
-index 847bbe37..839df04c 100644
---- a/src/preproc/pic/pic.1.man
-+++ b/src/preproc/pic/pic.1.man
-@@ -252,7 +252,7 @@ A complete documentation is available in the file
- .
- .LP
- .RS
--.I @DOCDIR@/pic.ms
-+.I @DOCDIR@/pic.ms.gz
- .RE
+ .TP
+-.I @PDFDOCDIR@/\:\%pdfmark.pdf
++.I @PDFDOCDIR@/\:\%pdfmark.pdf\:.gz
+ \[lq]Portable Document Format Publishing with GNU
+ .IR Troff \[rq],
+ by Keith Marshall,
+Index: groff/src/preproc/pic/pic.1.man
+===================================================================
+--- groff.orig/src/preproc/pic/pic.1.man
++++ groff/src/preproc/pic/pic.1.man
+@@ -1496,7 +1496,7 @@ which interprets 0 as black and 1 as whi
+ .\" ====================================================================
  .
+ .TP
+-.I @DOCDIR@/\:pic\:.ps
++.I @DOCDIR@/\:pic\:.ps\:.gz
+ \[lq]Making Pictures with GNU pic\[rq],
+ by Eric S.\& Raymond.
  .

commit 43d0f4ebe864f61cb296e4f9c7450b6bd98405b5
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:25:21 2023 -0600

    debian/patches/doc-gfdl.patch: Resync w/ upstream
    
    ditroff(7) is no more.

diff --git a/debian/changelog b/debian/changelog
index 07da7a24..5003ab82 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,7 +3,8 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   [ G. Branden Robinson ]
   * debian/control: Add build-dependency on m4.  Drop build-deps on bison and
     texinfo (closes: #1011666).
-  * debian/patches/nroff-ifs.patch: Resync with upstream.
+  * debian/patches/nroff-ifs.patch:
+  * debian/patches/doc-gfdl.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/doc-gfdl.patch b/debian/patches/doc-gfdl.patch
index 4d13a645..52ecd810 100644
--- a/debian/patches/doc-gfdl.patch
+++ b/debian/patches/doc-gfdl.patch
@@ -5,13 +5,12 @@ Subject: Add GFDL references to manual pages licensed under GFDL
 
 Bug-Debian: https://bugs.debian.org/292229
 Forwarded: not-needed
-Last-Update: 2018-11-30
+Last-Update: 2023-02-25
 
 Patch-Name: doc-gfdl.patch
 ---
  contrib/hdtbl/groff_hdtbl.7.man | 3 +++
  contrib/pdfmark/pdfroff.1.man   | 3 +++
- man/ditroff.7.man               | 3 +++
  man/groff.7.man                 | 3 +++
  man/groff_diff.7.man            | 3 +++
  man/groff_out.5.man             | 3 +++
@@ -22,11 +21,11 @@ Patch-Name: doc-gfdl.patch
  tmac/groff_trace.7.man          | 3 +++
  11 files changed, 33 insertions(+)
 
-diff --git a/contrib/hdtbl/groff_hdtbl.7.man b/contrib/hdtbl/groff_hdtbl.7.man
-index 0ae39a36..e93347f6 100644
---- a/contrib/hdtbl/groff_hdtbl.7.man
-+++ b/contrib/hdtbl/groff_hdtbl.7.man
-@@ -24,6 +24,9 @@ groff_hdtbl \- Heidelberger table macros for GNU roff
+Index: groff/contrib/hdtbl/groff_hdtbl.7.man
+===================================================================
+--- groff.orig/contrib/hdtbl/groff_hdtbl.7.man
++++ groff/contrib/hdtbl/groff_hdtbl.7.man
+@@ -20,6 +20,9 @@ groff_hdtbl \- Heidelberger table macros
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -35,12 +34,12 @@ index 0ae39a36..e93347f6 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .ig
-diff --git a/contrib/pdfmark/pdfroff.1.man b/contrib/pdfmark/pdfroff.1.man
-index 95d7807c..16800924 100644
---- a/contrib/pdfmark/pdfroff.1.man
-+++ b/contrib/pdfmark/pdfroff.1.man
-@@ -27,6 +27,9 @@ pdfroff \- create PDF documents using groff
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/contrib/pdfmark/pdfroff.1.man
+===================================================================
+--- groff.orig/contrib/pdfmark/pdfroff.1.man
++++ groff/contrib/pdfmark/pdfroff.1.man
+@@ -20,6 +20,9 @@ pdfroff \- construct files in Portable D
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -49,12 +48,12 @@ index 95d7807c..16800924 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/man/ditroff.7.man b/man/ditroff.7.man
-index a55f9f53..48ac6cfe 100644
---- a/man/ditroff.7.man
-+++ b/man/ditroff.7.man
-@@ -19,6 +19,9 @@ ditroff \- classical device-independent roff
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/man/groff.7.man
+===================================================================
+--- groff.orig/man/groff.7.man
++++ groff/man/groff.7.man
+@@ -22,6 +22,9 @@ language reference
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -63,12 +62,12 @@ index a55f9f53..48ac6cfe 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/man/groff.7.man b/man/groff.7.man
-index 24f093fe..c9ee598a 100644
---- a/man/groff.7.man
-+++ b/man/groff.7.man
-@@ -22,6 +22,9 @@ groff \- a short reference for the GNU roff language
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/man/groff_diff.7.man
+===================================================================
+--- groff.orig/man/groff_diff.7.man
++++ groff/man/groff_diff.7.man
+@@ -23,6 +23,9 @@ and AT&T
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -77,12 +76,12 @@ index 24f093fe..c9ee598a 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
-index 39d17475..2842fe28 100644
---- a/man/groff_diff.7.man
-+++ b/man/groff_diff.7.man
-@@ -29,6 +29,9 @@ groff_diff \- differences between GNU troff and classical troff
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/man/groff_out.5.man
+===================================================================
+--- groff.orig/man/groff_out.5.man
++++ groff/man/groff_out.5.man
+@@ -22,6 +22,9 @@ intermediate output format
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -91,12 +90,12 @@ index 39d17475..2842fe28 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/man/groff_out.5.man b/man/groff_out.5.man
-index 6f1bd18c..4b99c403 100644
---- a/man/groff_out.5.man
-+++ b/man/groff_out.5.man
-@@ -29,6 +29,9 @@ groff_out \- groff intermediate output format
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/man/groff_tmac.5.man
+===================================================================
+--- groff.orig/man/groff_tmac.5.man
++++ groff/man/groff_tmac.5.man
+@@ -21,6 +21,9 @@ typesetting system
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -105,12 +104,12 @@ index 6f1bd18c..4b99c403 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/man/groff_tmac.5.man b/man/groff_tmac.5.man
-index 750fd505..9dd19585 100644
---- a/man/groff_tmac.5.man
-+++ b/man/groff_tmac.5.man
-@@ -28,6 +28,9 @@ groff_tmac \- macro files in the roff typesetting system
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/man/roff.7.man
+===================================================================
+--- groff.orig/man/roff.7.man
++++ groff/man/roff.7.man
+@@ -25,6 +25,9 @@ typesetting
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -119,26 +118,12 @@ index 750fd505..9dd19585 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .ds Ellipsis \&.\|.\|.\&\"
-diff --git a/man/roff.7.man b/man/roff.7.man
-index deff211c..49011651 100644
---- a/man/roff.7.man
-+++ b/man/roff.7.man
-@@ -27,6 +27,9 @@ roff \- concepts and history of roff typesetting
- .\"
- .\" A copy of the Free Documentation License is included as a file
- .\" called FDL in the main directory of the groff source package.
-+.\"
-+.\" A copy of the GNU Free Documentation License is also available in this
-+.\" Debian package as /usr/share/doc/groff/copyright.
- .
- .
- .\" ====================================================================
-diff --git a/src/roff/groff/groff.1.man b/src/roff/groff/groff.1.man
-index 165507e0..06701bb2 100644
---- a/src/roff/groff/groff.1.man
-+++ b/src/roff/groff/groff.1.man
-@@ -26,6 +26,9 @@ groff \- front-end for the groff document formatting system
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/src/roff/groff/groff.1.man
+===================================================================
+--- groff.orig/src/roff/groff/groff.1.man
++++ groff/src/roff/groff/groff.1.man
+@@ -21,6 +21,9 @@ document formatting system
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -147,12 +132,12 @@ index 165507e0..06701bb2 100644
 +.\" Debian package as /usr/share/doc/groff-base/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/src/roff/troff/troff.1.man b/src/roff/troff/troff.1.man
-index e4354d8b..5d5bbe45 100644
---- a/src/roff/troff/troff.1.man
-+++ b/src/roff/troff/troff.1.man
-@@ -22,6 +22,9 @@
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/src/roff/troff/troff.1.man
+===================================================================
+--- groff.orig/src/roff/troff/troff.1.man
++++ groff/src/roff/troff/troff.1.man
+@@ -22,6 +22,9 @@ typesetter and document formatter
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -161,12 +146,12 @@ index e4354d8b..5d5bbe45 100644
 +.\" Debian package as /usr/share/doc/groff-base/copyright.
  .
  .
- .\" ====================================================================
-diff --git a/tmac/groff_trace.7.man b/tmac/groff_trace.7.man
-index 85c2952d..36b73c9d 100644
---- a/tmac/groff_trace.7.man
-+++ b/tmac/groff_trace.7.man
-@@ -27,6 +27,9 @@ groff_trace \- groff macro package trace.tmac
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
+Index: groff/tmac/groff_trace.7.man
+===================================================================
+--- groff.orig/tmac/groff_trace.7.man
++++ groff/tmac/groff_trace.7.man
+@@ -21,6 +21,9 @@ documents
  .\"
  .\" A copy of the Free Documentation License is included as a file
  .\" called FDL in the main directory of the groff source package.
@@ -175,4 +160,4 @@ index 85c2952d..36b73c9d 100644
 +.\" Debian package as /usr/share/doc/groff/copyright.
  .
  .
- .\" ====================================================================
+ .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).

commit 54f193419e1a967093b4b034a1cab645e0301b00
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:17:10 2023 -0600

    debian/patches/nroff-ifs.patch: Resync w/ upstream

diff --git a/debian/changelog b/debian/changelog
index a846e216..07da7a24 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ groff (1.23.0~rc3-1) experimental; urgency=medium
   [ G. Branden Robinson ]
   * debian/control: Add build-dependency on m4.  Drop build-deps on bison and
     texinfo (closes: #1011666).
+  * debian/patches/nroff-ifs.patch: Resync with upstream.
 
   [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
diff --git a/debian/patches/nroff-ifs.patch b/debian/patches/nroff-ifs.patch
index 12321b2a..07bfb00b 100644
--- a/debian/patches/nroff-ifs.patch
+++ b/debian/patches/nroff-ifs.patch
@@ -8,17 +8,17 @@ trail, there's a decent argument that this is a dash bug.
 
 Bug-Debian: https://bugs.debian.org/541621
 Forwarded: no
-Last-Update: 2018-03-05
+Last-Update: 2023-02-25
 
 Patch-Name: nroff-ifs.patch
 ---
  src/roff/nroff/nroff.sh | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/src/roff/nroff/nroff.sh b/src/roff/nroff/nroff.sh
-index 523c4531..7ca26b10 100644
---- a/src/roff/nroff/nroff.sh
-+++ b/src/roff/nroff/nroff.sh
+Index: groff/src/roff/nroff/nroff.sh
+===================================================================
+--- groff.orig/src/roff/nroff/nroff.sh
++++ groff/src/roff/nroff/nroff.sh
 @@ -20,6 +20,8 @@
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
@@ -27,4 +27,4 @@ index 523c4531..7ca26b10 100644
 +
  prog="$0"
  
- # Default device.
+ T=

commit c0addd1c828607c0e99cbc50fb150c25005d803e
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sat Feb 25 20:05:40 2023 -0600

    Update build dependencies
    
    Add m4; drop bison, texinfo (closes: #1011666).

diff --git a/debian/changelog b/debian/changelog
index ca8a27d5..a846e216 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,13 @@
-groff (1.22.4-10) UNRELEASED; urgency=medium
+groff (1.23.0~rc3-1) experimental; urgency=medium
 
+  [ G. Branden Robinson ]
+  * debian/control: Add build-dependency on m4.  Drop build-deps on bison and
+    texinfo (closes: #1011666).
+
+  [ Colin Watson ]
   * Set upstream metadata fields: Repository-Browse.
 
- -- Colin Watson <cjwat...@debian.org>  Mon, 02 Jan 2023 13:38:52 -0000
+ -- G. Branden Robinson <g.branden.robin...@gmail.com>  Sat, 25 Feb 2023 19:59:26 -0600
 
 groff (1.22.4-9) unstable; urgency=medium
 
diff --git a/debian/control b/debian/control
index ed9bb0a8..93fc323e 100644
--- a/debian/control
+++ b/debian/control
@@ -3,8 +3,7 @@ Section: text
 Priority: important
 Maintainer: Colin Watson <cjwat...@debian.org>
 Standards-Version: 3.9.8
-Build-Depends: bison,
-               debhelper-compat (= 13),
+Build-Depends: debhelper-compat (= 13),
                ghostscript,
                gsfonts,
                libuchardet-dev,
@@ -12,11 +11,11 @@ Build-Depends: bison,
                libxaw7-dev,
                libxmu-dev,
                libxt-dev,
+               m4,
                netpbm,
                pkg-config,
                poppler-utils <!nocheck>,
                psutils,
-               texinfo,
                x11proto-core-dev,
 Homepage: https://www.gnu.org/software/groff/
 Vcs-Git: https://salsa.debian.org/debian/groff.git

Attachment: signature.asc
Description: PGP signature

Reply via email to