;; cc-cmds.el, line 749
;; `}': compact to a one-liner defun?
(save-match-data
(when
(and (eq last-command-char ?\})
(memq 'one-liner-defun c-cleanup-list)
(c-intersect-lists '(defun-close) syntax)
(c-try-one-liner))
(setq here (- (point-max) pos))))
`save-match-data' is used here, but nothing implies directly that
match-data will be changed in its body. Some functions change it, but
is called _indirectly_. One would need to check the source of each
function in its body to see where the match-data is changed. This is
the only case that the problems caused by unexpected match-data
changes happen.