-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix broken doskey macro functionality with Windows 10 (15002)'s modern cmd #464
base: master
Are you sure you want to change the base?
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
GetConsoleAlias
works 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
GetConsoleAliasW
call 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.