There is therefore no guarantee that the ISR will have finished servicing one interrupt before the next interrupt of the same type occurs.
If you have a lot of such interrupts, and you enable interrupts, you will have a runaway stack overflow very quickly. However one additional one can be handled, because of the flag being set as I described earlier.
BTW - I didn't move this thread from Programming Questions. I was happy for it to be there.