Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Ctrl-x?

May
13,008
174
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.
 
OK, Ctrl-X has a function (expand variables). I can make it a "NormalKey" but thereafter, I can't make it "EscapeChar".
 
OK, Ctrl-X has a function (expand variables). I can make it a "NormalKey" but thereafter, I can't make it "EscapeChar".
But once it's a NormalKey, SETDOS /E will make it the escape character.
 
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.
 
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.
 
How do I make Ctrl-X my escape char with the "EscapeChar" directive?
 
How do I make Ctrl-X my escape char with the "EscapeChar" directive?
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?
 
And it wouldn't work for anybody (like Vince!) who isn't using a Unicode font.

<shrug> Characters from 0x80 to 0xFF can also vary for anybody not using a Unicode font. You can't tell kids not to push beans up their nose, either.
 
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.
 
FYI, I successfully use the 4DOS default special characters (CommandrSep, EscapeChar, ParameterChar) in all versions of 4NT and TCC up through 16.0.43 by specifying in its %_ININAME. No NormalKey required.
 
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.
 
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.)
 
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.
 

Similar threads

Back
Top