]> Cypherpunks repositories - gostls13.git/commitdiff
Fix minor issues with updating go-mode in an empty buffer
authorKevin Ballard <kevin@sb.org>
Wed, 13 Jan 2010 02:32:19 +0000 (13:32 +1100)
committerRob Pike <r@golang.org>
Wed, 13 Jan 2010 02:32:19 +0000 (13:32 +1100)
  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

misc/emacs/go-mode.el

index 8d103d05feadc2d63ba5c059d2f250fd9ce7018d..e27ee7438e8c63b4958507a2217a4009f25e87c4 100644 (file)
@@ -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