The Example G-code runs smooth if played from the beginning, but upon running it from line 6 (T2M6), without a tool loaded, the P value out of range error will come up, the #5400 stores the current loaded tool, so if no tool is loaded that is 0, loading any tool will do the trick, still the interpreter should account that in the first G10 L10 the #5400 should have been one and not zero, because at that point in the G-code tool one was supposed to be loaded.
To put it simply, the interpreter doesn't account for read only parameters changes due to tool change in the code, when doing a check of the code to run from line.
run from line 6 to see bug
I was confused by the description, and having checked it it appears that the issue is that run-from-line does not perform the tool-change if the selected line is a tool change. This does seem unexpected.
and exactly which version of LinuxCNC is this?
version 2.5.2 updated just now.
I wanted to change the description to make it clearer, but I don't see how to modify it...
Still a problem in v2.5.3-57-g6724bda.
The attached Example2.ngc file shows more clearly that it's the first G10 (the one before the line we're running from) that fails, not the G10 after the line we're running from.
As before, run from line 6 to see the bug. The problem is from "G10 L1", which is before line 6, not "G10 L10" which comes later.