]>
Commit | Line | Data |
---|---|---|
9b1d76b7 AG |
1 | To: vim-dev@vim.org |
2 | Subject: patch 7.0.194 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=ISO-8859-1 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.0.194 | |
11 | Problem: Once an ml_get error is given redrawing part of the screen may | |
12 | cause it again, resulting in an endless loop. | |
13 | Solution: Don't give the error message for a recursive call. | |
14 | Files: src/memline.c | |
15 | ||
16 | ||
17 | *** ../vim-7.0.193/src/memline.c Wed Feb 7 03:42:37 2007 | |
18 | --- src/memline.c Tue Feb 13 03:56:00 2007 | |
19 | *************** | |
20 | *** 2054,2066 **** | |
21 | linenr_T lnum; | |
22 | int will_change; /* line will be changed */ | |
23 | { | |
24 | ! bhdr_T *hp; | |
25 | ! DATA_BL *dp; | |
26 | ! char_u *ptr; | |
27 | ||
28 | if (lnum > buf->b_ml.ml_line_count) /* invalid line number */ | |
29 | { | |
30 | ! EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum); | |
31 | errorret: | |
32 | STRCPY(IObuff, "???"); | |
33 | return IObuff; | |
34 | --- 2054,2074 ---- | |
35 | linenr_T lnum; | |
36 | int will_change; /* line will be changed */ | |
37 | { | |
38 | ! bhdr_T *hp; | |
39 | ! DATA_BL *dp; | |
40 | ! char_u *ptr; | |
41 | ! static int recursive = 0; | |
42 | ||
43 | if (lnum > buf->b_ml.ml_line_count) /* invalid line number */ | |
44 | { | |
45 | ! if (recursive == 0) | |
46 | ! { | |
47 | ! /* Avoid giving this message for a recursive call, may happen when | |
48 | ! * the GUI redraws part of the text. */ | |
49 | ! ++recursive; | |
50 | ! EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum); | |
51 | ! --recursive; | |
52 | ! } | |
53 | errorret: | |
54 | STRCPY(IObuff, "???"); | |
55 | return IObuff; | |
56 | *************** | |
57 | *** 2088,2094 **** | |
58 | */ | |
59 | if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL) | |
60 | { | |
61 | ! EMSGN(_("E316: ml_get: cannot find line %ld"), lnum); | |
62 | goto errorret; | |
63 | } | |
64 | ||
65 | --- 2096,2109 ---- | |
66 | */ | |
67 | if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL) | |
68 | { | |
69 | ! if (recursive == 0) | |
70 | ! { | |
71 | ! /* Avoid giving this message for a recursive call, may happen | |
72 | ! * when the GUI redraws part of the text. */ | |
73 | ! ++recursive; | |
74 | ! EMSGN(_("E316: ml_get: cannot find line %ld"), lnum); | |
75 | ! --recursive; | |
76 | ! } | |
77 | goto errorret; | |
78 | } | |
79 | ||
80 | *** ../vim-7.0.193/src/version.c Tue Feb 13 03:49:01 2007 | |
81 | --- src/version.c Tue Feb 13 03:59:22 2007 | |
82 | *************** | |
83 | *** 668,669 **** | |
84 | --- 668,671 ---- | |
85 | { /* Add new patch number below this line */ | |
86 | + /**/ | |
87 | + 194, | |
88 | /**/ | |
89 | ||
90 | -- | |
91 | hundred-and-one symptoms of being an internet addict: | |
92 | 114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...". | |
93 | ||
94 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
95 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
96 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
97 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |