]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.1.0049: Make "[Command Line]" a special buffer name v9.1.0049
authorSean Dewar <seandewar@users.noreply.github.com>
Wed, 16 Aug 2023 16:15:05 +0000 (17:15 +0100)
committerChristian Brabandt <cb@256bit.org>
Tue, 23 Jan 2024 21:37:39 +0000 (22:37 +0100)
commit1fb41032060df09ca2640dc49541f11062f6dfaa
tree47869301c90c7b3e0bf016b4c29d4b857ac0e74f
parent43b395ec2e7d24a067d7cb00109818b64da144a5
patch 9.1.0049: Make "[Command Line]" a special buffer name

Problem:  E95 is possible if a buffer called "[Command Line]" already
          exists when opening the cmdwin. This can also happen if the
          cmdwin's buffer could not be deleted when closing.

Solution: Un-name the cmdwin buffer, and give it a special name instead,
          similar to what's done for quickfix buffers and for unnamed
          prompt and scratch buffers. As a result, BufFilePre/Post are
          no longer fired when opening the cmdwin. Add a "command" key
          to the dictionary returned by getbufinfo() to differentiate
          the cmdwin buffer instead. (Sean Dewar)

NOTE: This is technically a breaking change... maybe this needs a different
solution? (Or maybe this issue can be ignored...)

A GitHub search reveals some plugins expect the old behaviour. However, many of
those plugins also do not seem to account for the string being translated, so
they are subtly broken anyway (not withstanding the fact that you can call any
old buffer "[Command Line]" too...)

closes: #12819

Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/builtin.txt
src/buffer.c
src/evalbuffer.c
src/ex_getln.c
src/testdir/test_cmdwin.vim
src/testdir/test_normal.vim
src/version.c