diff --git a/layers/+completion/spacemacs-ivy/packages.el b/layers/+completion/spacemacs-ivy/packages.el index 18ce5133e..f161cd710 100644 --- a/layers/+completion/spacemacs-ivy/packages.el +++ b/layers/+completion/spacemacs-ivy/packages.el @@ -157,6 +157,27 @@ that directory." (use-package counsel :config (progn + (defun spacemacs/describe-mode () + "Dummy wrapper to prevent an key binding error from helm. + +By default the emacs leader is M-m, turns out that Helm does this: + + (cl-dolist (k (where-is-internal 'describe-mode global-map)) + (define-key map k 'helm-help)) + +after doing this: + + (define-key map (kbd \"M-m\") 'helm-toggle-all-marks) + +So when Helm is loaded we get the error: + + Key sequence M-m h d m starts with non-prefix key M-m + +To prevent this error we just wrap `describe-mode' to defeat the +Helm hack." + (interactive) + (call-interactively 'describe-mode)) + (spacemacs/set-leader-keys dotspacemacs-command-key 'counsel-M-x ;; files @@ -164,7 +185,7 @@ that directory." "fL" 'counsel-locate ;; help "hdf" 'counsel-describe-function - "hdm" 'describe-mode + "hdm" 'spacemacs/describe-mode "hdv" 'counsel-describe-variable ;; insert "iu" 'counsel-unicode-char