Mercurial > vim
view runtime/tools/mve.awk @ 32570:5d8cff99a027 v9.0.1617
patch 9.0.1617: charidx() result is not consistent with byteidx()
Commit: https://github.com/vim/vim/commit/577922b917e48285a7a312daf7b5bbc6e272939c
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Thu Jun 8 17:09:45 2023 +0100
patch 9.0.1617: charidx() result is not consistent with byteidx()
Problem: charidx() and utf16idx() result is not consistent with byteidx().
Solution: When the index is equal to the length of the text return the
lenght of the text instead of -1. (Yegappan Lakshmanan,
closes #12503)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Jun 2023 18:15:04 +0200 |
parents | 3fc0f57ecb91 |
children |
line wrap: on
line source
#!/usr/bin/nawk -f # # Change "nawk" to "awk" or "gawk" if you get errors. # # Make Vim Errors # Processes errors from cc for use by Vim's quick fix tools # specifically it translates the ---------^ notation to a # column number # BEGIN { FS="[:,]" } /^cfe/ { file=$3 msg=$5 split($4,s," ") line=s[2] } # You may have to substitute a tab character for the \t here: /^[\t-]*\^/ { p=match($0, ".*\\^" ) col=RLENGTH-2 printf("%s, line %d, col %d : %s\n", file,line,col,msg) }