To: vim-dev@vim.org Subject: Patch 6.1.257 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.1.257 Problem: ":cwindow" always sets the previous window to the last but one window. (Benji Fisher) Solution: Set the previous window properly. Files: src/globals.c, src/quickfix.c, src/window.c *** ../vim61.256/src/globals.h Sun Nov 10 13:33:34 2002 --- src/globals.h Wed Nov 13 20:03:07 2002 *************** *** 364,371 **** * Without the FEAT_WINDOWS they are all equal. */ #ifdef FEAT_WINDOWS ! EXTERN win_T *firstwin; /* first window */ ! EXTERN win_T *lastwin; /* last window */ # define W_NEXT(wp) ((wp)->w_next) # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next) #else --- 364,372 ---- * Without the FEAT_WINDOWS they are all equal. */ #ifdef FEAT_WINDOWS ! EXTERN win_T *firstwin; /* first window */ ! EXTERN win_T *lastwin; /* last window */ ! EXTERN win_T *prevwin INIT(= NULL); /* previous window */ # define W_NEXT(wp) ((wp)->w_next) # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next) #else *** ../vim61.256/src/quickfix.c Mon Sep 23 21:32:08 2002 --- src/quickfix.c Wed Nov 13 20:02:10 2002 *************** *** 1567,1572 **** --- 1567,1575 ---- win_goto(win); else { + /* The current window becomes the previous window afterwards. */ + win = curwin; + /* Create the new window at the very bottom. */ win_goto(lastwin); if (win_split(height, WSP_BELOW) == FAIL) *************** *** 1593,1598 **** --- 1596,1603 ---- if (curwin->w_width == Columns) win_setheight(height); curwin->w_p_wfh = TRUE; /* set 'winfixheight' */ + if (win_valid(win)) + prevwin = win; } /* *** ../vim61.256/src/window.c Tue Oct 8 20:05:55 2002 --- src/window.c Wed Nov 13 20:02:38 2002 *************** *** 65,71 **** static int check_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); static win_T *restore_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); - static win_T *prevwin = NULL; /* previous window */ #endif /* FEAT_WINDOWS */ static void win_setheight_win __ARGS((int height, win_T *win)); static win_T *win_alloc __ARGS((win_T *after)); --- 65,70 ---- *************** *** 1889,1895 **** if (wp->w_p_pvw || bt_quickfix(wp->w_buffer)) { /* ! * When the cursor goes to the preview or the quickfix window, try * finding another window to go to. */ for (;;) --- 1888,1894 ---- if (wp->w_p_pvw || bt_quickfix(wp->w_buffer)) { /* ! * The cursor goes to the preview or the quickfix window, try * finding another window to go to. */ for (;;) *** ../vim61.256/src/version.c Tue Nov 19 11:17:56 2002 --- src/version.c Tue Nov 19 11:19:37 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 257, /**/ -- hundred-and-one symptoms of being an internet addict: 84. Books in your bookcase bear the names Bongo, WinSock and Inside OLE /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ /// Creator of Vim - Vi IMproved -- http://www.vim.org \\\ \\\ Project leader for A-A-P -- http://www.a-a-p.org /// \\\ Lord Of The Rings helps Uganda - http://iccf-holland.org/lotr.html ///