From bc8abe5ea26aa031395c754e3e9710dcc62dd0f0 Mon Sep 17 00:00:00 2001
From: Brian Derr <brian@derrclan.com>
Date: Thu, 19 Feb 2015 13:30:50 -0800
Subject: [PATCH 1/2] Verify zle is active before trying to reset-prompt.

---
 plugins/vi-mode/vi-mode.plugin.zsh | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index f2745b409..ac9233290 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -17,8 +17,12 @@ function zle-keymap-select zle-line-init zle-line-finish {
 # Ensure that the prompt is redrawn when the terminal size changes.
 TRAPWINCH() {
   if [[ -o zle ]]; then
-    zle reset-prompt
-    zle -R
+    # Verify that zle is active before trying to reset-prompt.
+    zle
+    if [[ $? -eq 0 ]]; then
+      zle reset-prompt
+      zle -R
+    fi
   fi
 }
 

From d7837c6041b1099982e3f278b50e8868b8b30ff9 Mon Sep 17 00:00:00 2001
From: Brian Derr <brian@derrclan.com>
Date: Sat, 21 Feb 2015 18:08:54 -0800
Subject: [PATCH 2/2] Shorten the zle check and reset-prompt into one line.

---
 plugins/vi-mode/vi-mode.plugin.zsh | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh
index ac9233290..80df97d61 100644
--- a/plugins/vi-mode/vi-mode.plugin.zsh
+++ b/plugins/vi-mode/vi-mode.plugin.zsh
@@ -16,14 +16,7 @@ function zle-keymap-select zle-line-init zle-line-finish {
 
 # Ensure that the prompt is redrawn when the terminal size changes.
 TRAPWINCH() {
-  if [[ -o zle ]]; then
-    # Verify that zle is active before trying to reset-prompt.
-    zle
-    if [[ $? -eq 0 ]]; then
-      zle reset-prompt
-      zle -R
-    fi
-  fi
+  zle && { zle reset-prompt; zle -R }
 }
 
 zle -N zle-line-init