Why did ; after & return an unexpected token error in bash?
Solution 1:
You don't need the semicolon. After it's sent to the background it's free to get another command.
evince foo.pdf bar.pdf & emacs foo.tex &
Solution 2:
BTW, the core issue is that (Bourne-derived) shells do not allow empty commands.
";" and "&" are command terminators, meaning fg and bg respectively. So "; ;" (or ";" at the beginning of a line) is also invalid.
(Newline(s) imply ";" if there is a not-yet-terminated command, unless you use "\" to continue the line.)
Languages vary a lot on these policies:
C-derived languages allow empty statements.
Pascal and PERL have separators, not terminators.