I've just created pull request with the changes. File in the pull request is slightly different because I try to make it more readable. So I've changed one variable name and removed some unused code.
I hope you can. I am not sure.
Can't see anything here. Is it in your copy?
It's now in https://github.com/espruino/Espruino/pull/1621
@SergeP took a closer look to NEOpixel and created a new version.
Please see attached file.
And this is explanation from @SergeP
After FIFO maximizing everything works in my case. I've found that, as I wrote, there are two classes of high-priority delays (it may be other interrupts) which delay neopixel_handleInterrupt() call. One class is about 1 original buffer, so about 1,25us*64bit=80us, another one is about 4..5 times longer - 300...400 us.
Now I use full RMT buffer and it's enough to neopixel code work. But it is impossible to use pulses on pins at the same time. This was not possible before my changes, too. But it was possibility to fix that, while my code makes it principially impossible.