The longest line that doesn't fail:
>NEW
>1ABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHI1ABCDEFGHIABCDEFGHIABCDEFG
10c00 ff 01 00 41 42 43 44 45 46 47 48 49 41 42 43 44 ...ABCDEFGHIABCD
10c10 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10c20 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10c30 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10c40 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10c50 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 FGHIABCDEFGHIABC
10c60 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 DEFGHIABCDEFGHIA
10c70 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 BCDEFGHIABCDEFGH
10c80 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 IABCDEFGHIABCDEF
10c90 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 GHIABCDEFGHIABCD
10ca0 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10cb0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10cc0 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10cd0 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10ce0 46 47 48 49 31 41 42 43 44 45 46 47 48 49 41 42 FGHI1ABCDEFGHIAB
10cf0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 0d 00 CDEFGHIABCDEFG..
One more character and you end up with an empty program:
>NEW
>1ABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHI1ABCDEFGHIABCDEFGHIABCDEFGH
10c00 00 ff ff 41 42 43 44 45 46 47 48 49 41 42 43 44 ...ABCDEFGHIABCD
10c10 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10c20 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10c30 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10c40 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10c50 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 FGHIABCDEFGHIABC
10c60 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 DEFGHIABCDEFGHIA
10c70 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 BCDEFGHIABCDEFGH
10c80 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 IABCDEFGHIABCDEF
10c90 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 GHIABCDEFGHIABCD
10ca0 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10cb0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10cc0 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10cd0 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10ce0 46 47 48 49 31 41 42 43 44 45 46 47 48 49 41 42 FGHI1ABCDEFGHIAB
10cf0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 0d CDEFGHIABCDEFGH.
One more character and you end up with bad program:
>NEW
>1ABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHI1ABCDEFGHIABCDEFGHIABCDEFGHI
Bad program
>
10c00 01 01 00 41 42 43 44 45 46 47 48 49 41 42 43 44 ...ABCDEFGHIABCD
10c10 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10c20 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10c30 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10c40 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10c50 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 FGHIABCDEFGHIABC
10c60 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 DEFGHIABCDEFGHIA
10c70 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 BCDEFGHIABCDEFGH
10c80 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 IABCDEFGHIABCDEF
10c90 47 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 GHIABCDEFGHIABCD
10ca0 45 46 47 48 49 41 42 43 44 45 46 47 48 49 41 42 EFGHIABCDEFGHIAB
10cb0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
10cc0 41 42 43 44 45 46 47 48 49 41 42 43 44 45 46 47 ABCDEFGHIABCDEFG
10cd0 48 49 41 42 43 44 45 46 47 48 49 41 42 43 44 45 HIABCDEFGHIABCDE
10ce0 46 47 48 49 31 41 42 43 44 45 46 47 48 49 41 42 FGHI1ABCDEFGHIAB
10cf0 43 44 45 46 47 48 49 41 42 43 44 45 46 47 48 49 CDEFGHIABCDEFGHI
It seems this is an unusal case of no tokens, so with the addition of the line number (3 bytes), the line actually expands when it is stored in tokenized form.
Shrinking the input buffer by two bytes would resolve this, but it may also prevent you entering a valid long line with tokens.
I can reproduce this on Richard's BBCSDL Linux Console Build:
>NEW
>10 REM
>LIST
10 REM
>1ABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEF
GHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHIABCDEFGHI1ABCDEFGHIABCDEFGHIABCDEFGHI
Bad program
>
The longest line that doesn't fail:
One more character and you end up with an empty program:
One more character and you end up with bad program:
It seems this is an unusal case of no tokens, so with the addition of the line number (3 bytes), the line actually expands when it is stored in tokenized form.
Shrinking the input buffer by two bytes would resolve this, but it may also prevent you entering a valid long line with tokens.
I can reproduce this on Richard's BBCSDL Linux Console Build: