SOURCES: 7.2.084 (NEW), 7.2.085 (NEW) - new
adamg
adamg at pld-linux.org
Fri Feb 6 17:46:57 CET 2009
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: vim-dev at vim.org
+Subject: Patch 7.2.084
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+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 -- Bram at Moolenaar.net -- 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: vim-dev at vim.org
+Subject: Patch 7.2.085
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+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 -- Bram at Moolenaar.net -- 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 ///
================================================================
More information about the pld-cvs-commit
mailing list