Subject: Re: bug#45375: cc-mode indentation sometimes doesn't work

From: "Basil L. Contovounesios" <[email-masked]>
Date: Fri, 12 Feb 2021 21:17:56 +0000

reassign 45375 emacs,cc-mode
quit

[CCed CC Mode maintainer.]

[email-masked], Géza <[email-masked]> writes:

> On current master (6af31fd71ff1a403c199c479577bcc145a547db1) indentation of
> C/C++ files sometimes doesn't work. I've bisected it: commit "9022df7027
> Optimise c-parse-state for large buffers with few (if any) braces." introduced
> this behavior.
>
> This is how to reproduce: check out 9022df70270243f211c54ccd66800320148b8434,
> and execute "emacs -Q xdisp.c". Jump to line 2989 with M-g M-g 2989, move the
> cursor to the end of line of "Lisp_Object retval;", and press enter. The cursor
> will be moved to the correct place (correctly indented, cursor will be placed
> below the 'L' character of the previous line). Then push enter at end of line of
> "va_list ap;". For me, cursor will jump to the beginning of the line, it won't
> be indented. If I keep pressing enters, the next failure will be at "va_end
> (ap);". I'm not sure whether this exact steps reproduces for everyone, but it
> happened me 5 of 5 trials. If I don't press enter at the first line
> ("Lisp_Object retval;"), the problem doesn't happen for any of this function
> lines. But it will happen for somewhere else, if I keep trying (move around the
> file, press enter at random places: if will fail sooner or later).
>
> For my configuration (without -Q), this problem happens quite frequently during
> editing C++ code.

I tried following your recipe (the lines in xdisp.c have since moved
around a bit), but was unable to reproduce the issue.

Can you still reproduce it on your end?

Thanks,

-- 
Basil