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

Re: Issue 127 in vim: TFS Plugin Broken by latest VIM

Expand Messages
  • vim@...
    Comment #3 on issue 127 by lukemaul...@gmail.com: TFS Plugin Broken by latest VIM http://code.google.com/p/vim/issues/detail?id=127 I downloaded the latest
    Message 1 of 8 , Apr 25, 2013
    • 0 Attachment
      Comment #3 on issue 127 by lukemaul...@...: TFS Plugin Broken by
      latest VIM
      http://code.google.com/p/vim/issues/detail?id=127

      I downloaded the latest Win64 build from Haroogan
      (https://bitbucket.org/Haroogan/64-bit-vim-builds-for-windows-64-bit/downloads)
      which is at patch level 7.3.761. I tried the TFS plugin and the plugin
      still does not work.
      I checked 'shellxquote', 'shellcmdflag', 'shell', and 'shellescape' and
      those are not mentioned in my _vimrc file.
      I tried contacting the plugin author but I have received no response. The
      command puts the following text at the bottom of my VIM window (see
      screenshot) but the file is not actually checked out from TFS.
      I have verified that the file path is correct and if I execute this command
      from a Windows command line, the file is correctly checked out from TFS:
      C:\Projects\TFS\NCN -
      Other\MRASystem\Main\Go\src\mrawebtoolboxext>"E:\Programs\VisualStudio2012\Common7\IDE\TF.exe"
      checkout "C:\projects\tfs\ncn -
      other\mrasystem\main\go\src\mra\logger\logger.go"



      Attachments:
      VIMScreenshot.png 10.6 KB

      --
      You received this message because this project is configured to send all
      issue notifications to this address.
      You may adjust your notification preferences at:
      https://code.google.com/hosting/settings

      --
      --
      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.
    • vim@...
      Comment #4 on issue 127 by fritzoph...@gmail.com: TFS Plugin Broken by latest VIM http://code.google.com/p/vim/issues/detail?id=127 It looks like the plugin is
      Message 2 of 8 , Apr 25, 2013
      • 0 Attachment
        Comment #4 on issue 127 by fritzoph...@...: TFS Plugin Broken by
        latest VIM
        http://code.google.com/p/vim/issues/detail?id=127

        It looks like the plugin is manually escaping quote characters in the
        command with ^, which with default settings Vim will now do automatically
        as-needed.

        It looks like the format of commands that run are:

        ! start /min cmd /c path/to/tool.exe ^"tool arguments^"

        or, depending on the command or specific settings, I'm not sure which:

        r!cmd /c "path/to/tool.exe ^"tool arguments^""

        "Does not work" means very little. What specific output do you get when you
        try to run a command that fails?

        I don't have TFS installed, and the plugin invokes a big chain of functions
        to execute any command, so I tried the second command format with the 'dir'
        command, as follows:

        new
        r!cmd /c "dir /b ^"C:\Program Files^""

        Doing this gives me:
        E485: Can't read file C:/Users/btfritz/AppData/Local/Temp/VIoF289.tmp

        If I remove the ^ characters (because Vim's default settings are now set up
        for these not to be needed anymore), I get a directory listing as I expect:

        :new
        r!cmd /c "dir /b "C:\Program Files""

        For now you can try removing the ^ escaping from the commands in the
        plugin. You should contact the plugin maintainer to let him know his plugin
        needs adjustment for Vim's new default shellxquote and shellxescape
        settings.

        Note that ^" isn't actually a valid escape to include a quote within a
        quote. The quotes also prevent special meanings of characters, so the
        plugin was arguably wrong in the first place:

        C:\>echo ^^
        ^
        C:\>echo ^"
        "
        C:\>echo "^""
        "^""

        --
        You received this message because this project is configured to send all
        issue notifications to this address.
        You may adjust your notification preferences at:
        https://code.google.com/hosting/settings

        --
        --
        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.
      • vim@...
        Comment #5 on issue 127 by lukemaul...@gmail.com: TFS Plugin Broken by latest VIM http://code.google.com/p/vim/issues/detail?id=127 Removing the ^ worked
        Message 3 of 8 , Apr 27, 2013
        • 0 Attachment
          Comment #5 on issue 127 by lukemaul...@...: TFS Plugin Broken by
          latest VIM
          http://code.google.com/p/vim/issues/detail?id=127

          Removing the ^ worked great, thank you. Was this a change to VIM's
          behavior?

          --
          You received this message because this project is configured to send all
          issue notifications to this address.
          You may adjust your notification preferences at:
          https://code.google.com/hosting/settings

          --
          --
          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.
        • vim@...
          Comment #6 on issue 127 by fritzoph...@gmail.com: TFS Plugin Broken by latest VIM http://code.google.com/p/vim/issues/detail?id=127 ... ...sort of. It s a
          Message 4 of 8 , Apr 29, 2013
          • 0 Attachment
            Comment #6 on issue 127 by fritzoph...@...: TFS Plugin Broken by
            latest VIM
            http://code.google.com/p/vim/issues/detail?id=127

            > Removing the ^ worked great, thank you. Was this a change to VIM's
            > behavior?

            ...sort of.

            It's a change in the DEFAULT behavior.

            Previously something like this:

            "C:\Program Files\MyApp\myapp.exe" "some arguments"

            Would get executed directly in cmd.exe with no escaping or anything, which
            the wonderful world of quoting in Windows cmd.exe would interpret as:

            C:\Program Files\MyApp\myapp.exe" "some arguments

            Which would obviously fail because "C:\Program" is not an executable
            program (and probably doesn't even exist as a directory).

            The plugin you are using dates from when this was still the default
            behavior and is probably the only workaround that worked for the author at
            the time. However, as I pointed out, I have no idea why it worked, because
            it was wrong anyway. You can't escape quotes within quotes in Windows.

            Anyway, Vim changed over a series of changes, each one less broken than the
            last, to actually execute something like this in the cmd.exe shell for the
            example I give above:

            (^"C:\Program Files\MyApp\myapp.exe^" ^"some arguments^")

            This works in almost every use case, although another thread recently found
            something strange going on with parentheses between quotes or something
            like that.

            Support was also added to execute something like this instead, but it's not
            the default, and I'm not actually sure what it fixes:

            "(^"C:\Program Files\MyApp\myapp.exe^" ^"some arguments^")"

            Remember how I said that escaping quotes within quotes won't work? You
            might wonder why the above works. Well...cmd.exe will always strip off the
            first and last quote in a line that begins and ends with a quote. So it's
            actually like those aren't even there. Again though, I don't remember the
            details. I think we ended up with defaults that work *almost* all the time
            but still fail in specific less-common scenarios.

            It's probably easier to do as some plugin authors do, and just build a .bat
            script in a temp file and execute that, so you don't need to worry about
            quoting.

            --
            You received this message because this project is configured to send all
            issue notifications to this address.
            You may adjust your notification preferences at:
            https://code.google.com/hosting/settings

            --
            --
            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.
          • vim@...
            Updates: Status: Invalid Comment #7 on issue 127 by chrisbr...@googlemail.com: TFS Plugin Broken by latest VIM
            Message 5 of 8 , Sep 30, 2014
            • 0 Attachment
              Updates:
              Status: Invalid

              Comment #7 on issue 127 by chrisbr...@...: TFS Plugin Broken by
              latest VIM
              https://code.google.com/p/vim/issues/detail?id=127

              (No comment was entered for this change.)

              --
              You received this message because this project is configured to send all
              issue notifications to this address.
              You may adjust your notification preferences at:
              https://code.google.com/hosting/settings

              --
              --
              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/d/optout.
            Your message has been successfully submitted and would be delivered to recipients shortly.