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.
miniblog.
Related Posts
I'm looking at adding bitwise AND and OR to my programming language. Do I add & and | operators, methods x.and(y) or a library bitwise::and(x, y)?
My inclination is to add infix operators (concise and familiar) but syntax is such precious real estate.