Skip to content

runtime(netrw): fix blank lines between directories and files - #17672

Closed
i9wa4 wants to merge 3 commits into
vim:masterfrom
i9wa4:fix-netrw-blank-lines
Closed

i9wa4 wants to merge 3 commits into
vim:masterfrom
i9wa4:fix-netrw-blank-lines

Conversation

@i9wa4

@i9wa4 i9wa4 commented Jul 5, 2025

Copy link
Copy Markdown
Contributor

v182 refactoring removed the blank line cleanup (g/^$/d) from s:LocalListing().

This restores the missing cleanup in s:PerformListing() after the append() call.

Fixes regression introduced in ef92555 (runtime(netrw): upstream snapshot of v182).

Problem:  v182 refactoring removed blank line cleanup (g/^$/d) from
          s:LocalListing(), causing empty lines between directories and files.

Solution: Add the missing cleanup after append() in s:PerformListing().
Signed-off-by: uma-chan <[email protected]>
@chrisbra

chrisbra commented Jul 5, 2025

Copy link
Copy Markdown
Member

ping @saccarosium

@saccarosium

saccarosium commented Jul 5, 2025 •

Copy link
Copy Markdown
Contributor

Yes, I fix it in upstream, after you modify the lines I've told you it can be merged

@i9wa4

i9wa4 commented Jul 5, 2025 •

Copy link
Copy Markdown
Contributor Author

Got it🫡

Comment thread runtime/pack/dist/opt/netrw/autoload/netrw.vim Outdated
Comment thread runtime/pack/dist/opt/netrw/autoload/netrw.vim Outdated
@i9wa4

i9wa4 commented Jul 6, 2025

Copy link
Copy Markdown
Contributor Author

Thank you for the detailed suggestions! I've applied them.

@i9wa4

i9wa4 commented Jul 6, 2025

Copy link
Copy Markdown
Contributor Author

Found the upstream commit:
saccarosium/netrw.vim@215cafe
Will check upstream first next time!

@chrisbra

chrisbra commented Jul 7, 2025

Copy link
Copy Markdown
Member

Thanks both. So shall I merge it here @saccarosium or do you prefer sending an update once enough changes accumulated on your side?

@saccarosium

Copy link
Copy Markdown
Contributor

Yes, merge it right now

@chrisbra

chrisbra commented Jul 7, 2025

Copy link
Copy Markdown
Member

thanks both

@chrisbra chrisbra closed this in b3eaae2 Jul 7, 2025
@i9wa4
i9wa4 deleted the fix-netrw-blank-lines branch July 8, 2025 00:39
girishji added a commit to girishji/vim that referenced this pull request Jul 8, 2025
author Girish Palya <[email protected]> 1751956573 +0200
committer Girish Palya <[email protected]> 1751956573 +0200

M  runtime/doc/options.txt

Rename option value to convey function better

M  runtime/doc/options.txt
M  src/cmdexpand.c
M  src/option.h
M  src/optionstr.c
M  src/testdir/test_cmdline.vim

Merge

M  runtime/doc/options.txt

M  runtime/doc/options.txt

Simplify option value name

M  runtime/doc/options.txt
M  src/option.h
M  src/optionstr.c
M  src/testdir/test_cmdline.vim

Keep alphabetical order in doc

M  runtime/doc/options.txt

Improve doc

M  runtime/doc/options.txt

runtime(doc): fix a few typos introduced in 0ae9e19

Signed-off-by: Christian Brabandt <[email protected]>

translation(tr): Update Turkish translations

closes: vim#17688

Signed-off-by: Emir SARI <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

runtime(optwin): add missing values for tabpanel option

closes: vim#17685

Signed-off-by: RestorerZ <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1518: getcompletiontype() may crash

Problem:  getcompletiontype() crashes when no completion is available
          (after v9.1.1509).
Solution: Don't call set_expand_context() (zeertzjq)

fixes: vim#17681
closes: vim#17684

Signed-off-by: zeertzjq <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

runtime(doc): Add documentation style

closes: vim#17627

Co-authored-by: Phạm Bình An <[email protected]>
Signed-off-by: Damien Lejay <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail

Problem:  Test_termdebug_decimal_breakpoints() fails with List index out
          of range, because when adding the second breakpoint, the
          cursor is still on the very first line (a header include line)
          and therefore gdb refuses to set the breakpoint with:
          `msg="No compiled code for line 1 in file XTD_decimal.c"`
Solution: Run the program, so that it will break at the very first
          defined breakpoint and then once we are in the program,
          set further breakpoints

