Subject: bug#59626: 29.0.50; [PATCH] comint-fontify-input: Fix field boundary issue

From: Eli Zaretskii <[email-masked]>
Date: Sun, 27 Nov 2022 14:27:14 +0200

> From: <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 27 Nov 2022 13:22:50 +0100
> 
> > Thanks.  Do you have a recipe for demonstrating the problem which you are
> > trying to fix?
> 
> Instrument comint input fontification with this diff:
> 
> diff --git a/lisp/comint.el b/lisp/comint.el
> index f47e6089f2..c83da95ad2 100644
> --- a/lisp/comint.el
> +++ b/lisp/comint.el
> @@ -4083,7 +4083,10 @@ comint--fontify-input-fontify-region
>             nil (lambda (beg end)
>                   (unless (get-text-property
>                            beg 'comint--fontify-input-inhibit-fontification)
> -                   (font-lock-fontify-region beg end verbose)))
> +                   (font-lock-fontify-region beg end verbose)
> +                   ;; Output contents of the visible portion of the
> +                   ;; buffer to *Messages*.
> +                   (message "%S" (buffer-substring-no-properties (point-min) (point-max)))))
>             beg end)))
>      (`((jit-lock-bounds ,beg1 . ,_) . (jit-lock-bounds ,_ . ,end1))
>       (setq beg (min beg beg1))
> 
> Now open up an M-x shell and type "date RET" into the buffer to make
> your shell output the current date and an new prompt. Press "C-p C-p
> C-e" to move point to "date" and change it into "datee".
> 
> Open up *Messages* and find the following strings:
> 
> "date"
> 
> "date
> "
> 
> "datee
> Sun Nov 27 01:05:27 PM CET 2022
> ~$ "
> 
> These strings represent the context in which shell fontification was
> performed on the input. The last one includes "Sun Nov 27 01:05:27 PM
> CET 2022\n~$ ", which is a mistake that this patch attempts to fix.
> However, in pretty much all cases, this didn't result in any user
> visible inaccuracies, since shell fontification of a command rarely
> depends on the contents of the lines that follow it.

Thanks, I will study this.

> >> Not that my copyright paperwork renewal is currently in progress, but I
> >> hope that the number of lines in this patch fall below the threshold.
> >
> > Since when your previous assignment became outdated?  I need to know that to
> > make sure the cumulative amount of changes we already received from you
> > doesn't exceed the limit.
> 
> 24. of October this year.

Then it's okay to install this without an assignment (when we decide to
install it).