ccmode: Paren List Symbols
10.2.7 Parenthesis (Argument) List Symbols
------------------------------------------
A number of syntactic symbols are associated with parenthesis lists,
a.k.a argument lists, as found in function declarations and function
calls. This example illustrates these:
1: void a_function( int line1,
2: int line2 );
3:
4: void a_longer_function(
5: int line1,
6: int line2
7: );
8:
9: void call_them( int line1, int line2 )
10: {
11: a_function(
12: line1,
13: line2
14: );
15:
16: a_longer_function( line1,
17: line2 );
18: }
Lines 5 and 12 are assigned ‘arglist-intro’ syntax since they are the
first line following the open parenthesis, and lines 7 and 14 are
assigned ‘arglist-close’ syntax since they contain the parenthesis that
closes the argument list.
Lines that continue argument lists can be assigned one of two
syntactic symbols. For example, Lines 2 and 17 are assigned
‘arglist-cont-nonempty’ syntax. What this means is that they continue
an argument list, but that the line containing the parenthesis that
opens the list is _not empty_ following the open parenthesis. Contrast
this against lines 6 and 13 which are assigned ‘arglist-cont’ syntax.
This is because the parenthesis that opens their argument lists is the
last character on that line.
Syntactic elements with ‘arglist-intro’, ‘arglist-cont-nonempty’, and
‘arglist-close’ contain two buffer positions: the anchor position (the
beginning of the declaration or statement) and the position of the open
parenthesis. The latter position can be used in a line-up function
(Line-Up Functions).
Note that there is no ‘arglist-open’ syntax. This is because any
parenthesis that opens an argument list, appearing on a separate line,
is assigned the ‘statement-cont’ syntax instead.