Re: 4.1 Beta Binary Release
- Posted by Jerome Jan 20, 2014
- 3634 views
NB: Note the line in question:
if sequence(buffer[b_line]) and sequence(buffer_multi[b_line]) then
...and the improved error message that tells you exactly where the error is.
Matt thanks for looking into this but I think there is some confusion! The above was my first suggestion as a fix before I realized what you did:
We don't need splice anything into buffer_multi[b], which will always be an integer. I pushed up a fix, which was to remove that line.
I did something similar to you with my second suggested fix:
... I've uploaded a new ed.ex for you to try: https://dl.dropboxusercontent.com/u/5805068/Euphoria/ed.ex. I just confirmed on my system that typing 'function','procedure','while',etc... produces the correct completions and doesn't crash.
But Tom is running into an issue that when ed.ex is compiled with euc, it crashes. This still seems to be happening with your published fix (the issue seems to be intermittent). I also am not familiar enough with ed.ex to understand where the exact problem is coming from and the backtrace from gdb didn't lead me to an immediate solution.
Your new ed.ex works fine for me on Ubuntu 13.1. Your work is deeply appreciated. However; there is a minor bug in the ed.ex clean function which was introduced in 4.0, I think. If only lines with a length greater than 2 are evaluated, then the CR will not be removed from "empty" lines consisting of just a CR & LF:
This certainly may be another issue but doesn't seem to resolve Tom's issue.
Thanks,
Ira