LightTable / LightTable

The Light Table IDE ⛺
www.lighttable.com
MIT License
11.73k stars 918 forks source link

Instarepl: Unmatched delimiter and EOF while reading error messages remains after condition is corrected. #121

Closed dansalmo closed 12 years ago

dansalmo commented 12 years ago

The Instarepl does not update the left pane error status if an error is introduced then corrected after evaluation. This results in great difficulty in finding and fixing unmatched delimiter issues. This is the type of problem that will quickly frustrate and turn new users off to lisp dialects and to light-table.

To replicate in a trivial example, type the following and notice the error feedback at the bottom of the left pane until the form is complete.

(+ 1 1)

Once the form is complete, the EOF error message is cleared and the evaluation is shown in the right pane as expected.

Now, delete the closing paren:

(+ 1 1

You will see the EOF error message at the bottom right and no change in the right pane

Now, add the closing paran:

(+ 1 1)

The EOF error message remains until some other change causes Instarepl to re-evauate.

The severity of this issue is not demonstrated in this trivial example but causes great difficulty with real code since it is difficult to know when the error condition is resolved. It requires modification of the buffer in some other area to trigger and evaluation to see if the EOF or unmatched delimiter condition is resolved.

Because of the expectation of real time feedback, this issue has caused and continues to cause much confusion during debug in Instarepl. It will cause many to believe Light-Table is unstable and inconsistent until they figure out what is happening.

ibdknox commented 12 years ago

fixed.

dansalmo commented 12 years ago

Thank you for the fast fix. I am now inspired to write up a few more in my backlog of issues. I am a lisp / clojure noob with a background in software product management and user experience so I see a huge potential in this approach but I also run into a lot of issues that more experienced programmers might never see.

I am using light-table as learning tool and found it hugely valuable so far.