Windows console version doesn't switch to alternate-file with CTRL-^.
Currently, os_win32.c has workaround for this. But it's not correct way.
diff -r 79df7d17b859 src/os_win32.c
--- a/src/os_win32.c Sat Dec 07 14:48:10 2013 +0100
+++ b/src/os_win32.c Tue Dec 10 18:47:43 2013 +0900
@@ -860,29 +860,6 @@
break;
}
- /* special cases */
- if ((nModifs & CTRL) != 0 && (nModifs & ~CTRL) == 0 && pker->AChar == NUL)
- {
- /* Ctrl-6 is Ctrl-^ */
- if (pker->wVirtualKeyCode == '6')
- {
- *pch = Ctrl_HAT;
- return TRUE;
- }
- /* Ctrl-2 is Ctrl-@ */
- else if (pker->wVirtualKeyCode == '2')
- {
- *pch = NUL;
- return TRUE;
- }
- /* Ctrl-- is Ctrl-_ */
- else if (pker->wVirtualKeyCode == 0xBD)
- {
- *pch = Ctrl__;
- return TRUE;
- }
- }
-
/* Shift-TAB */
if (pker->wVirtualKeyCode == VK_TAB && (nModifs & SHIFT_PRESSED))
{
@@ -943,6 +920,19 @@
if ((nModifs & CTRL) != 0 && (nModifs & ALT) == 0
&& *pch >= 0x20 && *pch < 0x80)
*pmodifiers |= MOD_MASK_CTRL;
+
+ if ((nModifs & CTRL) && *pch == '^') {
+ *pch = Ctrl_HAT;
+ return TRUE;
+ }
+ if ((nModifs & CTRL) && *pch == 28) {
+ *pch = Ctrl__;
+ return TRUE;
+ }
+ if ((nModifs & CTRL) && *pch == '@') {
+ *pch = Ctrl_AT;
+ return TRUE;
+ }
}
}
```
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.