There is extraneous text following the logical expression on a DO IF command.
Now, I've been delinquent in setting up a number of syntax files to use as includes since I switched back to SPSS from SAS (not by my choice), so this threw me for a loop (no pun intended).
Oddly, if I ran the syntax that was calling the include then opened the include syntax and ran it separately, there was no problem.
What it turns out is that, if you're using a syntax file as an include, you cannot have leading space before your commands and arguments. In my regular syntax files I add tabs to command arguments to show the separation, eg:
Do if thisvariable eq 'hello'.
Compute thatvariable = 'hi'.
End if.
This runs fine in a syntax file, but if you use that syntax as an include, you get "There is extraneous text following the logical expression on a DO IF command."
Just switch to:
Do if thisvariable eq 'hello'.
Compute thatvariable = 'hi'.
End if.
I don't know how many other people in the world will ever experience this as it may just be my habit to add space like that, but I hope it helps someone!
*Edit - July 20th
Interestingly, if you have a subcommand that starts with a forward-slash you DO need a tab or set of blank spaces if it's part of an include.
For instance, this throws an error
Aggregate
/Outfile *
/Break id
/total = sum(avariable).
execute.
This will not.
Aggregate
/Outfile *
/Break id
/total = sum(avariable).
execute.
*Edit - July 20th
Interestingly, if you have a subcommand that starts with a forward-slash you DO need a tab or set of blank spaces if it's part of an include.
For instance, this throws an error
Aggregate
/Outfile *
/Break id
/total = sum(avariable).
execute.
This will not.
Aggregate
/Outfile *
/Break id
/total = sum(avariable).
execute.
Perhaps I'm just bad at SPSS and there was an unwritten rule that all subcommands and nothing else should start with a tab. Oh well. INCLUDE treats these all very unusually, in my opinion.