Author: adamg Date: Fri Feb 6 16:46:57 2009 GMT Module: SOURCES Tag: HEAD ---- Log message: - new
---- Files affected: SOURCES: 7.2.084 (NONE -> 1.1) (NEW) SOURCES: 7.2.085 (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: SOURCES/7.2.084 diff -u /dev/null SOURCES/7.2.084:1.1 --- /dev/null Fri Feb 6 17:46:58 2009 +++ SOURCES/7.2.084 Fri Feb 6 17:46:52 2009 @@ -0,0 +1,144 @@ +To: [email protected] +Subject: Patch 7.2.084 +Fcc: outbox +From: Bram Moolenaar <[email protected]> +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.084 +Problem: Recursive structures are not handled properly in Python + vim.eval(). +Solution: Keep track of references in a better way. (Yukihiro Nakadaira) +Files: src/if_python.c + + +*** ../vim-7.2.083/src/if_python.c Thu Nov 20 11:04:01 2008 +--- src/if_python.c Tue Jan 13 18:08:06 2009 +*************** +*** 1151,1164 **** + + /* Check if we run into a recursive loop. The item must be in lookupDict + * then and we can use it again. */ +! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, (long_u)our_tv); +! result = PyDict_GetItemString(lookupDict, ptrBuf); +! if (result != NULL) +! Py_INCREF(result); +! else if (our_tv->v_type == VAR_STRING) + { + result = Py_BuildValue("s", our_tv->vval.v_string); +- PyDict_SetItemString(lookupDict, ptrBuf, result); + } + else if (our_tv->v_type == VAR_NUMBER) + { +--- 1151,1173 ---- + + /* Check if we run into a recursive loop. The item must be in lookupDict + * then and we can use it again. */ +! if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL) +! || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL)) +! { +! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, +! our_tv->v_type == VAR_LIST ? (long_u)our_tv->vval.v_list +! : (long_u)our_tv->vval.v_dict); +! result = PyDict_GetItemString(lookupDict, ptrBuf); +! if (result != NULL) +! { +! Py_INCREF(result); +! return result; +! } +! } +! +! if (our_tv->v_type == VAR_STRING) + { + result = Py_BuildValue("s", our_tv->vval.v_string); + } + else if (our_tv->v_type == VAR_NUMBER) + { +*************** +*** 1167,1173 **** + /* For backwards compatibility numbers are stored as strings. */ + sprintf(buf, "%ld", (long)our_tv->vval.v_number); + result = Py_BuildValue("s", buf); +- PyDict_SetItemString(lookupDict, ptrBuf, result); + } + # ifdef FEAT_FLOAT + else if (our_tv->v_type == VAR_FLOAT) +--- 1176,1181 ---- +*************** +*** 1176,1182 **** + + sprintf(buf, "%f", our_tv->vval.v_float); + result = Py_BuildValue("s", buf); +- PyDict_SetItemString(lookupDict, ptrBuf, result); + } + # endif + else if (our_tv->v_type == VAR_LIST) +--- 1184,1189 ---- +*************** +*** 1185,1194 **** + listitem_T *curr; + + result = PyList_New(0); +- PyDict_SetItemString(lookupDict, ptrBuf, result); + + if (list != NULL) + { + for (curr = list->lv_first; curr != NULL; curr = curr->li_next) + { + newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict); +--- 1192,1202 ---- + listitem_T *curr; + + result = PyList_New(0); + + if (list != NULL) + { ++ PyDict_SetItemString(lookupDict, ptrBuf, result); ++ + for (curr = list->lv_first; curr != NULL; curr = curr->li_next) + { + newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict); +*************** +*** 1200,1206 **** + else if (our_tv->v_type == VAR_DICT) + { + result = PyDict_New(); +- PyDict_SetItemString(lookupDict, ptrBuf, result); + + if (our_tv->vval.v_dict != NULL) + { +--- 1208,1213 ---- +*************** +*** 1209,1214 **** +--- 1216,1223 ---- + hashitem_T *hi; + dictitem_T *di; + ++ PyDict_SetItemString(lookupDict, ptrBuf, result); ++ + for (hi = ht->ht_array; todo > 0; ++hi) + { + if (!HASHITEM_EMPTY(hi)) +*** ../vim-7.2.083/src/version.c Tue Jan 13 17:27:18 2009 +--- src/version.c Tue Jan 13 17:54:14 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 84, + /**/ + +-- +Article in the first Free Software Magazine: "Bram Moolenaar studied electrical +engineering at the Technical University of Delft and graduated in 1985 on a +multi-processor Unix architecture." +Response by "dimator": Could the school not afford a proper stage for the +ceremony? + + /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// ================================================================ Index: SOURCES/7.2.085 diff -u /dev/null SOURCES/7.2.085:1.1 --- /dev/null Fri Feb 6 17:46:59 2009 +++ SOURCES/7.2.085 Fri Feb 6 17:46:55 2009 @@ -0,0 +1,62 @@ +To: [email protected] +Subject: Patch 7.2.085 +Fcc: outbox +From: Bram Moolenaar <[email protected]> +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.085 +Problem: ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8. +Solution: Put the <M-b> character in the input buffer as valid utf-8. + (partly by Matt Wosniski) +Files: src/term.c + + +*** ../vim-7.2.084/src/term.c Tue Jul 29 12:22:12 2008 +--- src/term.c Thu Jan 22 18:18:29 2009 +*************** +*** 4920,4926 **** + key_name[0] = KEY2TERMCAP0(key); + key_name[1] = KEY2TERMCAP1(key); + if (key_name[0] == KS_KEY) +! string[new_slen++] = key_name[1]; /* from ":set <M-b>=xx" */ + else + { + string[new_slen++] = K_SPECIAL; +--- 4920,4934 ---- + key_name[0] = KEY2TERMCAP0(key); + key_name[1] = KEY2TERMCAP1(key); + if (key_name[0] == KS_KEY) +! { +! /* from ":set <M-b>=xx" */ +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! new_slen += (*mb_char2bytes)(key_name[1], string + new_slen); +! else +! #endif +! string[new_slen++] = key_name[1]; +! } + else + { + string[new_slen++] = K_SPECIAL; +*** ../vim-7.2.084/src/version.c Tue Jan 13 18:10:21 2009 +--- src/version.c Thu Jan 22 18:31:50 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 85, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +20. When looking at a pageful of someone else's links, you notice all of them + are already highlighted in purple. + + /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// ================================================================ _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
