Reviewers: golang-dev1,
Message:
Hello
golan...@googlegroups.com (cc:
dominik...@gmail.com),
I'd like you to review this change to
https://code.google.com/p/go
Description:
go-mode: fix godef-jump on Windows.
Fixes issue 5555.
Please review this at
https://codereview.appspot.com/9762045/
Affected files:
M misc/emacs/go-mode.el
Index: misc/emacs/go-mode.el
===================================================================
--- a/misc/emacs/go-mode.el
+++ b/misc/emacs/go-mode.el
@@ -873,16 +873,18 @@
(defun godef--find-file-line-column (specifier)
"Given a file name in the format of `filename:line:column',
visit FILENAME and go to line LINE and column COLUMN."
- (let* ((components (split-string specifier ":"))
- (line (string-to-number (nth 1 components)))
- (column (string-to-number (nth 2 components))))
- (with-current-buffer (find-file (car components))
- (goto-char (point-min))
- (forward-line (1- line))
- (beginning-of-line)
- (forward-char (1- column))
- (if (buffer-modified-p)
- (message "Buffer is modified, file position might not have been
correct")))))
+ (if (not (string-match "\\(.+\\):\\([0-9]+\\):\\([0-9]+\\)" specifier))
+ (message "Unexpected godef output: %s" specifier)
+ (let ((filename (match-string 1 specifier))
+ (line (string-to-number (match-string 2 specifier)))
+ (column (string-to-number (match-string 3 specifier))))
+ (with-current-buffer (find-file filename)
+ (goto-char (point-min))
+ (forward-line (1- line))
+ (beginning-of-line)
+ (forward-char (1- column))
+ (if (buffer-modified-p)
+ (message "Buffer is modified, file position might not have
been correct"))))))
(defun godef--call (point)
"Call godef, acquiring definition position and expression