 (require 'ring)
 (require 'url)
 
-
-;; TODO remove this function when we remove emacs 23 support
-(defmacro go--has-syntax-propertize-p ()
-  (boundp 'syntax-propertize-function))
 
 (defun go--delete-whole-line (&optional arg)
   "Delete the current line without putting it in the `kill-ring'.

        (t
         (delete-region (progn (forward-visible-line 0) (point))
                        (progn (forward-visible-line arg) (point))))))

;; TODO remove when we get rid of emacs 23 support
;; GNU Emacs 24 has prog-mode, older GNU Emacs do not, so
;; copy its definition for those.
(if (not (fboundp 'prog-mode))
    (define-derived-mode prog-mode fundamental-mode "Prog"
      "Major mode for editing source code."
      (set (make-local-variable 'require-final-newline) mode-require-final-newline)
      (set (make-local-variable 'parse-sexp-ignore-comments) t)
      (setq bidi-paragraph-direction 'left-to-right)))

(defun go-goto-opening-parenthesis (&optional _legacy-unused)
  "Move up one level of parentheses."

      (- (point-max)
         (point-min))))

(defun go-previous-line-has-dangling-op-p ()
  "Return non-nil if the current line is a continuation line."
  (let* ((cur-line (line-number-at-pos))
