From 4fcdfe1eb61f691facfa6cb2a1fcdc3144854d69 Mon Sep 17 00:00:00 2001 From: Peter Kleiweg Date: Wed, 13 Jun 2012 16:24:25 -0400 Subject: [PATCH] [release-branch.go1] Emacs go-mode: fix Emacs freeze-up when copy/pasting from string or comment. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ««« backport 798239220647 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 »»» --- misc/emacs/go-mode.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el index b2e2d3ab2b5..783d1a8bb59 100644 --- a/misc/emacs/go-mode.el +++ b/misc/emacs/go-mode.el @@ -182,6 +182,10 @@ to and including character (1- go-mode-mark-comment-end)).") 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 @@ functions, and some types. It also provides indentation that is (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)