Dear Mark,

Mark Manning wrote:
In the file buffer.c within the function join_lines() there is an if
statement as follows...

  if(!put_sbuf_line(buf, current_addr_) ||
     !push_undo_atom(UADD, -1, -1))
  {
    ...
  }

It is my understanding that in cases like this the order of operations
is indeterminate.

I don't know where did you learn that, but I advice you to learn it again, for example in the GNU C Reference Manual[1].
[1]http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Logical-Operators

"The logical conjunction operator || tests if at least one of two expressions it true. If the first expression is true, then the second expression is not evaluated.

     if ((x == 5) || (y == 10))
        printf (``x is 5 or y is 10'');"


Regards,
Antonio Diaz.

_______________________________________________
bug-ed mailing list
bug-ed@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-ed

Reply via email to