c-electric-semi&comma is an interactive compiled Lisp function in `cc-cmds.el'.

(c-electric-semi&comma ARG)

Insert a comma or semicolon.

If `c-electric-flag' is non-nil, point isn't inside a literal and a
numeric ARG hasn't been supplied, the command performs several electric

(a) When the auto-newline feature is turned on (indicated by "/la" on
the mode line) a newline might be inserted. See the variable
`c-hanging-semi&comma-criteria' for how newline insertion is determined.

(b) Any auto-newlines are indented. The original line is also
reindented unless `c-syntactic-indentation' is nil.

(c) If auto-newline is turned on, a comma following a brace list or a
semicolon following a defun might be cleaned up, depending on the
settings of `c-cleanup-list'.