dense-analysis / dense-analysis/ale

Fixer output goes to wrong buffer if user switches windows just after save.

Open
#3,155 1 comment 1 reaction 0 assignees View on GitHub
bug
Dominant language
Vim Script
Stars
14k
Forks
1.5k
Avg merge
17h 49m
Merged PRs (30d)
1

Description

## Information

**VIM version**

```
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 27 2020 16:30:03)
Included patches: 1-150
```

Operating System: Ubuntu 18.04.1

## What went wrong

It seems that the output of my fixer is going to whichever python window I currently have open, instead of the window for the file being fixed.

## Reproducing the bug

This is a difficult issue to reproduce, as it requires multiple windows and timing, but I:

1. Have `black` configured as a Python fixer.
2. Often save python file A in window 1 and then immediately move to another open window (2) with a different python file (B) in the buffer
3. Suddenly, the contents of python file A will be inserted at my cursor position into **file B in window 2** (this is the bug)

### :ALEInfo

```
Current Filetype: python
Available Linters: ['bandit', 'flake8', 'mypy', 'prospector', 'pycodestyle', 'pydocstyle', 'pyflakes', 'pylama', 'pylint', 'pyls', 'pyre', 'vulture']
Enabled Linters: ['flake8', 'mypy', 'pylint']
Suggested Fixers:
'add_blank_lines_for_python_control_statements' - Add blank lines before control statements.
'autopep8' - Fix PEP8 issues with autopep8.
'black' - Fix PEP8 issues with black.
'isort' - Sort Python imports with isort.
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'reorder-python-imports' - Sort Python imports with reorder-python-imports.
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
'yapf' - Fix Python files with yapf.
Linter Variables:

let g:ale_python_auto_pipenv = 0
let g:ale_python_black_auto_pipenv = 0
let g:ale_python_black_change_directory = 1
let g:ale_python_black_executable = 'black'
let g:ale_python_black_options = ''
let g:ale_python_black_use_global = 0
let g:ale_python_flake8_auto_pipenv = 0
let g:ale_python_flake8_change_directory = 1
let g:ale_python_flake8_executable = 'flake8'
let g:ale_python_flake8_options = ''
let g:ale_python_flake8_use_global = 0
let g:ale_python_isort_executable = 'isort'
let g:ale_python_isort_options = ''
let g:ale_python_isort_use_global = 0
let g:ale_python_mypy_auto_pipenv = 0
let g:ale_python_mypy_executable = 'mypy'
let g:ale_python_mypy_ignore_invalid_syntax = 0
let g:ale_python_mypy_options = ''
let g:ale_python_mypy_show_notes = 1
let g:ale_python_mypy_use_global = 0
let g:ale_python_pylint_auto_pipenv = 0
let g:ale_python_pylint_change_directory = 1
let g:ale_python_pylint_executable = 'pylint'
let g:ale_python_pylint_options = ''
let g:ale_python_pylint_use_global = 0
let g:ale_python_pylint_use_msg_id = 0
Global Variables:

let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = '🔥'
let g:ale_echo_msg_format = '%severity% %s [%code% %linter%]'
let g:ale_echo_msg_info_str = '👋'
let g:ale_echo_msg_warning_str = '🤔'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let b:ale_fix_on_save = 1
let g:ale_fixers = {}
let b:ale_fixers = ['isort', 'black', 'remove_trailing_lines', 'trim_whitespace']
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'normal'
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_linters_explicit = 0
let g:ale_list_vertical = 0
let g:ale_list_window_size = 10
let g:ale_loclist_msg_format = '%severity% %s [%code% %linter%]'
let g:ale_lsp_root = {}
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = v:null
let g:ale_open_list = 0
let g:ale_pattern_options = v:null
let g:ale_pattern_options_enabled = v:null
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 1
let g:ale_sign_error = '🔥'
let g:ale_sign_info = '👋'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '🔥'
let g:ale_sign_style_warning = '🤔'
let g:ale_sign_warning = '🤔'
let g:ale_sign_highlight_linenrs = 0
let g:ale_statusline_format = v:null
let g:ale_type_map = {}
let g:ale_use_global_executables = v:null
let g:ale_virtualtext_cursor = 0
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
Command History:

(executable check - failure) pylint
(finished - exit code 1) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2219/tasks.py''']

<<>>
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:8:1: F401 'sap.cf_logging' imported but unused
<<>>

(executable check - failure) mypy
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''isort'' - < ''/tmp/vHPxoPf/2222/tasks.py''']
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''black'' - < ''/tmp/vHPxoPf/2223/tasks.py''']
(finished - exit code 1) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2226/tasks.py''']

<<>>
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:8:1: F401 'sap.cf_logging' imported but unused
<<>>

(executable check - failure) mypy
(executable check - failure) pylint
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2227/tasks.py''']

<<>>

(executable check - failure) mypy
(finished - exit code 1) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2230/tasks.py''']

<<>>
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:1:1: E902 TokenError: EOF in multi-line statement
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:21:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:23:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:23:14: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:23:16: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:24:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:24:21: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:24:23: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:25:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:25:14: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:25:16: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:25:42: E225 missing whitespace around operator
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:27:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:27:18: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:27:20: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:28:9: E113 unexpected indentation
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:28:12: E225 missing whitespace around operator
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:33:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:33:8: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:33:10: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:34:9: E113 unexpected indentation
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:34:34: E225 missing whitespace around operator
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:36:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:36:14: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:36:16: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:37:9: E113 unexpected indentation
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:39:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:39:16: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:39:18: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:39:54: E225 missing whitespace around operator
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:41:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:41:20: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:41:22: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:42:5: E122 continuation line missing indentation or outdented
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:42:27: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:42:29: E251 unexpected spaces around keyword / parameter equals
/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py:43:9: E113 unexpected indentation
<<>>

(executable check - failure) mypy
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2233/tasks.py''']

<<>>

(executable check - failure) mypy
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2236/tasks.py''']

<<>>

(executable check - failure) mypy
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''isort'' - < ''/tmp/vHPxoPf/2239/tasks.py''']
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''black'' - < ''/tmp/vHPxoPf/2240/tasks.py''']
(finished - exit code 0) ['/home/linuxbrew/.linuxbrew/bin/zsh', '-c', 'cd ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker'' && ''flake8'' --format=default --stdin-display-name ''/home/tsaleh/src/github.com/cloud-gov/external-domain-broker/broker/tasks.py'' - < ''/tmp/vHPxoPf/2255/tasks.py''']

<<>>

(executable check - failure) mypy
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.