branch: elpa/go-mode
commit 82ebf747f98093badce91ee60090c5bcfc56d0ca
Author: Dominik Honnef <[email protected]>
Commit: Dominik Honnef <[email protected]>

    Don't make ":", "," or "=" electric
    
    Making ":" electric is annoying when typing struct initialisers with keyed
    fields, as those fields will temporarily look like labels. "," was
    electric because ":" was, to reindent a line in a struct initialiser
    after typing the comma. Why "=" was electric eludes me.
---
 NEWS       | 3 ++-
 go-mode.el | 7 ++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index dea5c4f..1498728 100644
--- a/NEWS
+++ b/NEWS
@@ -50,7 +50,8 @@ go-mode-1.4.0 (???)
  * Fix parsing of test output in compilation-mode for new versions of
    Emacs. It's probably broken in older versions now.
 
- * Add support for electric-indent-mode.
+ * Add support for electric-indent-mode and only reindent for closing
+   parens, not colons, commas or equal signs.
 
 go-mode-1.3.1 (2015-07-03)
 
diff --git a/go-mode.el b/go-mode.el
index 091eba6..cde2567 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -428,10 +428,7 @@ For mode=set, all covered lines will have this weight."
   (let ((m (make-sparse-keymap)))
     (unless (boundp 'electric-indent-chars)
         (define-key m "}" #'go-mode-insert-and-indent)
-        (define-key m ")" #'go-mode-insert-and-indent)
-        (define-key m "," #'go-mode-insert-and-indent)
-        (define-key m ":" #'go-mode-insert-and-indent)
-        (define-key m "=" #'go-mode-insert-and-indent))
+        (define-key m ")" #'go-mode-insert-and-indent))
     (define-key m (kbd "C-c C-a") #'go-import-add)
     (define-key m (kbd "C-c C-j") #'godef-jump)
     (define-key m (kbd "C-x 4 C-c C-j") #'godef-jump-other-window)
@@ -969,7 +966,7 @@ with goflymake \(see URL 
`https://github.com/dougm/goflymake'), gocode
     (set (make-local-variable 'font-lock-multiline) t))
 
   (if (boundp 'electric-indent-chars)
-      (set (make-local-variable 'electric-indent-chars) '(?\n ?} ?\) ?, ?: 
?=)))
+      (set (make-local-variable 'electric-indent-chars) '(?\n ?} ?\))))
 
   (set (make-local-variable 'go-dangling-cache) (make-hash-table :test 'eql))
   (add-hook 'before-change-functions (lambda (x y) (setq go-dangling-cache 
(make-hash-table :test 'eql))) t t)

Reply via email to