Here's a test:
nmap t <SID>bug
nnoremap <SID>bug <Esc>:echoerr "actually, i'm not a bug if this is
echoed as an error, despite what you might think"<CR>
set langmap=gj
Now, pressing t will not display anything. However, after executing
set langmap=
pressing t will display the error.
The problem appears to be that 'langmap' applies to recursive mappings.
It should only be used once, on the characters that are typed by the
user. Not on characters that end up in the typeahead buffer from the
RHS of another mapping.
Thus it's not directly related to using <SID> or <Plug>, although <SID>
things would never be typed by the user.
--
Every person is responsible for the choices he makes.
/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///