Patch 8.0.0406
Problem:    The arabic shaping code is verbose.
Solution:   Shorten the code without changing the functionality.
Files:      src/arabic.c


*** ../vim-8.0.0405/src/arabic.c        2017-03-01 14:02:25.554677542 +0100
--- src/arabic.c        2017-03-04 14:46:21.313254125 +0100
***************
*** 240,246 ****
        case a_HEH: return a_s_HEH;
        case a_YEH: return a_s_YEH;
      }
- 
      return 0;
  }
  
--- 240,245 ----
***************
*** 305,311 ****
        case a_HEH: return a_i_HEH;
        case a_YEH: return a_i_YEH;
      }
- 
      return 0;
  }
  
--- 304,309 ----
***************
*** 356,362 ****
        case a_ALEF_MAKSURA: return a_f_ALEF_MAKSURA;   /* exception */
        case a_YEH: return a_m_YEH;
      }
- 
      return 0;
  }
  
--- 354,359 ----
***************
*** 367,502 ****
      static int
  chg_c_a2f(int cur_c)
  {
-     int tempc;
- 
      /* NOTE: these encodings need to be accounted for
! 
!       a_f_ALEF_MADDA;
!       a_f_ALEF_HAMZA_ABOVE;
!       a_f_ALEF_HAMZA_BELOW;
!       a_f_LAM_ALEF_MADDA_ABOVE;
!       a_f_LAM_ALEF_HAMZA_ABOVE;
!       a_f_LAM_ALEF_HAMZA_BELOW;
!       */
! 
      switch (cur_c)
      {
!       case a_HAMZA:                   /* exception */
!           tempc = a_s_HAMZA;
!           break;
!       case a_ALEF_MADDA:
!           tempc = a_f_ALEF_MADDA;
!           break;
!       case a_ALEF_HAMZA_ABOVE:
!           tempc = a_f_ALEF_HAMZA_ABOVE;
!           break;
!       case a_WAW_HAMZA:
!           tempc = a_f_WAW_HAMZA;
!           break;
!       case a_ALEF_HAMZA_BELOW:
!           tempc = a_f_ALEF_HAMZA_BELOW;
!           break;
!       case a_YEH_HAMZA:
!           tempc = a_f_YEH_HAMZA;
!           break;
!       case a_ALEF:
!           tempc = a_f_ALEF;
!           break;
!       case a_BEH:
!           tempc = a_f_BEH;
!           break;
!       case a_TEH_MARBUTA:
!           tempc = a_f_TEH_MARBUTA;
!           break;
!       case a_TEH:
!           tempc = a_f_TEH;
!           break;
!       case a_THEH:
!           tempc = a_f_THEH;
!           break;
!       case a_JEEM:
!           tempc = a_f_JEEM;
!           break;
!       case a_HAH:
!           tempc = a_f_HAH;
!           break;
!       case a_KHAH:
!           tempc = a_f_KHAH;
!           break;
!       case a_DAL:
!           tempc = a_f_DAL;
!           break;
!       case a_THAL:
!           tempc = a_f_THAL;
!           break;
!       case a_REH:
!           tempc = a_f_REH;
!           break;
!       case a_ZAIN:
!           tempc = a_f_ZAIN;
!           break;
!       case a_SEEN:
!           tempc = a_f_SEEN;
!           break;
!       case a_SHEEN:
!           tempc = a_f_SHEEN;
!           break;
!       case a_SAD:
!           tempc = a_f_SAD;
!           break;
!       case a_DAD:
!           tempc = a_f_DAD;
!           break;
!       case a_TAH:
!           tempc = a_f_TAH;
!           break;
!       case a_ZAH:
!           tempc = a_f_ZAH;
!           break;
!       case a_AIN:
!           tempc = a_f_AIN;
!           break;
!       case a_GHAIN:
!           tempc = a_f_GHAIN;
!           break;
!       case a_TATWEEL:                 /* exception */
!           tempc = cur_c;
!           break;
!       case a_FEH:
!           tempc = a_f_FEH;
!           break;
!       case a_QAF:
!           tempc = a_f_QAF;
!           break;
!       case a_KAF:
!           tempc = a_f_KAF;
!           break;
!       case a_LAM:
!           tempc = a_f_LAM;
!           break;
!       case a_MEEM:
!           tempc = a_f_MEEM;
!           break;
!       case a_NOON:
!           tempc = a_f_NOON;
!           break;
!       case a_HEH:
!           tempc = a_f_HEH;
!           break;
!       case a_WAW:
!           tempc = a_f_WAW;
!           break;
!       case a_ALEF_MAKSURA:
!           tempc = a_f_ALEF_MAKSURA;
!           break;
!       case a_YEH:
!           tempc = a_f_YEH;
!           break;
!       default:
!           tempc = 0;
      }
! 
!     return tempc;
  }
  
  
--- 364,418 ----
      static int
  chg_c_a2f(int cur_c)
  {
      /* NOTE: these encodings need to be accounted for
!      * a_f_ALEF_MADDA;
!      * a_f_ALEF_HAMZA_ABOVE;
!      * a_f_ALEF_HAMZA_BELOW;
!      * a_f_LAM_ALEF_MADDA_ABOVE;
!      * a_f_LAM_ALEF_HAMZA_ABOVE;
!      * a_f_LAM_ALEF_HAMZA_BELOW;
!      */
      switch (cur_c)
      {
!       case a_HAMZA: return a_s_HAMZA; /* exception */
!       case a_ALEF_MADDA: return a_f_ALEF_MADDA;
!       case a_ALEF_HAMZA_ABOVE: return a_f_ALEF_HAMZA_ABOVE;
!       case a_WAW_HAMZA: return a_f_WAW_HAMZA;
!       case a_ALEF_HAMZA_BELOW: return a_f_ALEF_HAMZA_BELOW;
!       case a_YEH_HAMZA: return a_f_YEH_HAMZA;
!       case a_ALEF: return a_f_ALEF;
!       case a_BEH: return a_f_BEH;
!       case a_TEH_MARBUTA: return a_f_TEH_MARBUTA;
!       case a_TEH: return a_f_TEH;
!       case a_THEH: return a_f_THEH;
!       case a_JEEM: return a_f_JEEM;
!       case a_HAH: return a_f_HAH;
!       case a_KHAH: return a_f_KHAH;
!       case a_DAL: return a_f_DAL;
!       case a_THAL: return a_f_THAL;
!       case a_REH: return a_f_REH;
!       case a_ZAIN: return a_f_ZAIN;
!       case a_SEEN: return a_f_SEEN;
!       case a_SHEEN: return a_f_SHEEN;
!       case a_SAD: return a_f_SAD;
!       case a_DAD: return a_f_DAD;
!       case a_TAH: return a_f_TAH;
!       case a_ZAH: return a_f_ZAH;
!       case a_AIN: return a_f_AIN;
!       case a_GHAIN: return a_f_GHAIN;
!       case a_TATWEEL: return cur_c;   /* exception */
!       case a_FEH: return a_f_FEH;
!       case a_QAF: return a_f_QAF;
!       case a_KAF: return a_f_KAF;
!       case a_LAM: return a_f_LAM;
!       case a_MEEM: return a_f_MEEM;
!       case a_NOON: return a_f_NOON;
!       case a_HEH: return a_f_HEH;
!       case a_WAW: return a_f_WAW;
!       case a_ALEF_MAKSURA: return a_f_ALEF_MAKSURA;
!       case a_YEH: return a_f_YEH;
      }
!     return 0;
  }
  
  
***************
*** 506,589 ****
      static int
  chg_c_i2m(int cur_c)
  {
-     int tempc;
- 
      switch (cur_c)
      {
!       case a_i_YEH_HAMZA:
!           tempc = a_m_YEH_HAMZA;
!           break;
!       case a_i_BEH:
!           tempc = a_m_BEH;
!           break;
!       case a_i_TEH:
!           tempc = a_m_TEH;
!           break;
!       case a_i_THEH:
!           tempc = a_m_THEH;
!           break;
!       case a_i_JEEM:
!           tempc = a_m_JEEM;
!           break;
!       case a_i_HAH:
!           tempc = a_m_HAH;
!           break;
!       case a_i_KHAH:
!           tempc = a_m_KHAH;
!           break;
!       case a_i_SEEN:
!           tempc = a_m_SEEN;
!           break;
!       case a_i_SHEEN:
!           tempc = a_m_SHEEN;
!           break;
!       case a_i_SAD:
!           tempc = a_m_SAD;
!           break;
!       case a_i_DAD:
!           tempc = a_m_DAD;
!           break;
!       case a_i_TAH:
!           tempc = a_m_TAH;
!           break;
!       case a_i_ZAH:
!           tempc = a_m_ZAH;
!           break;
!       case a_i_AIN:
!           tempc = a_m_AIN;
!           break;
!       case a_i_GHAIN:
!           tempc = a_m_GHAIN;
!           break;
!       case a_i_FEH:
!           tempc = a_m_FEH;
!           break;
!       case a_i_QAF:
!           tempc = a_m_QAF;
!           break;
!       case a_i_KAF:
!           tempc = a_m_KAF;
!           break;
!       case a_i_LAM:
!           tempc = a_m_LAM;
!           break;
!       case a_i_MEEM:
!           tempc = a_m_MEEM;
!           break;
!       case a_i_NOON:
!           tempc = a_m_NOON;
!           break;
!       case a_i_HEH:
!           tempc = a_m_HEH;
!           break;
!       case a_i_YEH:
!           tempc = a_m_YEH;
!           break;
!       default:
!           tempc = 0;
      }
! 
!     return tempc;
  }
  
  
--- 422,454 ----
      static int
  chg_c_i2m(int cur_c)
  {
      switch (cur_c)
      {
!       case a_i_YEH_HAMZA: return a_m_YEH_HAMZA;
!       case a_i_BEH: return a_m_BEH;
!       case a_i_TEH: return a_m_TEH;
!       case a_i_THEH: return a_m_THEH;
!       case a_i_JEEM: return a_m_JEEM;
!       case a_i_HAH: return a_m_HAH;
!       case a_i_KHAH: return a_m_KHAH;
!       case a_i_SEEN: return a_m_SEEN;
!       case a_i_SHEEN: return a_m_SHEEN;
!       case a_i_SAD: return a_m_SAD;
!       case a_i_DAD: return a_m_DAD;
!       case a_i_TAH: return a_m_TAH;
!       case a_i_ZAH: return a_m_ZAH;
!       case a_i_AIN: return a_m_AIN;
!       case a_i_GHAIN: return a_m_GHAIN;
!       case a_i_FEH: return a_m_FEH;
!       case a_i_QAF: return a_m_QAF;
!       case a_i_KAF: return a_m_KAF;
!       case a_i_LAM: return a_m_LAM;
!       case a_i_MEEM: return a_m_MEEM;
!       case a_i_NOON: return a_m_NOON;
!       case a_i_HEH: return a_m_HEH;
!       case a_i_YEH: return a_m_YEH;
      }
!     return 0;
  }
  
  
***************
*** 593,610 ****
      static int
  chg_c_f2m(int cur_c)
  {
-     int tempc;
- 
      switch (cur_c)
      {
        /* NOTE: these encodings are multi-positional, no ?
!          case a_f_ALEF_MADDA:
!          case a_f_ALEF_HAMZA_ABOVE:
!          case a_f_ALEF_HAMZA_BELOW:
!          */
!       case a_f_YEH_HAMZA:
!           tempc = a_m_YEH_HAMZA;
!           break;
        case a_f_WAW_HAMZA:             /* exceptions */
        case a_f_ALEF:
        case a_f_TEH_MARBUTA:
--- 458,471 ----
      static int
  chg_c_f2m(int cur_c)
  {
      switch (cur_c)
      {
        /* NOTE: these encodings are multi-positional, no ?
!        * case a_f_ALEF_MADDA:
!        * case a_f_ALEF_HAMZA_ABOVE:
!        * case a_f_ALEF_HAMZA_BELOW:
!        */
!       case a_f_YEH_HAMZA: return a_m_YEH_HAMZA;
        case a_f_WAW_HAMZA:             /* exceptions */
        case a_f_ALEF:
        case a_f_TEH_MARBUTA:
***************
*** 614,698 ****
        case a_f_ZAIN:
        case a_f_WAW:
        case a_f_ALEF_MAKSURA:
!           tempc = cur_c;
!           break;
!       case a_f_BEH:
!           tempc = a_m_BEH;
!           break;
!       case a_f_TEH:
!           tempc = a_m_TEH;
!           break;
!       case a_f_THEH:
!           tempc = a_m_THEH;
!           break;
!       case a_f_JEEM:
!           tempc = a_m_JEEM;
!           break;
!       case a_f_HAH:
!           tempc = a_m_HAH;
!           break;
!       case a_f_KHAH:
!           tempc = a_m_KHAH;
!           break;
!       case a_f_SEEN:
!           tempc = a_m_SEEN;
!           break;
!       case a_f_SHEEN:
!           tempc = a_m_SHEEN;
!           break;
!       case a_f_SAD:
!           tempc = a_m_SAD;
!           break;
!       case a_f_DAD:
!           tempc = a_m_DAD;
!           break;
!       case a_f_TAH:
!           tempc = a_m_TAH;
!           break;
!       case a_f_ZAH:
!           tempc = a_m_ZAH;
!           break;
!       case a_f_AIN:
!           tempc = a_m_AIN;
!           break;
!       case a_f_GHAIN:
!           tempc = a_m_GHAIN;
!           break;
!       case a_f_FEH:
!           tempc = a_m_FEH;
!           break;
!       case a_f_QAF:
!           tempc = a_m_QAF;
!           break;
!       case a_f_KAF:
!           tempc = a_m_KAF;
!           break;
!       case a_f_LAM:
!           tempc = a_m_LAM;
!           break;
!       case a_f_MEEM:
!           tempc = a_m_MEEM;
!           break;
!       case a_f_NOON:
!           tempc = a_m_NOON;
!           break;
!       case a_f_HEH:
!           tempc = a_m_HEH;
!           break;
!       case a_f_YEH:
!           tempc = a_m_YEH;
!           break;
!           /* NOTE: these encodings are multi-positional, no ?
!               case a_f_LAM_ALEF_MADDA_ABOVE:
!               case a_f_LAM_ALEF_HAMZA_ABOVE:
!               case a_f_LAM_ALEF_HAMZA_BELOW:
!               case a_f_LAM_ALEF:
!               */
!       default:
!           tempc = 0;
!     }
  
!     return tempc;
  }
  
  
--- 475,512 ----
        case a_f_ZAIN:
        case a_f_WAW:
        case a_f_ALEF_MAKSURA:
!               return cur_c;
!       case a_f_BEH: return a_m_BEH;
!       case a_f_TEH: return a_m_TEH;
!       case a_f_THEH: return a_m_THEH;
!       case a_f_JEEM: return a_m_JEEM;
!       case a_f_HAH: return a_m_HAH;
!       case a_f_KHAH: return a_m_KHAH;
!       case a_f_SEEN: return a_m_SEEN;
!       case a_f_SHEEN: return a_m_SHEEN;
!       case a_f_SAD: return a_m_SAD;
!       case a_f_DAD: return a_m_DAD;
!       case a_f_TAH: return a_m_TAH;
!       case a_f_ZAH: return a_m_ZAH;
!       case a_f_AIN: return a_m_AIN;
!       case a_f_GHAIN: return a_m_GHAIN;
!       case a_f_FEH: return a_m_FEH;
!       case a_f_QAF: return a_m_QAF;
!       case a_f_KAF: return a_m_KAF;
!       case a_f_LAM: return a_m_LAM;
!       case a_f_MEEM: return a_m_MEEM;
!       case a_f_NOON: return a_m_NOON;
!       case a_f_HEH: return a_m_HEH;
!       case a_f_YEH: return a_m_YEH;
  
!       /* NOTE: these encodings are multi-positional, no ?
!        * case a_f_LAM_ALEF_MADDA_ABOVE:
!        * case a_f_LAM_ALEF_HAMZA_ABOVE:
!        * case a_f_LAM_ALEF_HAMZA_BELOW:
!        * case a_f_LAM_ALEF:
!        */
!     }
!     return 0;
  }
  
  
***************
*** 702,728 ****
      static int
  chg_c_laa2i(int hid_c)
  {
-     int tempc;
- 
      switch (hid_c)
      {
!       case a_ALEF_MADDA:
!           tempc = a_s_LAM_ALEF_MADDA_ABOVE;
!           break;
!       case a_ALEF_HAMZA_ABOVE:
!           tempc = a_s_LAM_ALEF_HAMZA_ABOVE;
!           break;
!       case a_ALEF_HAMZA_BELOW:
!           tempc = a_s_LAM_ALEF_HAMZA_BELOW;
!           break;
!       case a_ALEF:
!           tempc = a_s_LAM_ALEF;
!           break;
!       default:
!           tempc = 0;
      }
! 
!     return tempc;
  }
  
  
--- 516,529 ----
      static int
  chg_c_laa2i(int hid_c)
  {
      switch (hid_c)
      {
!       case a_ALEF_MADDA: return a_s_LAM_ALEF_MADDA_ABOVE;
!       case a_ALEF_HAMZA_ABOVE: return a_s_LAM_ALEF_HAMZA_ABOVE;
!       case a_ALEF_HAMZA_BELOW: return a_s_LAM_ALEF_HAMZA_BELOW;
!       case a_ALEF: return a_s_LAM_ALEF;
      }
!     return 0;
  }
  
  
***************
*** 732,758 ****
      static int
  chg_c_laa2f(int hid_c)
  {
-     int tempc;
- 
      switch (hid_c)
      {
!       case a_ALEF_MADDA:
!           tempc = a_f_LAM_ALEF_MADDA_ABOVE;
!           break;
!       case a_ALEF_HAMZA_ABOVE:
!           tempc = a_f_LAM_ALEF_HAMZA_ABOVE;
!           break;
!       case a_ALEF_HAMZA_BELOW:
!           tempc = a_f_LAM_ALEF_HAMZA_BELOW;
!           break;
!       case a_ALEF:
!           tempc = a_f_LAM_ALEF;
!           break;
!       default:
!           tempc = 0;
      }
! 
!     return tempc;
  }
  
  /*
--- 533,546 ----
      static int
  chg_c_laa2f(int hid_c)
  {
      switch (hid_c)
      {
!       case a_ALEF_MADDA: return a_f_LAM_ALEF_MADDA_ABOVE;
!       case a_ALEF_HAMZA_ABOVE: return a_f_LAM_ALEF_HAMZA_ABOVE;
!       case a_ALEF_HAMZA_BELOW: return a_f_LAM_ALEF_HAMZA_BELOW;
!       case a_ALEF: return a_f_LAM_ALEF;
      }
!     return 0;
  }
  
  /*
*** ../vim-8.0.0405/src/version.c       2017-03-04 14:37:14.649120059 +0100
--- src/version.c       2017-03-04 14:47:19.112833437 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     406,
  /**/

-- 
Well, you come from nothing, you go back to nothing...  What have you
lost?  Nothing!
                                -- Monty Python: The life of Brian

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