Tweaking lib/symbols for XML entities

Pavel Sanda sanda at lyx.org
Thu Jun 18 16:55:27 UTC 2020


On Thu, Jun 18, 2020 at 05:26:34PM +0200, Jean-Marc Lasgouttes wrote:
> Le 18/06/2020 ?? 17:19, Pavel Sanda a écrit :
> >Thanks, I committed the first patch with consts added (binding to temporaries).
> >I propose to drop the second patch altogether. Unless you use simple expressions
> >chaining is not particularly safe, << is not a sequence point so order of evaluation
> >is undefined.
> 
> What do you mean? We do that all over the place with streams. I thought it
> was how streams were supposed to be used.

Depends what you mean by "that".
Simply put, chaining is OK when the expresions (out << expr1 << expr2 ...;)
don't have chance to interact with each other.
So "simple" code like out << var1 << var2 << string3 ..; etc is just fine.
If, on the other hand, exprX messes with some variables which are used in exprY
then you get undefined behaviour because standard leave the order undefined.
Putting ';' (or any other sequence point) between the expressions gives you 
guaranteed order.

If you think we do have the second case in the code already, we should better review it :)

Pavel


More information about the lyx-devel mailing list