Subject: Re: bug#26328: 26.0.50; checkdoc action for join lines drops final "

From: Alex Branham <[email-masked]>
Date: Thu, 15 Aug 2019 18:13:09 -0500

tags 26328 + patch
quit

On Mon 29 Jul 2019 at 13:09, Lars Ingebrigtsen <[email-masked]> wrote:

> Noam Postavsky <[email-masked]> writes:
>
>> AFAICT, both proposed patches will do the wrong thing for this case:
>>
>>     (defun foo ()
>>       "Bla bla
>>     bla bla.  More words
>>     bla bla bla.")
>
> Yup.  It's rather unclear what that code is attempting to do...

How about we just use delete-indentation along with the
already-calculate position p that we just asked the user about? Patch
attached.

Thanks,
Alex

>From 41c09cedd36cea604bd6a1ea20dafdc44ce31da0 Mon Sep 17 00:00:00 2001
From: Alex Branham <[email-masked]>
Date: Thu, 15 Aug 2019 18:04:33 -0500
Subject: [PATCH] Fix checkdoc incorrectly joining lines

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Use delete-indentation rather than delete-region.

Bug#26328
---
 lisp/emacs-lisp/checkdoc.el | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 830743f5f8..9e7291ba21 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1494,16 +1494,13 @@ checkdoc-this-string-valid-engine
 	       (if (and (re-search-forward "[.!?:\"]\\([ \t\n]+\\|\"\\)"
 					   (line-end-position) t)
 			(< (current-column) numc))
-		   (if (checkdoc-autofix-ask-replace
-			p (1+ p)
-			"1st line not a complete sentence.  Join these lines? "
-			" " t)
-		       (progn
-			 ;; They said yes.  We have more fill work to do...
-			 (goto-char (match-beginning 1))
-			 (delete-region (point) (match-end 1))
-			 (insert "\n")
-			 (setq msg nil))))))
+		   (when (checkdoc-autofix-ask-replace
+		          p (1+ p)
+		          "1st line not a complete sentence.  Join these lines? "
+		          " " t)
+		     ;; They said yes.  We have more fill work to do...
+		     (delete-indentation nil p (1+ p))
+		     (setq msg nil)))))
 	   (if msg
 	       (checkdoc-create-error msg s (save-excursion
 					      (goto-char s)
-- 
2.22.0