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

68527Re: system() break clipboard text.

Expand Messages
  • Christian Brabandt
    Feb 28, 2013
      Hi John!

      On Do, 28 Feb 2013, John Little wrote:

      > It happens for me (on Kubuntu 12.10, 7.3.843).
      > xclip -o reports
      > Error: target STRING not available
      > and other apps (I tried konsole, kate, firefox, LibreOffice) paste nothing.

      Interestingly, when using terminal vim, it returns some kind of utf
      representation of the original buffer for the clipboard. E.g. I put
      U+FF41 in the clipboard, call system('true') and :display + returns

      This patch fixes it for me:
      diff --git a/src/ui.c b/src/ui.c
      --- a/src/ui.c
      +++ b/src/ui.c
      @@ -2119,7 +2119,11 @@
      text_prop.encoding = *type;
      text_prop.format = *format;
      text_prop.nitems = len;
      - status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
      + if (*type == utf8_atom)
      + status = Xutf8TextPropertyToTextList(X_DISPLAY, &text_prop,
      + &text_list, &n_text);
      + else
      + status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
      &text_list, &n_text);
      if (status != Success || n_text < 1)

      In the gui, it seems, I get always garbage, since the for some reason I
      think nothing is stored into the clipboard and therefore Vim tries to
      restore the info from the CUT_BUFFER0, which can only hold latin1
      encoded data and it breaks here. I tried uncommenting
      clip_mch_lose_selection() in gui_gtk_x11.c and this seems to work, but I
      am not really sure (could be, that this relies on some clipboard manager
      to work) this is right.

      20% aller Autounfälle ging von alkoholisierten Autofahrern aus.
      Das bedeutet: In 80% der Unfälle war kein Alkohol im Spiele.
      Was lehrt uns das: Alkoholisierte Autofahrer sind die besseren Fahrer.

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