To: vim_dev@googlegroups.com Subject: Patch 8.0.0406 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@Moolenaar.net -- 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 ///