From: Stefan Monnier Date: Mon, 18 Nov 2013 02:01:34 +0000 (-0500) Subject: * lisp/electric.el (electric-indent-mode-map): Remove. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~795 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=25158c76b277cc2787c86c031cfdb5df65efa73f;p=emacs.git * lisp/electric.el (electric-indent-mode-map): Remove. (electric-indent-mode): Change the global-map instead. Fixes: debbugs:15915 --- 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.