I think this is a bug. I've noticed it myself several times. I'll
define something like:
TPR*ED: {#Return}{#Return}{^^}FRED: {-|}
And for the duration of that Plover session, it'll work as specified,
with no space after the line breaks before the speaker ID. But then
when I close Plover and start it up again, suddenly it'll insert a
space at the beginning of the line, after the line breaks and before
the speaker ID. I've also seen problems with defining strokes like
{^-^} from within Plover. I think the code is doing something wonky
with spaces and delete-space commands when it saves the dictionary to
file, even though it's parsing it correctly immediately after the
definition is made. I'm not sure if this is true for rtf dictionaries
only (my bottom-most dictionary is rtf format) or if it's true of json
dictionaries as well, but it only seems to be true for definitions
made using the dictionary update window, as opposed to direct editing
with the file in a text editor.