Emacs' C code is pretty macro heavy. For example, https://github.com/emacs-mirror/emacs/blob/f3e16cbb5258fcbe2969eb48b332b2c629cfb2a6/src/print.c#L112 . I suppose it's a natural inclination for lispers.
Related Posts
I'm experimenting with jj this weekend. It seems pretty nice so far, but the mental model is pretty different from git.
For example, there's no `checkout` command. You do `jj new ABC` to switch to a commit, which creates a new empty commit on top of ABC.
Over a sufficiently long time horizon, all code you write is legacy code.
Today I learnt that Emacs 28 shipped a context-menu-mode! https://oylenshpeegul.gitlab.io/blog/posts/20230129/
This seems quintessentially Emacs: deeply hackable, but building UI features in an order very different to the mainstream.