1
0
mirror of https://github.com/golang/go synced 2024-09-25 01:20:13 -06:00

misc/emacs: fix godef-jump on Windows.

Fixes #5555.

R=adonovan, dominik.honnef, iant
CC=gobot, golang-dev
https://golang.org/cl/9762045
This commit is contained in:
Charles Lee 2013-06-26 13:59:25 -07:00 committed by Ian Lance Taylor
parent 3ea6c69550
commit d9f5c64f6e

View File

@ -873,16 +873,18 @@ will be commented, otherwise they will be removed completely."
(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))
(error "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