Ctrl-x?

#1
4NT (I have v8) used to process Ctrl-x and show an up-arrow symbol. And with 4NTv8 I could "EscapeChar=Ctrl-x". None of the TCC's I have (v11 - v16) seem to process Ctrl-X at all and I can't make it the escape character.

And ... TCC processes Ctrl-g (showing a solid circle) and the directive EscapeChar=Ctrl-g works. But the Option\Advanced\SpecialCharacters dialog will not let me enter any more than a single keystroke and can't be used to specify a key combination as the escape character.
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,667
46
Albuquerque, NM
prospero.unm.edu
#4
I think the EscapeChar directive, and probably CommandSep and ParameterChar too, expects its value to be less than 256 and not a control character. Just basic sanity checking.... Might be nice if you could specify higher-order Unicode characters using decimal or hex, but of course that would be a new feature and therefore would not filter down to TCC/LE.
 

rconn

Administrator
Staff member
May 14, 2008
10,638
97
#5
I think the EscapeChar directive, and probably CommandSep and ParameterChar too, expects its value to be less than 256 and not a control character. Just basic sanity checking.... Might be nice if you could specify higher-order Unicode characters using decimal or hex, but of course that would be a new feature and therefore would not filter down to TCC/LE.
And it wouldn't work for anybody (like Vince!) who isn't using a Unicode font.
 
#9
FWIW, you can enter (many) control characters in IDE/BDEBUGGER with the Scintilla Ctrl-Shift-... mechanism, and (possible more) with the Windows Alt-(KeyPad)0... mechanism.

I'm very tempted to go back to the 4DOS escape character, especially if I would never again have to fight with '^'. I don't use Ctrl-X for anything.
 

rconn

Administrator
Staff member
May 14, 2008
10,638
97
#11
Never mind. It wasn't working because I had a second "ExcapeChar=^" later in the INI file. Now "EscapeChar=" works with either "Ctrl-X" or a literally inserted character 24.

Can it be from the OPTION dialog?
OPTION is using a Windows edit control, which does not allow you to enter control characters.

I could subclass (or replace) the edit controls, but that would introduce new problems:
  1. The control characters won't appear as anything printable in most fonts
  2. It would be a constant support headache for the people who inadvertently entered a control character
  3. It would introduce a MAJOR incompatibility
  4. Nobody has ever asked for it until now
And given the amount of work that would be required, I'm not going to consider it until there's a substantial demand for it in the feedback forum.
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,667
46
Albuquerque, NM
prospero.unm.edu
#13
The real problem here is that a few users want to push beans up everybody else's nose too!
Well, I don't have a strong opinion here, and I guess it makes sense that the .INI directives should be more restrictive than SETDOS. But I suggest that, instead of disallowing everything above 0xFF, it might make more sense to disallow any character for which iswalnum() is nonzero. (I would also reject iswcntrl() characters, on the theory that nobody remembers the 4DOS defaults anymore; but that theory is obviously wrong.)
 

rconn

Administrator
Staff member
May 14, 2008
10,638
97
#14
Well, I don't have a strong opinion here, and I guess it makes sense that the .INI directives should be more restrictive than SETDOS. But I suggest that, instead of disallowing everything above 0xFF, it might make more sense to disallow any character for which iswalnum() is nonzero. (I would also reject iswcntrl() characters, on the theory that nobody remembers the 4DOS defaults anymore; but that theory is obviously wrong.)
EscapeChar is already a 16-bit (i.e., Unicode) character.