From a purely end-user perspective, I'd like the autocomplete to be
configurable if it's not going to require a keypress to initiate it. I
think a lot of users will find the auto-insertion to be distracting.
I'd prefer a user-initiated autocomplete, but I'm not sure what the
proper solution is with tab not really being available.
Just a couple of small comments on the code:
There are some areas where tabs have sneaked in. These should be
spaces. There are also lines which should be empty but contain
whitespace (tabs and/or spaces). Blank lines should be completely blank.
When dealing with characters, magic numbers should be avoided as much as
possible. For example, when converting to lowercase,
c = c+32
is not clear. Instead,
c = tolower(c)
gives the intent better (and is more portable). In addition, using 0x20
when you really mean ' ' is less portable and less clear.
The issues with characters are kind of murky because Gargoyle is really
dealing with Unicode/Latin-1, so to be completely portable no character
constants should really be used. However, there's almost no chance that
Gargoyle or the interpreters will run properly on a system that is not
ASCII compatible (I know Bocfel won't), so I think it's worth assuming
that C's character handling stuff is ASCII compatible.
Otherwise, with the caveat that I'm not overly familiar with Gargoyle's
graphics code, the patches look good to me, and worked fine when I
tested them.
Chris