]>
Commit | Line | Data |
---|---|---|
c6060300 MT |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.352 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.352 | |
11 | Problem: When completing methods dict functions and script-local functions | |
12 | get in the way. | |
13 | Solution: Sort function names starting with "<" to the end. (Yasuhiro | |
14 | Matsumoto) | |
15 | Files: src/ex_getln.c | |
16 | ||
17 | ||
18 | *** ../vim-7.3.351/src/ex_getln.c 2011-09-30 17:46:14.000000000 +0200 | |
19 | --- src/ex_getln.c 2011-10-26 21:37:53.000000000 +0200 | |
20 | *************** | |
21 | *** 121,126 **** | |
22 | --- 121,134 ---- | |
23 | static int ex_window __ARGS((void)); | |
24 | #endif | |
25 | ||
26 | + #if defined(FEAT_CMDL_COMPL) || defined(PROTO) | |
27 | + static int | |
28 | + #ifdef __BORLANDC__ | |
29 | + _RTLENTRYF | |
30 | + #endif | |
31 | + sort_func_compare __ARGS((const void *s1, const void *s2)); | |
32 | + #endif | |
33 | + | |
34 | /* | |
35 | * getcmdline() - accept a command line starting with firstc. | |
36 | * | |
37 | *************** | |
38 | *** 3286,3291 **** | |
39 | --- 3294,3317 ---- | |
40 | return check_abbr(c, ccline.cmdbuff, ccline.cmdpos, 0); | |
41 | } | |
42 | ||
43 | + #if defined(FEAT_CMDL_COMPL) || defined(PROTO) | |
44 | + static int | |
45 | + #ifdef __BORLANDC__ | |
46 | + _RTLENTRYF | |
47 | + #endif | |
48 | + sort_func_compare(s1, s2) | |
49 | + const void *s1; | |
50 | + const void *s2; | |
51 | + { | |
52 | + char_u *p1 = *(char_u **)s1; | |
53 | + char_u *p2 = *(char_u **)s2; | |
54 | + | |
55 | + if (*p1 != '<' && *p2 == '<') return -1; | |
56 | + if (*p1 == '<' && *p2 != '<') return 1; | |
57 | + return STRCMP(p1, p2); | |
58 | + } | |
59 | + #endif | |
60 | + | |
61 | /* | |
62 | * Return FAIL if this is not an appropriate context in which to do | |
63 | * completion of anything, return OK if it is (even if there are no matches). | |
64 | *************** | |
65 | *** 4735,4741 **** | |
66 | ||
67 | /* Sort the results. Keep menu's in the specified order. */ | |
68 | if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS) | |
69 | ! sort_strings(*file, *num_file); | |
70 | ||
71 | #ifdef FEAT_CMDL_COMPL | |
72 | /* Reset the variables used for special highlight names expansion, so that | |
73 | --- 4761,4776 ---- | |
74 | ||
75 | /* Sort the results. Keep menu's in the specified order. */ | |
76 | if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS) | |
77 | ! { | |
78 | ! if (xp->xp_context == EXPAND_EXPRESSION | |
79 | ! || xp->xp_context == EXPAND_FUNCTIONS | |
80 | ! || xp->xp_context == EXPAND_USER_FUNC) | |
81 | ! /* <SNR> functions should be sorted to the end. */ | |
82 | ! qsort((void *)*file, (size_t)*num_file, sizeof(char_u *), | |
83 | ! sort_func_compare); | |
84 | ! else | |
85 | ! sort_strings(*file, *num_file); | |
86 | ! } | |
87 | ||
88 | #ifdef FEAT_CMDL_COMPL | |
89 | /* Reset the variables used for special highlight names expansion, so that | |
90 | *** ../vim-7.3.351/src/version.c 2011-10-26 17:04:23.000000000 +0200 | |
91 | --- src/version.c 2011-10-26 21:49:53.000000000 +0200 | |
92 | *************** | |
93 | *** 716,717 **** | |
94 | --- 716,719 ---- | |
95 | { /* Add new patch number below this line */ | |
96 | + /**/ | |
97 | + 352, | |
98 | /**/ | |
99 | ||
100 | -- | |
101 | hundred-and-one symptoms of being an internet addict: | |
102 | 94. Now admit it... How many of you have made "modem noises" into | |
103 | the phone just to see if it was possible? :-) | |
104 | ||
105 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
106 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
107 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
108 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |