Article View: comp.sys.ibm.pc
Article #14793Re: switchar
From: madd
Date: Wed, 10 Dec 1986 17:01
Date: Wed, 10 Dec 1986 17:01
72 lines
3197 bytes
3197 bytes
In article <2234@homxb.UUCP> gritz@homxb.UUCP (R.SHARPLES) writes:
>You can also use the dos ansi.sys capability to redefine the
>character transmitted by the keyboard when you hit / or \. This
>can be done by echoing the proper ESC sequence in autoexec. Since
>this is just redefining the keyboard signal, it does not effect programs
>that utilitze the original sequence. I know this works under MSDOS 3.1.
>See page G-10 of the MSDOS 3.1 manual.
Don't do this! This works fine, provided you only use the DOS
COMMAND.COM. If you use any program that skips around the standard
DOS functions, this won't work. If you (*gasp*) use a program, such
as a wordprocessor, which DOESN'T skip around the DOS functions, it'll
go change all your characters on you, even if you didn't want them to.
For instance, let's say I use WordStar (which I think can be
influenced by ANSI.SYS, though I never tried -- the screen output is
slow enough to be done through DOS, versus writing to the screen
buffer and other neat things). I start typing:
Ladies/gentlemen of the press:
Now, what gets put in the file would be
Ladies\gentlemen of the press:
which is not what I intended. Worse, what if you program in a similar
editor:
#include <stdio.h>
main()
{ int i;
fscanf("%d",i);
printf("i = %d\n",i);
i = i/2;
printf("i = %d\n");
printf("As a further example, what if you do this: yes/no\n");
}
What get stuffed in the file? This:
#include <stdio.h>
main()
{ int i;
fscanf("%d",i);
printf("i = %d\n",i);
i = i\2; /* compile error right here */
printf("i = %d\n"); /* run-time problem below */
printf("As a further example, what if you do this: yes\no\n");
}
The flipping of the / character would really cause problems here, some
of which might not be easy to spot. The last printf() statement is a
tough one. It would print:
As a further axample, what if you do this: yes
o
Which is obviously not what was intended.
In conclusion, this idea would work (some of the time) but can have
side-effects that are extremely annoying; I'd stay away from it.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- Jim Frost * The Madd Hacker -
UUCP: ..!harvard!bu-cs!bucsb!madd | ARPANET: madd@bucsb.bu.edu
CSNET: madd%bucsb@bu-cs | BITNET: cscc71c@bostonu
-------------------------------+---+------------------------------------
"Oh beer, oh beer." -- Me | [=(BEER) <- Bud the Beer (cheers!)
Technical Details
Message-ID:
<656@bucsb.bu.edu.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!rutgers!mit-eddie!bu-cs!bucsb.bu.edu!maddReferences:
<1402@uw-june> > <2690001@hplsla.HP.COM> <2234@homxb.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!rutgers!mit-eddie!bu-cs!bucsb.bu.edu!madd From: madd@bucsb.bu.edu.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: switchar Message-ID: <656@bucsb.bu.edu.UUCP> Date: Wed, 10-Dec-86 12:01:48 EST Article-I.D.: bucsb.656 Posted: Wed Dec 10 12:01:48 1986 Date-Received: Sun, 14-Dec-86 03:13:34 EST References: <1402@uw-june> > <2690001@hplsla.HP.COM> <2234@homxb.UUCP> Reply-To: madd@bucsb.bu.edu.UUCP (Jim "Jack" Frost) Organization: ODO (Organization for the Disorganization of Organization) Lines: 72 Summary: Not a good idea! Mood: Fine.