[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59626: 29.0.50; [PATCH] comint-fontify-input: Fix field boundary iss
From: |
miha |
Subject: |
bug#59626: 29.0.50; [PATCH] comint-fontify-input: Fix field boundary issue |
Date: |
Sun, 27 Nov 2022 13:22:50 +0100 |
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Sun, 27 Nov 2022 10:23:57 +0100
>> From: miha--- via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>>
>> Please find attached a patch which fixes a minor issue with narrowing to
>> fields during comint input fontification. The issue didn't cause any
>> visible bugs that I know of, I only noticed it during experimentation
>> with tree-sitter integration.
>
> 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.
>> 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.
Thanks, best regards.
signature.asc
Description: PGP signature