GNU bug report logs - #45375
cc-mode indentation sometimes doesn't work

Previous Next

Packages: cc-mode, emacs;

Reported by: Herman, Géza <geza.herman <at> gmail.com>

Date: Tue, 22 Dec 2020 23:03:02 UTC

Severity: normal

Tags: confirmed

Merged with 46400

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Herman, Géza <geza.herman <at> gmail.com>
To: 45375 <at> debbugs.gnu.org
Subject: bug#45375: cc-mode indentation sometimes doesn't work
Date: Wed, 23 Dec 2020 00:02:17 +0100
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.




This bug report was last modified 4 years and 88 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.