auto-complete / popup-el

Visual Popup Interface Library for Emacs
GNU General Public License v3.0
445 stars 96 forks source link

popup-delete (delete-char -1) will trigger a lot of change event #133

Open jadestrong opened 2 years ago

jadestrong commented 2 years ago

https://github.com/auto-complete/popup-el/blob/e112ef1cc6c86151ea97a0bad49026fbbacc768c/popup.el#L685

I'm not sure if this is popup.el's problem, when I use flycheck-popup-tip and lsp-mode , the flycheck-popup-tip-delete-popup will call popup-delete method, and the (delete-char -1) in the dotimes statement will always trigger a change event, which will alway trigger the lsp-on-change to excute.

I am not sure

popup-delete 4
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
popup-delete 4
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
popup-delete 4
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
popup-delete 4
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change
lsp-on-change
lsp--delay-timer [nil 0 1 0 nil lsp--flush-delayed-changes nil idle 0 nil]
lsp--after-change