Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
202 stars 31 forks source link

RIDE asks "Quit Dyalog APL. Are you sure?" even though it is not closing Dyalog (when you hit the Close button) #115

Closed dyavc closed 7 years ago

dyavc commented 7 years ago

RIDE Issue Report

Describe the issue you are having

RIDE 4.0: when you hit the Close button, RIDE asks "Quit Dyalog APL. Are you sure?" even though it is not closing Dyalog

Did you connect to an already running interpreter or start the interpreter from RIDE?

Already running interpreter

How do you reproduce the issue?

Start Dyalog like this: dyalog.exe log_file=null -ride -RIDE_INIT=SERVE::4502 &

Connect ride 4 to it.

Close Ride 4 with the X button.

Paste the contents of Help → About (Shift+F1)

IDE: Version: 4.0.2710 Platform: Win32 Date: 2017-03-06 11:26:39 +0100 Git commit: 4ff05735198d2ff5a74e0399bd7aff71611103eb Preferences:{ "favs":"[{\"type\":\"listen\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"listen4502\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"connect4512\",\"ride_port\":\"4512\",\"type\":\"connect\",\"port\":\"4512\",\"host\":\"127.0.0.1\"}]", "kbdLocale":"en_US" }

Interpreter: Version: 15.0.29232 Platform: Windows-64 Edition: Unicode/64 Date: Feb 19 2017 at 17:55:23

mbaas2 commented 7 years ago

This might be a V15-Problem - I could repro with V15.0.28955, but not with V16.0.29298...

flouc001 commented 7 years ago

@mbaas2 it may not show in V15 because the protocol messages have been extended for V16 :)

flouc001 commented 7 years ago

@dyavc RIDE will also terminate the underlying APL interpreter in most exit cases, I will update the message to be clearer.

jayfoad commented 7 years ago

@flouc001 that's not quite right.

The behaviour we want is:

flouc001 commented 7 years ago

@jayfoad I see, but this isn't the current behaviour. When we send the Disconnect protocol message regardless of whether the interpreter has been started by RIDE or was pre-existing it shuts down. Should we not be using the Disconnect message in the case of connecting to an existing interpreter? @johndaintree

jayfoad commented 7 years ago

My suggestion was that sending Disconnect to an interpreter should not cause it to shut down; that's what the Exit message is for.

johndaintree commented 7 years ago

The interpreter does an )OFF on both exit and disconnect. If you want them to mean different things, that's easy. If you want to use a single message with a parameter to indicate disconnect/exit then that's easy too. I agree that the two case should be distinct. (but I also think the user should have the option to just disconnect from spawned and exit from attached).

flouc001 commented 7 years ago

@johndaintree I think we will want separate messages doing separate things. A "Disconnect" message should do just that and not )off afterwards. "Exit" on the other hand should shut down the interpreter.

flouc001 commented 7 years ago

Fixed in interpreter 16.0.29830 and RIDE commit cac137241b5c2e3e3b7e017e8676c4bea9de6171.