summaryrefslogtreecommitdiff
path: root/src/misc2.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-09-15 14:12:05 +0200
committerBram Moolenaar <Bram@vim.org>2015-09-15 14:12:05 +0200
commit93c88e0f6a4a8f7634ed84721daf4af46fc0d5db (patch)
treeb325606d26d69c3804a9007cf7d1fa4a8034f4aa /src/misc2.c
parented84b76021df763619cabaedddc44eb5ee849136 (diff)
downloadvim-git-93c88e0f6a4a8f7634ed84721daf4af46fc0d5db.tar.gz
patch 7.4.866v7.4.866
Problem: Crash when changing the 'tags' option from a remote command. (Benjamin Fritz) Solution: Instead of executing messages immediately, use a queue, like for netbeans. (James Kolb)
Diffstat (limited to 'src/misc2.c')
-rw-r--r--src/misc2.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/misc2.c b/src/misc2.c
index 379916b39..e6a4e747d 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -6328,3 +6328,23 @@ has_non_ascii(s)
return FALSE;
}
#endif
+
+#if defined(MESSAGE_QUEUE) || defined(PROTO)
+/*
+ * Process messages that have been queued for netbeans or clientserver.
+ * These functions can call arbitrary vimscript and should only be called when
+ * it is safe to do so.
+ */
+ void
+parse_queued_messages()
+{
+# ifdef FEAT_NETBEANS_INTG
+ /* Process the queued netbeans messages. */
+ netbeans_parse_messages();
+# endif
+# ifdef FEAT_CLIENTSERVER
+ /* Process the queued clientserver messages. */
+ server_parse_messages();
+# endif
+}
+#endif