mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-26 04:52:08 +00:00
Fix incorrect line numbers with some IF blocks
If a line ended with a string's closing quote, or a newline escape, then
skipping over that line via IF/ELIF/ELSE would fail to count that line,
offsetting the rest of the file.
I have no idea why but for some reason 9829be1 changed *specifically*
`if_skip_to_else` to have incorrect behavior on string endings. The incorrect
behavior on newline escapes seems to have been here since the beginning.
Also added a test to check for both of those behaviors in both functions.
Honestly, it baffles me that nobody ever noticed. I didn't until I started
working on #395.
This commit is contained in:
11
test/asm/correct-line-number.asm
Normal file
11
test/asm/correct-line-number.asm
Normal file
@@ -0,0 +1,11 @@
|
||||
IF 0
|
||||
"\
|
||||
"
|
||||
ELIF 1
|
||||
WARN "Am I geting ahead of myself?"
|
||||
ELSE
|
||||
"\
|
||||
"
|
||||
ENDC
|
||||
|
||||
WARN "Hopefully not."
|
||||
Reference in New Issue
Block a user