Maybe you have fallen in the same very dangerous trap as I did recently.
You have a div that is using xyPerl and some functions output text.
All is fine.
But all your last edit in the xyPerl file introduces a syntax error (easy enough to do) and you do a Compose Whole Div
But because of the syntax error in your xyPerl file, none of the xyPerl functions get executed.
OK you think you can live with that.
Well that might not be the case.
The generated text is no longer generated, which in some cases might lead compose to see 2 spaces in a row (as the generated text that sits in between is no longer output).
When compose see 2 spaces in a row, it will remove one space without giving you any warning.
So when you resolve your syntax error and recompose, you think everything is fine but it is not!
All throughout the division you will see that spaces went missing and that text around your generated text is now glued to each other.
I asked to RWS to change this behavior but they did not want to change this in fear of upsetting existing customers that all of the sudden would be confronted with halted composition.
Still I (and I am sure you will so as well) find this situation dangerous enough to leave the choice to the customer.
Hence my request to add a field to the job ticket called: stop composition on xyperlerl syntax error. (default value = no)
When set to yes, compose would halt at the first xyPerl function (when there is a syntax error in your xyPerl file) and would not eat any space at all.
I hope that you find the current behavior dangerous enough to vote this idea up!