aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Ballard <kevin@sb.org>2010-01-13 13:32:19 +1100
committerRob Pike <r@golang.org>2010-01-13 13:32:19 +1100
commitea1a36efcda31c159655be5e8258bb88fb600a1a (patch)
treeec641104e917c5d92c240c96a001b0ee8063cb4f
parent24dafbaa371f11b161ab518b6fbcc023403a67f7 (diff)
downloadgo-ea1a36efcda31c159655be5e8258bb88fb600a1a.tar.gz
go-ea1a36efcda31c159655be5e8258bb88fb600a1a.zip
Fix minor issues with updating go-mode in an empty buffer
Sometimes during editing, when the buffer is emptied (for example, as part of a call to M-x gofmt), an error is raised when remove-text-properties is called. Ensure that these calls use point-max instead of buffer-size to determine their end point. R=golang-dev, r CC=golang-dev https://golang.org/cl/189042
-rw-r--r--misc/emacs/go-mode.el18
1 files changed, 10 insertions, 8 deletions
diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el
index 8d103d05fe..e27ee7438e 100644
--- a/misc/emacs/go-mode.el
+++ b/misc/emacs/go-mode.el
@@ -179,14 +179,16 @@ marked from the beginning up to this point.")
"An after-change-function that clears the comment/string and
nesting caches from the modified point on."
- (when (< b go-mode-mark-cs-end)
- (remove-text-properties b (min go-mode-mark-cs-end (buffer-size)) '(go-mode-cs nil))
- (setq go-mode-mark-cs-end b
- go-mode-mark-cs-state nil))
+ (save-restriction
+ (widen)
+ (when (< b go-mode-mark-cs-end)
+ (remove-text-properties b (min go-mode-mark-cs-end (point-max)) '(go-mode-cs nil))
+ (setq go-mode-mark-cs-end b
+ go-mode-mark-cs-state nil))
- (when (< b go-mode-mark-nesting-end)
- (remove-text-properties b (min go-mode-mark-nesting-end (buffer-size)) '(go-mode-nesting nil))
- (setq go-mode-mark-nesting-end b)))
+ (when (< b go-mode-mark-nesting-end)
+ (remove-text-properties b (min go-mode-mark-nesting-end (point-max)) '(go-mode-nesting nil))
+ (setq go-mode-mark-nesting-end b))))
(defmacro go-mode-parser (&rest body)
"Evaluate BODY in an environment set up for parsers that use
@@ -463,7 +465,7 @@ functions, and some types. It also provides indentation that is
;; Remove stale text properties
(save-restriction
(widen)
- (remove-text-properties 1 (+ (buffer-size) 1)
+ (remove-text-properties 1 (point-max)
'(go-mode-cs nil go-mode-nesting nil)))
;; Reset the syntax mark caches