]> Cypherpunks repositories - gostls13.git/commitdiff
misc/emacs: allow godef to work in coverage buffers
authorDominik Honnef <dominik.honnef@gmail.com>
Fri, 16 Aug 2013 04:22:38 +0000 (00:22 -0400)
committerAlan Donovan <adonovan@google.com>
Fri, 16 Aug 2013 04:22:38 +0000 (00:22 -0400)
Jumps to the same file will use the original buffer, not the
coverage buffer. Making it work for the coverage buffer isn't
worth the trouble, especially because it would break as soon as
you jump to a different file and back.

Use error instead of message so it actually terminates

R=adonovan
CC=golang-dev
https://golang.org/cl/13041043

misc/emacs/go-mode.el

index 341c03614e82281d3ba80e9bd48a082db678cff0..5a0048045e56bf1caa153ddfa1e17be10ae9de3a 100644 (file)
@@ -948,13 +948,24 @@ visit FILENAME and go to line LINE and column COLUMN."
   "Call godef, acquiring definition position and expression
 description at POINT."
   (if (go--xemacs-p)
-      (message "godef does not reliably work in XEmacs, expect bad results"))
-  (if (not buffer-file-name)
-      (message "Cannot use godef on a buffer without a file name")
+      (error "godef does not reliably work in XEmacs, expect bad results"))
+  (if (not (buffer-file-name (go--coverage-origin-buffer)))
+      (error "Cannot use godef on a buffer without a file name")
     (let ((outbuf (get-buffer-create "*godef*")))
       (with-current-buffer outbuf
         (erase-buffer))
-      (call-process-region (point-min) (point-max) "godef" nil outbuf nil "-i" "-t" "-f" (file-truename buffer-file-name) "-o" (number-to-string (go--position-bytes (point))))
+      (call-process-region (point-min)
+                           (point-max)
+                           "godef"
+                           nil
+                           outbuf
+                           nil
+                           "-i"
+                           "-t"
+                           "-f"
+                           (file-truename (buffer-file-name (go--coverage-origin-buffer)))
+                           "-o"
+                           (number-to-string (go--position-bytes (point))))
       (with-current-buffer outbuf
         (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n")))))