From: Alan M. <ac...@mu...> - 2006-07-23 13:25:55
|
Hi, Michaël! On Thu, Jul 20, 2006 at 04:26:45AM +0200, Michaël Cadilhac wrote: > The following is wrongly indented with today CVS version of cc-mode (but > it dates) > extern { > #define Foo \ > A; \ > B; > (B; is not OK) Indeed it is not. > The syntactic informations on « A; » doesn't have « extern ». This is > because CASE 3 takes A and don't use CASE 5J. I think the problem is > here. However, I didn't succeed in finding a solution for that :-/ It's somehow conncted with the fact that "B;" is a distinct statement from "A;". If if were "if (A)", then "B;" would be correctly recognised. One thing, though - I don't think the problem has anything to do with the "extern {". Anything to do with macros is difficult, because there are no limits on the sort of stuff a programmer can put into one. Anyhow, I'm looking into this at the moment. > Thanks in advance ! And thanks to you too for the report! -- Alan Mackenzie (Munich, Germany) |