Hi folks, I could use some help from "me" macro package users, as I have no facility with the package myself.
Background: In 2011, tbl grew some Werner wizardry to cope with some me features that were interacting badly with tables. Here's the commit message: commit b69062693d3360efce9d4d63fac337be21e07db7 Author: Werner LEMBERG <w...@gnu.org> Date: Wed Jul 20 18:44:50 2011 +0000 Improve line numbering support in tbl and with me macros. * tmac/e.tmac (n1, n2, TH, PS): Implement it. (@h, @n, @o, @t, @k, )b, (c, (q, )q, (l, )l, (f, @q, PE): Updated. * doc/meref.me: Document changes. * src/preproc/tbl/table.cpp (ROW_START_LINE_REG, ROW_SAVE_LINE_REG, ROW_MAX_LINE_REG, REPEATED_NM_SET_MACRO, REPEATED_NM_SUS_MACRO): New macros. (table::init_output): Define REPEATED_NM_SET_MACRO and REPEATED_NM_SUS_MACRO. (table::print_single_hline, table::print_double_hline, table::define_bottom_macro, table::do_row, table::do_top, table::do_bottom): Updated. * doc/webpage.ms: Updated. Last November, Olle Lögdahl reported a bug in tbl interaction with the .nm request[1]. The details are described below in my own commit messages and includes a root-cause analysis of the problem. I also verified that Werner's change caused the misbehavior reported by Olle; when I "reverted" the patch to table.cpp by commenting out every added line, the bad behavior did not manifest. But just reverting the patch was not a tempting option because (1) Werner knows what he's doing and (2) it would probably regress the problem originally observed. However, I don't know what it was; traffic on this list for July 2011 doesn't reveal anything. So I could use the help of a practiced me(7) user, particularly of the macros noted in Werner's commit above, to verify that my fix has not regressed desirable me(7) behavior. I'd be happy to write a regression test for groff's me(7) macros to maintain ongoing correct functionality; I just need a minimal reproducing case to base it on. If we get one, it would be our very first test for me(7)... At 2021-02-25T01:47:08-0500, G. Branden Robinson wrote: > Update of bug #59812 (project groff): > > Status: Confirmed => Fixed > Assigned to: None => gbranden > Open/Closed: Open => Closed > Planned Release: None => 1.23.0 > > _______________________________________________________ > > Follow-up Comment #4: > > > commit 633de5c27e299ba9421ca8ba298a5bc90e56ff1c (HEAD -> master, > origin/master, origin/HEAD) > Author: G. Branden Robinson <g.branden.robin...@gmail.com> > Date: Thu Feb 25 17:28:43 2021 +1100 > > Fix Savannah #59812. > > Fix bug where having line numbering off but the output line number > register \n[ln] set to a positive value would cause tbl(1) table rows to > spontaneously become numbered. Use new \n[.nm] register to determine > whether line numbering is enabled. > > * src/preproc/tbl/table.cpp (table::init_output, table::do_row, > table::do_bottom): Predicate all conditions on \n[ln] additionally on > \n[.nm]. > > Thanks to Olle Lögdahl for the report. Problem appears to date back to > commit b69062693d3360efce9d4d63fac337be21e07db7, 20 July 2011. > > Fixes <https://savannah.gnu.org/bugs/?59812>. > > commit b80434b3ebaef62fb8951c4b0b7c3de023742f1d > Author: G. Branden Robinson <g.branden.robin...@gmail.com> > Date: Thu Feb 25 15:08:56 2021 +1100 > > Add regression test for Savannah #59812. > > * src/preproc/tbl/tests/cooperate-with-nm-request.sh: Do it. > * src/preproc/tbl/tbl.am (tbl_TEST): Run test. > > Test will fail at this commit. > > commit 8ebfa98ccdaead192ff13232107d2f376f8115a8 > Author: G. Branden Robinson <g.branden.robin...@gmail.com> > Date: Thu Feb 25 09:32:18 2021 +1100 > > Implement new read-only register ".nm". > > It reports the enablement status of output line numbering (caused by the > .nm request) irrespective of the temporary suspension of numbering with > the .nn request. Needed because there was no way to introspect its > state, tbl(1) needs to do so, and the writable line number register > \n[ln] is not a reliable proxy for it. > > * src/roff/troff/env.h: Add get_numbering_nodes(), returning `int`, to > public interface of `environment` class. > * src/roff/troff/env.cpp: Implement get_numbering_nodes(). > > * src/roff/groff/tests/dot-nm_register_works.sh: Test it. > * src/roff/groff/groff.am (groff_TESTS): Run test. > > * doc/groff.texi (Miscellaneous): > * man/groff_diff.7.man (Language/New number registers): > * man/groff.7.man (Registers/Read-only registers): Document it. > > * NEWS: Add item. > > > _______________________________________________________ > > Reply to this item at: > > <https://savannah.gnu.org/bugs/?59812> Regards, Branden [1] https://lists.gnu.org/archive/html/groff/2020-11/msg00103.html
signature.asc
Description: PGP signature