Skip to content

Commit

Permalink
toke.c: minor adjustment of #ifdef to stop confusing code editors
Browse files Browse the repository at this point in the history
Before this change, the two separate `while` statements would upset the
code folding as parsed by tree-sitter-c (and likely many others, I
haven't tested), into thinking this was two nested loops. Having failed
to find the end of both of them before the end of the function, various
confusions result, usually ending up in the entire rest of the file (and
it's a long file) getting folded into one giant region. This likely
causes various static analysis tools similarly to not see any of the
subsequent functions in the file.

By adjusting the code so that just the condition part is conditional on
the `#ifdef`, it means that code parsing tools have a much easier time
working out the high-level structure of this file.
  • Loading branch information
leonerd committed Nov 23, 2024
1 parent dde110a commit 4df46ed
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions toke.c
Original file line number Diff line number Diff line change
Expand Up @@ -9394,11 +9394,11 @@ yyl_try(pTHX_ char *s)
}
if (PL_expect == XBLOCK) {
const char *t = s;
#ifdef PERL_STRICT_CR
while (SPACE_OR_TAB(*t))
#else
while (SPACE_OR_TAB(*t) || *t == '\r')
while (SPACE_OR_TAB(*t)
#ifndef PERL_STRICT_CR
|| *t == '\r'
#endif
)
t++;
if (*t == '\n' || *t == '#') {
ENTER_with_name("lex_format");
Expand Down

0 comments on commit 4df46ed

Please sign in to comment.