+(defun c-brace-anchor-point (bracepos)
+ ;; BRACEPOS is the position of a brace in a construct like "namespace
+ ;; Bar {". Return the anchor point in this construct; this is the
+ ;; earliest symbol on the brace's line which isn't earlier than
+ ;; "namespace".
+ ;;
+ ;; Currently (2007-08-17), "like namespace" means "matches
+ ;; c-other-block-decl-kwds". It doesn't work with "class" or "struct"
+ ;; or anything like that.
+ (save-excursion
+ (let ((boi (c-point 'boi bracepos)))
+ (goto-char bracepos)
+ (while (and (> (point) boi)
+ (not (looking-at c-other-decl-block-key)))
+ (c-backward-token-2))
+ (if (> (point) boi) (point) boi))))
+