Hey everyone. While cc-mode seems to be a foundation for lots of the major-modes shipped with Emacs, it's also used by third-party packages. For major-modes shipped with Emacs, changes to the core cc-mode functions is not that big of a problem, since they can be changed in tandem with the changes to cc-mode itself. For third party modules (like csharp-mode, which I maintain), changes to cc-mode core-functions are more problematic due to Emacs lacking reliable introspection capabilities. As an example in the Emacs 26 branch c-font-lock-declarators is now declared like this: (defun c-font-lock-declarators (limit list types not-top &optional template- class) ...) While in Emacs 25.3 and earlier it's declared like this: (defun c-font-lock-declarators (limit list types) ...) Basically the number of mandatory parameters has been bumped from 3 to 4, with another optional parameter added. These kinds of changes makes it harder for third party modules to maintain compatibility across Emacs-versions. Wouldn't it be better to make *all *the new parameters optional and thus maintain compatibility? Are there any good reasons not to do so? -- Regards Jostein Kjønigsen jostein@kjonigsen.net 🍵 jostein@gmail.com https://jostein.kjonigsen.net