bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#40338: Fwd: bug#40338: 27.0.60; c-fill-paragraph and after-change-fu


From: Yuan Fu
Subject: bug#40338: Fwd: bug#40338: 27.0.60; c-fill-paragraph and after-change-functions
Date: Tue, 31 Mar 2020 13:09:18 -0400



Begin forwarded message:

From: Yuan Fu <casouri@gmail.com>
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 <npostavs@gmail.com>



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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]