Loading ...
Sorry, an error occurred while loading the content.

Patch 7.3.907

Expand Messages
  • Bram Moolenaar
    Patch 7.3.907 Problem: Python uses IndexError when a dict key is not found. Solution: Use KeyError instead. (ZyX) Files: src/if_py_both.h,
    Message 1 of 1 , Apr 24, 2013
    • 0 Attachment
      Patch 7.3.907
      Problem: Python uses IndexError when a dict key is not found.
      Solution: Use KeyError instead. (ZyX)
      Files: src/if_py_both.h, src/if_python3.c, src/if_python.c,
      src/testdir/test86.ok, src/testdir/test87.ok


      *** ../vim-7.3.906/src/if_py_both.h 2013-04-05 19:32:30.000000000 +0200
      --- src/if_py_both.h 2013-04-24 13:00:01.000000000 +0200
      ***************
      *** 861,867 ****

      if (di == NULL)
      {
      ! PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
      return NULL;
      }

      --- 861,867 ----

      if (di == NULL)
      {
      ! PyErr_SetString(PyExc_KeyError, _("no such key in dictionary"));
      return NULL;
      }

      *** ../vim-7.3.906/src/if_python3.c 2013-02-20 16:09:35.000000000 +0100
      --- src/if_python3.c 2013-04-24 13:00:01.000000000 +0200
      ***************
      *** 327,338 ****
      --- 327,340 ----
      /* Imported exception objects */
      static PyObject *p3imp_PyExc_AttributeError;
      static PyObject *p3imp_PyExc_IndexError;
      + static PyObject *p3imp_PyExc_KeyError;
      static PyObject *p3imp_PyExc_KeyboardInterrupt;
      static PyObject *p3imp_PyExc_TypeError;
      static PyObject *p3imp_PyExc_ValueError;

      # define PyExc_AttributeError p3imp_PyExc_AttributeError
      # define PyExc_IndexError p3imp_PyExc_IndexError
      + # define PyExc_KeyError p3imp_PyExc_KeyError
      # define PyExc_KeyboardInterrupt p3imp_PyExc_KeyboardInterrupt
      # define PyExc_TypeError p3imp_PyExc_TypeError
      # define PyExc_ValueError p3imp_PyExc_ValueError
      ***************
      *** 567,577 ****
      --- 569,581 ----
      PyObject *exdict = PyModule_GetDict(exmod);
      p3imp_PyExc_AttributeError = PyDict_GetItemString(exdict, "AttributeError");
      p3imp_PyExc_IndexError = PyDict_GetItemString(exdict, "IndexError");
      + p3imp_PyExc_KeyError = PyDict_GetItemString(exdict, "KeyError");
      p3imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt");
      p3imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError");
      p3imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError");
      Py_XINCREF(p3imp_PyExc_AttributeError);
      Py_XINCREF(p3imp_PyExc_IndexError);
      + Py_XINCREF(p3imp_PyExc_KeyError);
      Py_XINCREF(p3imp_PyExc_KeyboardInterrupt);
      Py_XINCREF(p3imp_PyExc_TypeError);
      Py_XINCREF(p3imp_PyExc_ValueError);
      *** ../vim-7.3.906/src/if_python.c 2013-02-20 16:09:35.000000000 +0100
      --- src/if_python.c 2013-04-24 13:00:01.000000000 +0200
      ***************
      *** 348,359 ****
      --- 348,361 ----
      /* Imported exception objects */
      static PyObject *imp_PyExc_AttributeError;
      static PyObject *imp_PyExc_IndexError;
      + static PyObject *imp_PyExc_KeyError;
      static PyObject *imp_PyExc_KeyboardInterrupt;
      static PyObject *imp_PyExc_TypeError;
      static PyObject *imp_PyExc_ValueError;

      # define PyExc_AttributeError imp_PyExc_AttributeError
      # define PyExc_IndexError imp_PyExc_IndexError
      + # define PyExc_KeyError imp_PyExc_KeyError
      # define PyExc_KeyboardInterrupt imp_PyExc_KeyboardInterrupt
      # define PyExc_TypeError imp_PyExc_TypeError
      # define PyExc_ValueError imp_PyExc_ValueError
      ***************
      *** 579,589 ****
      --- 581,593 ----
      PyObject *exdict = PyModule_GetDict(exmod);
      imp_PyExc_AttributeError = PyDict_GetItemString(exdict, "AttributeError");
      imp_PyExc_IndexError = PyDict_GetItemString(exdict, "IndexError");
      + imp_PyExc_KeyError = PyDict_GetItemString(exdict, "KeyError");
      imp_PyExc_KeyboardInterrupt = PyDict_GetItemString(exdict, "KeyboardInterrupt");
      imp_PyExc_TypeError = PyDict_GetItemString(exdict, "TypeError");
      imp_PyExc_ValueError = PyDict_GetItemString(exdict, "ValueError");
      Py_XINCREF(imp_PyExc_AttributeError);
      Py_XINCREF(imp_PyExc_IndexError);
      + Py_XINCREF(imp_PyExc_KeyError);
      Py_XINCREF(imp_PyExc_KeyboardInterrupt);
      Py_XINCREF(imp_PyExc_TypeError);
      Py_XINCREF(imp_PyExc_ValueError);
      *** ../vim-7.3.906/src/testdir/test86.ok 2013-04-05 19:32:30.000000000 +0200
      --- src/testdir/test86.ok 2013-04-24 13:00:01.000000000 +0200
      ***************
      *** 38,44 ****
      Vim(python):E725:
      Vim(python):E117:
      [0.0, 0.0]
      ! IndexError
      TypeError
      TypeError
      ValueError
      --- 38,44 ----
      Vim(python):E725:
      Vim(python):E117:
      [0.0, 0.0]
      ! KeyError
      TypeError
      TypeError
      ValueError
      *** ../vim-7.3.906/src/testdir/test87.ok 2013-02-20 16:54:24.000000000 +0100
      --- src/testdir/test87.ok 2013-04-24 13:00:01.000000000 +0200
      ***************
      *** 38,44 ****
      Vim(py3):E725:
      Vim(py3):E117:
      [0.0, 0.0]
      ! IndexError
      TypeError
      TypeError
      ValueError
      --- 38,44 ----
      Vim(py3):E725:
      Vim(py3):E117:
      [0.0, 0.0]
      ! KeyError
      TypeError
      TypeError
      ValueError
      *** ../vim-7.3.906/src/version.c 2013-04-24 12:56:13.000000000 +0200
      --- src/version.c 2013-04-24 13:00:13.000000000 +0200
      ***************
      *** 730,731 ****
      --- 730,733 ----
      { /* Add new patch number below this line */
      + /**/
      + 907,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      219. Your spouse has his or her lawyer deliver the divorce papers...
      via e-mail.

      /// Bram Moolenaar -- Bram@... -- 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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    Your message has been successfully submitted and would be delivered to recipients shortly.