Hi Alan, On 2/14/12 8:11 AM, Alan Mackenzie wrote: >>>> /* In Emacs 23, adffdfa below is fontified as a variable. In Emacs HEAD, >>>> it is not. */ > >>>> void foo() >>>> { >>>> mumble x(5); >>>> std::vector adffdfa(1,2,3); >>>> }; > >> Are there any syntactic clues here that a variable rather than a function >> is being declared? All I can see is that numeric literals take the place >> of "parameters". > > Please ignore this request. Obviously, for a function, there must be > either nothing in the parentheses or [ ]*. Or just types: std::vector blah(int); typedef int foo; std::vector blah(foo); Still, unless we're absolutely sure we're looking at a function declaration, we should fontify a declaration as a variables declaration. Function-scope function declarations are extremely uncommon, and at least in my experience, almost always offset by keywords like "extern". Even if something like int bar(); could be a function, fontifying it as a variable would be the right thing to do in function scope for C++.