-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reverting Room List Causes Mode Reinitialization #146
Comments
Thanks. First, please note that v0.8.3 is the version currently on ELPA. So if you could, please test that version first. If the problem still happens, please try this branch: https://github.com/alphapapa/ement.el/compare/wip/146 |
Okay, I'm on 0.9.1 now and I'll see abotu reproducing it. |
I can confirm the callpath still exists as of 0.9.2:
|
Did you try the branch I pushed? |
Which branch? From the other issue? |
The one I linked in this comment: #146 (comment) |
Woow, I'm super blind. My bad. I'll check it out tomorrow. |
Yeah, that seems to do the trick. |
Ok, I'll push this change to master and let it mellow for a while. Thanks. |
So, IIUC, what's happening is that, in some users' configs, they have many global minor modes activated (or certain ones which are slow to initialize), and when the room list is updated and the major mode is reinitialized, these global modes are reinitialized, which the user perceives as Emacs blocking. Alternatively (or together with that), there's an issue in Emacs's I'm guessing that this is particular to user configuration, because I've never experienced this problem in my usage; the room list buffer updates so quickly that no blocking is perceptible. Nevertheless, as was said, it shouldn't be necessary for the room list's major mode to be reinitialized when the buffer is updated, so the change now on master should solve the problem. User feedback on this change would be appreciated (e.g. @sielicki) so it can be confirmed to work well before tagging the next release. Thanks. |
Apologies for being unable to test this for you prior to the release, but I have noticed that this is improved after picking up 0.10 |
Thanks. |
While investigating an issue with UI pauses while Ement is running, I found that the proximate cause is the sync callback reverting the room list. This revert runs
ement-room-list-mode
again, which calls a bunch of other mode initialization things.From what I can tell, the root cause of the slowness is
add-hook
sorting based on a depth list which has a lot of entries, which is its own problem, but alphapapa says that the revert shouldn't be reinitializing the mode anyway and that I should file an issue.Here's a bit of the profile I captured, demonstrating the codepath:
This is with ement 0.8.1 via ELPA.
The text was updated successfully, but these errors were encountered: