[net.emacs] Concepts with almost-META keys

mikem@uwstat.UUCP (02/07/85)

I have a Concept 108 with pseudo-meta keys.  The way these things work
(at present) is like a shift key except when depressed they send
<ESC>-key   (i.e. I hold down the META key and nothing happens until I
hit another key.  Thus META-^A is one keystroke).  Well this behaviour
is OK but not really what I wanted.  I'd like to know if there is some
(soft) switch which will make this behave like a proper META (8'th bit)
key.  I have the Concept manual, but it only describes the standard
terminal and doesn't mention this add-on feature.
Does anyone have one of these beasts working as a correct META terminal?
Do you remember how to set it up that way??

You may ask what is wrong with the current behaviour .. its much better
than no meta key.  Well, there isn't too much wrong except where the
escape has a special meaning.  For example in an incremental search, ^A
will end the search and go to the beginning of line.  But (my) Meta-A
will end the search and insert an A (rather than go to the beginning of
the sentence).  So its a minor but common annoyance.

-- 

Mike Meyer --  Phone (608) 262-1157

EASY ARPA:	mikem@statistics
CORRECT ARPA:	mikem@wisc-stat.arpa
UUCP	...!{allegra,ihnp4,seismo,ucbvax,
	     pyr_chi,heurikon,uwm-evax}!uwvax!uwstat!mikem

chris@umcp-cs.UUCP (Chris Torek) (02/08/85)

Actually, if you're using Gosling Emacs, a true meta key will act
exactly as your pseudo-meta key (in fact you may *have* a true meta
key).  There is only one place in the entire source that reads input
from the terminal, and it translates meta-foo into ESC-foo.

While the problem is potentially repairable by changing Emacs to have
full 256-entry keymaps, we decided not to even attempt *that*.
Instead, we modified undo and incremental search to use an Emacs
variable to control which key(s?) terminate the undo or search.  Set
this to ^G (or whatever you prefer), and meta keys "work" again.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251)
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland

thomas@utah-gr.UUCP (Spencer W. Thomas) (02/08/85)

In article <229@uwstat.UUCP> mikem@uwstat.UUCP writes:
> ... Well, there isn't too much wrong except where the
>escape has a special meaning.  For example in an incremental search, ^A
>will end the search and go to the beginning of line.  But (my) Meta-A
>will end the search and insert an A (rather than go to the beginning of
>the sentence).  So its a minor but common annoyance.
>
Note that this is the behaviour of Gosling/Unipress emacs even if you do
have a real meta key.

-- 
=Spencer
	({ihnp4,decvax}!utah-cs!thomas, thomas@utah-cs.ARPA)
	<<< "Humor is the poetry of ideas that do not match."
		- Leonard Feeney >>>

ellis@spar.UUCP (Michael Ellis) (02/13/85)

From Chris Torek:
>While the problem is potentially repairable by changing Emacs to have
>full 256-entry keymaps, we decided not to even attempt *that*.
>Instead, we modified undo and incremental search to use an Emacs
>variable to control which key(s?) terminate the undo or search.  Set
>this to ^G (or whatever you prefer), and meta keys "work" again.

    incr-search.ml, as we received it from UniPress, has a global
    variable called `search-exit-char' that gets initialized to
    <ESCAPE> provided you haven't already initialized it to a
    non-zero value. Placing lines like:

(declare-global search-exit-char)
(setq search-exit-char "\^^")

    ..into your .emacs_pro would redefine this character from <ESCAPE>
    to control carat. If you want to make the character <NULL>, I believe
    you'll have to load incr_search first and then reset this variable
    to zero.

    Incidentally, the <ESCAPE> key is frightfully overloaded in most EMACSes
    I've used. This is bad enough; but in Gosmacs, if your terminal has a
    genuine meta-shift key, you can find yourself unexpectedly invoking
    unwanted ESCAPE functions at the worst possible moments.

    For instance, you cannot type any meta-key while in the minibuf, because
    meta-keys are immediately remapped into ESCAPE sequences, and ESCAPE has
    the additional function of forcing keyword/filename recognition when in
    the minibuf. I used to ruin plenty of files this way when I tried to
    edit the filename in a ^X^W command, only to have Gosmacs write into the
    first file that happened to match the filename I was trying to edit!

-michael