4 From: Bram Moolenaar <Bram@moolenaar.net>
6 Content-Type: text/plain; charset=ISO-8859-1
7 Content-Transfer-Encoding: 8bit
11 Problem: ":normal! gQ" hangs.
12 Solution: Quit getcmdline() and do_exmode() when out of typeahead.
13 Files: src/ex_getln.c, src/ex_docmd.c
16 *** ../vim-6.3.049/src/ex_getln.c Thu Jan 13 16:25:02 2005
17 --- src/ex_getln.c Sun Feb 13 20:35:24 2005
21 case ESC: /* get here if p_wc != ESC or when ESC typed twice */
23 ! /* In exmode it doesn't make sense to return. */
25 goto cmdline_not_changed;
27 gotesc = TRUE; /* will free ccline.cmdbuff after
30 case ESC: /* get here if p_wc != ESC or when ESC typed twice */
32 ! /* In exmode it doesn't make sense to return. Except when
33 ! * ":normal" runs out of characters. */
35 ! #ifdef FEAT_EX_EXTRA
36 ! && (ex_normal_busy == 0 || typebuf.tb_len > 0)
39 goto cmdline_not_changed;
41 gotesc = TRUE; /* will free ccline.cmdbuff after
42 *** ../vim-6.3.049/src/ex_docmd.c Sun Dec 5 16:18:46 2004
43 --- src/ex_docmd.c Sun Feb 13 20:39:37 2005
47 MSG(_("Entering Ex mode. Type \"visual\" to go to Normal mode."));
50 + #ifdef FEAT_EX_EXTRA
51 + /* Check for a ":normal" command and no more characters left. */
52 + if (ex_normal_busy > 0 && typebuf.tb_len == 0)
54 + exmode_active = FALSE;
59 need_wait_return = FALSE;
60 ex_pressedreturn = FALSE;
61 *** ../vim-6.3.049/src/version.c Sat Jan 29 16:25:36 2005
62 --- src/version.c Sun Feb 13 20:45:33 2005
66 { /* Add new patch number below this line */
73 ...for the taxes that I pay because it means that I am employed.
75 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
76 /// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
77 \\\ Project leader for A-A-P -- http://www.A-A-P.org ///
78 \\\ Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html ///