From a45f19f92b51a13499edd8838b47922705da8676 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 14 Sep 2025 00:56:36 -0400 Subject: [PATCH] fix(cc): remove nil entries in major-mode-remap-defaults Fix: #8499 --- modules/lang/cc/config.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 9a192cd23..7efcc8635 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -36,6 +36,12 @@ This is ignored by ccls.") '((cpp :url "https://github.com/tree-sitter/tree-sitter-cpp" :rev "v0.23.4")))) :config + ;; HACK: cc-mode adds null entries to `major-mode-remap-defaults', which + ;; overrides our tree-sitter remappings, causing the first remap to succeed, + ;; but future remaps to fail. + (dolist (mode '(c-mode c++-mode c-or-c++-mode)) + (cl-callf2 delete (list mode) major-mode-remap-defaults)) + (set-docsets! '(c-mode c-ts-mode) "C") (set-docsets! '(c++-mode c++-ts-mode) "C++" "Boost") (set-electric! '(c-mode c++-mode objc-mode java-mode