> Begin forwarded message: > > From: Yuan Fu > Subject: Re: bug#40338: 27.0.60; c-fill-paragraph and after-change-functions > Date: March 31, 2020 at 11:27:23 AM GMT-4 > To: Noam Postavsky > Cc: 40338@debbugs.gnu.org > > > >> On Mar 30, 2020, at 9:56 PM, Noam Postavsky wrote: >> >> Yuan Fu 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