Open pcompassion opened 1 year ago
so smartparens-c.el has
(define-key smartparens-strict-mode-map [remap c-electric-delete-forward] 'sp-delete-char)
(define-key smartparens-strict-mode-map [remap c-electric-backspace] 'sp-backward-delete-char)
Does this not override other major mode map?
Expected behavior
want to keep python-mode's bindings because it's more python specific
Actual behavior
smartparens default bindings override python bindings
Steps to reproduce the problem
activate smartparens for python-mode
Backtraces if necessary (
M-x toggle-debug-on-error
)Environment & version information
The content of the buffer underneath the line was copied to your clipboard. You can also edit it in this buffer and then copy the results manually.
smartparens
version: 20230529.1017major-mode
:python-mode
M-x emacs-version
): GNU Emacs 29.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G9323)) of 2023-08-17in python-mode,
For instance,
C-M-a
is bound to 'python-nav-beginning-of-defunby
(setq-local beginning-of-defun-function #'python-nav-beginning-of-defun)
I want to keep this binding in python mode, (and there are other keys too)
If I want to keep smartparens' default binding in other modes, but want to keep python binding, what should I do?
this is the code I use, it works, but I have to see what bindings are actually there in python-mode first.
I wonder if it'd be possible to make a function that tells smartparens not to override a key if a major mode has defined one of the keys that smartparens is trying to define
Something like,
(sp-respect-major-mode-key 'python-mode)
I could create the function myself (although I'm relatively new to elisp programming), But was wondering if that functionality makese sense and if it's already implemented.
Because overriding python-mode's
C-M-a
keybinding is a relatively huge deal it seems.