]> git.pld-linux.org Git - packages/vim.git/blob - 7.2.011
- new
[packages/vim.git] / 7.2.011
1 To: vim-dev@vim.org
2 Subject: Patch 7.2.011
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.2.011
11 Problem:    Get an error when inserting a float value from the expression
12             register.
13 Solution:   Convert the Float to a String automatically in the same place
14             where a List would be converted to a String.
15 Files:      src/eval.c
16
17
18 *** ../vim-7.2.010/src/eval.c   Mon Aug 25 04:48:21 2008
19 --- src/eval.c  Sun Sep  7 13:50:38 2008
20 ***************
21 *** 1256,1278 ****
22   
23   /*
24    * Top level evaluation function, returning a string.
25    * Return pointer to allocated memory, or NULL for failure.
26    */
27       char_u *
28 ! eval_to_string(arg, nextcmd, dolist)
29       char_u    *arg;
30       char_u    **nextcmd;
31 !     int               dolist;         /* turn List into sequence of lines */
32   {
33       typval_T  tv;
34       char_u    *retval;
35       garray_T  ga;
36   
37       if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
38         retval = NULL;
39       else
40       {
41 !       if (dolist && tv.v_type == VAR_LIST)
42         {
43             ga_init2(&ga, (int)sizeof(char), 80);
44             if (tv.vval.v_list != NULL)
45 --- 1256,1281 ----
46   
47   /*
48    * Top level evaluation function, returning a string.
49 +  * When "convert" is TRUE convert a List into a sequence of lines and convert
50 +  * a Float to a String.
51    * Return pointer to allocated memory, or NULL for failure.
52    */
53       char_u *
54 ! eval_to_string(arg, nextcmd, convert)
55       char_u    *arg;
56       char_u    **nextcmd;
57 !     int               convert;
58   {
59       typval_T  tv;
60       char_u    *retval;
61       garray_T  ga;
62 +     char_u    numbuf[NUMBUFLEN];
63   
64       if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
65         retval = NULL;
66       else
67       {
68 !       if (convert && tv.v_type == VAR_LIST)
69         {
70             ga_init2(&ga, (int)sizeof(char), 80);
71             if (tv.vval.v_list != NULL)
72 ***************
73 *** 1280,1285 ****
74 --- 1283,1295 ----
75             ga_append(&ga, NUL);
76             retval = (char_u *)ga.ga_data;
77         }
78 + #ifdef FEAT_FLOAT
79 +       else if (convert && tv.v_type == VAR_FLOAT)
80 +       {
81 +           vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv.vval.v_float);
82 +           retval = vim_strsave(numbuf);
83 +       }
84 + #endif
85         else
86             retval = vim_strsave(get_tv_string(&tv));
87         clear_tv(&tv);
88 *** ../vim-7.2.010/src/version.c        Sat Sep  6 16:44:06 2008
89 --- src/version.c       Sun Sep  7 13:52:00 2008
90 ***************
91 *** 678,679 ****
92 --- 678,681 ----
93   {   /* Add new patch number below this line */
94 + /**/
95 +     11,
96   /**/
97
98 -- 
99 hundred-and-one symptoms of being an internet addict:
100 34. You laugh at people with 14400 baud modems.
101
102  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
103 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
104 \\\        download, build and distribute -- http://www.A-A-P.org        ///
105  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.032728 seconds and 3 git commands to generate.