| 
              
26807a90
               | 
              
2025-01-28T20:24:05
               | 
              
               | 
              
scanner: compute token line/column lazily on errors
The scanner functions are hot, and the line/column location tracking is
quite expensive. We only use it for errors, which don't need to be fast,
because we bail if there are too many; and for warnings, which are
usually not shown by default. So only keep the token start pos, and
compute the line/column lazily from that. This will also allow some
further improvements ahead.
bench/rulescomp
before: compiled 1000 keymaps in 1.669028s
after:  compiled 1000 keymaps in 1.550411s
bench/compose:
before: compiled 1000 compose tables in 2.145217s
after:  compiled 1000 compose tables in 2.016044s
Signed-off-by: Ran Benita <ran@unusedvar.com>
               |