ittfb@dcatla.UUCP (04/30/87)
I've gotten a bunch of requests for information on the ^S problem I described in an earlier posting, so I decided to post the fix. Here's what I did. It didn't involve vmsvt.c (although I changed that to eliminate the 50 pad characters) and set up the vt100 keypad in the proper mode. The change that stopped the ^S's was made in termio. In the function "ttopen()", the author sets the port status to what would be "raw" in Unix and I believe is "PASSALL" under VMS. I changed that mode to "PASSTHRU" which passes all characters but ^S and ^Q, which it processes normally for flow control. The I changed the key bindings for ^S and ^Q functions to some other keys in emacs.rc. Change: newmode[1] &= ~(TT$M_TTSYNC | TT$M_HOSTSYNC); to: newmode[1] &= ~(TT$M_HOSTSYNC); in file vmsvt.c, function ttopen(). We also changed the bind.c and input.c files so that they would accept vt100 (as opposed to vt52) function and cursor control codes. I think this is basically a kludge, however, and we are planning to rewrite the cursor and function key parser as a state machine, which should be more general and robust. (Of course if anyone has done this, let me know.) I hope this helps. Please e-mail any questions. Tom Blakely DCA Inc. (404)442-4866 {akgua, sun!sunatl, gatech}!dcatla!ittfb