Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!pt.cs.cmu.edu!k.cs.cmu.edu!tbl From: tbl@k.cs.cmu.edu (Thomas Lord) Newsgroups: comp.emacs Subject: Re: C-s/C-q question . . . (really: porting to window managers ...) Message-ID: <1105@k.cs.cmu.edu> Date: Mon, 9-Mar-87 01:48:01 EST Article-I.D.: k.1105 Posted: Mon Mar 9 01:48:01 1987 Date-Received: Tue, 10-Mar-87 04:48:09 EST References: <8703042025.AA12061@ncifcrf.ncifcrf.uucp> Organization: Carnegie-Mellon University, CS/RI Lines: 27 In-reply-to: randy@seismo.CSS.GOV@ncifcrf.UUCP's message of 4 Mar 87 20:25:43 GMT Posting-Front-End: GNU Emacs 18.36.5 of Sat Feb 14 1987 on k.cs.cmu.edu (berkeley-unix) randy@seismo wanted to know how to impliment a control prefix. The best suggestion is to get a new terminal emulator. The second best suggestion(s) have involved keymap mucking. Here is a suggestion from out of left field that may also help those of you porting gnu-emacs to your favourite window manager: In the source file keyboard.c is a function called kbd_buffer_store_char(). The function is called for each character received by emacs, and is a good safe place to impliment out-of-band control over emacs. For the case at hand, kbd_buffer_store_char can set a flag when it sees "control prefix" and treat the next character as its control equivalent. This is a dubious way to do "control prefix", but is useful for other pursuits. For example, to bring emacs up under a local window manager, we wrote a terminal emulator that transmits funny control sequences on a resize. Since a resize can occur no matter what keymap is active, there is no way to handle these resizes in lisp. Instead, they are caught and acted upon in kbd_buffer_store_char. Tom Lord tbl@k.cs.cmu.edu