-
-
Notifications
You must be signed in to change notification settings - Fork 196
Add support for smooth cursor for emacs 31 #809
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
base: master
Are you sure you want to change the base?
Conversation
|
@mkvoya would you be interested in opening a PR for https://github.com/daviderestivo/homebrew-emacs-head as well :)? |
|
Hey @mkvoya Thanks for PR. Two questions:
As a rule of thumb I try to minimise amount of included patches and I prefer people to contribute to the upstream, so wider audience can enjoy improvements. Besides, practically I lack time and knowledge to support non-trivial patches. |
|
Hi, I'm the original implementor of the idea, and the original patch is in my own Emacs fork (ksqsf/emacsmoe#7). Recently @mkvoya improved it greatly, sent it to me, and we thought it might be a good idea to share it with greater audience.
(Also, to the best of my knowledge, it will be quite difficult to implement it for Linux. Maybe a fun challenge, but the gain does not justify the effort. Personally I think we will not see this any time soon on Linux.)
This is a very valid concern. My suggestion is to apply this patch to Emacs 30 (rather than HEAD), so that the maintenance burden is minimal. Unfortunately, we cannot guarantee timely updates to the patch, either. |
|
The burden of maintaining the patch should not be large, as it involves only code additions, and the patch is quite stable in my nearly two months of daily work. I can maintain the patch if necessary since I am using it myself. By the way, @ksqsf would you please share your email address so that I can list you in the patch's co-authors? |
gmail beginning with justksqsf |
|
Thank you for this contribution - I really appreciate the work you've put into it. I'm genuinely torn on this. I love providing neat features to macOS users, and if upstream won't accept these improvements, it seems natural to offer them through Emacs+. However, my 10 years of experience maintaining this project has taught me what happens to complex patches that remain outside upstream: contributors come and go, patches break, and I simply don't have the capacity nor desire to maintain them indefinitely. On the maintenance burden: Whilst I don't doubt the patch's current quality or stability, two months of testing is unfortunately quite short compared to Emacs's development cycle. Even pinning to Emacs 31 only defers the problem - users will eventually request Emacs 32 support, and at some point the patch will likely break. I've seen this pattern repeatedly; even our minimal no-titlebar patch has broken upstream more than three times over the years. A potential path forwards: I've been thinking about Emacs+ extensibility more broadly (patches like this, plus custom icons), and I'm increasingly convinced we need a proper mechanism for applying local/remote patches. This would let me keep the core formula simple (Homebrew generally discourages excessive options, and I've already implemented several tricks to manage what we have) whilst still supporting community innovations. My proposal: I'll develop a custom wrapper that makes it straightforward to apply additional patches, and then we can document your patch in the README as a community-maintained option. This way, interested users can easily adopt it, but without committing the project to long-term maintenance of code that may not survive upstream changes. What do you think of this approach? |
|
ok, this is what I mean - #851 I have something like a design document that I can share if someone is interested, but the rough idea is pretty simple; implementation will come only after I deal with #783 as both |
|
The mechanism for additional patches is great. Thanks for your invaluable effort! |
The smooth cursor feature adds native cursor movement animation for macOS. The feature extends ksqsf's implementation to support more (if not all) kinds of cursors and cursor blinks.