aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/c-mode.el16
1 files changed, 11 insertions, 5 deletions
diff --git a/lisp/progmodes/c-mode.el b/lisp/progmodes/c-mode.el
index da04930e12b..114bec7d480 100644
--- a/lisp/progmodes/c-mode.el
+++ b/lisp/progmodes/c-mode.el
@@ -718,11 +718,17 @@ Returns nil if line starts inside a string, t if in a comment."
718 (looking-at "[^\"\n=(]*(") 718 (looking-at "[^\"\n=(]*(")
719 (progn 719 (progn
720 (goto-char (1- (match-end 0))) 720 (goto-char (1- (match-end 0)))
721 (setq lim (point)) 721 ;; Skip any number of paren-groups.
722 (condition-case nil 722 ;; Consider typedef int (*fcn) (int);
723 (forward-sexp 1) 723 (while (= (following-char) ?\()
724 (error)) 724 (setq lim (point))
725 (skip-chars-forward " \t\f") 725 (condition-case nil
726 (forward-sexp 1)
727 (error))
728 (skip-chars-forward " \t\f"))
729 ;; Have we reached something
730 ;; that shows this isn't a function
731 ;; definition?
726 (and (< (point) indent-point) 732 (and (< (point) indent-point)
727 (not (memq (following-char) 733 (not (memq (following-char)
728 '(?\, ?\;))))) 734 '(?\, ?\;)))))