                 (if (go-in-string-p)
                     (go--backward-irrelevant)))
               (if (< (go-paren-level) start-nesting)
-                  (if (go-previous-line-has-opening-parenthesis-p)
-                      (current-indentation)
+                  (progn
                     (if (go-previous-line-has-dangling-op-p)
                         (setq outindent tab-width))
                     (+ (current-indentation) tab-width (- outindent)))

                          (>= (go-paren-level) start-nesting))
                (skip-chars-backward "^[]{}()")
                (backward-char))
              (if (or (go-previous-line-has-dangling-op-p) (go-previous-line-has-opening-parenthesis-p))
                  (- (current-indentation) tab-width)
                (current-indentation)))
          (go--backward-irrelevant t)

    (go--backward-irrelevant t)
    (looking-back go-dangling-operators-regexp)))

(defun go-indentation-at-point (point)
  (save-excursion
    (let (start-nesting (outindent 0))
