Patch 8.0.0411
Problem:    We can't change the case in menu entries, it breaks translations.
Solution:   Ignore case when looking up a menu translation.
Files:      src/menu.c, src/testdir/test_menu.vim


*** ../vim-8.0.0410/src/menu.c  2016-08-29 22:42:20.000000000 +0200
--- src/menu.c  2017-03-04 20:16:19.700592029 +0100
***************
*** 2455,2461 ****
      char_u            *dname;
  
      for (i = 0; i < menutrans_ga.ga_len; ++i)
!       if (STRNCMP(name, tp[i].from, len) == 0 && tp[i].from[len] == NUL)
            return tp[i].to;
  
      /* Now try again while ignoring '&' characters. */
--- 2455,2461 ----
      char_u            *dname;
  
      for (i = 0; i < menutrans_ga.ga_len; ++i)
!       if (STRNICMP(name, tp[i].from, len) == 0 && tp[i].from[len] == NUL)
            return tp[i].to;
  
      /* Now try again while ignoring '&' characters. */
***************
*** 2466,2472 ****
      if (dname != NULL)
      {
        for (i = 0; i < menutrans_ga.ga_len; ++i)
!           if (STRCMP(dname, tp[i].from_noamp) == 0)
            {
                vim_free(dname);
                return tp[i].to;
--- 2466,2472 ----
      if (dname != NULL)
      {
        for (i = 0; i < menutrans_ga.ga_len; ++i)
!           if (STRICMP(dname, tp[i].from_noamp) == 0)
            {
                vim_free(dname);
                return tp[i].to;
*** ../vim-8.0.0410/src/testdir/test_menu.vim   2016-01-03 23:23:48.000000000 
+0100
--- src/testdir/test_menu.vim   2017-03-04 20:35:10.467763599 +0100
***************
*** 1,9 ****
--- 1,29 ----
  " Test that the system menu can be loaded.
  
+ if !has('menu')
+   finish
+ endif
+ 
  func Test_load_menu()
    try
      source $VIMRUNTIME/menu.vim
    catch
      call assert_false(1, 'error while loading menus: ' . v:exception)
    endtry
+   source $VIMRUNTIME/delmenu.vim
+ endfunc
+ 
+ func Test_translate_menu()
+   if !has('multi_lang')
+     return
+   endif
+   if !filereadable($VIMRUNTIME . '/lang/menu_de_de.latin1.vim')
+     throw 'Skipped: translated menu not found'
+   endif
+ 
+   set langmenu=de_de
+   source $VIMRUNTIME/menu.vim
+   call assert_match(':browse tabnew', execute(':menu File.In\ neuem\ Tab\ 
öffnen\.\.\.'))
+ 
+   source $VIMRUNTIME/delmenu.vim
  endfunc
*** ../vim-8.0.0410/src/version.c       2017-03-04 20:09:30.495831503 +0100
--- src/version.c       2017-03-04 20:22:36.617663263 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     411,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
48. You get a tatoo that says "This body best viewed with Netscape 3.1 or
    higher."

 /// 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