# HG changeset patch # User Christian Brabandt # Date 1488636004 -3600 # Node ID 8ae6d6052b1491bb5ba8fcedd3fa32856071df22 # Parent b4517d047b297c5b1add090f2cf474d13d421724 patch 8.0.0406: arabic shaping code is verbose commit https://github.com/vim/vim/commit/7f73b54631af3f0e6f0acd1a1b4c9e8436784705 Author: Bram Moolenaar Date: Sat Mar 4 14:50:19 2017 +0100 patch 8.0.0406: arabic shaping code is verbose Problem: The arabic shaping code is verbose. Solution: Shorten the code without changing the functionality. diff --git a/src/arabic.c b/src/arabic.c --- a/src/arabic.c +++ b/src/arabic.c @@ -240,7 +240,6 @@ chg_c_a2s(int cur_c) case a_HEH: return a_s_HEH; case a_YEH: return a_s_YEH; } - return 0; } @@ -305,7 +304,6 @@ chg_c_a2i(int cur_c) case a_HEH: return a_i_HEH; case a_YEH: return a_i_YEH; } - return 0; } @@ -356,7 +354,6 @@ chg_c_a2m(int cur_c) case a_ALEF_MAKSURA: return a_f_ALEF_MAKSURA; /* exception */ case a_YEH: return a_m_YEH; } - return 0; } @@ -367,136 +364,55 @@ chg_c_a2m(int cur_c) 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; - */ - + * 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; + 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 tempc; + return 0; } @@ -506,84 +422,33 @@ chg_c_a2f(int cur_c) 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; + 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 tempc; + return 0; } @@ -593,18 +458,14 @@ chg_c_i2m(int cur_c) 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_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,85 +475,38 @@ chg_c_f2m(int cur_c) 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 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 tempc; + return 0; } @@ -702,27 +516,14 @@ chg_c_f2m(int cur_c) 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; + 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 tempc; + return 0; } @@ -732,27 +533,14 @@ chg_c_laa2i(int hid_c) 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; + 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 tempc; + return 0; } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 406, +/**/ 405, /**/ 404,