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

Test 86 fails with statis Python

Expand Messages
  • Bram Moolenaar
    Test 86 passes without problems when using a dynamically loaded Python. When using a static library I get the different output below. This is on Ubuntu 12.10
    Message 1 of 16 , Jun 18, 2013
    • 0 Attachment
      Test 86 passes without problems when using a dynamically loaded Python.
      When using a static library I get the different output below.

      This is on Ubuntu 12.10 with Python 2.7.3.

      Test 87 has the same problem: OK with dynamic loading, fails with static
      library. See further down below. Python 3.2.3.


      --- testdir/test86.failed 2013-06-18 22:02:01.000000000 +0200
      +++ testdir/test86.ok 2013-06-12 14:21:28.000000000 +0200
      @@ -497,7 +497,7 @@
      d["a"] = {"abc" : Mapping({"\0" : 1})}:TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d["a"] = {"abc" : %s}
      -d["a"] = {"abc" : FailingIter()}:NotImplementedError:()
      +d["a"] = {"abc" : FailingIter()}:TypeError:('unable to convert to vim structure',)
      d["a"] = {"abc" : FailingIterNext()}:NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
      @@ -523,7 +523,7 @@
      d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
      -d["a"] = Mapping({"abc" : FailingIter()}):NotImplementedError:()
      +d["a"] = Mapping({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
      d["a"] = Mapping({"abc" : FailingIterNext()}):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
      @@ -534,7 +534,7 @@
      d["a"] = Mapping({"abc" : FailingMappingKey()}):NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using d["a"] = %s
      -d["a"] = FailingIter():NotImplementedError:()
      +d["a"] = FailingIter():TypeError:('unable to convert to vim structure',)
      d["a"] = FailingIterNext():NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = %s
      @@ -565,7 +565,7 @@
      d.update({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d.update({"abc" : %s})
      -d.update({"abc" : FailingIter()}):NotImplementedError:()
      +d.update({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
      d.update({"abc" : FailingIterNext()}):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
      @@ -591,7 +591,7 @@
      d.update(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
      -d.update(Mapping({"abc" : FailingIter()})):NotImplementedError:()
      +d.update(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
      d.update(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
      @@ -633,7 +633,7 @@
      d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
      -d.update((("a", {"abc" : FailingIter()}),)):NotImplementedError:()
      +d.update((("a", {"abc" : FailingIter()}),)):TypeError:('unable to convert to vim structure',)
      d.update((("a", {"abc" : FailingIterNext()}),)):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
      @@ -659,7 +659,7 @@
      d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
      -d.update((("a", Mapping({"abc" : FailingIter()})),)):NotImplementedError:()
      +d.update((("a", Mapping({"abc" : FailingIter()})),)):TypeError:('unable to convert to vim structure',)
      d.update((("a", Mapping({"abc" : FailingIterNext()})),)):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
      @@ -670,7 +670,7 @@
      d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using d.update((("a", %s),))
      -d.update((("a", FailingIter()),)):NotImplementedError:()
      +d.update((("a", FailingIter()),)):TypeError:('unable to convert to vim structure',)
      d.update((("a", FailingIterNext()),)):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", %s),))
      @@ -704,7 +704,7 @@
      vim.List([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using vim.List([{"abc" : %s}])
      -vim.List([{"abc" : FailingIter()}]):NotImplementedError:()
      +vim.List([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
      vim.List([{"abc" : FailingIterNext()}]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
      @@ -730,7 +730,7 @@
      vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
      -vim.List([Mapping({"abc" : FailingIter()})]):NotImplementedError:()
      +vim.List([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
      vim.List([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
      @@ -741,7 +741,7 @@
      vim.List([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using vim.List([%s])
      -vim.List([FailingIter()]):NotImplementedError:()
      +vim.List([FailingIter()]):TypeError:('unable to convert to vim structure',)
      vim.List([FailingIterNext()]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([%s])
      @@ -774,7 +774,7 @@
      l[:] = [{"abc" : Mapping({"\0" : 1})}]:TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using l[:] = [{"abc" : %s}]
      -l[:] = [{"abc" : FailingIter()}]:NotImplementedError:()
      +l[:] = [{"abc" : FailingIter()}]:TypeError:('unable to convert to vim structure',)
      l[:] = [{"abc" : FailingIterNext()}]:NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
      @@ -800,7 +800,7 @@
      l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
      -l[:] = [Mapping({"abc" : FailingIter()})]:NotImplementedError:()
      +l[:] = [Mapping({"abc" : FailingIter()})]:TypeError:('unable to convert to vim structure',)
      l[:] = [Mapping({"abc" : FailingIterNext()})]:NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
      @@ -811,7 +811,7 @@
      l[:] = [Mapping({"abc" : FailingMappingKey()})]:NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using l[:] = [%s]
      -l[:] = [FailingIter()]:NotImplementedError:()
      +l[:] = [FailingIter()]:TypeError:('unable to convert to vim structure',)
      l[:] = [FailingIterNext()]:NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [%s]
      @@ -838,7 +838,7 @@
      l.extend([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using l.extend([{"abc" : %s}])
      -l.extend([{"abc" : FailingIter()}]):NotImplementedError:()
      +l.extend([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
      l.extend([{"abc" : FailingIterNext()}]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
      @@ -864,7 +864,7 @@
      l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
      -l.extend([Mapping({"abc" : FailingIter()})]):NotImplementedError:()
      +l.extend([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
      l.extend([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
      @@ -875,7 +875,7 @@
      l.extend([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using l.extend([%s])
      -l.extend([FailingIter()]):NotImplementedError:()
      +l.extend([FailingIter()]):TypeError:('unable to convert to vim structure',)
      l.extend([FailingIterNext()]):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([%s])
      @@ -911,7 +911,7 @@
      f({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using f({"abc" : %s})
      -f({"abc" : FailingIter()}):NotImplementedError:()
      +f({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
      f({"abc" : FailingIterNext()}):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using f({"abc" : %s})
      @@ -937,7 +937,7 @@
      f(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using f(Mapping({"abc" : %s}))
      -f(Mapping({"abc" : FailingIter()})):NotImplementedError:()
      +f(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
      f(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
      @@ -948,7 +948,7 @@
      f(Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
      <<< Finished
      >>> Testing *Iter* using f(%s)
      -f(FailingIter()):NotImplementedError:()
      +f(FailingIter()):TypeError:('unable to convert to vim structure',)
      f(FailingIterNext()):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using f(%s)
      @@ -974,7 +974,7 @@
      fd(self={"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using fd(self={"abc" : %s})
      -fd(self={"abc" : FailingIter()}):NotImplementedError:()
      +fd(self={"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
      fd(self={"abc" : FailingIterNext()}):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
      @@ -1000,7 +1000,7 @@
      fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
      <<< Finished
      >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
      -fd(self=Mapping({"abc" : FailingIter()})):NotImplementedError:()
      +fd(self=Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
      fd(self=Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
      <<< Finished
      >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))


      --- testdir/test87.failed 2013-06-18 22:09:07.000000000 +0200
      +++ testdir/test87.ok 2013-06-12 14:12:13.000000000 +0200
      @@ -490,7 +490,7 @@
      d["a"] = {"abc" : Mapping({"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d["a"] = {"abc" : %s}
      -d["a"] = {"abc" : FailingIter()}:(<class 'NotImplementedError'>, NotImplementedError())
      +d["a"] = {"abc" : FailingIter()}:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d["a"] = {"abc" : FailingIterNext()}:(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
      @@ -516,7 +516,7 @@
      d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
      -d["a"] = Mapping({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
      +d["a"] = Mapping({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d["a"] = Mapping({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
      @@ -527,7 +527,7 @@
      d["a"] = Mapping({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using d["a"] = %s
      -d["a"] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError())
      +d["a"] = FailingIter():(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d["a"] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d["a"] = %s
      @@ -562,7 +562,7 @@
      d.update({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d.update({"abc" : %s})
      -d.update({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
      +d.update({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d.update({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
      @@ -588,7 +588,7 @@
      d.update(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
      -d.update(Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
      +d.update(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d.update(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
      @@ -630,7 +630,7 @@
      d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
      -d.update((("a", {"abc" : FailingIter()}),)):(<class 'NotImplementedError'>, NotImplementedError())
      +d.update((("a", {"abc" : FailingIter()}),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d.update((("a", {"abc" : FailingIterNext()}),)):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
      @@ -656,7 +656,7 @@
      d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
      -d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'NotImplementedError'>, NotImplementedError())
      +d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d.update((("a", Mapping({"abc" : FailingIterNext()})),)):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
      @@ -667,7 +667,7 @@
      d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using d.update((("a", %s),))
      -d.update((("a", FailingIter()),)):(<class 'NotImplementedError'>, NotImplementedError())
      +d.update((("a", FailingIter()),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      d.update((("a", FailingIterNext()),)):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using d.update((("a", %s),))
      @@ -705,7 +705,7 @@
      vim.List([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using vim.List([{"abc" : %s}])
      -vim.List([{"abc" : FailingIter()}]):(<class 'NotImplementedError'>, NotImplementedError())
      +vim.List([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      vim.List([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
      @@ -731,7 +731,7 @@
      vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
      -vim.List([Mapping({"abc" : FailingIter()})]):(<class 'NotImplementedError'>, NotImplementedError())
      +vim.List([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      vim.List([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
      @@ -742,7 +742,7 @@
      vim.List([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using vim.List([%s])
      -vim.List([FailingIter()]):(<class 'NotImplementedError'>, NotImplementedError())
      +vim.List([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      vim.List([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using vim.List([%s])
      @@ -779,7 +779,7 @@
      l[:] = [{"abc" : Mapping({"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using l[:] = [{"abc" : %s}]
      -l[:] = [{"abc" : FailingIter()}]:(<class 'NotImplementedError'>, NotImplementedError())
      +l[:] = [{"abc" : FailingIter()}]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l[:] = [{"abc" : FailingIterNext()}]:(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
      @@ -805,7 +805,7 @@
      l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
      -l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'NotImplementedError'>, NotImplementedError())
      +l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l[:] = [Mapping({"abc" : FailingIterNext()})]:(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
      @@ -816,7 +816,7 @@
      l[:] = [Mapping({"abc" : FailingMappingKey()})]:(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using l[:] = [%s]
      -l[:] = [FailingIter()]:(<class 'NotImplementedError'>, NotImplementedError())
      +l[:] = [FailingIter()]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l[:] = [FailingIterNext()]:(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l[:] = [%s]
      @@ -847,7 +847,7 @@
      l.extend([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using l.extend([{"abc" : %s}])
      -l.extend([{"abc" : FailingIter()}]):(<class 'NotImplementedError'>, NotImplementedError())
      +l.extend([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l.extend([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
      @@ -873,7 +873,7 @@
      l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
      -l.extend([Mapping({"abc" : FailingIter()})]):(<class 'NotImplementedError'>, NotImplementedError())
      +l.extend([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l.extend([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
      @@ -884,7 +884,7 @@
      l.extend([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using l.extend([%s])
      -l.extend([FailingIter()]):(<class 'NotImplementedError'>, NotImplementedError())
      +l.extend([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      l.extend([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using l.extend([%s])
      @@ -920,7 +920,7 @@
      f({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using f({"abc" : %s})
      -f({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
      +f({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      f({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using f({"abc" : %s})
      @@ -946,7 +946,7 @@
      f(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using f(Mapping({"abc" : %s}))
      -f(Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
      +f(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      f(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
      @@ -957,7 +957,7 @@
      f(Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing *Iter* using f(%s)
      -f(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError())
      +f(FailingIter()):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      f(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using f(%s)
      @@ -983,7 +983,7 @@
      fd(self={"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using fd(self={"abc" : %s})
      -fd(self={"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
      +fd(self={"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      fd(self={"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
      @@ -1009,7 +1009,7 @@
      fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
      <<< Finished
      >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
      -fd(self=Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
      +fd(self=Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
      fd(self=Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
      <<< Finished
      >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))

      --
      hundred-and-one symptoms of being an internet addict:
      247. You use www.switchboard.com instead of dialing 411 and 555-12-12
      for directory assistance.

      /// 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.
    • Nikolay Pavlov
      ... Unable to reproduce with neither debugging semi-static (it still does use ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging
      Message 2 of 16 , Jun 18, 2013
      • 0 Attachment


        On Jun 19, 2013 12:10 AM, "Bram Moolenaar" <Bram@...> wrote:
        >
        >
        > Test 86 passes without problems when using a dynamically loaded Python.
        > When using a static library I get the different output below.
        >
        > This is on Ubuntu 12.10 with Python 2.7.3.
        >
        > Test 87 has the same problem: OK with dynamic loading, fails with static
        > library.  See further down below.  Python 3.2.3.

        Unable to reproduce with neither debugging semi-static (it still does use ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging semi-static python-2.7, though with the latter different error pops out which needs to be solved. There are also a few compiler warnings in case of semi-static build.

        >
        > --- testdir/test86.failed       2013-06-18 22:02:01.000000000 +0200
        > +++ testdir/test86.ok   2013-06-12 14:21:28.000000000 +0200
        > @@ -497,7 +497,7 @@
        >  d["a"] = {"abc" : Mapping({"\0" : 1})}:TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = {"abc" : %s}
        > -d["a"] = {"abc" : FailingIter()}:NotImplementedError:()
        > +d["a"] = {"abc" : FailingIter()}:TypeError:('unable to convert to vim structure',)
        >  d["a"] = {"abc" : FailingIterNext()}:NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
        > @@ -523,7 +523,7 @@
        >  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
        > -d["a"] = Mapping({"abc" : FailingIter()}):NotImplementedError:()
        > +d["a"] = Mapping({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
        >  d["a"] = Mapping({"abc" : FailingIterNext()}):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
        > @@ -534,7 +534,7 @@
        >  d["a"] = Mapping({"abc" : FailingMappingKey()}):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = %s
        > -d["a"] = FailingIter():NotImplementedError:()
        > +d["a"] = FailingIter():TypeError:('unable to convert to vim structure',)
        >  d["a"] = FailingIterNext():NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = %s
        > @@ -565,7 +565,7 @@
        >  d.update({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d.update({"abc" : %s})
        > -d.update({"abc" : FailingIter()}):NotImplementedError:()
        > +d.update({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
        >  d.update({"abc" : FailingIterNext()}):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
        > @@ -591,7 +591,7 @@
        >  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
        > -d.update(Mapping({"abc" : FailingIter()})):NotImplementedError:()
        > +d.update(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
        >  d.update(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
        > @@ -633,7 +633,7 @@
        >  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
        > -d.update((("a", {"abc" : FailingIter()}),)):NotImplementedError:()
        > +d.update((("a", {"abc" : FailingIter()}),)):TypeError:('unable to convert to vim structure',)
        >  d.update((("a", {"abc" : FailingIterNext()}),)):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
        > @@ -659,7 +659,7 @@
        >  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
        > -d.update((("a", Mapping({"abc" : FailingIter()})),)):NotImplementedError:()
        > +d.update((("a", Mapping({"abc" : FailingIter()})),)):TypeError:('unable to convert to vim structure',)
        >  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
        > @@ -670,7 +670,7 @@
        >  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", %s),))
        > -d.update((("a", FailingIter()),)):NotImplementedError:()
        > +d.update((("a", FailingIter()),)):TypeError:('unable to convert to vim structure',)
        >  d.update((("a", FailingIterNext()),)):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
        > @@ -704,7 +704,7 @@
        >  vim.List([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([{"abc" : %s}])
        > -vim.List([{"abc" : FailingIter()}]):NotImplementedError:()
        > +vim.List([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
        >  vim.List([{"abc" : FailingIterNext()}]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
        > @@ -730,7 +730,7 @@
        >  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
        > -vim.List([Mapping({"abc" : FailingIter()})]):NotImplementedError:()
        > +vim.List([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
        >  vim.List([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
        > @@ -741,7 +741,7 @@
        >  vim.List([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([%s])
        > -vim.List([FailingIter()]):NotImplementedError:()
        > +vim.List([FailingIter()]):TypeError:('unable to convert to vim structure',)
        >  vim.List([FailingIterNext()]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([%s])
        > @@ -774,7 +774,7 @@
        >  l[:] = [{"abc" : Mapping({"\0" : 1})}]:TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
        > -l[:] = [{"abc" : FailingIter()}]:NotImplementedError:()
        > +l[:] = [{"abc" : FailingIter()}]:TypeError:('unable to convert to vim structure',)
        >  l[:] = [{"abc" : FailingIterNext()}]:NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
        > @@ -800,7 +800,7 @@
        >  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
        > -l[:] = [Mapping({"abc" : FailingIter()})]:NotImplementedError:()
        > +l[:] = [Mapping({"abc" : FailingIter()})]:TypeError:('unable to convert to vim structure',)
        >  l[:] = [Mapping({"abc" : FailingIterNext()})]:NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
        > @@ -811,7 +811,7 @@
        >  l[:] = [Mapping({"abc" : FailingMappingKey()})]:NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [%s]
        > -l[:] = [FailingIter()]:NotImplementedError:()
        > +l[:] = [FailingIter()]:TypeError:('unable to convert to vim structure',)
        >  l[:] = [FailingIterNext()]:NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [%s]
        > @@ -838,7 +838,7 @@
        >  l.extend([{"abc" : Mapping({"\0" : 1})}]):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([{"abc" : %s}])
        > -l.extend([{"abc" : FailingIter()}]):NotImplementedError:()
        > +l.extend([{"abc" : FailingIter()}]):TypeError:('unable to convert to vim structure',)
        >  l.extend([{"abc" : FailingIterNext()}]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
        > @@ -864,7 +864,7 @@
        >  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
        > -l.extend([Mapping({"abc" : FailingIter()})]):NotImplementedError:()
        > +l.extend([Mapping({"abc" : FailingIter()})]):TypeError:('unable to convert to vim structure',)
        >  l.extend([Mapping({"abc" : FailingIterNext()})]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
        > @@ -875,7 +875,7 @@
        >  l.extend([Mapping({"abc" : FailingMappingKey()})]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([%s])
        > -l.extend([FailingIter()]):NotImplementedError:()
        > +l.extend([FailingIter()]):TypeError:('unable to convert to vim structure',)
        >  l.extend([FailingIterNext()]):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([%s])
        > @@ -911,7 +911,7 @@
        >  f({"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using f({"abc" : %s})
        > -f({"abc" : FailingIter()}):NotImplementedError:()
        > +f({"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
        >  f({"abc" : FailingIterNext()}):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f({"abc" : %s})
        > @@ -937,7 +937,7 @@
        >  f(Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
        > -f(Mapping({"abc" : FailingIter()})):NotImplementedError:()
        > +f(Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
        >  f(Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
        > @@ -948,7 +948,7 @@
        >  f(Mapping({"abc" : FailingMappingKey()})):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing *Iter* using f(%s)
        > -f(FailingIter()):NotImplementedError:()
        > +f(FailingIter()):TypeError:('unable to convert to vim structure',)
        >  f(FailingIterNext()):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f(%s)
        > @@ -974,7 +974,7 @@
        >  fd(self={"abc" : Mapping({"\0" : 1})}):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using fd(self={"abc" : %s})
        > -fd(self={"abc" : FailingIter()}):NotImplementedError:()
        > +fd(self={"abc" : FailingIter()}):TypeError:('unable to convert to vim structure',)
        >  fd(self={"abc" : FailingIterNext()}):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
        > @@ -1000,7 +1000,7 @@
        >  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):TypeError:('expected string without null bytes',)
        >  <<< Finished
        >  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
        > -fd(self=Mapping({"abc" : FailingIter()})):NotImplementedError:()
        > +fd(self=Mapping({"abc" : FailingIter()})):TypeError:('unable to convert to vim structure',)
        >  fd(self=Mapping({"abc" : FailingIterNext()})):NotImplementedError:()
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
        >
        >
        > --- testdir/test87.failed       2013-06-18 22:09:07.000000000 +0200
        > +++ testdir/test87.ok   2013-06-12 14:12:13.000000000 +0200
        > @@ -490,7 +490,7 @@
        >  d["a"] = {"abc" : Mapping({"\0" : 1})}:(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = {"abc" : %s}
        > -d["a"] = {"abc" : FailingIter()}:(<class 'NotImplementedError'>, NotImplementedError())
        > +d["a"] = {"abc" : FailingIter()}:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d["a"] = {"abc" : FailingIterNext()}:(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = {"abc" : %s}
        > @@ -516,7 +516,7 @@
        >  d["a"] = Mapping({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = Mapping({"abc" : %s})
        > -d["a"] = Mapping({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
        > +d["a"] = Mapping({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d["a"] = Mapping({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = Mapping({"abc" : %s})
        > @@ -527,7 +527,7 @@
        >  d["a"] = Mapping({"abc" : FailingMappingKey()}):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using d["a"] = %s
        > -d["a"] = FailingIter():(<class 'NotImplementedError'>, NotImplementedError())
        > +d["a"] = FailingIter():(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d["a"] = FailingIterNext():(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d["a"] = %s
        > @@ -562,7 +562,7 @@
        >  d.update({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d.update({"abc" : %s})
        > -d.update({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
        > +d.update({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d.update({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update({"abc" : %s})
        > @@ -588,7 +588,7 @@
        >  d.update(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d.update(Mapping({"abc" : %s}))
        > -d.update(Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
        > +d.update(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d.update(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update(Mapping({"abc" : %s}))
        > @@ -630,7 +630,7 @@
        >  d.update((("a", {"abc" : Mapping({"\0" : 1})}),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", {"abc" : %s}),))
        > -d.update((("a", {"abc" : FailingIter()}),)):(<class 'NotImplementedError'>, NotImplementedError())
        > +d.update((("a", {"abc" : FailingIter()}),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d.update((("a", {"abc" : FailingIterNext()}),)):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", {"abc" : %s}),))
        > @@ -656,7 +656,7 @@
        >  d.update((("a", Mapping({"abc" : Mapping({"\0" : 1})})),)):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", Mapping({"abc" : %s})),))
        > -d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'NotImplementedError'>, NotImplementedError())
        > +d.update((("a", Mapping({"abc" : FailingIter()})),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d.update((("a", Mapping({"abc" : FailingIterNext()})),)):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", Mapping({"abc" : %s})),))
        > @@ -667,7 +667,7 @@
        >  d.update((("a", Mapping({"abc" : FailingMappingKey()})),)):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using d.update((("a", %s),))
        > -d.update((("a", FailingIter()),)):(<class 'NotImplementedError'>, NotImplementedError())
        > +d.update((("a", FailingIter()),)):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  d.update((("a", FailingIterNext()),)):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using d.update((("a", %s),))
        > @@ -705,7 +705,7 @@
        >  vim.List([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([{"abc" : %s}])
        > -vim.List([{"abc" : FailingIter()}]):(<class 'NotImplementedError'>, NotImplementedError())
        > +vim.List([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  vim.List([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([{"abc" : %s}])
        > @@ -731,7 +731,7 @@
        >  vim.List([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([Mapping({"abc" : %s})])
        > -vim.List([Mapping({"abc" : FailingIter()})]):(<class 'NotImplementedError'>, NotImplementedError())
        > +vim.List([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  vim.List([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([Mapping({"abc" : %s})])
        > @@ -742,7 +742,7 @@
        >  vim.List([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using vim.List([%s])
        > -vim.List([FailingIter()]):(<class 'NotImplementedError'>, NotImplementedError())
        > +vim.List([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  vim.List([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using vim.List([%s])
        > @@ -779,7 +779,7 @@
        >  l[:] = [{"abc" : Mapping({"\0" : 1})}]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [{"abc" : %s}]
        > -l[:] = [{"abc" : FailingIter()}]:(<class 'NotImplementedError'>, NotImplementedError())
        > +l[:] = [{"abc" : FailingIter()}]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l[:] = [{"abc" : FailingIterNext()}]:(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [{"abc" : %s}]
        > @@ -805,7 +805,7 @@
        >  l[:] = [Mapping({"abc" : Mapping({"\0" : 1})})]:(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [Mapping({"abc" : %s})]
        > -l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'NotImplementedError'>, NotImplementedError())
        > +l[:] = [Mapping({"abc" : FailingIter()})]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l[:] = [Mapping({"abc" : FailingIterNext()})]:(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [Mapping({"abc" : %s})]
        > @@ -816,7 +816,7 @@
        >  l[:] = [Mapping({"abc" : FailingMappingKey()})]:(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using l[:] = [%s]
        > -l[:] = [FailingIter()]:(<class 'NotImplementedError'>, NotImplementedError())
        > +l[:] = [FailingIter()]:(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l[:] = [FailingIterNext()]:(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l[:] = [%s]
        > @@ -847,7 +847,7 @@
        >  l.extend([{"abc" : Mapping({"\0" : 1})}]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([{"abc" : %s}])
        > -l.extend([{"abc" : FailingIter()}]):(<class 'NotImplementedError'>, NotImplementedError())
        > +l.extend([{"abc" : FailingIter()}]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l.extend([{"abc" : FailingIterNext()}]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([{"abc" : %s}])
        > @@ -873,7 +873,7 @@
        >  l.extend([Mapping({"abc" : Mapping({"\0" : 1})})]):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([Mapping({"abc" : %s})])
        > -l.extend([Mapping({"abc" : FailingIter()})]):(<class 'NotImplementedError'>, NotImplementedError())
        > +l.extend([Mapping({"abc" : FailingIter()})]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l.extend([Mapping({"abc" : FailingIterNext()})]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([Mapping({"abc" : %s})])
        > @@ -884,7 +884,7 @@
        >  l.extend([Mapping({"abc" : FailingMappingKey()})]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using l.extend([%s])
        > -l.extend([FailingIter()]):(<class 'NotImplementedError'>, NotImplementedError())
        > +l.extend([FailingIter()]):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  l.extend([FailingIterNext()]):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using l.extend([%s])
        > @@ -920,7 +920,7 @@
        >  f({"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using f({"abc" : %s})
        > -f({"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
        > +f({"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  f({"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f({"abc" : %s})
        > @@ -946,7 +946,7 @@
        >  f(Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using f(Mapping({"abc" : %s}))
        > -f(Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
        > +f(Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  f(Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f(Mapping({"abc" : %s}))
        > @@ -957,7 +957,7 @@
        >  f(Mapping({"abc" : FailingMappingKey()})):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing *Iter* using f(%s)
        > -f(FailingIter()):(<class 'NotImplementedError'>, NotImplementedError())
        > +f(FailingIter()):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  f(FailingIterNext()):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using f(%s)
        > @@ -983,7 +983,7 @@
        >  fd(self={"abc" : Mapping({"\0" : 1})}):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using fd(self={"abc" : %s})
        > -fd(self={"abc" : FailingIter()}):(<class 'NotImplementedError'>, NotImplementedError())
        > +fd(self={"abc" : FailingIter()}):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  fd(self={"abc" : FailingIterNext()}):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using fd(self={"abc" : %s})
        > @@ -1009,7 +1009,7 @@
        >  fd(self=Mapping({"abc" : Mapping({"\0" : 1})})):(<class 'TypeError'>, TypeError('expected bytes with no null',))
        >  <<< Finished
        >  >>> Testing *Iter* using fd(self=Mapping({"abc" : %s}))
        > -fd(self=Mapping({"abc" : FailingIter()})):(<class 'NotImplementedError'>, NotImplementedError())
        > +fd(self=Mapping({"abc" : FailingIter()})):(<class 'TypeError'>, TypeError('unable to convert to vim structure',))
        >  fd(self=Mapping({"abc" : FailingIterNext()})):(<class 'NotImplementedError'>, NotImplementedError())
        >  <<< Finished
        >  >>> Testing ConvertFromPyObject using fd(self=Mapping({"abc" : %s}))
        >
        > --
        > hundred-and-one symptoms of being an internet addict:
        > 247. You use www.switchboard.com instead of dialing 411 and 555-12-12
        >      for directory assistance.
        >
        >  /// 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.
         
         
      • Bram Moolenaar
        ... Keep in mind that building with both python2 and python3 may automatically switch do dynamic libraries. At least that happens on my system. -- Vi is
        Message 3 of 16 , Jun 19, 2013
        • 0 Attachment
          ZyX wrote:

          > On Jun 19, 2013 12:10 AM, "Bram Moolenaar" <Bram@...> wrote:
          > >
          > >
          > > Test 86 passes without problems when using a dynamically loaded Python.
          > > When using a static library I get the different output below.
          > >
          > > This is on Ubuntu 12.10 with Python 2.7.3.
          > >
          > > Test 87 has the same problem: OK with dynamic loading, fails with static
          > > library. See further down below. Python 3.2.3.
          >
          > Unable to reproduce with neither debugging semi-static (it still does use
          > ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging
          > semi-static python-2.7, though with the latter different error pops out
          > which needs to be solved. There are also a few compiler warnings in case of
          > semi-static build.

          Keep in mind that building with both python2 and python3 may
          automatically switch do dynamic libraries. At least that happens on my
          system.

          --
          Vi is clearly superior to emacs, since "vi" has only two characters
          (and two keystrokes), while "emacs" has five. (Randy C. Ford)

          /// 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.
        • Taro MURAOKA
          I could reproduce it on travis-ci at past. Failed build: https://travis-ci.org/vim-jp/vim-ci/builds/8117238 Its build and test log:
          Message 4 of 16 , Jun 19, 2013
          • 0 Attachment
            I could reproduce it on travis-ci at past.

            Failed build:
            https://travis-ci.org/vim-jp/vim-ci/builds/8117238

            Its build and test log:
            https://s3.amazonaws.com/archive.travis-ci.org/jobs/8117240/log.txt

            --
            --
            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.
          • Nikolay Pavlov
            ... Python. ... static ... use ... non-debuging ... case of ... Is not it the only option to build with both because of conflicting symbol names? Before
            Message 5 of 16 , Jun 19, 2013
            • 0 Attachment


              On Jun 19, 2013 4:48 PM, "Bram Moolenaar" <Bram@...> wrote:
              >
              >
              > ZyX wrote:
              >
              > > On Jun 19, 2013 12:10 AM, "Bram Moolenaar" <Bram@...> wrote:
              > > >
              > > >
              > > > Test 86 passes without problems when using a dynamically loaded Python.
              > > > When using a static library I get the different output below.
              > > >
              > > > This is on Ubuntu 12.10 with Python 2.7.3.
              > > >
              > > > Test 87 has the same problem: OK with dynamic loading, fails with static
              > > > library.  See further down below.  Python 3.2.3.
              > >
              > > Unable to reproduce with neither debugging semi-static (it still does use
              > > ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging
              > > semi-static python-2.7, though with the latter different error pops out
              > > which needs to be solved. There are also a few compiler warnings in case of
              > > semi-static build.
              >
              > Keep in mind that building with both python2 and python3 may
              > automatically switch do dynamic libraries.  At least that happens on my
              > system.

              Is not it the only option to build with both because of conflicting symbol names? Before testing I excluded python 3. And did not get *this* failure as I reported, though found some other one which is not in your report.

              By the way, is not it better to fail in place of switching to dynamic builds? I always compiled both versions with explicit =dynamic flags each time I wanted both pythons because I know it being the only option, but if I did not know this and requested semi-static ones and did get dynamic instead I would be surprised. The only case I would care about it is static build (fully static!) I once needed, but here I would be surprised very badly if I did not find python support due to such autoswitching.

              > --
              > Vi is clearly superior to emacs, since "vi" has only two characters
              > (and two keystrokes), while "emacs" has five.  (Randy C. Ford)
              >
              >  /// 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.
               
               
            • Bram Moolenaar
              ... I hope we can make the tests depend less on the specific Python version and environment. I understand it s not easy. But ignoring test failures because
              Message 6 of 16 , Jun 19, 2013
              • 0 Attachment
                ZyX wrote:

                > > > On Jun 19, 2013 12:10 AM, "Bram Moolenaar" <Bram@...> wrote:
                > > > >
                > > > >
                > > > > Test 86 passes without problems when using a dynamically loaded Python.
                > > > > When using a static library I get the different output below.
                > > > >
                > > > > This is on Ubuntu 12.10 with Python 2.7.3.
                > > > >
                > > > > Test 87 has the same problem: OK with dynamic loading, fails with static
                > > > > library. See further down below. Python 3.2.3.
                > > >
                > > > Unable to reproduce with neither debugging semi-static (it still does use
                > > > ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging
                > > > semi-static python-2.7, though with the latter different error pops out
                > > > which needs to be solved. There are also a few compiler warnings in case of
                > > > semi-static build.
                > >
                > > Keep in mind that building with both python2 and python3 may
                > > automatically switch do dynamic libraries. At least that happens on my
                > > system.
                >
                > Is not it the only option to build with both because of conflicting symbol
                > names? Before testing I excluded python 3. And did not get *this* failure
                > as I reported, though found some other one which is not in your report.

                I hope we can make the tests depend less on the specific Python version
                and environment. I understand it's not easy. But ignoring test
                failures because "that one always fails" will hide real problems.

                > By the way, is not it better to fail in place of switching to dynamic
                > builds? I always compiled both versions with explicit =dynamic flags each
                > time I wanted both pythons because I know it being the only option, but if
                > I did not know this and requested semi-static ones and did get dynamic
                > instead I would be surprised. The only case I would care about it is static
                > build (fully static!) I once needed, but here I would be surprised very
                > badly if I did not find python support due to such autoswitching.

                It's been like this for a long time. In practice it appears to work.

                Of course it's not at all nice that :py3 does not work after :py, but
                there is no good alternative.

                --
                hundred-and-one symptoms of being an internet addict:
                252. You vote for foreign officials.

                /// 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.
              • Yukihiro Nakadaira
                On Ubuntu 13.04, adding -fPIC to CFLAGS make it work. I don t know why. It seems that something is wrong with &_PyObject_NextNotImplemented extracted from
                Message 7 of 16 , Jun 19, 2013
                • 0 Attachment
                  On Ubuntu 13.04, adding -fPIC to CFLAGS make it work.
                  I don't know why.
                  It seems that something is wrong with "&_PyObject_NextNotImplemented" extracted from PyIter_Check() macro.

                  --
                  Yukihiro Nakadaira - yukihiro.nakadaira@...

                  --
                  --
                  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.
                   
                   
                • Nikolay Pavlov
                  ... Python. ... static ... does use ... non-debuging ... out ... case of ... my ... symbol ... failure ... I do not argue that we should do this. But I can t
                  Message 8 of 16 , Jun 19, 2013
                  • 0 Attachment


                    On Jun 19, 2013 7:54 PM, "Bram Moolenaar" <Bram@...> wrote:
                    >
                    >
                    > ZyX wrote:
                    >
                    > > > > On Jun 19, 2013 12:10 AM, "Bram Moolenaar" <Bram@...> wrote:
                    > > > > >
                    > > > > >
                    > > > > > Test 86 passes without problems when using a dynamically loaded Python.
                    > > > > > When using a static library I get the different output below.
                    > > > > >
                    > > > > > This is on Ubuntu 12.10 with Python 2.7.3.
                    > > > > >
                    > > > > > Test 87 has the same problem: OK with dynamic loading, fails with static
                    > > > > > library.  See further down below.  Python 3.2.3.
                    > > > >
                    > > > > Unable to reproduce with neither debugging semi-static (it still does use
                    > > > > ld-linux.so to link) python-2.3, -2.6 and -2.7 builds or with non-debuging
                    > > > > semi-static python-2.7, though with the latter different error pops out
                    > > > > which needs to be solved. There are also a few compiler warnings in case of
                    > > > > semi-static build.
                    > > >
                    > > > Keep in mind that building with both python2 and python3 may
                    > > > automatically switch do dynamic libraries.  At least that happens on my
                    > > > system.
                    > >
                    > > Is not it the only option to build with both because of conflicting symbol
                    > > names? Before testing I excluded python 3. And did not get *this* failure
                    > > as I reported, though found some other one which is not in your report.
                    >
                    > I hope we can make the tests depend less on the specific Python version
                    > and environment.  I understand it's not easy.  But ignoring test
                    > failures because "that one always fails" will hide real problems.

                    I do not argue that we should do this. But I can't fix things that work for me because I have no idea what is broken. Note that in your report + prefixes right lines though so I should focus not on deducing the reason of the difference, but find out why it shows NotImplementedError in my case (refer to the discussion of this issue happened previously). Likely this will fix the difference as well.

                    > > By the way, is not it better to fail in place of switching to dynamic
                    > > builds? I always compiled both versions with explicit =dynamic flags each
                    > > time I wanted both pythons because I know it being the only option, but if
                    > > I did not know this and requested semi-static ones and did get dynamic
                    > > instead I would be surprised. The only case I would care about it is static
                    > > build (fully static!) I once needed, but here I would be surprised very
                    > > badly if I did not find python support due to such autoswitching.
                    >
                    > It's been like this for a long time.  In practice it appears to work.
                    >
                    > Of course it's not at all nice that :py3 does not work after :py, but
                    > there is no good alternative.
                    >
                    > --
                    > hundred-and-one symptoms of being an internet addict:
                    > 252. You vote for foreign officials.
                    >
                    >  /// 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.
                     
                     
                  • ZyX
                    ... Indeed + lines stand for .ok file, not .failed. This reverts us back: I cannot fix what I cannot reproduce. Will check out whether I can install an Ubuntu
                    Message 9 of 16 , Jun 19, 2013
                    • 0 Attachment
                      > I do not argue that we should do this. But I can't fix things that work for me because I have no idea what is broken. Note that in your report + prefixes right lines though so I should focus not on deducing the reason of the difference, but find out why it shows NotImplementedError in my case (refer to the discussion of this issue happened previously). Likely this will fix the difference as well.

                      Indeed + lines stand for .ok file, not .failed. This reverts us back: I cannot fix what I cannot reproduce. Will check out whether I can install an Ubuntu python package by unpacking it to ~/{some-prefix}.

                      --
                      --
                      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.
                    • ZyX
                      ... The interesting fact is that when I try to use the same expression (PyIter_Check) in the debugger (in the expanded form, of course) I get zero as expected.
                      Message 10 of 16 , Jun 20, 2013
                      • 0 Attachment
                        On Wednesday, June 19, 2013 8:19:35 PM UTC+4, Yukihiro Nakadaira wrote:
                        > On Ubuntu 13.04, adding -fPIC to CFLAGS make it work.
                        > I don't know why.
                        > It seems that something is wrong with "&_PyObject_NextNotImplemented" extracted from PyIter_Check() macro.
                        >
                        > --
                        > Yukihiro Nakadaira - yukihiro....@...

                        The interesting fact is that when I try to use the same expression (PyIter_Check) in the debugger (in the expanded form, of course) I get zero as expected. And the same bug if I put expanded form into the code in place of PyIter_Check (which is also expected though).

                        Also with python-fixes branch PyIter_Check also matches FailingNumber class. This one does not even contain __iter__ method and thus should fail the very first check in PyIter_Check macros.

                        I cannot say whose bug is this.

                        --
                        --
                        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.
                      • ZyX
                        ... From the `man gcc` it seems that `-fPIC` or at least `-fpic` is a must when compiling shared libraries. Should not the issue be then directed to Ubuntu
                        Message 11 of 16 , Jun 20, 2013
                        • 0 Attachment
                          On Wednesday, June 19, 2013 8:19:35 PM UTC+4, Yukihiro Nakadaira wrote:
                          > On Ubuntu 13.04, adding -fPIC to CFLAGS make it work.

                          From the `man gcc` it seems that `-fPIC` or at least `-fpic` is a must when compiling shared libraries. Should not the issue be then directed to Ubuntu developers?

                          --
                          --
                          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.
                        • Yukihiro Nakadaira
                          ... I think so too. Maybe python requires explicit -fPIC flag for configure option. On Ubuntu 13.04 $ python -c import distutils.sysconfig;
                          Message 12 of 16 , Jun 21, 2013
                          • 0 Attachment
                            On Fri, Jun 21, 2013 at 2:25 AM, ZyX <zyx.vim@...> wrote:
                            On Wednesday, June 19, 2013 8:19:35 PM UTC+4, Yukihiro Nakadaira wrote:
                            > On Ubuntu 13.04, adding -fPIC to CFLAGS make it work.

                            From the `man gcc` it seems that `-fPIC` or at least `-fpic` is a must when compiling shared libraries. Should not the issue be then directed to Ubuntu developers?

                            I think so too.
                            Maybe python requires explicit -fPIC flag for configure option.

                            On Ubuntu 13.04
                            $ python -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("CONFIG_ARGS"))'
                            '--enable-shared' '--prefix=/usr' '--enable-ipv6' '--enable-unicode=ucs4' '--with-dbmliborder=bdb:gdbm' '--with-system-expat' '--with-system-ffi' '--with-fpectl' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'

                            On Fedora 18
                            $ python -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("CONFIG_ARGS"))'
                            '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-ipv6' '--enable-shared' '--enable-unicode=ucs4' '--with-dbmliborder=gdbm:ndbm:bdb' '--with-system-expat' '--with-system-ffi' '--with-dtrace' '--with-tapset-install-dir=/usr/share/systemtap/tapset' '--with-valgrind' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CC=gcc' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv  ' 'LDFLAGS=-Wl,-z,relro   ' 'CPPFLAGS=-I/usr/lib64/libffi-3.0.10/include  '

                            --
                            Yukihiro Nakadaira - yukihiro.nakadaira@...

                            --
                            --
                            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.
                             
                             
                          • Yukihiro Nakadaira
                            On Sat, Jun 22, 2013 at 1:56 AM, Yukihiro Nakadaira
                            Message 13 of 16 , Jun 21, 2013
                            • 0 Attachment
                              On Sat, Jun 22, 2013 at 1:56 AM, Yukihiro Nakadaira <yukihiro.nakadaira@...> wrote:
                              Maybe python requires explicit -fPIC flag for configure option.

                              This assumption was wrong...

                              --
                              Yukihiro Nakadaira - yukihiro.nakadaira@...

                              --
                              --
                              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.
                               
                               
                            • Zulox4
                              ... Hello, For Linux Xubuntu 13, the ./configure --enable-shared for the last pyhton release 2.7.5 works, but the fPython 3.1.1 does not work :
                              Message 14 of 16 , Jun 21, 2013
                              • 0 Attachment
                                On Thursday, June 20, 2013 7:25:19 PM UTC+2, ZyX wrote:
                                > On Wednesday, June 19, 2013 8:19:35 PM UTC+4, Yukihiro Nakadaira wrote:
                                > > On Ubuntu 13.04, adding -fPIC to CFLAGS make it work.
                                >
                                > From the `man gcc` it seems that `-fPIC` or at least `-fpic` is a must when compiling shared libraries. Should not the issue be then directed to Ubuntu developers?

                                Hello,

                                For Linux Xubuntu 13, the ./configure --enable-shared for the last pyhton release 2.7.5 works, but the fPython 3.1.1 does not work :

                                http://stackoverflow.com/questions/1547310/python-3-1-1-with-enable-shared-will-not-build-any-extensions

                                Best regards!

                                --
                                --
                                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.
                              • Yukihiro Nakadaira
                                Cause of this problem is that ubuntu s python is built with -Bsymbolic-functions flag. With this flag, libpython and vim see different function address for
                                Message 15 of 16 , Jun 23, 2013
                                • 0 Attachment
                                  Cause of this problem is that ubuntu's python is built with -Bsymbolic-functions flag.
                                  With this flag, libpython and vim see different function address for same function.

                                  Test:
                                  $ cat foo.c
                                  void *foo() { return &foo; }
                                  $ cat main.c
                                  #include <stdio.h>
                                  void *foo();
                                  int main() {
                                      printf("foo=%p main=%p\n", foo(), &foo);
                                      return 0;
                                  }
                                  $ cc -shared -fPIC -o libfoo.so foo.c -Wl,-Bsymbolic-functions
                                  $ cc main.c -L. -lfoo
                                  $ LD_LIBRARY_PATH=. ./a.out
                                  foo=0x7eff0cafe770 main=0x4005e0

                                  --
                                  Yukihiro Nakadaira - yukihiro.nakadaira@...

                                  --
                                  --
                                  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.
                                   
                                   
                                • ZyX
                                  ... Just filed a bug report: https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1196047. Let’s look, maybe we won’t have to do anything. As an
                                  Message 16 of 16 , Jun 29, 2013
                                  • 0 Attachment
                                    On Sunday, June 23, 2013 3:25:52 PM UTC+4, Yukihiro Nakadaira wrote:
                                    > Cause of this problem is that ubuntu's python is built with -Bsymbolic-functions flag.
                                    > With this flag, libpython and vim see different function address for same function.
                                    >
                                    > Test:
                                    > $ cat foo.c
                                    >
                                    > void *foo() { return &foo; }
                                    > $ cat main.c
                                    > #include <stdio.h>
                                    > void *foo();
                                    > int main() {
                                    >     printf("foo=%p main=%p\n", foo(), &foo);
                                    >     return 0;
                                    > }
                                    > $ cc -shared -fPIC -o libfoo.so foo.c -Wl,-Bsymbolic-functions
                                    >
                                    > $ cc main.c -L. -lfoo
                                    > $ LD_LIBRARY_PATH=. ./a.out
                                    > foo=0x7eff0cafe770 main=0x4005e0
                                    >
                                    >
                                    > --
                                    > Yukihiro Nakadaira - yukihiro....@...

                                    Just filed a bug report: https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/1196047. Let’s look, maybe we won’t have to do anything.

                                    As an alternative I can suggest one of the following:

                                    1. Detect -Wl,-Bsymbolic-functions flag in configure and fail or switch to =dynamic build. (I would really prefer failing.)
                                    2. Add #if Py_UBUNTU_WORKAROUND macros guarding

                                    #define _PyObject_NextNotImplemented dll__PyObject_NextNotImplemented
                                    static iternextfunc dll__PyObject_NextNotImplemented;

                                    at the top (in the #else branch of #if defined(DYNAMIC_PYTHON) || defined(PROTO)) and something like

                                    PyObject *aobj;
                                    PyRun_SimpleString("class A(object): pass");
                                    if (PyErr_Occurred())
                                    return -1;
                                    if (!(aobj = PyRun_String("A", Py_eval_input, globals, globals)))
                                    return -1;
                                    dll__PyObject_NextNotImplemented = aobj->tp_iternext;
                                    Py_DECREF(aobj);

                                    after main python initialization. Macros should be added to CFLAGS by configure script if -Wl,\S*-Bsymbolic-functions is found in python LDFLAGS. This will workaround our problem as this way we get _PyObject_NextNotImplemented that is really used by python.

                                    --
                                    --
                                    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.