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

65010Re: python3 and multibyte strings

Expand Messages
  • lilydjwg
    May 6, 2012
    • 0 Attachment
      On Sat, May 05, 2012 at 03:25:28AM -0700, Stanislav Kondratyev wrote:
      > Hello!
      >
      > I’m reposting this issue from vim_multibyte thanks to John Beckett's
      > kind advice.
      >
      > I was experimenting with the python3 interface and I stumbled upon the
      > following phenomenon. Suppose the cursor is in the string
      > абвгдеёжзийклмнопрстуфхцчшщъыьэюя
      > in a utf-8 encoded file. I run the following commands:
      > :py3 import vim
      > :py3 vim.current.line = vim.current.line
      > Surprisingly last 16½ of 33 characters disappear.
      >
      > The same effect can be produced e. g. with
      > :py3 l = vim.current.line
      > :py3 vim.current.line = l
      > However, the string l can be correctly printed and sent to vim via
      > vim.command and setline. Hence I conclude that the transition from vim
      > to python does not cause any loss of information. On the contrary,
      > when the string is being passed from python to vim, vim (or python?)
      > calculates that it is 33 ‘units’ long and copies 33 *bytes*.
      >
      > Experiments with less appaulling accented Latin letters show the same
      > effect. For example,
      > when the command
      > :py3 vim.current.line = vim.current.line
      > is applied to the line ‘aàáâãä', it yields
      > aàá<c3>
      >
      > I’m running vim 7.3 on Windows 7.
      >
      > I’d like to find out whether this is a common effect and whether there
      > exists an elegant way of changing multibyte strings from python3.
      >
      > Any help is appreciated. :)
      >
      > Stanislav

      I can't reproduce it on Windows XP with cp936 and Linux with UTF-8 locale.
      What's the value of your 'encoding' option and the exact version of your
      Vim?

      --
      Best regards,
      lilydjwg

      Linux Vim Python 我的博客:
      http://lilydjwg.is-programmer.com/
      --
      A: Because it obfuscates the reading.
      Q: Why is top posting so bad?

      --
      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
    • Show all 6 messages in this topic