Restore cpoptions
cpoptions is saved but not restored at the end. This results in the plugin breaking any user settings
The below should be added at the end of the plugin
let &cpo = s:global_cpo
Are you sure the plugin will work with different cpoptions than the ones it forces? How could I test that? (for me the plugin works with or without your fix and with or without forcing incompatible mode, so I guess I just have the cpoptions it needs by default)
@artm It's common practice for plugins to restore &cpo at the end - after all that's the only reason to save &cpo in the first place. I cannot tell you why, but it's likely to avoid any errors during being parsed at least. If you would have special requirements you would have to check for them at the beginning of the script itself.