Hello, Michael. On Sun, Apr 23, 2023 at 13:44:29 +0000, Alan Mackenzie wrote: > Thanks for the bug report. > On Fri, Apr 14, 2023 at 14:18:16 -0400, Michael Welsh Duggan wrote: > > Package: cc-mode > > Package: cc-mode > > Load the included file, bar.cpp: > > template > > using value_variant= > > std::pair< > > std::variant< > > ipfix::octetArray_t, > > ipfix::unsigned8_t, > > ipfix::unsigned16_t, > > ipfix::unsigned32_t, > > ipfix::unsigned64_t, > > ipfix::signed8_t, > > ipfix::signed16_t, > > ipfix::signed32_t, > > ipfix::signed64_t, > > ipfix::float32_t, > > ipfix::float64_t, > > ipfix::boolean_t, > > ipfix::macAddress_t, > > ipfix::string_t, > > ipfix::dateTimeSeconds_t, > > ipfix::dateTimeMilliseconds_t, > > ipfix::dateTimeMicroseconds_t, > > ipfix::dateTimeNanoseconds_t, > > ipfix::ipv4Address_t, > > ipfix::ipv6Address_t, > > std::pair>, > > std::pair>>, > > std::pair > std::pair< > > ipfix::TemplateID, > > std::vector>>>>>, > > ipfix::length_t>; > > For example: > > emacs -Q /tmp/bar.cpp > > Type: > > C-x h C-M-\ > > First, note that std::variant is not indented with respect to std::pair. I have amended the indentation logic, by introducing a new line-up function, so this should be fixed, now. > There are actually two distinct bugs in play, here. Up till now I've > been concentrating on the second one .... > > Next, delete and re-insert the final angle bracket on the line that > > reads: > > std::pair>, > > Note the re-indention. This, together with the other indentation problems, I hope are fixed, too. [ .... ] Would you please test the enclosed patch, which should apply cleanly to the Emacs master branch. And then let me know whether there are any problems with it. Thanks! Just, there might be unfound interactions between the template markers and raw strings, but I hope not. > > Emacs : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo = > > version 1.16.0) > > of 2023-04-14 > > Package: CC Mode 5.35.2 (C++//l) > > Buffer Style: gnu > > c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-st= > > ring-delim gen-comment-delim syntax-properties category-properties 1-bit) > > -- > > Michael Welsh Duggan > > (md5i@md5i.com) -- Alan Mackenzie (Nuremberg, Germany).