05-24-2017 01:01 PM
In EG 7.13, I'm having a problem with autocomplete.
I have it set to autocomplete on third character.
If I type:
proc sort data=sashelp.class out
it brings up the autocomplete dropdown to complete out and defaults to out=
Ignoring the autocomplete, I type an = and the code autocompletes to:
proc sort data=sashelp.class outout=
So it looks like typing = is being taken as accepting the autocomplete suggestion, and it's duplicating instead of duplicating. Only seems to happen when the word I'm typing is three characters long. If I double click an option in the autocomplete suggestion, it still fails to replace the out which I typed, so if I click out2, I end up with outout2= .
If I set to autcomplete on second character, I have the same problem with two character words. That is, if I type in= I will get inin= .
05-25-2017 07:33 PM
05-24-2017 01:33 PM
I'm not able to reproduce in EG 7.13 HF5 using your steps. Have you changed other Autocomplete options other than "Autocomplete on: Third character" (in Program->Editor Options...->Autocomplete tab)? What specific version of EG 7.13 are you using (version in Help->About box)?
05-24-2017 02:15 PM
Thanks @CaseySmith. I'm using 7.13 HF3 (22.214.171.12438) (64-bit) .
I don't think I've changed anything else, except for turning off the option to commit on spacebar. My settings look like:
05-24-2017 02:39 PM
Thanks @Quentin. I made sure my options matched exactly, but I still can't reproduce. One of our developers (who supports the editor) is also attempting to reproduce and looking into.
05-24-2017 09:10 PM
Thanks @CaseySmith . I realized I missed an obvious clue. In the session, I have a libref named OUT (and also a libref named IN).
So in a new EG session, I don't have the problem unless I run that libname statement.
With it set to autocomplete after three characters, I can replicate it with just:
libname out "%sysfunc(pathname(work))" ; proc sort data=sashelp.class out
First, execute the libname statement. Then if you delete the token OUT on the proc sort and type out=, I get outout=.
If it doesn't do it the first time, please just delete out=
and then type out= a second time. For me, it happens consistently after the first time.
Sorry I didn't think of this. OUT is one of my standard libraries. I'm working on a remote terminal server. Not sure if they updated the version of EG recently. I've been working on this box for a few months, I think I would have noticed this before, as I always have IN and OUT librares, and often code in= and out=.
05-25-2017 07:33 PM
10-11-2017 08:19 PM - edited 10-12-2017 10:46 AM
I have had this same problem for a very long time. I typically noticed it with the word "data".
If I were trying to type out a set statement and I said something like
proc sort data=
it would actually show up in the editor like this as soon as I hit the equals sign
proc sort datadata=
However, thanks to @Quentin's post, I have at least identified that the issue is tied to using libname statements like
libname data '/path/to/lib';
Unfortunately, this is a pretty common library name for me. I'm going to stop using it until this bug is fixed, but it will still be there in other people's code that I have to work with. Has been happening since at least EG 5
Need further help from the community? Please ask a new question.