git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 8/9] mergetools: vimdiff: fix single window mode

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Aug 7, 2022, 02:49 UTC
Message-ID
<20220807024941.222018-9-felipe.contreras@gmail.com>
In-Reply-To
<20220807024941.222018-1-felipe.contreras@gmail.com>

Right now it doesn't really matter which target is used, vim always goes for 'MERGED' since that's the last buffer.

As the documentation of bufdo says:
  The last buffer (or where an error occurred) becomes the current
  buffer.

So we have to switch to the desired buffer *after* running the bufdo command. And we can't simply do `| 1b` because that will be considered part of the bufdo command, so we have to run it inside an execute command.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 mergetools/vimdiff | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mergetools/vimdiff b/mergetools/vimdiff
index cdef1dcae3..34373ad92c 100644
--- a/mergetools/vimdiff
+++ b/mergetools/vimdiff
@@ -325,7 +325,7 @@ gen_cmd () {
 	if ! echo "$LAYOUT" | grep ",\|/" >/dev/null
 	then
 		buf=$(get_buf "$LAYOUT")
-		FINAL_CMD="-c \"set hidden diffopt-=hiddenoff | ${buf}b | silent bufdo diffthis\""
+		FINAL_CMD="-c \"set hidden diffopt-=hiddenoff | silent execute 'bufdo diffthis' | ${buf}b\""
 		return
 	fi
 
@@ -560,7 +560,7 @@ run_unit_tests () {
 	EXPECTED_CMD_01="-c \"echo | leftabove split | leftabove vertical split | 1b | wincmd l | leftabove vertical split | 2b | wincmd l | 3b | wincmd j | 4b | tabdo windo diffthis\" -c \"tabfirst\""
 	EXPECTED_CMD_02="-c \"echo | leftabove vertical split | 1b | wincmd l | 3b | tabdo windo diffthis\" -c \"tabfirst\""
 	EXPECTED_CMD_03="-c \"echo | leftabove vertical split | 1b | wincmd l | leftabove vertical split | 4b | wincmd l | 3b | tabdo windo diffthis\" -c \"tabfirst\""
-	EXPECTED_CMD_04="-c \"set hidden diffopt-=hiddenoff | 4b | silent bufdo diffthis\""
+	EXPECTED_CMD_04="-c \"set hidden diffopt-=hiddenoff | silent execute 'bufdo diffthis' | 4b\""
 	EXPECTED_CMD_05="-c \"echo | leftabove split | 1b | wincmd j | leftabove split | 4b | wincmd j | 3b | tabdo windo diffthis\" -c \"tabfirst\""
 	EXPECTED_CMD_06="-c \"echo | leftabove vertical split | leftabove split | 1b | wincmd j | 3b | wincmd l | 4b | tabdo windo diffthis\" -c \"tabfirst\""
 	EXPECTED_CMD_07="-c \"echo | leftabove vertical split | 4b | wincmd l | leftabove split | 1b | wincmd j | 3b | tabdo windo diffthis\" -c \"tabfirst\""
-- 
2.37.1.378.g3f95da6bac
Previous: Felipe ContrerasNext: Felipe Contreras
Message 11 of 28 in “mergetools: vimdiff: regression fix and reorg”
  1. 0/9 mergetools: vimdiff: regression fix and reorgFelipe Contreras, Aug 7, 2022
  2. 1/9 mergetools: vimdiff: fix commentFelipe Contreras, Aug 7, 2022
  3. 2/9 mergetools: vimdiff: shuffle single window caseFelipe Contreras, Aug 7, 2022
  4. Fernando RamosAug 7, 2022
  5. Felipe ContrerasAug 7, 2022
  6. 3/9 mergetools: vimdiff: add get_buf() helperFelipe Contreras, Aug 7, 2022
  7. 4/9 mergetools: vimdiff: make vimdiff3 actually workFelipe Contreras, Aug 7, 2022
  8. 6/9 mergetools: vimdiff: fix for diffoptFelipe Contreras, Aug 7, 2022
  9. 5/9 mergetools: vimdiff: silence annoying messagesFelipe Contreras, Aug 7, 2022
  10. 7/9 mergetools: vimdiff: cleanup cruftFelipe Contreras, Aug 7, 2022
  11. 8/9 mergetools: vimdiff: fix single window modeFelipe Contreras, Aug 7, 2022
  12. 9/9 mergetools: vimdiff: use vimdiff for vimdiff3Felipe Contreras, Aug 7, 2022
  13. Fernando RamosAug 7, 2022
  14. Fernando RamosAug 7, 2022
  15. Felipe ContrerasAug 7, 2022
  16. Fernando RamosAug 7, 2022
  17. 1/2 vimdiff: fix single tab mode, single window mode and colorsFernando Ramos, Aug 7, 2022
  18. 2/2 vimdiff: update unit testsFernando Ramos, Aug 7, 2022
  19. Felipe ContrerasAug 7, 2022
  20. 0/3 mergetools: vimdiff: regression fix (vimdiff3 mode)Fernando Ramos, Aug 8, 2022
  21. 1/3 mergetools: vimdiff: fix commentFernando Ramos, Aug 8, 2022
  22. 2/3 mergetools: vimdiff: fix single tab mode, single window mode and colorsFernando Ramos, Aug 8, 2022
  23. Felipe ContrerasAug 8, 2022
  24. Fernando RamosAug 8, 2022
  25. Felipe ContrerasAug 8, 2022
  26. Fernando RamosAug 8, 2022
  27. Felipe ContrerasAug 9, 2022
  28. 3/3 mergetools: vimdiff: update unit testsFernando Ramos, Aug 8, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.