From 25158c76b277cc2787c86c031cfdb5df65efa73f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 17 Nov 2013 21:01:34 -0500 Subject: [PATCH] * lisp/electric.el (electric-indent-mode-map): Remove. (electric-indent-mode): Change the global-map instead. Fixes: debbugs:15915 --- lisp/ChangeLog | 6 +++++- lisp/electric.el | 16 ++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e2d1747795c..f0ea7a93526 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,10 @@ 2013-11-18 Stefan Monnier - * textmodes/text-mode.el (paragraph-indent-minor-mode): Use add-function. + * electric.el (electric-indent-mode-map): Remove. + (electric-indent-mode): Change the global-map instead (bug#15915). + + * textmodes/text-mode.el (paragraph-indent-minor-mode): + Use add-function. 2013-11-17 Stefan Monnier diff --git a/lisp/electric.el b/lisp/electric.el index bb93a1615a7..04d0bd3e935 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -273,12 +273,6 @@ mode set `electric-indent-inhibit', but this can be used as a workaround.") (let ((electric-indent-mode nil)) (newline arg 'interactive))) -(defvar electric-indent-mode-map - (let ((map (make-sparse-keymap))) - (define-key map [?\C-j] 'electric-indent-just-newline) - map) - "Keymap used for `electric-mode-mode'.") - ;;;###autoload (define-minor-mode electric-indent-mode "Toggle on-the-fly reindentation (Electric Indent mode). @@ -291,8 +285,14 @@ the hook `electric-indent-functions' returns non-nil, or you insert a character from `electric-indent-chars'." :global t :group 'electricity (if (not electric-indent-mode) - (remove-hook 'post-self-insert-hook - #'electric-indent-post-self-insert-function) + (progn + (when (eq (lookup-key global-map [?\C-j]) + 'electric-indent-just-newline) + (define-key global-map [?\C-j] 'newline-and-indent)) + (remove-hook 'post-self-insert-hook + #'electric-indent-post-self-insert-function)) + (when (eq (lookup-key global-map [?\C-j]) 'newline-and-indent) + (define-key global-map [?\C-j] 'electric-indent-just-newline)) ;; post-self-insert-hooks interact in non-trivial ways. ;; It turns out that electric-indent-mode generally works better if run ;; late, but still before blink-paren. -- 2.39.2