Dynamic margin width computation introduced in 1.37 is "slow", and can lead to about 3× slowdowns, which is most noticeable when loading startup files.
Fixes #2649. Probably fixes https://github.com/geany/geany-osx/issues/20 as well.
This PR is mostly FTR and to let @techee check on OSX, there has already been some review and testing (see commit comments and comments starting at https://github.com/geany/geany/issues/2649#issuecomment-774309595). But more reviews & tests are welcome of course. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/2747
-- Commit Summary --
* Avoid redundant margin computation when creating a new Scintilla widget * Aggressively cache line height for computing margin sizes * Use plain comparison instead of naive hashing
-- File Changes --
M src/editor.c (18) M src/sciwrappers.c (39)
-- Patch Links --
https://github.com/geany/geany/pull/2747.patch https://github.com/geany/geany/pull/2747.diff