Package: clisp
Version: 1:2.49.20210628.gitde01f0f-3
Tags: patch, upstream

Dear Debian Common Lisp Team,

the clisp.1 man page contains two instances where the .PP macro is not
preceded by a newline. This results in literal .PP inside the rendered
man page instead of creating a new paragraph with the .PP macro:

Instance one:

       -on-error action
           Establish global error handlers, depending on action:.PP appease
               continuable[17] ERROR[18]s are turned into WARNING[19]s (with
               EXT:APPEASE-CERRORS) other ERROR[18]s are handled in the
               default way

           debug
               ERROR[18]s INVOKE-DEBUGGER[20] (the normal read-eval-print
               loop[2] behavior), disables batch mode imposed by -c, -x, and
               lisp-file,

Instance two:

USING AND EXTENDING CLISP
       Common Lisp[1] is a programmable programming language. —John
       Foderaro[47].PP When CLISP[6] is invoked, the runtime loads the initial
       memory image and outputs the prompt; at which one can start typing
       DEFVAR[48]s, DEFUN[49]s and DEFMACRO[50]s.

The fix is simple, just add a newline in front of the two .PP macros,
as done in the attached patches. The result looks as follows:

Instance one:

       -on-error action
           Establish global error handlers, depending on action:

           appease
               continuable[17] ERROR[18]s are turned into WARNING[19]s (with
               EXT:APPEASE-CERRORS) other ERROR[18]s are handled in the
               default way

           debug
               ERROR[18]s INVOKE-DEBUGGER[20] (the normal read-eval-print
               loop[2] behavior), disables batch mode imposed by -c, -x, and
               lisp-file,

Instance two:

USING AND EXTENDING CLISP
       Common Lisp[1] is a programmable programming language. —John
       Foderaro[47]

       When CLISP[6] is invoked, the runtime loads the initial memory image
       and outputs the prompt; at which one can start typing DEFVAR[48]s,
       DEFUN[49]s and DEFMACRO[50]s.


At the end of last year, I reported this bug to the upstream
CLISP bug tracker at <https://sourceforge.net/p/clisp/bugs/>
as described on the CLISP home page <http://clisp.org>
(identical to <https://clisp.sourceforge.io/> and
<https://www.gnu.org/software/clisp/>), please see
<https://sourceforge.net/p/clisp/bugs/748/>.

I did not receive any feedback there. The bug is still present in the
upstream development repository.

This May, I reported the bug to Ubuntu, because I am actually using
Ubuntu on my personal computer:
<https://bugs.launchpad.net/ubuntu/+source/clisp/+bug/2022970>

There I was asked to report this to Debian:
<https://bugs.launchpad.net/ubuntu/+source/clisp/+bug/2022970/comments/3>

Since upstream did not react to the report and patches for over half a
year, even though there has been some activity in the upstream git repo
during that time, it seems to me as if it might be prudent to add this
fix to the Debian clisp package.

The attached patches are against upstream git sources, but they should
apply to the current Debian snapshot of the sources, too, since it has
been years since the patched upstream files have changed.

The patches can be put into the "debian/patches" directory and appended
to the "debian/patches/series" file.

The first one fixes the two current .PP formatting errors in the clisp
man page.  The second one adds a correction step for the .PP problem to
makemake.in, in order to adjust possible new cases of this problem that
might introduced in the future.  Either one fixes the known problems.
They can both be applied, or just one of them.

Perhaps third time is the charm….

Best regards,
Erik
-- 
The computing scientist’s main challenge is not to get confused by
the complexities of his own making.
                        -- Edsger W. Dijkstra
diff --git a/doc/_clisp.1 b/doc/_clisp.1
index f9ca51022..cdd17f16d 100644
--- a/doc/_clisp.1
+++ b/doc/_clisp.1
@@ -435,7 +435,8 @@ is equivalent to
 \fB\-on\-error\fR \fIaction\fR
 .RS 4
 Establish global error handlers, depending on
-\fIaction\fR:.PP
+\fIaction\fR:
+.PP
 appease
 .RS 4
 \m[blue]\fBcontinuable\fR\m[]\&\s-2\u[17]\d\s+2
@@ -907,7 +908,8 @@ Otherwise, the symbol you are currently typing is completed\&.
 is a
 \fIprogrammable\fR
 programming language\&.
-\(em\m[blue]\fBJohn Foderaro\fR\m[]\&\s-2\u[47]\d\s+2.PP
+\(em\m[blue]\fBJohn Foderaro\fR\m[]\&\s-2\u[47]\d\s+2
+.PP
 When
 \m[blue]\fB\fBCLISP\fR\fR\m[]\&\s-2\u[6]\d\s+2
 is invoked, the
diff --git a/src/makemake.in b/src/makemake.in
index f2f6db977..f8427d761 100644
--- a/src/makemake.in
+++ b/src/makemake.in
@@ -3997,6 +3997,8 @@ for f in $TXT_FILES ; do
   line="${HERE}${g}"
   test $f = clisp.1 -o $f = clisp-link.1 && \
     line=$line" | \$(GREP) -v ${ARGQ1}^ *\$\$${ARGQ1}"
+  test "$f" = clisp.1 && \
+    line=$line" | sed -e 's/\(.\)\.PP/\1\n.PP/p'"
   # *-1.html is for chunked impnotes and does not depend on user hyperspec
   test \( $f = clisp.html -o $f = clisp-link.html \) \
        -a "${HSDEFAULT}" != "${hyperspec}" && \

Reply via email to