[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40338: 27.0.60; c-fill-paragraph and after-change-functions
From: |
Yuan Fu |
Subject: |
bug#40338: 27.0.60; c-fill-paragraph and after-change-functions |
Date: |
Tue, 31 Mar 2020 11:27:23 -0400 |
> On Mar 30, 2020, at 9:56 PM, Noam Postavsky <npostavs@gmail.com> wrote:
>
> Yuan Fu <casouri@gmail.com> writes:
>
>> (defun mytrack-hook (beg end len)
>> (if (> len 0)
>> ;; delete
>> (with-current-buffer trackbuf
>> (delete-region beg (+ beg len)))
>> ;; insert
>> (let ((content (buffer-substring beg end)))
>> (with-current-buffer trackbuf
>> (goto-char beg)
>> (insert content)))))
>
> I'm not very familiar with either eglot or cc-mode, but I can say the
> problem in your example lies with mytrack-hook: there can be kinds of
> changes other than just pure delete or insert (replace, for example).
> It can be fixed like this:
>
> (defun mytrack-hook (beg end len)
> (when (> len 0)
> ;; Delete old text.
> (with-current-buffer "trackbuf"
> (delete-region beg (+ beg len))))
> ;; Insert new text.
> (let ((content (buffer-substring beg end)))
> (with-current-buffer "trackbuf"
> (goto-char beg)
> (insert content))))
>
Thank you. Indeed this works. Maybe the problem is not in c-fill-paragraph.
Yuan