Shockwave, make it easy on yourself and use escape sequences. Take this line from the code you posted:
BOLLOCKS(tick)="SELECTIONS("+STR(TICK)+","+STR(TICK2)+")"+"="+chr$(34)+inpt+chr$(34)+":"
and add + !"\r\n" to the end of it (the ! is what tells fb to use the escape sequence in the string):
BOLLOCKS(tick)="SELECTIONS("+STR(TICK)+","+STR(TICK2)+")"+"="+chr$(34)+inpt+chr$(34)+":"+!"\r\n"
haven't figured that part about preserving leading space/tabs yet though
*edit*
got it, change
INPUT #F1, inpt
to
LINE INPUT #F1, inpt
Here's a the output generated by your original code with these two changes to it:
SELECTIONS(0,2)="This is a test file.":
SELECTIONS(1,2)=" This could contain your data.":
SELECTIONS(2,2)=" But instead it just has a bunch of jibberish!":
SELECTIONS(3,2)=" ":
SELECTIONS(4,2)=" ghsfdghsd":
SELECTIONS(5,2)=" sfhs":
SELECTIONS(6,2)=" hgdfhgdf":
SELECTIONS(7,2)=" fhdf":
SELECTIONS(8,2)=" gfd":
SELECTIONS(9,2)=" fg":
SELECTIONS(10,2)=" hfd":
SELECTIONS(11,2)=" g":
SELECTIONS(12,2)=" g":
SELECTIONS(13,2)="<END>"