     (setq pos (point))
     (beginning-of-line)
     (if (or (looking-at "^[[:word:]]+:") (looking-at "^[[:space:]]*\\(case .+\\|default\\):"))
-        (progn (forward-line -1)
-               (end-of-line))
+        (end-of-line 0)
       (goto-char pos))
     (if (/= start-pos (point))
         (go--backward-irrelevant stop-at-string))

        (if (go-previous-line-has-dangling-op-p)
            (current-indentation)
          (+ (current-indentation) tab-width)))
       ((progn  (= (go-paren-level) 0))
        0)
       ((progn (go-goto-opening-parenthesis) (< (go-paren-level) start-nesting))
        (if (go-previous-line-has-dangling-op-p)

      (setq group "^[{("))
    (while (and (not (bobp))
                (>= (go-paren-level) start-nesting))
      (if (zerop (skip-chars-backward group))
          (if (go-in-string-or-comment-p)
              (go-goto-beginning-of-string-or-comment)
            (backward-char))))))
