From 99bf1c04fb1a91c7b0d5fb3a234d58f2a696c918 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 23 May 2017 21:19:15 +0200 Subject: [PATCH] Don't let derived modes inherit company backends --- modules/completion/company/config.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index b27c2c956..6a8020289 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -8,10 +8,12 @@ (mapconcat #'identity (mapcar #'symbol-name modes) "-")))) (quoted (eq (car-safe backends) 'quote))) ;; TODO more type checks - `(progn - (defun ,def-name () - (require 'company) - (setq-local company-backends (append '((,@backends)) company-backends))) + `(prog1 + (defun ,def-name () + (when (memq major-mode ',modes) + (require 'company) + (unless (member ',backends company-backends) + (setq-local company-backends (append '((,@backends)) company-backends))))) (add-hook! ,modes #',def-name))))