summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/cc-cmds.el6
-rw-r--r--lisp/progmodes/cc-styles.el15
-rw-r--r--lisp/progmodes/cc-vars.el6
3 files changed, 19 insertions, 8 deletions
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 8d3facb08b6..1a2ee3f0ce5 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -524,7 +524,11 @@ inside a literal or a macro, nothing special happens."
;; This is the list of brace syntactic symbols that can hang.
;; If any new ones are added to c-offsets-alist, they should be
;; added here as well.
- '(class-open class-close defun-open defun-close
+ ;;
+ ;; The order of this list is important; if SYNTAX has several
+ ;; elements, the element that "wins" is the earliest in SYMS.
+ '(arglist-cont-nonempty ; e.g. an array literal.
+ class-open class-close defun-open defun-close
inline-open inline-close
brace-list-open brace-list-close
brace-list-intro brace-entry-open
diff --git a/lisp/progmodes/cc-styles.el b/lisp/progmodes/cc-styles.el
index 41f1836c0a4..26596e42ae8 100644
--- a/lisp/progmodes/cc-styles.el
+++ b/lisp/progmodes/cc-styles.el
@@ -58,7 +58,8 @@
'(("gnu"
(c-basic-offset . 2)
(c-comment-only-line-offset . (0 . 0))
- (c-hanging-braces-alist . ((substatement-open before after)))
+ (c-hanging-braces-alist . ((substatement-open before after)
+ (arglist-cont-nonempty)))
(c-offsets-alist . ((statement-block-intro . +)
(knr-argdecl-intro . 5)
(substatement-open . +)
@@ -170,7 +171,8 @@
(case-label . +)
(access-label . -)
(inclass . ++)
- (inline-open . 0))))
+ (inline-open . 0)
+ (arglist-cont-nonempty))))
("linux"
(c-basic-offset . 8)
@@ -178,7 +180,8 @@
(c-hanging-braces-alist . ((brace-list-open)
(brace-entry-open)
(substatement-open after)
- (block-close . c-snug-do-while)))
+ (block-close . c-snug-do-while)
+ (arglist-cont-nonempty)))
(c-cleanup-list . (brace-else-brace))
(c-offsets-alist . ((statement-block-intro . +)
(knr-argdecl-intro . 0)
@@ -200,7 +203,8 @@
(brace-list-close)
(brace-entry-open)
(substatement-open after)
- (block-close . c-snug-do-while)))
+ (block-close . c-snug-do-while)
+ (arglist-cont-nonempty)))
(c-block-comment-prefix . ""))
("java"
@@ -230,7 +234,8 @@
(c-hanging-braces-alist . ((defun-open after)
(defun-close . c-snug-1line-defun-close)
(substatement-open after)
- (block-close . c-snug-do-while)))
+ (block-close . c-snug-do-while)
+ (arglist-cont-nonempty)))
(c-hanging-semi&comma-criteria . nil)
(c-cleanup-list . nil) ; You might want one-liner-defun here.
(c-offsets-alist . ((statement-block-intro . +)
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index c217e6e6871..8b7b9cd24ee 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -729,7 +729,8 @@ involve auto-newline inserted newlines:
(module-open after)
(composition-open after)
(inexpr-class-open after)
- (inexpr-class-close before))
+ (inexpr-class-close before)
+ (arglist-cont-nonempty))
"*Controls the insertion of newlines before and after braces
when the auto-newline feature is active. This variable contains an
association list with elements of the following form:
@@ -783,7 +784,8 @@ syntactic context for the brace line."
namespace-open namespace-close
module-open module-close
composition-open composition-close
- inexpr-class-open inexpr-class-close)))
+ inexpr-class-open inexpr-class-close
+ arglist-cont-nonempty)))
:group 'c)
(defcustom c-max-one-liner-length 80