Patch 7.4.1325
Problem:    Channel test fails on difference between Unix and DOS line endings.
Solution:   Strip off CR.  Make assert show difference better.
Files:      src/eval.c, src/channel.c


*** ../vim-7.4.1324/src/eval.c  2016-02-15 20:39:42.581803383 +0100
--- src/eval.c  2016-02-15 22:28:40.944925802 +0100
***************
*** 9184,9189 ****
--- 9184,9221 ----
  }
  
  /*
+  * Append "str" to "gap", escaping unprintable characters.
+  * Changes NL to \n, CR to \r, etc.
+  */
+     static void
+ ga_concat_esc(garray_T *gap, char_u *str)
+ {
+     char_u  *p;
+     char_u  buf[NUMBUFLEN];
+ 
+     for (p = str; *p != NUL; ++p)
+       switch (*p)
+       {
+           case BS: ga_concat(gap, (char_u *)"\\b"); break;
+           case ESC: ga_concat(gap, (char_u *)"\\e"); break;
+           case FF: ga_concat(gap, (char_u *)"\\f"); break;
+           case NL: ga_concat(gap, (char_u *)"\\n"); break;
+           case TAB: ga_concat(gap, (char_u *)"\\t"); break;
+           case CAR: ga_concat(gap, (char_u *)"\\r"); break;
+           case '\\': ga_concat(gap, (char_u *)"\\\\"); break;
+           default:
+               if (*p < ' ')
+               {
+                   vim_snprintf((char *)buf, NUMBUFLEN, "\\x%02x", *p);
+                   ga_concat(gap, buf);
+               }
+               else
+                   ga_append(gap, *p);
+               break;
+       }
+ }
+ 
+ /*
   * Fill "gap" with information about an assert error.
   */
      static void
***************
*** 9207,9219 ****
        ga_concat(gap, (char_u *)"Expected ");
        if (exp_str == NULL)
        {
!           ga_concat(gap, tv2string(exp_tv, &tofree, numbuf, 0));
            vim_free(tofree);
        }
        else
!           ga_concat(gap, exp_str);
        ga_concat(gap, (char_u *)" but got ");
!       ga_concat(gap, tv2string(got_tv, &tofree, numbuf, 0));
        vim_free(tofree);
      }
  }
--- 9239,9251 ----
        ga_concat(gap, (char_u *)"Expected ");
        if (exp_str == NULL)
        {
!           ga_concat_esc(gap, tv2string(exp_tv, &tofree, numbuf, 0));
            vim_free(tofree);
        }
        else
!           ga_concat_esc(gap, exp_str);
        ga_concat(gap, (char_u *)" but got ");
!       ga_concat_esc(gap, tv2string(got_tv, &tofree, numbuf, 0));
        vim_free(tofree);
      }
  }
*** ../vim-7.4.1324/src/channel.c       2016-02-15 21:56:42.721119732 +0100
--- src/channel.c       2016-02-15 22:35:24.228691583 +0100
***************
*** 1262,1267 ****
--- 1262,1269 ----
  {
      readq_T *node;
      readq_T *head = &channel->ch_head;
+     char_u  *p;
+     int           i;
  
      node = (readq_T *)alloc(sizeof(readq_T));
      if (node == NULL)
***************
*** 1272,1279 ****
        vim_free(node);
        return FAIL;        /* out of memory */
      }
!     mch_memmove(node->rq_buffer, buf, (size_t)len);
!     node->rq_buffer[len] = NUL;
  
      /* append node to the tail of the queue */
      node->rq_next = NULL;
--- 1274,1286 ----
        vim_free(node);
        return FAIL;        /* out of memory */
      }
! 
!     /* TODO: don't strip CR when channel is in raw mode */
!     p = node->rq_buffer;
!     for (i = 0; i < len; ++i)
!       if (buf[i] != CAR || i + 1 >= len || buf[i + 1] != NL)
!           *p++ = buf[i];
!     *p = NUL;
  
      /* append node to the tail of the queue */
      node->rq_next = NULL;
*** ../vim-7.4.1324/src/version.c       2016-02-15 21:56:42.725119689 +0100
--- src/version.c       2016-02-15 22:36:51.447775794 +0100
***************
*** 749,750 ****
--- 749,752 ----
  {   /* Add new patch number below this line */
+ /**/
+     1325,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
269. You wonder how you can make your dustbin produce Sesame Street's
     Oscar's the Garbage Monster song when you empty it.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui