lew@gsg.UUCP (Paul Lew) (02/09/89)
Description: If the user changes escape keys to keys other than the defaults, type escape key twice (switch bwteeen the last two screens) will not work if you put it in the .screenrc file. Example: You can change default escape keys in 2 ways: method 1: $ screen -exy <-- this works method 2: $ echo 'escape xy' >> ~/.screenrc $ screen <-- not this one Reason: Function InitKeytab() use Esc as index which might be changed by ReadRc(). Move it after ReadRc() solve this problem. Scope: This bug exists for both versions 1.1 and 2.0a. Patch: Feed the following context diff to patch program: *** screen.c~ Wed Feb 8 18:08:21 1989 --- screen.c Wed Feb 8 18:09:27 1989 *************** *** 306,312 signal (SIGTERM, Finit); signal (SIGTTIN, SIG_IGN); signal (SIGTTOU, SIG_IGN); - InitKeytab (); sprintf (rc, "%.*s/.screenrc", 245, home); ReadRc (rc); if ((n = MakeWindow (*av, av, aflag, 0, (char *)0)) == -1) { --- 306,311 ----- signal (SIGTERM, Finit); signal (SIGTTIN, SIG_IGN); signal (SIGTTOU, SIG_IGN); sprintf (rc, "%.*s/.screenrc", 245, home); ReadRc (rc); InitKeytab (); *************** *** 309,314 InitKeytab (); sprintf (rc, "%.*s/.screenrc", 245, home); ReadRc (rc); if ((n = MakeWindow (*av, av, aflag, 0, (char *)0)) == -1) { SetTTY (0, &OldMode); FinitTerm (); --- 308,314 ----- signal (SIGTTOU, SIG_IGN); sprintf (rc, "%.*s/.screenrc", 245, home); ReadRc (rc); + InitKeytab (); if ((n = MakeWindow (*av, av, aflag, 0, (char *)0)) == -1) { SetTTY (0, &OldMode); FinitTerm (); -- Paul Lew {oliveb,harvard,decvax}!gsg!lew (UUCP) General Systems Group, 5 Manor Parkway, Salem, NH 03079 (603) 893-1000