home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume32 / ecu / patch03 < prev    next >
Encoding:
Text File  |  1992-10-14  |  31.2 KB  |  913 lines

  1. Newsgroups: comp.sources.misc
  2. From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  3. Subject:  v32i096:  ecu - ECU Asynchronous Communications v3.20, Patch03
  4. Message-ID: <1992Oct7.203636.29376@sparky.imd.sterling.com>
  5. X-Md4-Signature: 66e0ae4d743e615346b8f02449b9afc1
  6. Date: Wed, 7 Oct 1992 20:36:36 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  10. Posting-number: Volume 32, Issue 96
  11. Archive-name: ecu/patch03
  12. Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
  13. Patch-To: ecu: Volume 32, Issue 36-75
  14.  
  15. This is patch 3 to ECU 3.20.
  16.  
  17. To apply this patch, extract the shell archive below in the ECU
  18. distribution directory, creating one new file (PATCH03) and
  19. overlaying two README files with new versions.  Then patch by
  20.  
  21.     patch -p0 < PATCH03
  22.  
  23. Then, Configure, make, su root, make install.
  24.  
  25. .-------------------------------------------------------------.
  26. | I lost a week of bug reports/suggestion lists.  If you have |
  27. | a bug or suggestion you have mailed me that is not fixed in |
  28. | here, please resend.  Thanks.                               |
  29. `-------------------------------------------------------------'
  30.  
  31. >From CHANGES:
  32. 7.  Information on tty "Device busy" errors and color support
  33. have been added to README.Q-and-A.  Obsolete information was
  34. removed.
  35.  
  36. 8. The -l switch was added to the fkmap commands:
  37.        fkmap -l <name>
  38. The -l form reads an entire funckeymap definition matching <name>
  39. from ~/.ecu/funckeymap (if not found there, in a file by the same
  40. name in the library directory).  This form behaves exactly
  41. in the same manner as the command line switch -F.
  42. Due to the drastic nature of this command, if it fails to
  43. execute properly, ECU terminates itself.  Note that
  44. improper use of this form of the command can still render
  45. ECU an albatross (with Home unrecognizable).
  46.  
  47. 9.  The original high-bit character space assignments for Alt-A
  48. through Alt-Z that I chose for ECU made good sense ...  to a
  49. parochial American.  Michael Traub <emory!btcs.bt.co.uk!traub>
  50. sets me straight, but mapkey/README was incorrect.  Each hex
  51. value was off by one.
  52.  
  53. 10.  If the console has parity enabled, the interactive stat
  54. command now reports <7-bit kbd>.  Knowing this can be important
  55. if you are using Alt-[A-Z].  Or if you are trying for some kind
  56. of unlikely tandem 8-bit transparent path (telnet to a box, run
  57. ecu to call home, login, use ECU there to talk to your amateur
  58. radio PK-232/MBX TNC over 14 MHz AMTOR to the UK to a Kantronics
  59. TNC hooked to an SCO box, login, make an ECU call to a certain
  60. Universal Import-Export ...  uh, hi -- I seem to have dozed off).
  61.  
  62. 11.  At least one ISC SVR3 user had a Devices entry with the
  63. modem control ",M" suffix I thought was only used in SVR4 UUCP.
  64. The suffix presence is now detected on all platforms.
  65.  
  66.  
  67. #!/bin/sh
  68. # This is ecu/patch03, a shell archive (shar 3.461)
  69. # made 09/28/1992 18:23 UTC by wht@n4hgf.Mt-Park.GA.US
  70. # Source directory /u1/src/ecu
  71. #
  72. # existing files will NOT be overwritten unless -c is specified
  73. #
  74. # This shar contains:
  75. # length  mode       name
  76. # ------ ---------- ------------------------------------------
  77. #  20515 -rw-r--r-- PATCH03
  78. #   2906 -rw-r--r-- README.Q-and-A
  79. #   2774 -rw-r--r-- mapkey/README
  80. #
  81. # ============= PATCH03 ==============
  82. if test -f 'PATCH03' -a X"$1" != X"-c"; then
  83.     echo 'x - skipping PATCH03 (File already exists)'
  84. else
  85. echo 'x - extracting PATCH03 (Text)'
  86. sed 's/^X//' << 'SHAR_EOF' > 'PATCH03' &&
  87. X#-------------------------------------------------------
  88. X# PATCH03 - miscellaneous patches
  89. X# see CHANGES notes 7-12
  90. X# created by gendiff x1.30 on 28 Sep 1992 18:01 UTC
  91. X#-------------------------------------------------------
  92. XPreqreq: 22
  93. X*** ../ecu-3.22/patchlevel.h    Wed Sep 16 11:38:49 1992
  94. X--- patchlevel.h    Wed Sep 16 14:11:32 1992
  95. X***************
  96. X*** 1 ****
  97. X! #define PATCHLEVEL 22
  98. X--- 1 ----
  99. X! #define PATCHLEVEL 23
  100. X*** ../ecu-3.22/Make.src    Tue Sep 15 19:43:26 1992
  101. X--- Make.src    Sun Sep 27 12:29:09 1992
  102. X***************
  103. X*** 160,165 ****
  104. X--- 160,166 ----
  105. X  SHARFLS = \
  106. X      README \
  107. X      README.* \
  108. X+     CHANGES \
  109. X      HISTORY \
  110. X      OLD-HISTORY-* \
  111. X      ESOTERIC \
  112. X*** ../ecu-3.22/doc/_icmd.txt    Tue Sep 15 19:53:24 1992
  113. X--- doc/_icmd.txt    Wed Sep 16 13:44:11 1992
  114. X***************
  115. X*** 449,454 ****
  116. X--- 449,455 ----
  117. X  usage: fkmap 
  118. X         fkmap <keyname>
  119. X         fkmap <keyname> <keylist>
  120. X+        fkmap -l <name>
  121. X         fkmap -r
  122. X         fkmap -s <file>
  123. X  .DE
  124. X***************
  125. X*** 475,483 ****
  126. X--- 476,495 ----
  127. X  is installed immediately.  If incorrect mapping of the HOME
  128. X  key is requested, you may lose control of ECU.
  129. X  
  130. X+ The -l form reads an entire funckeymap definition matching <name>
  131. X+ from ~/.ecu/funckeymap (if not found there, in a file by the same
  132. X+ name in the library directory).  This form behaves exactly
  133. X+ in the same manner as the command line switch -F.
  134. X+ Due to the drastic nature of this command, if it fails to
  135. X+ execute properly, ECU terminates itself.  Note that
  136. X+ improper use of this form of the command can still render
  137. X+ ECU an albatross (with Home unrecognizable).
  138. X+ 
  139. X  The -r form rereads the original funckeymap definition (as
  140. X  at program invocation), reseting the mapping.  The -s switch
  141. X  saves the current mapping to <file>.
  142. X+ 
  143. X+ Switches may not be combined.  Only one switch may appear.
  144. X  
  145. X  .DS L
  146. X  Examples:
  147. X*** ../ecu-3.22/doc/_p_cmd.txt    Tue Sep 15 19:53:35 1992
  148. X--- doc/_p_cmd.txt    Wed Sep 16 13:44:31 1992
  149. X***************
  150. X*** 777,782 ****
  151. X--- 777,783 ----
  152. X  usage: fkmap 
  153. X         fkmap <keyname>
  154. X         fkmap <keyname> <keylist>
  155. X+        fkmap -l <name>
  156. X         fkmap -r
  157. X         fkmap -s <file>
  158. X  .DE
  159. X***************
  160. X*** 802,807 ****
  161. X--- 803,817 ----
  162. X  is installed immediately.  If incorrect mapping of the HOME
  163. X  key is requested, you may lose control of ECU.
  164. X  
  165. X+ The -l form reads an entire funckeymap definition matching <name>
  166. X+ from ~/.ecu/funckeymap (if not found there, in a file by the same
  167. X+ name in the library directory).  This form behaves exactly
  168. X+ in the same manner as the command line switch -F.
  169. X+ Due to the drastic nature of this command, if it fails to
  170. X+ execute properly, ECU terminates itself.  Note that
  171. X+ improper use of this form of the command can still render
  172. X+ ECU an albatross (with Home unrecognizable).
  173. X+ 
  174. X  The -r form rereads the original funckeymap definition (as
  175. X  at program invocation), reseting the mapping.  The -s switch
  176. X  saves the current mapping to <file>.
  177. X***************
  178. X*** 808,813 ****
  179. X--- 818,824 ----
  180. X  
  181. X  Note: the fkmap command line must contain literal text.
  182. X  No variable or expression expansions are not done.
  183. X+ Switches may not be combined.  Only one switch may appear.
  184. X  
  185. X  .DS L
  186. X  Examples:
  187. X*** ../ecu-3.22/ecu.c    Tue Sep 15 19:43:56 1992
  188. X--- ecu.c    Thu Sep 17 06:29:03 1992
  189. X***************
  190. X*** 63,69 ****
  191. X  extern char kbdintr;        /* current input INTR */
  192. X  extern char kbdkill;        /* current input KILL */
  193. X  extern char kbdquit;        /* current input QUIT */
  194. X- extern char kbd_is_7bit;    /* keyboard has parity */
  195. X  extern uint tcap_LINES;
  196. X  extern uint tcap_COLS;
  197. X  extern ulong colors_current;
  198. X--- 63,68 ----
  199. X*** ../ecu-3.22/ecuicmd.c    Wed Sep 16 11:38:26 1992
  200. X--- ecuicmd.c    Thu Sep 17 06:30:08 1992
  201. X***************
  202. X*** 9,14 ****
  203. X--- 9,15 ----
  204. X  
  205. X  ------------------------------------------------------------------------*/
  206. X  /*+:EDITS:*/
  207. X+ /*:09-17-1992-06:27-wht@n4hgf-add <7-bit kbd> to stat */
  208. X  /*:09-13-1992-12:52-wht@n4hgf-show tty_is_scoterm during stat */
  209. X  /*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  210. X  /*:08-30-1992-23:15-wht@n4hgf-add fkmap */
  211. X***************
  212. X*** 49,54 ****
  213. X--- 50,56 ----
  214. X  
  215. X  char *bell_notify_text();
  216. X  
  217. X+ extern char kbd_is_7bit;    /* keyboard has parity */
  218. X  extern KDE keyset_table[];
  219. X  extern char *makedate;
  220. X  extern char curr_dir[CURR_DIRSIZ];
  221. X***************
  222. X*** 665,670 ****
  223. X--- 667,674 ----
  224. X          if(tty_is_pts)
  225. X              ff(se,"<pts> ");
  226. X  #endif /* METROLINK_X11R4_PTS */
  227. X+         if(kbd_is_7bit)
  228. X+             ff(se,"<7-bit kbd> ");
  229. X          ff(se,"\r\n");
  230. X  
  231. X  #if defined(USE_ECUUNGETTY)
  232. X*** ../ecu-3.22/ecunumrev.c    Tue Sep 15 19:45:06 1992
  233. X--- ecunumrev.c    Wed Sep 16 14:13:17 1992
  234. X***************
  235. X*** 9,14 ****
  236. X--- 9,15 ----
  237. X  
  238. X  ------------------------------------------------------------------------*/
  239. X  /*+:EDITS:*/
  240. X+ /*:09-16-1992-14:13-wht@n4hgf-add M and F version qualifiers */
  241. X  /*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  242. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  243. X  /*:11-16-1991-17:05-wht@n4hgf-better development "x" rev numbering */
  244. X***************
  245. X*** 124,129 ****
  246. X--- 125,136 ----
  247. X  #endif
  248. X  #endif /*  */
  249. X  
  250. X+ #ifdef MORSE
  251. X+     strcat(s128,"M");
  252. X+ #endif /* WHT */
  253. X+ #ifdef FASI
  254. X+     strcat(s128,"F");
  255. X+ #endif /* WHT */
  256. X  #ifdef WHT
  257. X      strcat(s128,"*");
  258. X  #endif /* WHT */
  259. X*** ../ecu-3.22/ecusighdl.c    Tue Sep 15 19:45:45 1992
  260. X--- ecusighdl.c    Wed Sep 16 13:46:05 1992
  261. X***************
  262. X*** 29,34 ****
  263. X--- 29,35 ----
  264. X  
  265. X  ------------------------------------------------------------------------*/
  266. X  /*+:EDITS:*/
  267. X+ /*:09-16-1992-13:29-wht@n4hgf-add TERMECU_UNRECOVERABLE text */
  268. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  269. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  270. X  /*:08-17-1992-04:55-wht@n4hgf-keep rcvr pid in shm for friend code */
  271. X***************
  272. X*** 235,243 ****
  273. X          case TERMECU_SHM_ABL: return("SHM ABL error");
  274. X          case TERMECU_SHM_RTL: return("SHM RTL error");
  275. X          case TERMECU_TTYIN_READ_ERROR: return("keyboard read error");
  276. X          case TERMECU_USAGE: return("usage");
  277. X          case TERMECU_XMTR_FATAL_ERROR: return("detected XMTR FATAL ERROR");
  278. X-         case TERMECU_XMTR_WRITE_ERROR: return("line write error");
  279. X          default:
  280. X              sprintf(errant,"code %u?",code);
  281. X              return(errant);
  282. X--- 236,244 ----
  283. X          case TERMECU_SHM_ABL: return("SHM ABL error");
  284. X          case TERMECU_SHM_RTL: return("SHM RTL error");
  285. X          case TERMECU_TTYIN_READ_ERROR: return("keyboard read error");
  286. X+         case TERMECU_UNRECOVERABLE: return("unrecoverable error");
  287. X          case TERMECU_USAGE: return("usage");
  288. X          case TERMECU_XMTR_FATAL_ERROR: return("detected XMTR FATAL ERROR");
  289. X          default:
  290. X              sprintf(errant,"code %u?",code);
  291. X              return(errant);
  292. X*** ../ecu-3.22/ecutty.c    Wed Sep 16 11:38:50 1992
  293. X--- ecutty.c    Tue Sep 15 18:52:23 1992
  294. X***************
  295. X*** 83,88 ****
  296. X--- 83,89 ----
  297. X  
  298. X  --------------------------------------------------------------------------*/
  299. X  /*+:EDITS:*/
  300. X+ /*:09-15-1992-18:52-wht@n4hgf-left some debug code in patch01 dammit */
  301. X  /*:09-13-1992-12:52-wht@n4hgf-add tty_is_scoterm */
  302. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  303. X  /*:08-30-1992-07:42-wht@n4hgf-implement USE_COLOR+turn off ESIX color for now */
  304. X*** ../ecu-3.22/ecuusage.c    Tue Sep 15 19:46:13 1992
  305. X--- ecuusage.c    Wed Sep 16 13:56:26 1992
  306. X***************
  307. X*** 3,8 ****
  308. X--- 3,9 ----
  309. X      wht@n4hgf.Mt-Park.GA.US
  310. X  
  311. X    Defined functions:
  312. X+     fkmap_cmd_usage()
  313. X      general_usage(uptr)
  314. X      log_cmd_usage()
  315. X      usage()
  316. X***************
  317. X*** 9,14 ****
  318. X--- 10,16 ----
  319. X  
  320. X  ------------------------------------------------------------------------*/
  321. X  /*+:EDITS:*/
  322. X+ /*:09-16-1992-13:54-wht@n4hgf-add fkmap usage */
  323. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  324. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  325. X  /*:04-24-1992-21:07-wht@n4hgf-put defaults back into cmd line usage */
  326. X***************
  327. X*** 63,68 ****
  328. X--- 65,81 ----
  329. X      (char *)0        /* terminated with null pointer */
  330. X  };
  331. X  
  332. X+ char *fkmap_cmd_usage_text[] = 
  333. X+ {
  334. X+ "usage: fkmap \n",
  335. X+ "       fkmap <keyname>\n",
  336. X+ "       fkmap <keyname> <keylist>\n",
  337. X+ "       fkmap -l <name>\n",
  338. X+ "       fkmap -r\n",
  339. X+ "       fkmap -s <file>\n",
  340. X+     (char *)0        /* terminated with null pointer */
  341. X+ };
  342. X+ 
  343. X  /*+-----------------------------------------------------------------------
  344. X      general_usage(uptr)
  345. X  ------------------------------------------------------------------------*/
  346. X***************
  347. X*** 96,100 ****
  348. X--- 109,122 ----
  349. X  {
  350. X      general_usage(log_cmd_usage_text);
  351. X  }    /* end of log_cmd_usage */
  352. X+ 
  353. X+ /*+-------------------------------------------------------------------------
  354. X+     fkmap_cmd_usage()
  355. X+ --------------------------------------------------------------------------*/
  356. X+ void
  357. X+ fkmap_cmd_usage()
  358. X+ {
  359. X+     general_usage(fkmap_cmd_usage_text);
  360. X+ }    /* end of fkmap_cmd_usage */
  361. X  
  362. X  /* vi: set tabstop=4 shiftwidth=4: */
  363. X*** ../ecu-3.22/ecuxkey.h    Tue Sep 15 19:46:37 1992
  364. X--- ecuxkey.h    Thu Sep 17 05:17:56 1992
  365. X***************
  366. X*** 7,12 ****
  367. X--- 7,13 ----
  368. X  unadvisable.
  369. X  --------------------------------------------------------------------------*/
  370. X  /*+:EDITS:*/
  371. X+ /*:09-17-1992-05:16-wht@n4hgf-finally, 0xE1-0xFA as promised in 3.10  */
  372. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  373. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  374. X  /*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  375. X***************
  376. X*** 60,66 ****
  377. X   * extended ALT+[a-z] codes
  378. X   */
  379. X  #define XF_ALTA    0xE1            /* depends on /usr/lib/keyboard keys ... */
  380. X! #define XF_ALTZ    ((unsigned)(0xE0+'z'-'a'))    /* ... mapping ALT-a to 0xE0, etc */
  381. X  
  382. X  #endif /* _ecuxkey_h */
  383. X  
  384. X--- 61,67 ----
  385. X   * extended ALT+[a-z] codes
  386. X   */
  387. X  #define XF_ALTA    0xE1            /* depends on /usr/lib/keyboard keys ... */
  388. X! #define XF_ALTZ    ((unsigned)(0xE1+'z'-'a'))    /* ... mapping ALT-a to 0xE0, etc */
  389. X  
  390. X  #endif /* _ecuxkey_h */
  391. X  
  392. X*** ../ecu-3.22/funckeymap.c    Tue Sep 15 19:47:00 1992
  393. X--- funckeymap.c    Wed Sep 16 14:07:39 1992
  394. X***************
  395. X*** 14,19 ****
  396. X--- 14,20 ----
  397. X  
  398. X  ------------------------------------------------------------------*/
  399. X  /*+:EDITS:*/
  400. X+ /*:09-16-1992-13:33-wht@n4hgf-add fkmap -l name */
  401. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  402. X  /*:08-30-1992-23:06-wht@n4hgf-add fkmap_command */
  403. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  404. X***************
  405. X*** 234,240 ****
  406. X          {
  407. X              ff(stderr,"'funckeymap' not in ~/.ecu or %s; unable to proceed\r\n",
  408. X                  eculibdir);
  409. X!             termecu(TERMECU_CONFIG_ERROR);
  410. X          }
  411. X      }
  412. X  
  413. X--- 235,241 ----
  414. X          {
  415. X              ff(stderr,"'funckeymap' not in ~/.ecu or %s; unable to proceed\r\n",
  416. X                  eculibdir);
  417. X!             termecu(TERMECU_UNRECOVERABLE);
  418. X          }
  419. X      }
  420. X  
  421. X***************
  422. X*** 254,260 ****
  423. X      {
  424. X          ff(stderr,"terminal type '%s'\r\n",name);
  425. X          ff(stderr,"not found in %s; unable to proceed\r\n",ecukeys_name);
  426. X!         termecu(TERMECU_CONFIG_ERROR);
  427. X      }
  428. X  
  429. X  /* read past any other funckeymap names matching this set */
  430. X--- 255,261 ----
  431. X      {
  432. X          ff(stderr,"terminal type '%s'\r\n",name);
  433. X          ff(stderr,"not found in %s; unable to proceed\r\n",ecukeys_name);
  434. X!         termecu(TERMECU_UNRECOVERABLE);
  435. X      }
  436. X  
  437. X  /* read past any other funckeymap names matching this set */
  438. X***************
  439. X*** 272,278 ****
  440. X          ff(stderr,
  441. X              "terminal type '%s' has null entry in %s; unable to proceed\r\n",
  442. X              name,ecukeys_name);
  443. X!         termecu(TERMECU_CONFIG_ERROR);
  444. X      }
  445. X  
  446. X  /* we found the definition ... process it */
  447. X--- 273,279 ----
  448. X          ff(stderr,
  449. X              "terminal type '%s' has null entry in %s; unable to proceed\r\n",
  450. X              name,ecukeys_name);
  451. X!         termecu(TERMECU_UNRECOVERABLE);
  452. X      }
  453. X  
  454. X  /* we found the definition ... process it */
  455. X***************
  456. X*** 304,310 ****
  457. X          errstat = 2;
  458. X      }
  459. X      if((errstat == 2) || (errstat && tty_not_char_special))
  460. X!         termecu(TERMECU_CONFIG_ERROR);
  461. X  
  462. X      if(errstat)
  463. X      {
  464. X--- 305,311 ----
  465. X          errstat = 2;
  466. X      }
  467. X      if((errstat == 2) || (errstat && tty_not_char_special))
  468. X!         termecu(TERMECU_UNRECOVERABLE);
  469. X  
  470. X      if(errstat)
  471. X      {
  472. X***************
  473. X*** 316,323 ****
  474. X              return;
  475. X          }
  476. X          ff(stderr,"NO\r\n");
  477. X!         termecu(TERMECU_CONFIG_ERROR);
  478. X!         /*NOTREACHED*/
  479. X      }
  480. X  
  481. X  }    /* end of funckeymap_read */
  482. X--- 317,323 ----
  483. X              return;
  484. X          }
  485. X          ff(stderr,"NO\r\n");
  486. X!         termecu(TERMECU_UNRECOVERABLE);
  487. X      }
  488. X  
  489. X  }    /* end of funckeymap_read */
  490. X***************
  491. X*** 487,492 ****
  492. X--- 487,498 ----
  493. X              case 'r': /* reset */
  494. X                  if(err)
  495. X                      break;
  496. X+                 if(iargv != (argc - 1))
  497. X+                 {
  498. X+                     pputs("no arguments allowed for -r\n");
  499. X+                     err = 1;
  500. X+                     break;
  501. X+                 }
  502. X                  if(dash_f_funckeytype)
  503. X                      ftype =    dash_f_funckeytype;
  504. X                  else
  505. X***************
  506. X*** 495,502 ****
  507. X                      funckeymap_read((ftype) ? ftype : ttype);
  508. X                  if(!proc_level || proctrace)
  509. X                      pputs("funckeymap reset to startup configuration\n");
  510. X-                 if(iargv != (argc - 1))
  511. X-                     pputs("extra arguments ignored\n");
  512. X                  return(0);
  513. X  
  514. X              case 's': /* save in file */
  515. X--- 501,506 ----
  516. X***************
  517. X*** 505,511 ****
  518. X                  if(iargv != (argc - 2))
  519. X                  {
  520. X                      pputs("exactly one argument required for -s\n");
  521. X!                     return(eFATAL_ALREADY);
  522. X                  }
  523. X                  iargv++;
  524. X                  if(!(fp = fopen(argv[iargv],"a")))
  525. X--- 509,516 ----
  526. X                  if(iargv != (argc - 2))
  527. X                  {
  528. X                      pputs("exactly one argument required for -s\n");
  529. X!                     err = 1;
  530. X!                     break;
  531. X                  }
  532. X                  iargv++;
  533. X                  if(!(fp = fopen(argv[iargv],"a")))
  534. X***************
  535. X*** 519,524 ****
  536. X--- 524,542 ----
  537. X                      pprintf("current mapping saved in %s\n",argv[iargv]);
  538. X                  return(0);
  539. X  
  540. X+             case 'l': /* load entire */
  541. X+                 if(err)
  542. X+                     break;
  543. X+                 if(iargv != (argc - 2))
  544. X+                 {
  545. X+                     pputs("exactly one argument required for -l\n");
  546. X+                     err = 1;
  547. X+                     break;
  548. X+                 }
  549. X+                 iargv++;
  550. X+                 funckeymap_read(argv[iargv]);
  551. X+                 return(0);
  552. X+ 
  553. X              default:
  554. X                  pprintf("unknown switch -%c\n",*arg);
  555. X                  err = 1;
  556. X***************
  557. X*** 527,533 ****
  558. X--- 545,554 ----
  559. X      }
  560. X  
  561. X      if(err)
  562. X+     {
  563. X+         fkmap_cmd_usage();
  564. X          return(eFATAL_ALREADY);
  565. X+     }
  566. X  
  567. X      if(iargv == argc)
  568. X      {
  569. X*** ../ecu-3.22/gendial/dialer.h    Tue Sep 15 19:51:32 1992
  570. X--- gendial/dialer.h    Mon Sep 28 14:01:16 1992
  571. X***************
  572. X*** 5,12 ****
  573. X  /*+:EDITS:*/
  574. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  575. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  576. X! /*:03/29/92:12:47:49-cma-added <sys/filio.h> */
  577. X! /*:03/29/92:12:30:01-cma-added <sys/time.h> */
  578. X  /*:01-26-1992-15:30-wht@n4hgf-gendial 1.2 for ecu 3.20- better hangup */
  579. X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  580. X  /*:03-12-1991-19:11-wht@n4hgf-if ecu dialing, show complete call progress */
  581. X--- 5,12 ----
  582. X  /*+:EDITS:*/
  583. X  /*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  584. X  /*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  585. X! /*:03-29-1992:12:47-cma@ifsbd-added <sys/filio.h> */
  586. X! /*:03-29-1992:12:30-cma@ifsbd-added <sys/time.h> */
  587. X  /*:01-26-1992-15:30-wht@n4hgf-gendial 1.2 for ecu 3.20- better hangup */
  588. X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  589. X  /*:03-12-1991-19:11-wht@n4hgf-if ecu dialing, show complete call progress */
  590. X*** ../ecu-3.22/hdbintf.c    Wed Sep 16 11:38:33 1992
  591. X--- hdbintf.c    Mon Sep 28 10:15:22 1992
  592. X***************
  593. X*** 626,631 ****
  594. X--- 626,632 ----
  595. X  DVE *
  596. X  getdvent()
  597. X  {
  598. X+     int itmp;
  599. X  #define MAX_DV_TOKENS 9
  600. X      char *tokens[MAX_DV_TOKENS];
  601. X      int ntokens;
  602. X***************
  603. X*** 725,738 ****
  604. X      dve.type = tokens[0];
  605. X      dve.line = tokens[1];
  606. X  
  607. X! #if defined(SVR4)
  608. X!     { /* get rid of possible SVR4 ",M" modem control suffix */
  609. X!         int itmp;
  610. X!         itmp = strlen(dve.line);
  611. X!         if((itmp > 2) && !strcmp(dve.line + itmp - 2,",M"))
  612. X!           dve.line[itmp - 2] = 0;
  613. X!     }
  614. X! #endif /* SVR4 */
  615. X  
  616. X      dve.dialer = tokens[2];
  617. X      if(!strcmpi(tokens[3],"Any"))
  618. X--- 726,737 ----
  619. X      dve.type = tokens[0];
  620. X      dve.line = tokens[1];
  621. X  
  622. X!     /*
  623. X!      * get rid of possible SVR4 ",M" modem control suffix
  624. X!      */
  625. X!     itmp = strlen(dve.line);
  626. X!     if((itmp > 2) && !strcmp(dve.line + itmp - 2,",M"))
  627. X!       dve.line[itmp - 2] = 0;
  628. X  
  629. X      dve.dialer = tokens[2];
  630. X      if(!strcmpi(tokens[3],"Any"))
  631. X*** ../ecu-3.22/help/ecuhelp.src    Tue Sep 15 19:49:32 1992
  632. X--- help/ecuhelp.src    Wed Sep 16 14:56:05 1992
  633. X***************
  634. X*** 221,226 ****
  635. X--- 221,227 ----
  636. X  Usage: fkmap                           display current mapping
  637. X         fkmap <keyname>                 display single key mapping
  638. X         fkmap <keyname> <keylist>       modify a key's mapping
  639. X+        fkmap -l <name>
  640. X         fkmap -r                        reset to original mapping
  641. X         fkmap -s <file>                 append current to file
  642. X  
  643. X***************
  644. X*** 238,243 ****
  645. X--- 239,246 ----
  646. X  WARNING: If found to be syntactically correct, a mapping change is
  647. X  installed immediately.  If incorrect mapping of the HOME key is requested,
  648. X  you may lose control of ECU.
  649. X+ 
  650. X+ For a description of the other options, see the manual.
  651. X  #--------------------------------------------------------------------
  652. X  %hangup
  653. X  Usage: hangup
  654. X*** ../ecu-3.22/models/funckeymap    Tue Sep 15 19:54:17 1992
  655. X--- models/funckeymap    Wed Sep 16 13:22:01 1992
  656. X***************
  657. X*** 470,472 ****
  658. X--- 470,538 ----
  659. X      CUL:CUL:        esc [ D
  660. X      CUR:CUR:        esc [ C
  661. X  
  662. X+ #+-------------------------------------------------------------------
  663. X+ # funckeymap definition for TERM='xterm' 
  664. X+ # ODT 2.0 + Roell x386 1.1b + Sun OW2 + Sun MIT combined
  665. X+ #
  666. X+ # XTerm*VT100*Translations: #override\
  667. X+ #      <Key>Home:       string(0x1b) string("[H") \n \
  668. X+ #      <Key>KP_Home:    string(0x1b) string("[H") \n \
  669. X+ #      <Key>F27:        string(0x1b) string("[H") \n \
  670. X+ #      <Key>End:        string(0x1b) string("[F") \n \
  671. X+ #      <Key>KP_End:     string(0x1b) string("[F") \n \
  672. X+ #      <Key>R13:        string(0x1b) string("[F") \n \
  673. X+ #      <Key>Prior:      string(0x1b) string("[I") \n \
  674. X+ #      <Key>F29:        string(0x1b) string("[I") \n \
  675. X+ #      <Key>Next:       string(0x1b) string("[G") \n \
  676. X+ #      <Key>KP_Next:    string(0x1b) string("[G") \n \
  677. X+ #      <Key>F35:        string(0x1b) string("[G") \n \
  678. X+ #      <Key>KP_Begin:   string(0x1b) string("[E") \n \
  679. X+ #      <Key>Begin:      string(0x1b) string("[E") \n \
  680. X+ #      <Key>F31:        string(0x1b) string("[E") \n \
  681. X+ #      <Key>KP_Insert:  string(0x1b) string("[L") \n \
  682. X+ #      <Key>Insert:     string(0x1b) string("[L") \n \
  683. X+ #      Shift <Key>Tab:  string(0x1b) string("[Z") \n 
  684. X+ #
  685. X+ # OW2/nEwS doesn't include F11 or F12 in its limited domaine, xev for both:
  686. X+ # state 0x0, keycode 16 (keysym 0x1005ff10, (no name)), same_screen YES,
  687. X+ # XLookupString gives 0 characters:  ""
  688. X+ # (keycode 16 for F11, 18 for F12)
  689. X+ #
  690. X+ # built by kbdtest3 3.21 Wed Sep 16 12:58:06 1992
  691. X+ # keyboard parity required = even
  692. X+ # stty -a at kbdtest3 execution time:
  693. X+ # speed 9600 baud;   ispeed 9600 baud;   ospeed 9600 baud; 
  694. X+ # line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ^@; 
  695. X+ # swtch = ^@;susp = ^Z;start = ^Q;stop = ^S;
  696. X+ # parenb -parodd cs8 -cstopb hupcl cread -clocal -loblk -crtsfl -ctsflow -rtsflow 
  697. X+ # -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc 
  698. X+ # ixon -ixany -ixoff 
  699. X+ # isig icanon -xcase echo echoe echok -echonl -noflsh -iexten -tostop -xclude 
  700. X+ # opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel 
  701. X+ # -isscancode 
  702. X+ #--------------------------------------------------------------------
  703. X+ xterm
  704. X+     BkTab:BkTab:    esc [ Z
  705. X+     CU5:CU5:        esc [ E
  706. X+     F1:F1:          esc [ 1 1 ~
  707. X+     F2:F2:          esc [ 1 2 ~
  708. X+     F3:F3:          esc [ 1 3 ~
  709. X+     F4:F4:          esc [ 1 4 ~
  710. X+     F5:F5:          esc [ 1 5 ~
  711. X+     F6:F6:          esc [ 1 7 ~
  712. X+     F7:F7:          esc [ 1 8 ~
  713. X+     F8:F8:          esc [ 1 9 ~
  714. X+     F9:F9:          esc [ 2 0 ~
  715. X+     F10:F10:        esc [ 2 1 ~
  716. X+     F11:F11:        esc [ 2 3 ~
  717. X+     F12:F12:        esc [ 2 4 ~
  718. X+     Ins:Ins:        esc [ L
  719. X+     Home:Home:      esc [ H
  720. X+     End:End:        esc [ F
  721. X+     PgUp:PgUp:      esc [ I
  722. X+     PgDn:PgDn:      esc [ G
  723. X+     CUU:CUU:        esc [ A
  724. X+     CUD:CUD:        esc [ B
  725. X+     CUL:CUL:        esc [ D
  726. X+     CUR:CUR:        esc [ C
  727. X+ 
  728. X*** ../ecu-3.22/termecu.h    Tue Sep 15 19:49:10 1992
  729. X--- termecu.h    Wed Sep 16 13:30:04 1992
  730. X***************
  731. X*** 6,11 ****
  732. X--- 6,12 ----
  733. X    193 - 223 reserved for procedure 'exit' codes
  734. X  --------------------------------------------------------------------------*/
  735. X  /*+:EDITS:*/
  736. X+ /*:09-16-1992-13:29-wht@n4hgf-add TERMECU_UNRECOVERABLE */
  737. X  /*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  738. X  /*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  739. X  /*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  740. X***************
  741. X*** 36,41 ****
  742. X--- 37,43 ----
  743. X  #define TERMECU_LOGIC_ERROR            144
  744. X  #define TERMECU_GEOMETRY            145
  745. X  #define TERMECU_IPC_ERROR            146
  746. X+ #define TERMECU_UNRECOVERABLE        147
  747. X  
  748. X  #define TERMECU_INIT_PROC_ERROR        192
  749. X  
  750. SHAR_EOF
  751. chmod 0644 PATCH03 ||
  752. echo 'restore of PATCH03 failed'
  753. Wc_c="`wc -c < 'PATCH03'`"
  754. test 20515 -eq "$Wc_c" ||
  755.     echo 'PATCH03: original size 20515, current size' "$Wc_c"
  756. fi
  757. # ============= README.Q-and-A ==============
  758. if test -f 'README.Q-and-A' -a X"$1" != X"-c"; then
  759.     echo 'x - skipping README.Q-and-A (File already exists)'
  760. else
  761. echo 'x - extracting README.Q-and-A (Text)'
  762. sed 's/^X//' << 'SHAR_EOF' > 'README.Q-and-A' &&
  763. XPrevious contents were deleted.
  764. X-----------------------------------------------------------------------
  765. XWhy do I get "Device busy" on trying to open a line I know
  766. Xno one is using?
  767. X
  768. XIf you are using FAS or a driver of a similar discipline,
  769. XEBUSY can be returned if (from fas.c):
  770. X"If the device is already open and another open uses a different
  771. Xopen mode or if a getty open waits for carrier and doesn't allow
  772. Xparallel dialout opens, return with EBUSY error."
  773. X
  774. XGetty can disallow parallel dialouts if it opens a line whose
  775. X"magic number" contains 11 in the the 0xC0 position.
  776. XFrom the fas README:
  777. X
  778. X   Bitmap:   m m f f x x x x
  779. X      `m m' are the mode bits as follows:
  780. X       ...
  781. X       1 0   The device is carrier controlled. It blocks on open if
  782. X             there is no carrier.
  783. X       1 1   Same as mode `1 0', but a parallel non-blocking open
  784. X             is possible while waiting for carrier.
  785. X
  786. XUsing 11 in the mm bit positions are the correct choice for ISC
  787. Xto mimic the ISC asy driver behavior.  On SCO, you should set
  788. Xthese bits to 10 for the "modem" or "getty" (uppercase) name to
  789. Xmimic the sio driver behavior.  There are other mechanisms for
  790. Xhandling use collisions.
  791. X
  792. XIf you are using some other driver, the ISC behavior may
  793. Xbe the only option available.
  794. X-----------------------------------------------------------------------
  795. XOne thing that I would like to see is some sort of side utility
  796. Xfor changing colors in a shell like ecu does when I run it...it
  797. Xleaves the colors permanent for me.  Love the blues and yellows
  798. Xthat I have set up for trn...makes things actually easier on the
  799. Xeyes to read.
  800. X
  801. XColor is supported fully on SCO and partially on ISC.  Code for
  802. XSVR4 has been turned off (I had reports it was "broken").  Since
  803. Xxterms are the only things that make sense on the Sun (who uses
  804. Xthe console?  shelltool/cmdtool?  barf/vomit/just-say-no), color
  805. Xhas not been attempted there.  Does anyone know about a working
  806. X"colxterm." I tried long and relatively hard a couple of years
  807. Xago to port it to SCO with no joy.
  808. X
  809. XSCO has an ioctl(screen_file_descriptor,GIO_ATTR,&character) that
  810. Xreturns a 6845-style attribute byte (foreground and background
  811. Xnibble pair).  I use that at initialization time (ecutty.c
  812. Xget_initial_colors()) by asserting reverse video and reading the
  813. Xcolors, then setting normal and reading those colors.  (On SCO,
  814. X"reverse" and "normal" can be set to arbitrary pairs of colors,
  815. Xnot just flipped from each other).  These values safely
  816. Xsquirrelled away, ECU or the user can do what they want.  When
  817. XECU exits (ecutty.c restore_initial_colors()).
  818. X
  819. XThis save/restore feature is turned on only for SCO (#ifdef M_SYSV).
  820. XPerhaps it should be #ifdef GIO_ATTR, but SCO only included the
  821. Xidentifier in sys/console.h recently.  I have no idea who else
  822. Xhas it (oh yes I do ... ISC sys/kd.h has it).
  823. X
  824. XIf anybody wants to look into this, I'm sure there are many who
  825. Xwould appreciate it.
  826. SHAR_EOF
  827. chmod 0644 README.Q-and-A ||
  828. echo 'restore of README.Q-and-A failed'
  829. Wc_c="`wc -c < 'README.Q-and-A'`"
  830. test 2906 -eq "$Wc_c" ||
  831.     echo 'README.Q-and-A: original size 2906, current size' "$Wc_c"
  832. fi
  833. # ============= mapkey/README ==============
  834. if test ! -d 'mapkey'; then
  835.     echo 'x - creating directory mapkey'
  836.     mkdir 'mapkey'
  837. fi
  838. if test -f 'mapkey/README' -a X"$1" != X"-c"; then
  839.     echo 'x - skipping mapkey/README (File already exists)'
  840. else
  841. echo 'x - extracting mapkey/README (Text)'
  842. sed 's/^X//' << 'SHAR_EOF' > 'mapkey/README' &&
  843. X
  844. X#+:EDITS:*/
  845. X#:09-17-1992-05:33-wht@n4hgf-0xE0 should read 0xE1
  846. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  847. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  848. X#:05-02-1991-01:57-wht@n4hgf-alt-[a-z] range moved from 0x80-0x99 to 0xe0-0xf9
  849. X
  850. XThis file contains information necessary to map ALT-A through ALT-Z
  851. Xin accordance with ecuxkey.h to produce unique codes so that
  852. XALT-[a-z] can cause ECU to execute procedures with a single keystroke.
  853. X
  854. XBeginning with ECU 3.23, the key code range changed:
  855. X      128 through 153 (0x80 through 0x99)     to
  856. X      229 through 249 (0xE1 through 0xFA)
  857. X
  858. XModify your /usr/lib/keyboard/keys value for the ALT values for
  859. Xkey codes matching keys [a-z] as follows.  If you have made no 
  860. Xother changes to your key file, use the supplied keys.usa.ecu
  861. X
  862. XMy apologies to those caught by having already done something
  863. Xsimilar for EMACS or CRISP.
  864. X
  865. XThese are the necessary differences:
  866. X
  867. X                                ALT-unshifted
  868. X                                     |
  869. X                                     V
  870. X    16  'q'    'Q'    dc1    dc1    0xf1   'Q'    dc1    dc1     C
  871. X    17  'w'    'W'    etb    etb    0xf7   'W'    etb    etb     C
  872. X    18  'e'    'E'    enq    enq    0xe5   'E'    enq    enq     C
  873. X    19  'r'    'R'    dc2    dc2    0xf2   'R'    dc2    dc2     C
  874. X    20  't'    'T'    dc4    dc4    0xf4   'T'    dc4    dc4     C
  875. X    21  'y'    'Y'    em     em     0xf9   'Y'    em     em      C
  876. X    22  'u'    'U'    nak    nak    0xf5   'U'    nak    nak     C
  877. X    23  'i'    'I'    ht     ht     0xe9   'I'    ht     ht      C
  878. X    24  'o'    'O'    si     si     0xef   'O'    si     si      C
  879. X    25  'p'    'P'    dle    dle    0xf0   'P'    dle    dle     C
  880. X    30  'a'    'A'    soh    soh    0xe1   'A'    soh    soh     C
  881. X    31  's'    'S'    dc3    dc3    0xf3   'S'    dc3    dc3     C
  882. X    32  'd'    'D'    eot    eot    0xe4   'D'    eot    eot     C
  883. X    33  'f'    'F'    ack    ack    0xe6   'F'    ack    ack     C
  884. X    34  'g'    'G'    bel    bel    0xe7   'G'    bel    bel     C
  885. X    35  'h'    'H'    bs     bs     0xe8   'H'    bs     bs      C
  886. X    36  'j'    'J'    nl     nl     0xea   'J'    nl     nl      C
  887. X    37  'k'    'K'    vt     vt     0xeb   'K'    vt     vt      C
  888. X    38  'l'    'L'    np     np     0xec   'L'    np     np      C
  889. X    44  'z'    'Z'    sub    sub    0xfa   'Z'    sub    sub     C
  890. X    45  'x'    'X'    can    can    0xf8   'X'    can    can     C
  891. X    46  'c'    'C'    etx    etx    0xe3   'C'    etx    etx     C
  892. X    47  'v'    'V'    syn    syn    0xf6   'V'    syn    syn     C
  893. X    48  'b'    'B'    stx    stx    0xe2   'B'    stx    stx     C
  894. X    49  'n'    'N'    so     so     0xee   'N'    so     so      C
  895. X    50  'm'    'M'    cr     cr     0xed   'M'    cr     cr      C
  896. X
  897. SHAR_EOF
  898. chmod 0644 mapkey/README ||
  899. echo 'restore of mapkey/README failed'
  900. Wc_c="`wc -c < 'mapkey/README'`"
  901. test 2774 -eq "$Wc_c" ||
  902.     echo 'mapkey/README: original size 2774, current size' "$Wc_c"
  903. fi
  904. exit 0
  905.  
  906. ---------------------------------------------------------------------------
  907. Warren Tucker, TuckerWare, Roswell, GA              wht@n4hgf.Mt-Park.GA.US
  908. "Given any new technology for transmitting information, we seem bound to
  909. use it for great quantities of small talk.  We are only saved by music
  910. from being overwhelmed by nonsense." -- Lewis Thomas, _The Lives of a Cell_
  911.  
  912. exit 0 # Just in case...
  913.