mirror of
https://github.com/golang/go
synced 2024-11-21 20:34:40 -07:00
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
This commit is contained in:
parent
24dafbaa37
commit
ea1a36efcd
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user