aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--whichbas.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/whichbas.c b/whichbas.c
index be21435..ff955ff 100644
--- a/whichbas.c
+++ b/whichbas.c
@@ -225,11 +225,19 @@ CALLBACK(handle_cmd) {
}
break;
case 0x58: /* TRACE (optional + or -), EXTEND (BXE; no args) */
- /* EXTEND can't show up in a program except maybe line 32768, e.g.
- EXTEND:SAVE "D:BLAH". */
- remove_type(BT_BXL);
- if(lineno < 32768) {
- remove_type(BT_BXE);
+ if(nexttok == OP_PLUS || nexttok == OP_MINUS) {
+ bas_type = BT_TURBO;
+ print_result();
+ } else {
+ /* In BXL, this looks to be an extra END token, that behaves the same
+ as the regular one, but can't be entered in the editor. Assume
+ no BXL program contains this token. */
+ remove_type(BT_BXL);
+ if(lineno < 32768) {
+ /* EXTEND can't show up in a program except maybe line 32768, e.g.
+ EXTEND:SAVE "D:BLAH". */
+ remove_type(BT_BXE);
+ }
}
break;
case 0x59: /* TEXT or PROCEDURE */