From 61a3f2139ca9e0a0bf5a626af6d148f35a652451 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Aug 12 2014 08:46:11 +0000 Subject: - patchlevel 377 --- diff --git a/7.4.377 b/7.4.377 new file mode 100644 index 0000000..e5d86bd --- /dev/null +++ b/7.4.377 @@ -0,0 +1,144 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.377 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.377 +Problem: When 'equalalways' is set a split may report "no room" even though + there is plenty of room. +Solution: Compute the available room properly. (Yukihiro Nakadaira) +Files: src/window.c + + +*** ../vim-7.4.376/src/window.c 2014-07-16 23:39:50.251084976 +0200 +--- src/window.c 2014-07-23 15:19:10.491918366 +0200 +*************** +*** 684,690 **** + int available; + int oldwin_height = 0; + int layout; +! frame_T *frp, *curfrp; + int before; + int minheight; + int wmh1; +--- 684,690 ---- + int available; + int oldwin_height = 0; + int layout; +! frame_T *frp, *curfrp, *frp2, *prevfrp; + int before; + int minheight; + int wmh1; +*************** +*** 730,741 **** + needed = wmw1 + 1; + if (flags & WSP_ROOM) + needed += p_wiw - wmw1; +! if (p_ea || (flags & (WSP_BOT | WSP_TOP))) + { + minwidth = frame_minwidth(topframe, NOWIN); + available = topframe->fr_width; + needed += minwidth; + } + else + { + minwidth = frame_minwidth(oldwin->w_frame, NOWIN); +--- 730,758 ---- + needed = wmw1 + 1; + if (flags & WSP_ROOM) + needed += p_wiw - wmw1; +! if (flags & (WSP_BOT | WSP_TOP)) + { + minwidth = frame_minwidth(topframe, NOWIN); + available = topframe->fr_width; + needed += minwidth; + } ++ else if (p_ea) ++ { ++ minwidth = frame_minwidth(oldwin->w_frame, NOWIN); ++ prevfrp = oldwin->w_frame; ++ for (frp = oldwin->w_frame->fr_parent; frp != NULL; ++ frp = frp->fr_parent) ++ { ++ if (frp->fr_layout == FR_ROW) ++ for (frp2 = frp->fr_child; frp2 != NULL; ++ frp2 = frp2->fr_next) ++ if (frp2 != prevfrp) ++ minwidth += frame_minwidth(frp2, NOWIN); ++ prevfrp = frp; ++ } ++ available = topframe->fr_width; ++ needed += minwidth; ++ } + else + { + minwidth = frame_minwidth(oldwin->w_frame, NOWIN); +*************** +*** 798,809 **** + needed = wmh1 + STATUS_HEIGHT; + if (flags & WSP_ROOM) + needed += p_wh - wmh1; +! if (p_ea || (flags & (WSP_BOT | WSP_TOP))) + { + minheight = frame_minheight(topframe, NOWIN) + need_status; + available = topframe->fr_height; + needed += minheight; + } + else + { + minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; +--- 815,843 ---- + needed = wmh1 + STATUS_HEIGHT; + if (flags & WSP_ROOM) + needed += p_wh - wmh1; +! if (flags & (WSP_BOT | WSP_TOP)) + { + minheight = frame_minheight(topframe, NOWIN) + need_status; + available = topframe->fr_height; + needed += minheight; + } ++ else if (p_ea) ++ { ++ minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; ++ prevfrp = oldwin->w_frame; ++ for (frp = oldwin->w_frame->fr_parent; frp != NULL; ++ frp = frp->fr_parent) ++ { ++ if (frp->fr_layout == FR_COL) ++ for (frp2 = frp->fr_child; frp2 != NULL; ++ frp2 = frp2->fr_next) ++ if (frp2 != prevfrp) ++ minheight += frame_minheight(frp2, NOWIN); ++ prevfrp = frp; ++ } ++ available = topframe->fr_height; ++ needed += minheight; ++ } + else + { + minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; +*** ../vim-7.4.376/src/version.c 2014-07-23 13:50:41.839956521 +0200 +--- src/version.c 2014-07-23 15:20:33.227917771 +0200 +*************** +*** 736,737 **** +--- 736,739 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 377, + /**/ + +-- +LARGE MAN: Who's that then? +CART DRIVER: (Grudgingly) I dunno, Must be a king. +LARGE MAN: Why? +CART DRIVER: He hasn't got shit all over him. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///