closes: vim#17689

Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1520: completion: search completion doesn't handle 'smartcase' well

Problem:  When using `/` or `?` in command-line mode with 'ignorecase' and
          'smartcase' enabled, the completion menu could show items that
          don't actually match any text in the buffer due to case mismatches

Solution: Instead of validating menu items only against the user-typed
          pattern, the new logic also checks whether the completed item
          matches actual buffer content. If needed, it retries the match
          using a lowercased version of the candidate, respecting
          smartcase semantics.

closes: vim#17665

Signed-off-by: Girish Palya <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect'

Problem:  When 'wildmode' is set to include "noselect", the popup menu (pum)
          incorrectly retained its scroll position when reopened. This
          meant that after scrolling down through the menu with `<C-n>`,
          reopening the menu (e.g., by retyping the command and
          triggering completion again) would show the menu starting from
          the previously scrolled position, rather than from the top.
          This could confuse users, as the first visible item would not
          be the first actual match in the list.

Solution: Ensure that the popup menu resets its scroll position to the
          top when reopened (Girish Palya).

closes: vim#17673

Signed-off-by: Girish Palya <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1522: tests: still some ANSI escape sequences in test output

Problem:  tests: still some ANSI escape sequences in test messages output
Solution: update the cleanup regexp to also handle those ANSI escape
          sequences: `<esc>|2h` and `<esc>|31H` like in this log output:

```
2025-07-05T20:02:47.6350409Z <esc>|2hExecuted 171 tests in   4.739708 seconds<esc>|31H
```

related: vim#17677

Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1523: tests: test_clipmethod fails in non X11 environment

Problem:  tests: test_clipmethod fails in non X11 environment
Solution: test that $DISPLAY is available

related: vim#17677

Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1524: tests: too many imports in the test suite

Problem:  tests: too many imports in the test suite
Solution: Clean up the imported scripts

Most tests make use of check.vim, so let's just source it once in
runtest.vim instead of having each test manually source it.

runtest.vim already sources shared.vim, which again sources
view_util.vim, so we don't need to source those two common
dependencies in all the other tests

And then check.vim sources term_util.vim already, so we can in addition
drop sourcing it explicitly in each single test script.

Note: test_expand_func.vim had to be updated to account for the changed
number of sourced files.

And finally check.vim uses line-continuation so let's also explicitly
enable line continuation via the 'cpo' option value.

related: vim#17677

Signed-off-by: Christian Brabandt <[email protected]>

patch 9.1.1525: tests: testdir/ is a bit messy

Problem:  tests: testdir is a bit messy
Solution: move test scripts into testdir/util/ directory

src/testdir/ has become a dumping ground mixing test cases with utility
functions. Let's fix this by moving all utility functions into the
testdir/util/ directory

Also a few related changes had to be done:
- Update Filelist
- update README.txt and mention the new directory layout
- fix shadowbuild by linking the util directory into the shadow dir

closes: vim#17677

Signed-off-by: Christian Brabandt <[email protected]>

runtime(netrw): restore blank line cleanup after file listing

Problem:  v182 refactoring removed blank line cleanup (g/^$/d) from
          s:LocalListing(), causing empty lines between directories
          and files.
Solution: Add the missing cleanup after append() in s:PerformListing()
          (uma-chan).

closes: vim#17672

Co-authored-by: Luca Saccarola <[email protected]>
Signed-off-by: uma-chan <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
tomtomjhj added a commit to tomtomjhj/neovim that referenced this pull request Sep 13, 2025
…ile listing

Problem:  v182 refactoring removed blank line cleanup (g/^$/d) from
          s:LocalListing(), causing empty lines between directories
          and files.
Solution: Add the missing cleanup after append() in s:PerformListing()
          (uma-chan).

closes: vim/vim#17672

vim/vim@b3eaae2

Co-authored-by: uma-chan <[email protected]>
Co-authored-by: Luca Saccarola <[email protected]>
dundargoc pushed a commit to dundargoc/neovim that referenced this pull request Sep 27, 2025
…ile listing

Problem:  v182 refactoring removed blank line cleanup (g/^$/d) from
          s:LocalListing(), causing empty lines between directories
          and files.
Solution: Add the missing cleanup after append() in s:PerformListing()
          (uma-chan).

closes: vim/vim#17672

vim/vim@b3eaae2

Co-authored-by: uma-chan <[email protected]>
Co-authored-by: Luca Saccarola <[email protected]>
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.

3 participants