aboutsummaryrefslogtreecommitdiff
path: root/src/api/vim.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/vim.c')
-rw-r--r--src/api/vim.c57
1 files changed, 1 insertions, 56 deletions
diff --git a/src/api/vim.c b/src/api/vim.c
index bc17772bc9..eb195270d9 100644
--- a/src/api/vim.c
+++ b/src/api/vim.c
@@ -5,6 +5,7 @@
#include "api/vim.h"
#include "api/defs.h"
+#include "api/helpers.h"
#include "../vim.h"
#include "types.h"
#include "ascii.h"
@@ -18,16 +19,6 @@
KHASH_SET_INIT_INT64(Lookup)
-/// Start block that may cause vimscript exceptions
-static void try_start(void);
-
-/// End try block, set the error message if any and return true if an error
-/// occurred.
-///
-/// @param err Pointer to the stack-allocated error object
-/// @return true if an error occurred
-static bool try_end(Error *err);
-
/// Convert a vim object to an `Object` instance, recursively expanding
/// Arrays/Dictionaries.
///
@@ -251,52 +242,6 @@ void vim_set_current_tabpage(Tabpage tabpage)
abort();
}
-static void try_start()
-{
- ++trylevel;
-}
-
-static bool try_end(Error *err)
-{
- --trylevel;
-
- // Without this it stops processing all subsequent VimL commands and
- // generates strange error messages if I e.g. try calling Test() in a
- // cycle
- did_emsg = false;
-
- if (got_int) {
- const char msg[] = "Keyboard interrupt";
-
- if (did_throw) {
- // If we got an interrupt, discard the current exception
- discard_current_exception();
- }
-
- strncpy(err->msg, msg, sizeof(err->msg));
- err->set = true;
- got_int = false;
- } else if (msg_list != NULL && *msg_list != NULL) {
- int should_free;
- char *msg = (char *)get_exception_string(*msg_list,
- ET_ERROR,
- NULL,
- &should_free);
- strncpy(err->msg, msg, sizeof(err->msg));
- err->set = true;
- free_global_msglist();
-
- if (should_free) {
- free(msg);
- }
- } else if (did_throw) {
- strncpy(err->msg, (char *)current_exception->value, sizeof(err->msg));
- err->set = true;
- }
-
- return err->set;
-}
-
static Object vim_to_object(typval_T *obj)
{
Object rv;