Eli Zaretskii writes: >> From: Theodor Thornhill >> Cc: 61558@debbugs.gnu.org >> Date: Fri, 17 Feb 2023 20:23:33 +0100 >> >> #if defined GLYPH_DEBUG && defined ENABLE_CHECKING >> /* Increment number of allocated matrices. This count is used >> to detect memory leaks. */ >> ++glyph_matrix_count; >> #endif >> >> >> Is it a correct assuption to think that whatever is inside one of these >> if-blocks should indent according to their grand-parents rule? > > Yes. Basically, a cpp macro definition is like a comment: it > disappears when cpp processes it. So, from the language POV, it > doesn't exist. > >> In this case: >> >> >> static struct glyph_matrix * >> new_glyph_matrix (struct glyph_pool *pool) >> { >> struct glyph_matrix *result = xzalloc (sizeof *result); >> >> #if defined GLYPH_DEBUG && defined ENABLE_CHECKING >> /* Increment number of allocated matrices. This count is used >> to detect memory leaks. */ >> ++glyph_matrix_count; >> #endif >> >> /* Set pool and return. */ >> result->pool = pool; >> return result; >> } >> >> ++glyph_matrix_count; >> >> is indented one step from the compound_statement node, right? > > Sorry: what is the compound_statement node in this case? > compound_statement is a {} block. >> > Strangely, in other places indentation does work: lines 1069, 3119. >> > >> >> Yeah, in these cases we have something other than the preproc directive >> itself to indent from. > > Preprocessor directives should have no effect whatsoever on code > indentation. Right, thanks. Can you test this patch? It seems to work for me, but I'm no C expert. Theo