-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog
18665 lines (13975 loc) · 721 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2023-06-21 G. Branden Robinson <[email protected]>
[ms]: Offer advice to users of PDF who want a table of contents
at the front of the document.
* doc/groff.texi (ms Document Structure): Move mention of
pdfjam(1) from here...
(ms TOC): ...to here, and identify alternatives, including
gropdf(1)'s `pdfswitchtopage` macro.
* doc/ms.ms (General structure of an ms document):
(Creating a table of contents): Similar.
Fixes <https://savannah.gnu.org/bugs/?64278>. Thanks to Michał
Kruszewski for the report.
2023-06-01 G. Branden Robinson <[email protected]>
[docs]: Migrate terminology to "scaling unit".
...from "scaling indicator".
Fixes <https://savannah.gnu.org/bugs/?60957>. Thanks to Ingo
Schwarze for the discussion.
2023-05-29 G. Branden Robinson <[email protected]>
[docs]: Revise discussion of fonts.
* doc/groff.texi:
- Rename node/section "Fonts and Symbols" to "Using Fonts". Add
giant new introduction, properly establishing terminology.
- Rename node/section "Changing Fonts" to "Selecting Fonts".
Shift location of `.fn` and `.sty` register documentation.
Rewrite presentation of `ft` and `\f`. Discuss typeface
selection by mounting position and font (or style) name
together; since arguments to these formatter instructions are
always interpreted as mounting positions first, it doesn't
make much sense to me to present them separately, and the new
introduction provides the necessary background. Tighten
example. Document that current and previous font selections
are environment properties.
- Add several concept index entries.
- Do more migration from "symbol" and "glyph" names to "special
character" names.
* man/groff.7 (Using fonts): Introduce new section, synced with
the renamed node from our Texinfo manual above.
Fixes <https://savannah.gnu.org/bugs/?62973>.
2023-05-29 G. Branden Robinson <[email protected]>
[docs]: Revise "Page Layout" material.
* doc/groff.texi:
- Recast generally.
- Describe behavior of `pl` in more detail.
- Migrate terminology from "scaling indicator" to "scaling
unit".
- Stop discussing page margins in the context of the `pl`
request.
- Move concept index entries regarding margins from here to
"Traps".
- Move discussion of `pn` request to precede `tl` request.
- Add concept index entries.
- Recast description of `tl` request. Migrate terminology from
"justification" to "alignment".
- Recast description of `lt` request. Describe behavior in more
detail.
- Recast description of `pc` request.
- Add example of `lt` and `tl` usage. Add forward reference to
"Traps", mentioning page header and footer traps.
Fixes <https://savannah.gnu.org/bugs/?55124>. Thanks to Dave
Kemper for the report.
2023-05-22 Dave Kemper <[email protected]>
[docs]: Correct minor punctuation, grammar, and spelling issues.
Also remove a couple instances of unnecessarily telling the
reader to note something.
* doc/groff.texi:
* man/groff.7.man:
* man/groff_char.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/roff/nroff/nroff.1.man: Do it.
Fixes <https://savannah.gnu.org/bugs/?64230>. [I threw in a few
more fixes. --GBR]
2023-04-22 G. Branden Robinson <[email protected]>
[docs]: Attempt to further clarify end-of-sentence detection.
* doc/groff.texi (Sentences):
* man/roff.7 (Concepts): Do it.
Fixes <https://savannah.gnu.org/bugs/?64091>. Thanks to Ingo
Schwarze and Dave Kemper for the report.
2023-04-14 G. Branden Robinson <[email protected]>
[docs]: Minimally document `tag`, `taga` requests.
* doc/groff.texi (Postprocessor Access):
* man/groff.7 (Request short reference): Do it.
Fixes <https://savannah.gnu.org/bugs/?62695>.
2023-04-11 G. Branden Robinson <[email protected]>
[docs]: Fix typos.
* doc/groff.texi (ms basic information):
* doc/ms.ms (Basic information): Do it.
Fixes <https://savannah.gnu.org/bugs/?64032>. Thanks to an
anonymous reporter.
2023-03-07 G. Branden Robinson <[email protected]>
* doc/groff.texi (Operators in Conditionals):
* man/groff.7.in (Conditional expressions): Clarify how the
output comparison operator is recognized.
Fixes <https://savannah.gnu.org/bugs/?63812>. Thanks to John
Gardner for the report.
2023-03-06 G. Branden Robinson <[email protected]>
Use a better type for symbol hashes.
* bootstrap.conf: Add "stdint" module to ensure that the
`uintptr_t` type is available.
* src/include/symbol.h: Include <stdint.h> for `uintptr_t`.
(class symbol):
(symbol::hash): Change return type from `unsigned long`, which
causes build failures on 64-bit MinGW, to `uintptr_t`.
(symbol::hash): Use a C++ type cast, not a C-style one.
Thanks to Bruno Haible for reporting the build failure in the
64-bit MinGW environment, and for suggesting a remedy.
2023-03-06 G. Branden Robinson <[email protected]>
[groff]: Revise a test to be more revealing.
* src/roff/groff/tests/initialization_is_quiet.sh: Stop using
"set -e". Instead use `fail` variable and `wail` function (and
lowercase names for our internal variables) like many of our
other tests. If the "unset" shell built-in fails, skip the
test (prompted by /usr/xpg4/bin/sh on Solaris). Attempt every
groff locale, with and without compatibility mode initially
enabled, instead of stopping at the first failure. Report
standard error and standard output content separately. Use
groff's `-a` flag to prepare the standard output, for
readability.
* PROBLEMS: Document that this test might be skipped rather than
failing on Solaris. (What actually happens depends on which
shell you run it with, and we advise a variety of approaches.)
Thanks to Bruno Haible for feedback regarding mysterious
failures of this test on GNU/Hurd and NetBSD systems.
2023-03-06 G. Branden Robinson <[email protected]>
* bootstrap.conf (gnulib_modules): Add "stdbool-c99" per
recommendation from Bruno Haible.
Fixes build problem on Solaris using Sun compiler.
2023-03-06 Bruno Haible <[email protected]>
* Makefile.am (AR): Remove hardcoded value. Let Automake use the
value from config.status.
{Fixes build problem on 64-bit AIX. Problem appears to date
back to commit 5fec19d453, 2014-08-15. --GBR}
2023-03-06 Bruno Haible <[email protected]>
* arch/misc/misc.am (shdeps.sed): Rename target from this...
($(SH_DEPS_SED_SCRIPT)): ...to this, to work better with make(1)
on FreeBSD, NetBSD, and AIX.
2023-03-01 G. Branden Robinson <[email protected]>
[build]: Discard now-unneeded Autoconf macro and variables.
* configure.ac: Stop calling `GROFF_POPPLER`. Stop populating
the Automake conditional `HAVE_PDFTOOLS`. Eliminate chatter
about their availability in the configuration report.
* m4/groff.m4 (GROFF_POPPLER): Delete.
2023-03-01 G. Branden Robinson <[email protected]>
* m4/groff.m4 (GROFF_URW_FONTS_NOTICE): Adapt wording of notice
to presence and identity of Ghostscript interpreter command.
Clarify that it is gropdf(1) specifically that traverses the
Ghostscript search path reported by its "-h" option.
Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to
Deri James for the ongoing discussion.
2023-02-25 G. Branden Robinson <[email protected]>
[devpdf]: Revise tests.
* font/devpdf/tests/check-default-foundry.sh.in: Test only the
base 14 fonts of the PDF standard unconditionally. Test the
remainder from the set of 35 commonly distributed only if a
Ghostscript interpreter was detected at configuration time,
because the latter fonts _must_ be embedded in PDF documents.
If they're not present, skip the test rather than failing it.
* font/devpdf/tests/check-urw-foundry.sh.in: Skip test if no URW
fonts detected at configuration time, rather than failing it.
* m4/groff.m4 (GROFF_GROPDF_PROGRAM_NOTICE)
(GROFF_URW_FONTS_NOTICE): Drop warnings of expected test
failures. The tests no longer fail in the anticipated
circumstances.
2023-02-24 G. Branden Robinson <[email protected]>
[devpdf]: Generate tests from template files, so we can populate
the test scripts with information determined at configuration.
The default foundry test depends on $GHOSTSCRIPT, and the URW
foundry test on $urwfontsdir.
* font/devpdf/tests/check-default-foundry.sh:
* font/devpdf/tests/check-urw-foundry.sh: Rename these...
* font/devpdf/tests/check-default-foundry.sh.in:
* font/devpdf/tests/check-urw-foundry.sh.in: ...to these.
* font/devpdf/devpdf.am (font_devpdf_default_test)
(font_devpdf_urw_test): New variables store names of generated
test scripts.
(font/devpdf/tests/check-default-foundry.sh):
(font/devpdf/tests/check-urw-foundry.sh): New targets produce
test scripts from corresponding .in files.
2023-02-24 G. Branden Robinson <[email protected]>
[devpdf]: Trivially refactor. Rename sed-substitutum [Lat.]
from "@GROFF_GHOSTSCRIPT_INTERPRETERS@" to "@GHOSTSCRIPT@" for
clarity and brevity; this is a scalar value containing the
Autoconf-determined name of the Ghostscript interpreter. It is
not the same as the replacement that occurs in contrib/pdfmark.
* font/devpdf/devpdf.am:
* font/devpdf/util/BuildFoundries.pl: Do it.
2023-02-24 G. Branden Robinson <[email protected]>
[build]: Stop scraping output of Ghostscript executable with
"-h" option to attempt to find URW fonts. Fonts that ship with
Ghostscript are regarded as the "default" foundry, not the URW
foundry (though they often ultimately originate with URW fonts).
They are often missing Adobe Font Metric (AFM) files, so it is
impossible for groff to generate font description files for them
at build time.
* m4/groff.m4 (GROFF_URW_FONTS_CHECK): Drop `AC_REQUIRE` on
`GROFF_AWK_PATH`. Drop awk-based scraping of Ghostscript "-h"
output. Annotate need for sync between this list of
characteristic font file names and the one in BuildFoundries.
Thanks to Deri James for the ongoing discussions.
2023-02-24 G. Branden Robinson <[email protected]>
* configure.ac: Drop now-redundant explicit
`GROFF_URW_FONTS_CHECK`. `GROFF_GROPDF_DEPENDENCIES_CHECK`
`AC_REQUIRE`s it as of commit ec001d2a23, 18 February.
2023-02-24 G. Branden Robinson <[email protected]>
* m4/groff.m4 (GROFF_URW_FONTS_CHECK): When looking for a
characteristic URW font by its file name, also check for
"URWGothic-Book" with no file extension. Avoids false negatives
in URW Type 1 font detection when using Ghostscript 9.53.3.
Thanks to Deri James for suggesting the test procedure that
uncovered this flaw.
2023-02-22 G. Branden Robinson <[email protected]>
* Makefile.am (uninstall_groffdirs): Remove "html.mono" and
"html.node" directories corresponding to HTML version of our
Texinfo manual.
* doc/doc.am (uninstall-html): Uninstall HTML version of our
Texinfo manual more reliably.
Fixes a regression introduced by me in commit c2698aade, 6 April
{my claim "we're only deleting files with this command, not
directories" was not correct}.
2023-02-22 G. Branden Robinson <[email protected]>
[doc]: Handle output formats of our Texinfo manual more
consistently.
* doc/doc.am (install-doc): Add dependency on (Automake
standard) target 'install-dvi'.
(maintainer-clean-local): Remove our Texinfo manual in plain
text format.
(install-data-local): Add dependency on new target
'install-txt'.
(install-txt): Install our Texinfo manual in plain text format.
(uninstall-local): Add dependency on new target 'uninstall-txt'.
(uninstall-txt): Uninstall our Texinfo manual in plain text
format.
Thanks to T. Kurt Bond for noticing the discrepancy.
2023-02-22 G. Branden Robinson <[email protected]>
* doc/doc.am (install-pdf-local, install-html-local): Enable
rules to work in out-of-tree builds.
2023-02-22 G. Branden Robinson <[email protected]>
* doc/doc.am (uninstall-hook): Drop dependency on
"uninstall_mom"; this is not the appropriate place to declare
it, and "uninstall_groffdirs" already depends on it in mom's
Automake file.
2023-02-22 G. Branden Robinson <[email protected]>
[tests]: Have more tests report output.
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh: Do it.
2023-02-22 G. Branden Robinson <[email protected]>
[tests]: Prevent failures when $GROFF_ENCODING is set.
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh:
* tmac/tests/an_font-remapping-does-not-affect-titles.sh: Unset
$GROFF_ENCODING before running test because preconv(1) confounds
these tests.
Thanks to Alexis for reporting this problem.
2023-02-21 G. Branden Robinson <[email protected]>
[ms]: Rename test.
* tmac/tests/s_no-excess-space-around-displays.tmac: Rename...
* tmac/tests/s_no-excess-space-around-displays.sh: ...to this.
* tmac/tmac.am (tmac_TESTS): Update.
2023-02-21 G. Branden Robinson <[email protected]>
[gropdf]: Revise tests to run unconditionally, rather than
configuring them away at build time, which can cause a
distribution archive to be incorrectly structured. Update
configuration notices when optional dependencies are absent.
* font/devpdf/devpdf.am (font_devpdf_TESTS): Remove `USE_GROPDF`
and `HAVE_URW_FONTS` conditionals.
* m4/groff.m4 (GROFF_GROPDF_PROGRAM_NOTICE):
(GROFF_URW_FONTS_NOTICE): Warn reader that a gropdf test failure
is to be expected.
Fixes <https://savannah.gnu.org/bugs/?63824> (2/2).
2023-02-21 G. Branden Robinson <[email protected]>
[grohtml]: Revise tests to check for requisite programs at test
time and skip if not found, rather than configuring them away at
build time, which can cause a distribution archive to be
incorrectly structured.
* m4/groff.m4: Annotate requisite program list since we're
violating the DRY principle.
* src/roff/groff/groff.am (groff_TESTS): Populate
unconditionally.
* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for
requisite programs and skip test if any are not found.
Fixes <https://savannah.gnu.org/bugs/?63824> (1/2).
2023-02-21 G. Branden Robinson <[email protected]>
[man pages]: Define page-local `MR` fallback.
[man pages]: Provide page-local fallback definition of new `MR`
macro. I didn't think I was going to have to do this, but the
premier site on the web for viewing Linux man pages, Michael
Kerrisk's man7.org, has been pulling snapshots of the pages
themselves without upgrading the underlying macros, and so man
page cross references set with `MR` are getting lost in its
presentations. (I acknowledge: Ingo Schwarze warned me
something like this could happen.) This definition is intended
as a stopgap measure only. I want to revert this after groff
1.23 is released and has spread to some reasonable degree.
* contrib/chem/chem.1.man:
* contrib/eqn2graph/eqn2graph.1.man:
* contrib/gdiffmk/gdiffmk.1.man:
* contrib/glilypond/glilypond.1.man:
* contrib/gperl/gperl.1.man:
* contrib/gpinyin/gpinyin.1.man:
* contrib/grap2graph/grap2graph.1.man:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/groff_mm.7.man:
* contrib/mm/groff_mmse.7.man:
* contrib/mm/mmroff.1.man:
* contrib/mom/groff_mom.7.man:
* contrib/pdfmark/pdfroff.1.man:
* contrib/pic2graph/pic2graph.1.man:
* contrib/rfc1345/groff_rfc1345.7.man:
* man/groff.7.man:
* man/groff_char.7.man:
* man/groff_diff.7.man:
* man/groff_font.5.man:
* man/groff_out.5.man:
* man/groff_tmac.5.man:
* man/roff.7.man:
* src/devices/grodvi/grodvi.1.man:
* src/devices/grohtml/grohtml.1.man:
* src/devices/grolbp/grolbp.1.man:
* src/devices/grolj4/grolj4.1.man:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/pdfmom.1.man:
* src/devices/grops/grops.1.man:
* src/devices/grotty/grotty.1.man:
* src/devices/xditview/gxditview.1.man:
* src/preproc/eqn/eqn.1.man:
* src/preproc/eqn/neqn.1.man:
* src/preproc/grn/grn.1.man:
* src/preproc/pic/pic.1.man:
* src/preproc/preconv/preconv.1.man:
* src/preproc/refer/refer.1.man:
* src/preproc/soelim/soelim.1.man:
* src/preproc/tbl/tbl.1.man:
* src/roff/groff/groff.1.man:
* src/roff/nroff/nroff.1.man:
* src/roff/troff/troff.1.man:
* src/utils/addftinfo/addftinfo.1.man:
* src/utils/afmtodit/afmtodit.1.man:
* src/utils/grog/grog.1.man:
* src/utils/hpftodit/hpftodit.1.man:
* src/utils/indxbib/indxbib.1.man:
* src/utils/lkbib/lkbib.1.man:
* src/utils/lookbib/lookbib.1.man:
* src/utils/pfbtops/pfbtops.1.man:
* src/utils/tfmtodit/tfmtodit.1.man:
* src/utils/xtotroff/xtotroff.1.man:
* tmac/groff_man.7.man.in:
* tmac/groff_me.7.man:
* tmac/groff_ms.7.man:
* tmac/groff_trace.7.man:
* tmac/groff_www.7.man: Do it.
Fixes <https://savannah.gnu.org/bugs/?63825>. Thanks greatly to
Alexis for identifying an issue with mandoc(1)'s handling of an
earlier iteration of this fallback, and to John Gardner for
identifying a method of detecting mandoc as the renderer at
formatting time.
2023-02-20 G. Branden Robinson <[email protected]>
* tmac/tests/an_TS-do-not-keep-tables-when-cR-set.sh: Improve
portability of script by using shell constructs instead of the
nonstandard GNU coreutils 'seq' utility. Resolves test failure
on Solaris 10.
* HACKING: Document this problem.
2023-02-20 G. Branden Robinson <[email protected]>
* m4/groff.m4 (GROFF_MAKE_DEFINES_RM): Test the make(1) in the
environment variable $MAKE if defined, not a literal "make".
Required on (some) Solaris 10 configurations where traditional
make(1) is not installed but GNU make is installed as "gmake".
2023-02-19 G. Branden Robinson <[email protected]>
* tmac/tests/latin2_works.sh: Fix missing backslash in printf.
Solaris printf(1) was sensitive to this error; macOS and GNU
printf were not. Fixes a test failure on Solaris 11.
2023-02-19 G. Branden Robinson <[email protected]>
* src/roff/groff/tests/regression_savannah_58153.sh: Improve
portability. Avoid the unpredictability of implementations when
putting backslashes inside a groff-piped printf shell command
inside a here document inside a command substitution by changing
the groff escape character to something meaningless to the shell
and to printf ('@'). Fixes a test failure on Solaris 11.
2023-02-18 G. Branden Robinson <[email protected]>
* font/devpdf/Foundry.in: Recognize URW foundry replacements for
Helvetica Bold-Oblique and Helvetica Oblique under the file
names "NimbusSans-BoldItalic.t1" and "NimbusSans-Italic.t1",
respectively.
2023-02-18 G. Branden Robinson <[email protected]>
* doc/doc.am (uninstall-pdf): Clean more fastidiously; try to
remove the configured `pdfdocdir` in the event it is empty, but
do not fail if it isn't. (It can be a directory shared with
other groff components; we don't know in what order the
uninstall targets will serialize, but the last one run should
succeed.)
2023-02-18 G. Branden Robinson <[email protected]>
[build]: Detangle "pdfroff" and "gropdf" configuration (2/2).
* m4/groff.m4: Give pdfroff its own Autoconf macros to handle
dependency checking, build objectives, and user notice.
(GROFF_PDFROFF_DEPENDENCIES_CHECK): New macro requires
`GROFF_AWK_PATH` and `GROFF_GHOSTSCRIPT_PATH`, determines
whether pdfroff can be used at build time, and (if not)
constructs part of message to be shown to user explaining why.
(GROFF_PDFROFF_PROGRAM_NOTICE): New macro requires
`GROFF_PDFROFF_DEPENDENCIES_CHECK` and emits message if needed.
(GROFF_GHOSTSCRIPT_AVAILABILITY_NOTICE): Drop mention of impact
on pdfroff since its dedicated notice covers this now.
* configure.ac: Call the new macros at appropriate times.
Produce a new Automake macro, `USE_PDFROFF`, to replace
inapposite use of `USE_GROPDF` in pdfmark.am.
* contrib/pdfmark/pdfmark.am: Use `USE_PDFROFF` instead of
`USE_GROPDF`.
2023-02-18 G. Branden Robinson <[email protected]>
[build]: Detangle "pdfroff" and "gropdf" configuration (1/2).
* m4/groff.m4 (GROFF_GROPDF_DEPENDENCIES_CHECK): Add
`AC_REQUIRE`ment on `GROFF_URW_FONTS_CHECK`. Per discussion
with Deri James, if _either_ Ghostscript or the URW fonts are
avilable, gropdf will be fully functional, consequent to commit
d5515, 22 June. Drop dependency on awk; it is used only at
configuration time (in an Autoconf macro) and since Savannah
#62775 was resolved (19 September), it has not been strictly
necessary. (It is useful for searching more locations for URW
fonts, but several others are searched even if it is absent.)
Stop populating notice text here, instead moving it...
(GROFF_GROPDF_PROGRAM_NOTICE): ...here, since it no longer needs
to be dynamically constructed.
Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to
Deri James for the continued discussion.
2023-02-18 G. Branden Robinson <[email protected]>
[build]: Rename `GROFF_CHECK_GROPDF_PROGRAMS` macro to
`GROFF_GROPDF_DEPENDENCIES_CHECK` to generalize for greater
accuracy in forthcoming change.
* configure.ac:
* m4/groff.m4: Do it.
2023-02-18 G. Branden Robinson <[email protected]>
[gropdf]: Don't run automated tests if 'gropdf' will be
operating with reduced function. If neither Ghostscript nor the
URW fonts are available at configuration time, there is no point
testing for successful build-time population of the font
descriptions for the default and URW foundries.
* font/devpdf/devpdf.am (font_devpdf_TESTS) [USE_GROPDF]: Run
"check-default-foundry" only if gropdf is fully functional.
(font_devpdf_TESTS) [USE_GROPDF && HAVE_URW_FONTS]: Run
"check-urw-foundry" only if the URW fonts were found.
Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to
Deri James for the continued discussion.
2023-02-18 G. Branden Robinson <[email protected]>
[gropdf]: Rename tests to more accurately characterize their
purpose.
* font/devpdf/tests/basic-fonts-present.sh:
* font/devpdf/tests/urw-fonts-present.sh: Rename these...
* font/devpdf/tests/check-default-foundry.sh:
* font/devpdf/tests/check-urw-foundry.sh: ...to these.
* font/devpdf/devpdf.am (font_devpdf_TESTS): Reflect rename.
2023-02-18 G. Branden Robinson <[email protected]>
[gropdf]: Revise tests to be foundry-focussed.
* font/devpdf/tests/basic-fonts-present.sh: Stop trying to match
font descriptions in the "devps" directory with ones in
"devpdf"; instead, test whether "BuildFoundries" did its job.
Test for font descriptions corresponding to the full 35
PostScript Level 2 font repertoire, plus groff's "EURO".
* font/devpdf/tests/urw-fonts-present.sh: Drop stale comment and
rename variable for better parallelism with the other test
above.
Continues <https://savannah.gnu.org/bugs/?63808>. Thanks to
Deri James for the continued discussion.
2023-02-18 G. Branden Robinson <[email protected]>
[man]: Tweak fix to Savannah #63768.
* tmac/an.tmac (MR): Ensure `an*url` always has a value,
defaulting to "format 1" (man:page(section)). Resequence the
macOS URL formats to sort the contemporary one before the
others.
* tmac/man.local: Reflect resequencing of integer assignments to
formats. Clarify historicity of annotations.
Continues <https://savannah.gnu.org/bugs/?63768>. Thanks to
John Gardner for further discussion.
2023-02-16 G. Branden Robinson <[email protected]>
[ms]: Port a test to Solaris 11 sed.
* tmac/tests/s_TC-works-with-percent-in-custom-titles.sh: Put
newlines after opening braces in sed scripts. macOS and GNU sed
tolerate their absence, but this sed does not.
* HACKING: Document this problem.
2023-02-16 G. Branden Robinson <[email protected]>
* src/roff/groff/groff.am (groff_TESTS) [!USE_GROHTML]: Don't
test the 'grohtml' driver if we know it won't work.
2023-02-16 G. Branden Robinson <[email protected]>
* src/roff/groff/tests/\
device_control_escapes_express_basic_latin.sh: Use printf(1),
which is often a shell built-in command, more consistently.
Double backslashes intended as literals in the format string,
and single-quote format strings using them. Fixes test failure
seen on Solaris 11 with GNU Bash 4.4 and ksh 93u+ (2012-08-01).
2023-02-15 G. Branden Robinson <[email protected]>
* tmac/tests/an_use-input-traps-correctly.sh: Explicitly test
`SM` and `SB` with 'ps' output device. If one set
GROFF_TYPESETTER=utf8 in the test environment, these test cases
would fail. Thanks to John Gardner for the report.
2023-02-15 G. Branden Robinson <[email protected]>
* configure.ac: Add Automake conditional, `HAVE_GHOSTSCRIPT`, so
that we can populate the list of PDF device font tests
dynamically. Call new macro
`GROFF_GHOSTSCRIPT_AVAILABILITY_NOTICE`. Call
`GROFF_GHOSTSCRIPT_VERSION_NOTICE` after it, but before
`GROFF_URW_FONTS_NOTICE`.
* m4/groff.m4 (GROFF_AWK_NOTICE): New macro produces warning if
no awk could be found. This reduces gropdf functionality, but
so do missing URW fonts, so we report this problem separately.
Report the names under which we sought it, since there's a
configure script option for that.
(GROFF_GHOSTSCRIPT_AVAILABILITY_NOTICE): New macro explains
consequences of missing optional dependency on Ghostscript
program: reduced grohtml functionality, nonfunctional pdfroff.
Report the names under which we sought it, since there's a
configure script option for that.
(GROFF_CHECK_GROPDF_PROGRAMS): Better characterize gropdf's
reduced function, pointing out the ways in which it would be
more useful if the dependencies were met. Also simplify the
computational grammar.
(GROFF_URW_FONTS_NOTICE): Identify 'U' as the foundry name
gropdf uses for the URW fonts. Confirm continuing availability
of most recent URW fonts release; bump date.
* font/devpdf/devpdf.am: Test availability of "basic" (PDF base
14) fonts (plus groff's "EURO") if either Ghostscript or URW
fonts are available. Test availability of URW fonts (35) only
if Ghostscript _and_ the URW fonts were found at configuration
time.
Fixes <https://savannah.gnu.org/bugs/?63808>. Thanks to Deri
James for the report and extremely helpful pseudocode.
2023-02-15 G. Branden Robinson <[email protected]>
* m4/groff.m4 (GROFF_GHOSTSCRIPT_VERSION_CHECK,
GROFF_URW_FONTS_NOTICE): Add macro dependency on
`GROFF_GHOSTSCRIPT_PATH`, which should have been there already.
(GROFF_GROHTML_PROGRAM_NOTICE): Add macro dependency on
`GROFF_CHECK_GROHTML_PROGRAMS`, which should have been there
already.
(GROFF_CHECK_GROHTML_PROGRAMS, GROFF_PNMTOOLS_CAN_BE_QUIET):
Move `AC_REQUIRE` expansions to precede shell variable
assignments (after checking that the required macros don't
clobber the assignments we're making).
2023-02-15 G. Branden Robinson <[email protected]>
* font/devpdf/tests/basic-fonts-present.sh: Revise test again,
per feedback from Deri James. Even without Ghostscript or URW
fonts available, gropdf can generate valid PDF documents; it
simply can't embed fonts in general (without further
arrangements made on the host system), which means it is
restricted to the PDF base 14 fonts. That's enough for many
purposes, including generating our compiled man pages document
{with minor degradations to the typeface lists in gropdf(1) and
grops(1)}. Drop the 'gs' command check, which also didn't check
for the name of the Ghostscript interpreter determined by the
"configure" script. Replace dynamically generated font list
with a static one (the base 14 fonts plus groff's EURO).
2023-02-13 G. Branden Robinson <[email protected]>
* font/devpdf/tests/basic-fonts-present.sh: Revise test.
Improve explanation of why we're looking for the gs(1) command
in a font availability test. Prefix diagnostic output with name
of test script. Perform a search for the 'ps' device font
descriptions that will work in more build scenarios (i.e., don't
assume an out-of-tree build taking place in an immediate
subdirectory of the source). Distinguish failure to find the
font descriptions from a failure to locate the 'gs' command,
skipping the test in both scenarios. Reduce noise in output.
* m4/groff.m4 (GROFF_CHECK_GROPDF_PROGRAMS): Revise warning
issued when awk and Ghostscript are unavailable; gropdf will not
be completely inoperative. Characterize its reduced function.
Thanks to Deri James in <https://lists.gnu.org/archive/html/\
groff-commit/2023-02/msg00089.html> for prompting me to take a
another look at this.
2023-02-13 G. Branden Robinson <[email protected]>
* tmac/tests/latin2_works.sh:
* tmac/tests/latin5_works.sh:
* tmac/tests/latin9_works.sh: Port to work around macOS's
apparently POSIX non-conforming 'od' command. Use single-byte
octal output format instead of "character", and update test
expectations accordingly. Apparently gratuitously, macOS also
puts more spaces after the octal address field when using this
output format.
* HACKING: Document, and elaborate upon, this problem.
2023-02-13 G. Branden Robinson <[email protected]>
[mdoc]: Port a test to work with macOS sed.
* tmac/tests/doc_heading-font-remapping-works.sh: Put semicolons
between commands and closing braces in sed script. Put each of
multiple closing braces on a separate input line, because macOS
doesn't accept them otherwise. Resolves test failure observed
on macOS.
* HACKING: Document the closing brace sequence problem.
2023-02-13 G. Branden Robinson <[email protected]>
[man]: Port a test to work with macOS sed.
* tmac/tests/an_TS-adds-no-vertical-space.sh: Put semicolons
between commands and closing braces in sed script. Separate
command stream into multiple '-e' expressions, breaking them
after branch and label commands. Resolves test failure observed
on macOS.
* HACKING: Document the above problems.
2023-02-13 G. Branden Robinson <[email protected]>
* src/roff/groff/tests/\
some_escapes_accept_newline_delimiters.sh: Weaken regexes in two
test cases to accommodate excessive output from macOS's 'od'
command. Resolves test failure seen on macOS.
* HACKING: Add section "Writing Tests" and document the above
since this is the second time I've cracked my shin on this.
2023-02-13 G. Branden Robinson <[email protected]>
* font/devpdf/tests/basic-fonts-present.sh: Skip test if 'gs'
command not available. The test is to ensure that gropdf will
produce sound documents using the base fonts from PostScript,
but since gropdf requires Ghostscript to do this (as noted in
our "./configure" messages), it makes no sense to validate font
availability if the program is absent. Resolves test failure
seen on macOS with minimal dependencies installed.
2023-02-12 G. Branden Robinson <[email protected]>
* doc/groff.texi (Manipulating Filling and Adjustment): Say more
about the consequences of a break.
Fixes <https://savannah.gnu.org/bugs/?63777>. Thanks to Dave
Kemper for the report.
2023-02-12 G. Branden Robinson <[email protected]>
[docs]: Re-re-christen 'ESCAPE_AMPERSAND' ('\&'). Now call it a
{non-transparent} "dummy character". Also rechristen
'ESCAPE_RIGHT_PARENTHESIS', ('\)') as the "transparent dummy
character"; it has no impact on sentence-ending detection.
* doc/groff.texi:
* doc/meref.me.in:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/preproc/refer/refer.1.man:
* tmac/groff_man.7.man.in: Do it.
Fixes <https://savannah.gnu.org/bugs/?62816>. Thanks to Dave
Kemper for the report and to the groff mailing list for the
vigorous discussion. I don't expect my solution to please
everyone.
2023-02-11 G. Branden Robinson <[email protected]>
* tmac/an.tmac: Add internal register `an*MR-URL-format` to
select from a few known formats of man page hyperlink. There
are three known on macOS, and one used everywhere else.
* tmac/man.local: Document this feature so macOS users can enjoy
the OSC 8 hyperlink feature if their terminal application
supports it.
I hope that this feature will be a temporary measure while macOS
implements support for the man page URL format used everywhere
else in the world.
Fixes <https://savannah.gnu.org/bugs/?63768>. Thanks to John
Gardner for the report, research, consultation, and testing.
2023-02-11 Deri James <[email protected]>
[BuildFoundries]: Fails if neither ghostcript nor URW fonts
are installed.
* font/devpdf/util/BuildFoundries.pl: When the change to hold
paths in an array, rather than a delimited string (see commit
4ae4aeb6555f4f16c28fcb03eb1f56577826054c), the FindGSpath
subroutine should return a pointer to an empty array when the
call to ghostscript fails, rather than return an empty string,
as was done previously.
See <https://lists.gnu.org/archive/html/groff/2023-02/\
msg00042.html>; thanks to Bruno Haible for the report.
2023-02-09 G. Branden Robinson <[email protected]>
Switch to using system's assert.h header file. It is futile to
attempt to preserve compatibility with ISO C90 systems by
providing a bespoke predicate-reporting assert() (a C99 feature)
when gnulib, which we require, itself demands C99. This ensures
that `static_assert` remains defined so that gnulib can use it.
Thanks to Bruno Haible for the consultation.
<https://lists.gnu.org/archive/html/groff/2023-02/msg00034.html>
* src/include/assert.h: Delete.
* src/devices/grodvi/dvi.cpp:
* src/devices/grolbp/lbp.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Respell "assert.h" inclusion
with angle brackets instead of quotation marks.
Fixes <https://savannah.gnu.org/bugs/?63078>.
2023-02-09 G. Branden Robinson <[email protected]>
* src/roff/troff/input.cpp (token::next): Use correct kind of
null object in comparison. Fixes latent bug that would be
exposed if we were to migrate from zero literals to `nullptr`.
2023-02-09 Deri James <[email protected]>
[gropdf] Parse multiple entries in 'papersize' as specified in
the groff_font man page. Reported by Ben Wong and fix based on
his patch, thanks.
* src/devices/gropdf/gropdf.pl: Parse papersize string for
possible multiple (space separated) entries. First valid entry
wins.
Fixes https://savannah.gnu.org/bugs/?63757
2023-02-04 G. Branden Robinson <[email protected]>
Correct numerous typos and solecisms throughout the source tree.
* ChangeLog:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.121:
* ChangeLog.122:
* Makefile.am:
* NEWS:
* PROBLEMS:
* README:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/glilypond/README.txt:
* contrib/glilypond/glilypond.pl:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/ChangeLog:
* contrib/mm/m.tmac:
* contrib/pdfmark/pdfmark.ms:
* doc/automake.mom:
* doc/groff.texi:
* doc/me-revisions:
* doc/webpage.ms:
* m4/lib-link.m4:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/devices/grohtml/post-html.cpp:
* src/devices/grolbp/lbp.h:
* src/devices/gropdf/TODO:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/gropdf.pl:
* src/devices/xditview/ChangeLog:
* src/devices/xditview/xditview.c:
* src/libs/libdriver/input.cpp:
* src/libs/libgroff/glyphuni.cpp:
* src/preproc/eqn/eqn.1.man:
* src/preproc/grn/gprint.h:
* src/preproc/grn/main.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/tbl/table.cpp:
* src/roff/groff/pipeline.c:
* src/roff/groff/tests/substring_works.sh:
* src/roff/groff/tests/
use_point_size_escape_with_single_digit_arg.sh:
* src/roff/troff/div.cpp:
* src/roff/troff/input.cpp:
* src/roff/troff/troff.1.man:
* src/utils/grog/grog.pl:
* src/utils/indxbib/indxbib.cpp:
* src/utils/tfmtodit/tfmtodit.1.man:
* tmac/doc-old.tmac:
* tmac/doc.tmac:
* tmac/groff_man.7.man.in:
* tmac/hyphen.fr: Do it.
Fixes <https://savannah.gnu.org/bugs/?63589>. Thanks to Bjarni
Ingi Gislason for the report.
2023-02-04 G. Branden Robinson <[email protected]>
[tbl]: Drop XFAIL test. It was written with an unclear
understanding of how DWB (AT&T) and Heirloom Doctools troff
behaved. The individual checks might come back, modified.
* src/preproc/tbl/tests/table-lacks-spurious-top-border.sh:
Delete.
* src/preproc/tbl/tbl.am (tbl_TESTS): Drop it.
(tbl_XFAIL_TESTS, XFAIL_TESTS): Drop now empty assignment and
unnecessary update, respectively.
2023-02-04 Bertrand Garrigues <[email protected]>
Update gnulib submodule