aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2020-10-06 11:44:00 +1300
committerTom Ryder <tom@sanctum.geek.nz>2020-10-06 11:44:00 +1300
commit7849901474c6ab3d8ec3472464bf9dd7ca2dec7a (patch)
tree6499c8edebee9fe23d59d3db7fbdeecb35b82fcb
parentMerge branch 'release/v10.12.0' into develop (diff)
downloaddotfiles-7849901474c6ab3d8ec3472464bf9dd7ca2dec7a.tar.gz
dotfiles-7849901474c6ab3d8ec3472464bf9dd7ca2dec7a.zip
Rewrite comments in patch#()
-rw-r--r--vim/autoload/patch.vim18
1 files changed, 13 insertions, 5 deletions
diff --git a/vim/autoload/patch.vim b/vim/autoload/patch.vim
index 614be462..3a17ccda 100644
--- a/vim/autoload/patch.vim
+++ b/vim/autoload/patch.vim
@@ -6,19 +6,27 @@
"
function! patch#(version) abort
- " If we're new enough, we can just use the native has()
+ " If the Vim running is new enough for its has() function to support
+ " checking patch levels with version prefixes, we can just add a "patch-"
+ " prefix to the query, and pass it on to has().
+ "
if has('patch-7.4.237')
return has('patch-'.a:version)
endif
- " Otherwise, we need to start splitting and comparing numbers
+ " Failing that, we need to do our own version number and patch number
+ " comparisons; split the queried version on dots.
+ "
let [major, minor, patch] = split(a:version, '\.')
- " The v:version variable looks like e.g. 801 for v8.1
+ " The internal variable v:version describing the running Vim looks like
+ " e.g. 801 for v8.1; reproduce that logic for the queried version.
+ "
let l:version = major * 100 + minor
- " If the version numbers are the same, return whether we have the patch;
- " otherwise, return whether the version
+ " If the running version number is the same as the required one, return
+ " whether we have the specific patch requested; otherwise, return whether
+ " the running version number is greater than the required one.
"
return v:version == l:version
\ ? has('patch-'.patch)