Fix broken doskey macro functionality with Windows 10 (15002)'s modern cmd#464
Fix broken doskey macro functionality with Windows 10 (15002)'s modern cmd#464qwerty12 wants to merge 1 commit intomridgers:masterfrom
Conversation
|
Thank you! I can confirm that with these changes the doskey macros are back! At least on my Windows 10 x64 Creators Update. |
|
Any kind soul care to share a build for those of us who have no ability (or idea how) to build this thing? |
|
Compiled master + changed 'clink/dll/doskey.c' |
|
@mridgers bump. Would be nice to get this merged if it does fix the issue. Cmder #1374 is related to this pr and a fix would be great. Thanks in advance! |
|
using the binaries from @Grzegorz-Abram on ConEmu works nicely, but causes issues when trying to use ctrl+R for recent history filtering (noticeably when typing S key) |
|
@twig What kind of issues, could you elaborate? So I could double-check :) |
|
Not sure where the error is ocurring exactly but here's the specifics.
Scenario: I type "tas" into reverse search and it works Video 1: working properly with ConEmu's bundled clink Video 2: with custom build clink Notice how the focus is shifted away from the ConEmu window as I press the "s" in "tas". |
|
@twig, thanks. Not reproducible on my end, also with ConEmu (170605) and the updated clink. |
|
was your clink installed via setup or portable? |
|
Thank you @Grzegorz-Abram! I noticed that the new executable x5 bigger than the old one. |
|
@ankostis I don't know 😄 I have only pre-basic experience with C language 😄
I suppose, that there were missing some compilation flags or something like that 😄 I've left that optimisation magic for real C wizards 😄 |
|
(noting that the DLL has retained its size) |
|
@Grzegorz-Abram You could also 'strip' the binaries to further reduce their size. So the DLL + EXE will become much smaller (400kb total vs almost 4MB) 8-) |
|
Ok, I've done it! I hope so... 😄 BTW, I had one false alarm - Avast claimed that binaries contains something dangerous... Maybe it doesn't like stripped binaries... 😄 |
|
@Grzegorz-Abram Works for me! And no virus warnings on my machine. :) Thanks! |
|
Oddly enough, these work perfectly fine for me Thanks! |
|
I've setup a fork that has some PRs merged and generates builds via appveyor: https://github.com/Stanzilla/clink/commits/master The zips it generates contain a bit more than the usual release zips from @mridgers but I just threw something together real quick. Any help making this better would be appreciated. |
|
I cannot find the zip from @Stanzilla, so I build it my own. Here's a VS2015 build: |
|
@Stanzilla It's not that I'm complaining, I'm really appreciate your work. But... Would it be possible to configure AppVeyor to build both x86 and x64 releases? |
|
yeah probably, just have to figure out how, I never did anything with premake before. |
|
@Stanzilla try |
|
@KayLeung - thank you for compiling and posting those binaries to your google drive. I put them in place and everything's working great without legacy mode turned on! I appreciate it! |
|
@mridgers Any reasons this isn't merged? |
|
mridgers is AWOL for a while now. |
|
Confirmed working with final build of Fall Creator's Update with modern console. |
|
Whoever is interested in this PR, it was merged and is included in the recent build at https://github.com/Stanzilla/clink/releases Also, for |
|
@jrappen so are you forking the project and taking over? |
For #438. As
GetConsoleAliasworks on the byte count, and not the character count, using 1 for the buffer size will fail someTargetBufferLength < sizeof(WCHAR)test I think (read: imagine) the more stringent Conhost V2 has somewhere and will always return 0 instead of succeeding like it does with V1, causing clink to think no doskey aliases exist.By using the correct size, the
GetConsoleAliasWcall will still fail (in most cases - not sure if GCA will refuse to write to the buffer if there isn't space for a null terminator), but the last error code will now reflect if it did so because it actually couldn't find the alias, or if the buffer size was too small.