                           (substatement-open . 0)
                           (substatement-label . 0)
                           (label . 0)
-                          (statement-cont . +)))))
+                          (statement-cont . +)))
+      (c-cleanup-list  . (brace-else-brace
+                          brace-elseif-brace
+                          brace-catch-brace
+                          list-close-comma
+                          defun-close-semi
+                          empty-defun-braces
+                          scope-operator
+                          compact-empty-funcall))))
 
   (defconst user/webkit-style
     '((c-basic-offset . 4)

                                        (access-label . (after))
                                        (access-key . (after))
                                        (member-init-intro . (after))))
      (c-cleanup-list                . (scope-operator
                                        list-close-comma
                                        defun-close-semi
                                        compact-empty-funcall))
      (c-offsets-alist               . ((arglist-close           .  4)
                                        (label                   . -4)
                                        (access-label            . -4)

                      (join-line -1)))))
            (error nil))))))

  (defun user/cleanup-empty-lines (orig-func &rest args)
    (when (eq last-input-event ?})
      (save-mark-and-excursion
        (when (looking-at-p "\\([[:space:]]*\n\\)+")
          (delete-horizontal-space)
          (delete-blank-lines)

          (when (looking-at-p "^[[:space:]]*\n")
            (kill-line)))))

    (apply orig-func args))

  :ghook ('c-mode-common-hook #'user/c-mode-common-hook)

  :custom
