[Top][All Lists]

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

Re: Adding olivetti to GNU ELPA

From: Eli Zaretskii
Subject: Re: Adding olivetti to GNU ELPA
Date: Wed, 08 May 2019 09:20:37 +0300

> From: "Paul W. Rankin" <address@hidden>
> Cc: address@hidden
> Date: Wed, 08 May 2019 14:07:24 +1000
> I'm sorry to say but this goes a bit over my head... From Emacs 24 - 27 
> there seem to be three hooks that have shifting/overlapping 
> capabilities. The hooks are:
> - window-configuration-change-hook
> - post-command-hook
> - window-size-change-functions
> When I first created the minor mode, window-configuration-change-hook 
> was enough for all situations I encountered.
> With the introduction of display-line-numbers-mode, Eli suggested I 
> change this to post-command-hook. This seemed not to cover a few window 
> resize events, so I added window-configuration-change-hook back, but 
> I've since received complaints from people experiencing laggy input, but 
> then also errors with Emacs 27.x.
> At this point I've become too confused to find an adequate solution 
> between the Three Hooks so I (and I'm sure those who use the minor mode) 
> would love if someone more familiar with the changing nature of the 
> Three Hooks could provide a solution...

I agree that we have a royal mess with these hooks.  And if you think
the above 3 are all of it, then, unfortunately, they aren't: there are
also pre-redisplay-functions and window-scroll-functions -- those may
be necessary if your mode needs to pay attention to when the screen
space used by line numbers changes, either because the buffer is
scrolled past the point where the line numbers need more or less
digits than before, or because the user customizes the line-number
face in a way which changes the font used by the face, with your mode
already active.

I'd like to try to help you, but I'm not sure I understand the problem
well enough.  Are you asking whether what you did could be simplified
by using less hooks?  Or are you saying that the current code doesn't
yet handle well some situations?  In the latter case, could you please
describe those problematic situations?

> I *think* what is needed is a way to apply the hooks contingent on 
> emacs-major-version <= 24 and <= 25 or 26(?) and <= 27.

Yes, and there's nothing wrong with that for a package that wants to
support multiple Emacs versions.


reply via email to

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