groff-commit
[Top][All Lists]
Advanced

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

[groff] 01/01: Correctly handle groff_mdoc(7) .Lk arguments starting wit


From: Ingo Schwarze
Subject: [groff] 01/01: Correctly handle groff_mdoc(7) .Lk arguments starting with a dot.
Date: Sat, 12 Jan 2019 11:39:24 -0500 (EST)

schwarze pushed a commit to branch master
in repository groff.

commit 76e4db6e839904d2e2a28b29b483678214598f3b
Author: Ingo Schwarze <address@hidden>
Date:   Sat Jan 12 17:33:40 2019 +0100

    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>.
---
 ChangeLog       | 9 +++++++++
 tmac/doc.tmac-u | 7 ++++---
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index df7dfa7..ffd38da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-01-12  Ingo Schwarze  <address@hidden>
+
+       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.
+
 2018-12-31  Ingo Schwarze  <address@hidden>
 
        * man/groff_diff.7.man: remove two stray .RE macros
diff --git a/tmac/doc.tmac-u b/tmac/doc.tmac-u
index f172fd8..70236c0 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 \&



reply via email to

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