neovim/test/functional/plugin
Sean Dewar 813476bf72
fix(exceptions): restore did_throw (#20000)
`!did_throw` doesn't exactly imply `!current_exception`, as `did_throw = false`
is sometimes used to defer exception handling for later (without forgetting the
exception). E.g: uncaught exception handling in `do_cmdline()` may be deferred
to a different call (e.g: when `try_level > 0`).

In #7881, `current_exception = NULL` in `do_cmdline()` is used as an analogue of
`did_throw = false`, but also causes the pending exception to be lost, which
also leaks as `discard_exception()` wasn't used.

It may be possible to fix this by saving/restoring `current_exception`, but
handling all of `did_throw`'s edge cases seems messier. Maybe not worth
diverging over.

This fix also uncovers a `man_spec.lua` bug on Windows: exceptions are thrown
due to Windows missing `man`, but they're lost; skip these tests if `man` isn't
executable.
2022-08-30 23:13:52 +01:00
..
lsp refactor(lsp): use autocmd api (#19407) 2022-07-17 19:13:33 +02:00
health_spec.lua fix(checkhealth): skip vim.health #18816 2022-06-01 07:10:10 -07:00
lsp_spec.lua feat(lsp): add tcp support 2022-08-28 14:07:53 +02:00
man_spec.lua fix(exceptions): restore did_throw (#20000) 2022-08-30 23:13:52 +01:00
matchparen_spec.lua chore: fix typos (#17755) 2022-03-25 19:57:59 +01:00
msgpack_spec.lua test: Eliminate plugin/helpers.lua 2019-08-05 23:55:57 +02:00
shada_spec.lua feat(lua): add api and lua autocmds 2022-02-27 22:04:55 +01:00