From: Peter Kleiweg Date: Tue, 29 May 2012 20:30:06 +0000 (-0400) Subject: Emacs go-mode: don't indent the inside of strings. X-Git-Tag: go1.1rc2~3078 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2d1fa08967a6bcb064f7690719ea9638866c7715;p=gostls13.git Emacs go-mode: don't indent the inside of strings. Two fixes for indentation problems: 1. Properly recognize multi-line strings. These start with `, not ". 2. Don't indent a line if the beginning of the line is the end of a multi-line string. This happened for instance when inserting a closing bracket after a multi-line string. R=sameer CC=golang-dev https://golang.org/cl/6157044 --- diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el index 783d1a8bb5..f6ae568229 100644 --- a/misc/emacs/go-mode.el +++ b/misc/emacs/go-mode.el @@ -250,8 +250,8 @@ comment or string." (unless pos (setq pos (point))) - (when (> pos go-mode-mark-cs-end) - (go-mode-mark-cs pos)) + (when (>= pos go-mode-mark-cs-end) + (go-mode-mark-cs (1+ pos))) (get-text-property pos 'go-mode-cs)) (defun go-mode-mark-cs (end) @@ -597,7 +597,7 @@ indented one level." (cond ((and cs (save-excursion (goto-char (car cs)) - (looking-at "\\s\""))) + (looking-at "`"))) ;; Inside a multi-line string. Don't mess with indentation. nil) (cs