nsf / godit

A very religious text editor
MIT License
576 stars 77 forks source link

Can't quit on Windows #14

Closed hugows closed 10 years ago

hugows commented 10 years ago

Do you know why the sequence C-x C-c locks the command prompt on Win7? Its like the editor is quitting but the terminal isn't left in a good state and everything is locked.

nsf commented 10 years ago

Yes, I've seen it on windows. What editor are you using and how did you compile the gocode?

hugows commented 10 years ago

What do you mean which editor? I installed by go get - it was really easy :)

(C-x C-x works at home on OSX - very nice work I must say - thanks for making it available)

hugows commented 10 years ago

I'm using the cmd.exe prompt, if that is what you were asking.

nsf commented 10 years ago

Oh, sorry. I was thinking for some reason that it was the gocode (my other project). Do you have it installed as well? Because godit supports autocompletion through gocode and gocode is often a reason why such thing happens on windows. That's why I was confused.

nsf commented 10 years ago

What Go version are you using? I have win7 installed so I may just take a look if something similar happens on recent Go versions for example.

hugows commented 10 years ago

The last stable one - 1.3.1. Maybe its just because Ctrl-C is intercepted as a copy command. I'm not on windows now.

On 21 August 2014 23:19, nsf notifications@github.com wrote:

What Go version are you using? I have win7 installed so I may just take a look if something similar happens on recent Go versions for example.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53014508.

nsf commented 10 years ago

Last time I tried godit on windows (it was awhile ago, probably using go 1.2) it was working fine. Will take a look on it today a bit later and report it it works fine or not.

hugows commented 10 years ago

And it does work, beautifully! I'm almost sure Ctrl-c is intercepted and messes things up - I can just bind that command to another key and see what happens.

Thanks!

On 21 August 2014 23:30, nsf notifications@github.com wrote:

Last time I tried godit on windows (it was awhile ago, probably using go 1.2) it was working fine. Will take a look on it today a bit later and report it it works fine or not.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53015181.

nsf commented 10 years ago

well, I was using godit through far manager, haven't noticed anything about Ctrl+C. But I also don't use Ctrl actually, CapsLock is rebound to Ctrl on my win7 machine.

hugows commented 10 years ago

Sure, mine too.. but it's the same signal, right? On Aug 21, 2014 11:42 PM, "nsf" notifications@github.com wrote:

well, I was using godit through far manager, haven't noticed anything about Ctrl+C. But I also don't use Ctrl actually, CapsLock is rebound to Ctrl on my win7 machine.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53015875.

nsf commented 10 years ago

Ctrl+C behaviour is regulated using this function: http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686033(v=vs.85).aspx

If ENABLE_PROCESSED_INPUT flag is on, Ctrl+C will be eaten by windows. I don't really set that flag: https://github.com/nsf/termbox-go/blob/master/api_windows.go#L41

nsf commented 10 years ago

You still haven't told me if you're using gocode or not (the autocompletion daemon: github.com/nsf/gocode). Because it may cause such behaviour.

nsf commented 10 years ago

The issue is confirmed. It hangs only when you run it through cmd.exe. If you run it just like an ordinary executable (e.g. clicking on it through explorer), it works fine. It works fine through far manager. But with cmd.exe it hangs for some reason.

hugows commented 10 years ago

Sorry - I'm not. I'll test emacs in cmd. exe when I arrive at work. On Aug 21, 2014 11:52 PM, "nsf" notifications@github.com wrote:

You still haven't told me if you're using gocode or not (the autocompletion daemon: github.com/nsf/gocode). Because it may cause such behaviour.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53016468.

hugows commented 10 years ago

I wasn't clear - I'm not using gocode. On Aug 22, 2014 6:52 AM, "Hugo Schmitt" hugows@gmail.com wrote:

Sorry - I'm not. I'll test emacs in cmd. exe when I arrive at work. On Aug 21, 2014 11:52 PM, "nsf" notifications@github.com wrote:

You still haven't told me if you're using gocode or not (the autocompletion daemon: github.com/nsf/gocode). Because it may cause such behaviour.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53016468.

nsf commented 10 years ago

Don't worry, I've found the bug, the commit will be up in a couple of minutes.

nsf commented 10 years ago

Here it is: https://github.com/nsf/termbox-go/commit/b55a2b50c96202b5559c9bcb461a1d21316d86be

Note that the fix is simply in the underlying library (termbox-go). Running go get -u github.com/nsf/godit should update them both on your machine.

hugows commented 10 years ago

This is preventing the update from working:

github.com/nsf/termbox-go

c:\users\hugo\go\src\github.com\nsf\termbox-go\api_windows.go:4: imported and not used: "os"

Thanks for the quick fix - I'm actually interested in termbox because many command line applications will become simpler to write with it! I want to port a simple utility from Python to Go and use termgo.

On 22 August 2014 07:00, nsf notifications@github.com wrote:

Here it is: nsf/termbox-go@b55a2b5 https://github.com/nsf/termbox-go/commit/b55a2b50c96202b5559c9bcb461a1d21316d86be

Note that the fix is simply in the underlying library (termbox-go). Running go get -u github.com/nsf/godit should update them both on your machine.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53043678.

hugows commented 10 years ago

I did the modification locally and it works. Thank you very much!

On 22 August 2014 08:35, Hugo Schmitt hugows@gmail.com wrote:

This is preventing the update from working:

github.com/nsf/termbox-go

c:\users\hugo\go\src\github.com\nsf\termbox-go\api_windows.go:4: imported and not used: "os"

Thanks for the quick fix - I'm actually interested in termbox because many command line applications will become simpler to write with it! I want to port a simple utility from Python to Go and use termgo.

On 22 August 2014 07:00, nsf notifications@github.com wrote:

Here it is: nsf/termbox-go@b55a2b5 https://github.com/nsf/termbox-go/commit/b55a2b50c96202b5559c9bcb461a1d21316d86be

Note that the fix is simply in the underlying library (termbox-go). Running go get -u github.com/nsf/godit should update them both on your machine.

— Reply to this email directly or view it on GitHub https://github.com/nsf/godit/issues/14#issuecomment-53043678.

nsf commented 10 years ago

Yeah sorry for that. My workflow is all fucked up. I don't have a proper github setup on windows with necessary ssh keys and all that. So I tested it on windows and then repeated on linux and committed without compiling. And the result is I forgot to remove the "os" import. Fixed now.