summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gerrand <adg@golang.org>2013-11-13 14:35:13 +1100
committerAndrew Gerrand <adg@golang.org>2013-11-13 14:35:13 +1100
commit4b2350ddabd71481d369f2fc39dd9f584ddb6451 (patch)
tree522d0f955104b514e03859068293903eaaeba42e
parente64ec9687496ee95c8b77819ae33b325c31a247f (diff)
downloadgo-4b2350ddabd71481d369f2fc39dd9f584ddb6451.tar.gz
[release-branch.go1.2] misc/emacs: various cleanups
??? CL 20100043 / 9fe43a708b89 misc/emacs: various cleanups - Use #' for function symbols - Remove unused variables - Use declare-function to shut up byte compiler This is identical to CL 19010044 with one exception: Making sure it doesn't break on Emacs 22.1 R=adonovan, bradfitz, shendaras CC=golang-dev https://codereview.appspot.com/20100043 Committer: Alan Donovan <adonovan@google.com> ??? R=golang-dev CC=golang-dev https://codereview.appspot.com/25750043
-rw-r--r--misc/emacs/go-mode.el51
1 files changed, 27 insertions, 24 deletions
diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el
index 3dfa8e335..75b28ac73 100644
--- a/misc/emacs/go-mode.el
+++ b/misc/emacs/go-mode.el
@@ -41,8 +41,8 @@
(defalias 'go--kill-whole-line
(if (fboundp 'kill-whole-line)
- 'kill-whole-line
- 'kill-entire-line))
+ #'kill-whole-line
+ #'kill-entire-line))
;; Delete the current line without putting it in the kill-ring.
(defun go--delete-whole-line (&optional arg)
@@ -56,12 +56,16 @@
(kill-new (s) ()))
(go--kill-whole-line arg)))
-
+;; declare-function is an empty macro that only byte-compile cares
+;; about. Wrap in always false if to satisfy Emacsen without that
+;; macro.
+(if nil
+ (declare-function go--position-bytes "go-mode" (point)))
;; XEmacs unfortunately does not offer position-bytes. We can fall
;; back to just using (point), but it will be incorrect as soon as
;; multibyte characters are being used.
(if (fboundp 'position-bytes)
- (defalias 'go--position-bytes 'position-bytes)
+ (defalias 'go--position-bytes #'position-bytes)
(defun go--position-bytes (point) point))
(defun go--old-completion-list-style (list)
@@ -279,15 +283,15 @@ For mode=set, all covered lines will have this weight."
(defvar go-mode-map
(let ((m (make-sparse-keymap)))
- (define-key m "}" 'go-mode-insert-and-indent)
- (define-key m ")" 'go-mode-insert-and-indent)
- (define-key m "," 'go-mode-insert-and-indent)
- (define-key m ":" 'go-mode-insert-and-indent)
- (define-key m "=" 'go-mode-insert-and-indent)
- (define-key m (kbd "C-c C-a") 'go-import-add)
- (define-key m (kbd "C-c C-j") 'godef-jump)
- (define-key m (kbd "C-x 4 C-c C-j") 'godef-jump-other-window)
- (define-key m (kbd "C-c C-d") 'godef-describe)
+ (define-key m "}" #'go-mode-insert-and-indent)
+ (define-key m ")" #'go-mode-insert-and-indent)
+ (define-key m "," #'go-mode-insert-and-indent)
+ (define-key m ":" #'go-mode-insert-and-indent)
+ (define-key m "=" #'go-mode-insert-and-indent)
+ (define-key m (kbd "C-c C-a") #'go-import-add)
+ (define-key m (kbd "C-c C-j") #'godef-jump)
+ (define-key m (kbd "C-x 4 C-c C-j") #'godef-jump-other-window)
+ (define-key m (kbd "C-c C-d") #'godef-describe)
m)
"Keymap used by Go mode to implement electric keys.")
@@ -396,7 +400,7 @@ current line will be returned."
(defun go-indentation-at-point ()
(save-excursion
- (let (start-nesting (outindent 0))
+ (let (start-nesting)
(back-to-indentation)
(setq start-nesting (go-paren-level))
@@ -426,7 +430,6 @@ current line will be returned."
(interactive)
(let (indent
shift-amt
- end
(pos (- (point-max) (point)))
(point (point))
(beg (line-beginning-position)))
@@ -517,7 +520,7 @@ consider binding godef-jump to `M-.', which is the default key
for `find-tag':
\(add-hook 'go-mode-hook (lambda ()
- (local-set-key (kbd \"M-.\") 'godef-jump)))
+ (local-set-key (kbd \"M-.\") #'godef-jump)))
Please note that godef is an external dependency. You can install
it with
@@ -537,7 +540,7 @@ recommended that you look at goflymake
'(go--build-font-lock-keywords))
;; Indentation
- (set (make-local-variable 'indent-line-function) 'go-mode-indent-line)
+ (set (make-local-variable 'indent-line-function) #'go-mode-indent-line)
;; Comments
(set (make-local-variable 'comment-start) "// ")
@@ -545,12 +548,12 @@ recommended that you look at goflymake
(set (make-local-variable 'comment-use-syntax) t)
(set (make-local-variable 'comment-start-skip) "\\(//+\\|/\\*+\\)\\s *")
- (set (make-local-variable 'beginning-of-defun-function) 'go-beginning-of-defun)
- (set (make-local-variable 'end-of-defun-function) 'go-end-of-defun)
+ (set (make-local-variable 'beginning-of-defun-function) #'go-beginning-of-defun)
+ (set (make-local-variable 'end-of-defun-function) #'go-end-of-defun)
(set (make-local-variable 'parse-sexp-lookup-properties) t)
(if (boundp 'syntax-propertize-function)
- (set (make-local-variable 'syntax-propertize-function) 'go-propertize-syntax))
+ (set (make-local-variable 'syntax-propertize-function) #'go-propertize-syntax))
(set (make-local-variable 'go-dangling-cache) (make-hash-table :test 'eql))
(add-hook 'before-change-functions (lambda (x y) (setq go-dangling-cache (make-hash-table :test 'eql))) t t)
@@ -904,13 +907,13 @@ If IGNORE-CASE is non-nil, the comparison is case-insensitive."
(mapcar (lambda (file)
(let ((sub (substring file (length pkgdir) -2)))
(unless (or (go--string-prefix-p "obj/" sub) (go--string-prefix-p "tool/" sub))
- (mapconcat 'identity (cdr (split-string sub "/")) "/"))))
+ (mapconcat #'identity (cdr (split-string sub "/")) "/"))))
(if (file-directory-p dir)
(directory-files dir t "\\.a$"))))
(if (file-directory-p pkgdir)
(go--directory-dirs pkgdir)))))
(go-root-and-paths)))
- 'string<))
+ #'string<))
(defun go-unused-imports-lines ()
;; FIXME Technically, -o /dev/null fails in quite some cases (on
@@ -1000,7 +1003,7 @@ description at POINT."
(let ((description (cdr (butlast (godef--call point) 1))))
(if (not description)
(message "No description found for expression at point")
- (message "%s" (mapconcat 'identity description "\n"))))
+ (message "%s" (mapconcat #'identity description "\n"))))
(file-error (message "Could not run godef binary"))))
(defun godef-jump (point &optional other-window)
@@ -1151,6 +1154,6 @@ for."
(go--coverage-make-overlay range (cadr ranges-and-divisor))))
(if (not (eq cur-buffer (current-buffer)))
- (display-buffer (current-buffer) 'display-buffer-reuse-window)))))
+ (display-buffer (current-buffer) #'display-buffer-reuse-window)))))
(provide 'go-mode)