Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix various issues #2

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Conversation

WolfgangMehner
Copy link

I fixed various issues I had when running under Vim 7.3 with Python 2.7.3.

  • Appending an empty list to the buffer raised an error. This case is now handled explicitly. (This might be a problem with Vim's Python interface, but it is also related to other issues, see next bullet point.)
  • I'm not sure whether the logic of VimBuffer.write was correct in the case where overwrite == true and len(to_write) == 1 and to_write[0] == "" were both true. The buffer would not have been overwritten with the new empty content in this case.
  • Obtaining the buffer using the buffer number (directly after it had been created) did not work with my version. The new solution also does not depend on buffer_number() anymore. (From my experience with my own plug-ins, this whole family of functions bufnr(), winnr(), ... is not without problems, so it is nice if you can avoid them.)

The append method of buffer causes an error (Vim 7.3 with Python 2.7.3) if
the supplied list is empty. This case is now handled explicitly.
The previous implementation causes a problem (Vim 7.3 with Python 2.7.3)
with obtaining the buffer object of a newly generated buffer. This is fixed
by a more straightforward approach.
The commands ':Do' and ':DoQuietly' now tab-complete filenames, which is
essential when dealing with shell commands.
Fix Issue #1 concerning missing lines in the output buffer. We simply have
to continue to read from the streams (after the process has terminated)
until we hit the end-of-file.
@WolfgangMehner
Copy link
Author

This now includes the fix to Issue #1.

WolfgangMehner and others added 4 commits June 14, 2016 22:45
Remove some obsolete lines, which searched for the Python sources in the
wrong place.
Prepare to use the Python 3 interface, the code still has to be updated in
other places.
Make scripts compliant to Python 3, the code still has to be updated in
other places.
Extend the handling of processes in Python:
- Allow to split the output.
- Processes can be marked as 'external',
- ... and trigger the new hook 'do#HookProcessFinished' upon completion.
- Move 'Process' creation from 'ProcessCollection' into the 'Do' class.

Add an API, so that 'do.vim' can be triggered by other plug-ins:
- Processes can be started via 'do#ExecuteExternal',
  ... which support a callback executed upon the completion of the
  background process.
- Information about them can be retrieved via 'do#GetExternal'.
Support Vim compiled with either +python or +python3.
Incorporates the pull request #1 by @sankhesh .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants