Emacs go-mode: fix Emacs freeze-up when copy/pasting from string or comment.
Fixes #3509.
Fixes #2767.
R=golang-dev, sameer
CC=golang-dev
https://golang.org/cl/6139066
diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el
index b2e2d3a..783d1a8 100644
--- a/misc/emacs/go-mode.el
+++ b/misc/emacs/go-mode.el
@@ -182,6 +182,10 @@
marked from the beginning up to this point.")
(make-variable-buffer-local 'go-mode-mark-nesting-end)
+(defun go-mode-mark-clear-cs (b e l)
+ "An after-change-function that removes the go-mode-cs text property"
+ (remove-text-properties b e '(go-mode-cs)))
+
(defun go-mode-mark-clear-cache (b e)
"A before-change-function that clears the comment/string and
nesting caches from the modified point on."
@@ -709,6 +713,7 @@
(setq go-mode-mark-cs-end 1
go-mode-mark-nesting-end 1)
(add-hook 'before-change-functions #'go-mode-mark-clear-cache nil t)
+ (add-hook 'after-change-functions #'go-mode-mark-clear-cs nil t)
;; Indentation
(set (make-local-variable 'indent-line-function)