]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/electric.el (electric-indent-mode-map): Remove.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 18 Nov 2013 02:01:34 +0000 (21:01 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 18 Nov 2013 02:01:34 +0000 (21:01 -0500)
(electric-indent-mode): Change the global-map instead.

Fixes: debbugs:15915
lisp/ChangeLog
lisp/electric.el

index e2d1747795c91ff8b9c21a964b978efa74b3d43e..f0ea7a93526a564b75c34b8d625cec2a89127b7b 100644 (file)
@@ -1,6 +1,10 @@
 2013-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * 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  <monnier@iro.umontreal.ca>
 
index bb93a1615a7d8e58f53fb68a2c83d94593ed6bba..04d0bd3e935c3bc5cb244e964d646e2f82a6dc8e 100644 (file)
@@ -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.