home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / vmsnet / sources / 469 < prev    next >
Encoding:
Internet Message Format  |  1993-01-04  |  47.8 KB

  1. Path: sparky!uunet!usc!news.service.uci.edu!network.ucsd.edu!mvb.saic.com!vmsnet-sources
  2. From: flowers@memstvx1.memst.edu
  3. Newsgroups: vmsnet.sources
  4. Subject: C Swing v3.6.4 patches, part 02/04
  5. Message-ID: <9908349@MVB.SAIC.COM>
  6. Date: Mon, 04 Jan 1993 20:21:10 GMT
  7. Organization: Memphis State University
  8. Lines: 1325
  9. Approved: Mark.Berryman@Mvb.Saic.Com
  10.  
  11. Submitted-by: flowers@memstvx1.memst.edu
  12. Posting-number: Volume 4, Issue 23
  13. Archive-name: cswing/patch3_02
  14. Patch-to: cswing: Volume 3, Issue 35-52,93,211-218
  15.  
  16. -+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+
  17. X                        sprintf(work,s_str,j);
  18. X                        work_len = strlen(work);
  19. X                        for (j = 0; j < work_len; j++) out`5Bii++`5D = work`
  20. V5Bj`5D;
  21. X                    `7D
  22. X                  else if (count > max_col)
  23. X                    `7B
  24. X**************
  25. X*** 346,353
  26. X              `7D /* if ch is a space */
  27. X           `20
  28. X            /*
  29. X!           **  else, if ok to fill line and ch is `5EL, `5EG, or a
  30. X!           **  Verbose control char
  31. X  `09  **  display the control char as reverse video char
  32. X            */
  33. X            else if (ok && ((ch == '\014') `7C`7C
  34. X--- 445,452 -----
  35. X              `7D /* if ch is a space */
  36. X           `20
  37. X            /*
  38. X!           **  else, if ok to fill line and ch is `5EG, `5EK, `5EL, a Verbo
  39. Vse
  40. X!           **  control character, or an escape that was not followed by `5B
  41. V#m,
  42. X  `09  **  display the control char as reverse video char
  43. X            */
  44. X            else if (ok && ((ch == '\007') `7C`7C
  45. X**************
  46. X*** 350,358
  47. X            **  Verbose control char
  48. X  `09  **  display the control char as reverse video char
  49. X            */
  50. X!           else if (ok && ((ch == '\014') `7C`7C
  51. X!                           (ch == '\007') `7C`7C
  52. X!                          ((ch < ' ') && MOST_V_OPT)))
  53. X              `7B
  54. X                  for (j=0; j < r_len; j++)
  55. X                    out`5Bii++`5D = r_str`5Bj`5D;
  56. X--- 449,459 -----
  57. X            **  control character, or an escape that was not followed by `5B
  58. V#m,
  59. X  `09  **  display the control char as reverse video char
  60. X            */
  61. X!           else if (ok && ((ch == '\007') `7C`7C
  62. X!                           (ch == '\013') `7C`7C
  63. X!                           (ch == '\014') `7C`7C
  64. X!                           (ch == '\033') `7C`7C
  65. X!                          ((ch < ' ' `7C`7C ch > 126) && MOST_V_OPT)))
  66. X              `7B
  67. X                  for (j=0; j < r_len; j++)
  68. X                    out`5Bii++`5D = r_str`5Bj`5D;
  69. X**************
  70. X*** 383,389
  71. X              out`5Bii++`5D = r_str`5Bj`5D;
  72. X            out`5Bii++`5D = d_char;
  73. X        `7D
  74. X!     else if (ok && ((count > max_col) `7C`7C (count == max_col && MOST_W_O
  75. VPT)))
  76. X        `7B
  77. X            bold = 1;
  78. X  `09  ii--;
  79. X--- 484,490 -----
  80. X              out`5Bii++`5D = r_str`5Bj`5D;
  81. X            out`5Bii++`5D = d_char;
  82. X        `7D
  83. X!     else if (ok && count > max_col)
  84. X        `7B
  85. X  `09  ii--;
  86. X            if (ok && bold)
  87. X**************
  88. X*** 385,391
  89. X        `7D
  90. X      else if (ok && ((count > max_col) `7C`7C (count == max_col && MOST_W_O
  91. VPT)))
  92. X        `7B
  93. X-           bold = 1;
  94. X  `09  ii--;
  95. X            for (j=0; j < r_len; j++)
  96. X              out`5Bii++`5D = r_str`5Bj`5D;
  97. X--- 486,491 -----
  98. X        `7D
  99. X      else if (ok && count > max_col)
  100. X        `7B
  101. X  `09  ii--;
  102. X            if (ok && bold)
  103. X              for (j=0; j < n_len; j++)
  104. X**************
  105. X*** 387,392
  106. X        `7B
  107. X            bold = 1;
  108. X  `09  ii--;
  109. X            for (j=0; j < r_len; j++)
  110. X              out`5Bii++`5D = r_str`5Bj`5D;
  111. X            out`5Bii++`5D = d_char;
  112. X--- 487,496 -----
  113. X      else if (ok && count > max_col)
  114. X        `7B
  115. X  `09  ii--;
  116. X+           if (ok && bold)
  117. X+             for (j=0; j < n_len; j++)
  118. X+               out`5Bii++`5D = n_str`5Bj`5D;
  119. X+           bold = 1;
  120. X            for (j=0; j < r_len; j++)
  121. X              out`5Bii++`5D = r_str`5Bj`5D;
  122. X            out`5Bii++`5D = d_char;
  123. X**************
  124. X*** 424,429
  125. X            */
  126. X            if(extract_line(&beg, &end) && MOST_W_OPT) ch = '\\'; else ch =
  127. V '>';
  128. X            len = end - beg + 1;
  129. X            /*
  130. X            **  if line is too long
  131. X            **  set Verbose and display of tabs
  132. X--- 528,534 -----
  133. X            */
  134. X            if(extract_line(&beg, &end) && MOST_W_OPT) ch = '\\'; else ch =
  135. V '>';
  136. X            len = end - beg + 1;
  137. X+`20
  138. X            /*
  139. X            **  if line is too long
  140. X            **  set Verbose and display of tabs
  141. X**************
  142. X*** 436,441
  143. X                  MOST_T_OPT = 1;
  144. X                  line = (char *) beg;
  145. X              `7D
  146. X            /*
  147. X            **  else have line analyzed for character display attributes
  148. X            */
  149. X--- 541,547 -----
  150. X                  MOST_T_OPT = 1;
  151. X                  line = (char *) beg;
  152. X              `7D
  153. X+`20
  154. X            /*
  155. X            **  else have line analyzed for character display attributes
  156. X            */
  157. X**************
  158. X*** 441,446
  159. X            */
  160. X            else len = analyse_line(beg, end, line, attr);
  161. X        `7D
  162. X      /*
  163. X      **  binary line
  164. X      */
  165. X--- 547,553 -----
  166. X            */
  167. X            else len = analyse_line(beg, end, line, attr);
  168. X        `7D
  169. X+`20
  170. X      /*
  171. X      **  binary line
  172. X      */
  173. X**************
  174. X*** 480,486
  175. X  int apparant_distance(unsigned char *pos)
  176. X  `7B
  177. X      int i;
  178. X!     unsigned char *cur_pos, *save_pos, ch;
  179. X `20
  180. X      cur_pos = C_POS;
  181. X      save_pos = pos;
  182. X--- 587,595 -----
  183. X  int apparant_distance(unsigned char *pos)
  184. X  `7B
  185. X      int i;
  186. X!     unsigned char *cur_pos, *save_pos, ch, *e;
  187. X!     extern int W_LINE;
  188. X!     extern int TAB_R;
  189. X `20
  190. X      cur_pos = C_POS;
  191. X      save_pos = pos;
  192. X**************
  193. X*** 486,491
  194. X      save_pos = pos;
  195. X      C_POS = pos;
  196. X      pos = beg_of_line();
  197. X      C_POS = cur_pos;
  198. X `20
  199. X      i = 1;
  200. X--- 595,601 -----
  201. X      save_pos = pos;
  202. X      C_POS = pos;
  203. X      pos = beg_of_line();
  204. X+     e = end_of_line();
  205. X      C_POS = cur_pos;
  206. X `20
  207. X      i = 1;
  208. X**************
  209. X*** 498,503
  210. X              `7B
  211. X                  if (i > 1) i--;
  212. X              `7D
  213. X            /*
  214. X            **  `5EM (overstrike line)
  215. X            */
  216. X--- 608,614 -----
  217. X              `7B
  218. X                  if (i > 1) i--;
  219. X              `7D
  220. X+`20
  221. X            /*
  222. X            **  `5EM (overstrike line)
  223. X            */
  224. X**************
  225. X*** 503,509
  226. X            */
  227. X            else if (!MOST_V_OPT && ch == '\015')
  228. X              `7B
  229. X!                 if (i != 1) i = 1;
  230. X              `7D
  231. X            /*
  232. X            **  `5EI (8 column tabs)
  233. X--- 614,620 -----
  234. X            */
  235. X            else if (!MOST_V_OPT && ch == '\015')
  236. X              `7B
  237. X!                 if (i > 1) i = 1;
  238. X              `7D
  239. X `20
  240. X            /*
  241. X**************
  242. X*** 505,510
  243. X              `7B
  244. X                  if (i != 1) i = 1;
  245. X              `7D
  246. X            /*
  247. X            **  `5EI (8 column tabs)
  248. X            */
  249. X--- 616,622 -----
  250. X              `7B
  251. X                  if (i > 1) i = 1;
  252. X              `7D
  253. X+`20
  254. X            /*
  255. X            **  underline, bold, or reverse via <ESC>`5B#m
  256. X            */
  257. X**************
  258. X*** 506,512
  259. X                  if (i != 1) i = 1;
  260. X              `7D
  261. X            /*
  262. X!           **  `5EI (8 column tabs)
  263. X            */
  264. X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
  265. X              `7B
  266. X--- 618,624 -----
  267. X              `7D
  268. X `20
  269. X            /*
  270. X!           **  underline, bold, or reverse via <ESC>`5B#m
  271. X            */
  272. X            else if (!MOST_V_OPT && ch == '\033' && pos <= e - 2 &&
  273. X                     *pos == '`5B' &&
  274. X**************
  275. X*** 508,513
  276. X            /*
  277. X            **  `5EI (8 column tabs)
  278. X            */
  279. X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
  280. X              `7B
  281. X                  i = 8 * ((i - 1)/8 + 1) + 1;
  282. X--- 620,635 -----
  283. X            /*
  284. X            **  underline, bold, or reverse via <ESC>`5B#m
  285. X            */
  286. X+           else if (!MOST_V_OPT && ch == '\033' && pos <= e - 2 &&
  287. X+                    *pos == '`5B' &&
  288. X+                    (*(pos + 1) == '1' `7C`7C *(pos + 1) == '4' `7C`7C
  289. X+                     *(pos + 1) == '7' `7C`7C *(pos + 1) == '0') &&
  290. X+                    *(pos + 2) == 'm')
  291. X+             i -= 3;
  292. X+`20
  293. X+           /*
  294. X+           **  `5EI (8 column tabs)
  295. X+           */
  296. X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
  297. X              `7B
  298. X                  if (MOST_W_OPT && W_LINE)
  299. X**************
  300. X*** 510,516
  301. X            */
  302. X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
  303. X              `7B
  304. X!                 i = 8 * ((i - 1)/8 + 1) + 1;
  305. X              `7D
  306. X            /*
  307. X            **  other control chars
  308. X--- 632,646 -----
  309. X            */
  310. X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
  311. X              `7B
  312. X!                 if (MOST_W_OPT && W_LINE)
  313. X!                   `7B
  314. X!                       if (i == 1)
  315. X!                         i += TAB_R;
  316. X!                       else
  317. X!                         i = 8 * ((i - 1)/8 + 1) + 1 + TAB_R;
  318. X!                   `7D
  319. X!                 else
  320. X!                   i = 8 * ((i - 1)/8 + 1) + 1;
  321. X              `7D
  322. X `20
  323. X            /*
  324. X**************
  325. X*** 512,517
  326. X              `7B
  327. X                  i = 8 * ((i - 1)/8 + 1) + 1;
  328. X              `7D
  329. X            /*
  330. X            **  other control chars
  331. X            */
  332. X--- 642,648 -----
  333. X                  else
  334. X                    i = 8 * ((i - 1)/8 + 1) + 1;
  335. X              `7D
  336. X+`20
  337. X            /*
  338. X            **  other escape or control chars
  339. X            */
  340. X**************
  341. X*** 513,519
  342. X                  i = 8 * ((i - 1)/8 + 1) + 1;
  343. X              `7D
  344. X            /*
  345. X!           **  other control chars
  346. X            */
  347. X            else if (ch < ' ' `7C`7C ch > 126)
  348. X              `7B
  349. X--- 644,650 -----
  350. X              `7D
  351. X `20
  352. X            /*
  353. X!           **  other escape or control chars
  354. X            */
  355. X            else if (ch < ' ' `7C`7C ch > 126)
  356. X              `7B
  357. X**************
  358. X*** 518,526
  359. X            else if (ch < ' ' `7C`7C ch > 126)
  360. X              `7B
  361. X                  /*
  362. X!                 **  `5EL (linefeed) and `5EG (bell) are always
  363. X!                 **        displayed (as reverse video ch)
  364. X!                 **  otherwise control chars have no width
  365. X                  */
  366. X                  if (ch == '\014' `7C`7C ch == '\007' `7C`7C MOST_V_OPT)
  367. X                    `7B
  368. X--- 649,658 -----
  369. X            else if (ch < ' ' `7C`7C ch > 126)
  370. X              `7B
  371. X                  /*
  372. X!                 **  `5EG (bell) , `5EK (vertical tab), `5EL (linefeed) and
  373. X!                 **  `5E`5B (escape) not followed by `5B#m are always displ
  374. Vayed
  375. X!                 **  (as reverse video ch),
  376. X!                 **  otherwise non-Verbose control chars have no width
  377. X                  */
  378. X                  if (MOST_V_OPT `7C`7C ch == '\007' `7C`7C ch == '\013' `7C
  379. V`7C
  380. X                                    ch == '\014' `7C`7C ch == '\033')
  381. X**************
  382. X*** 522,528
  383. X                  **        displayed (as reverse video ch)
  384. X                  **  otherwise control chars have no width
  385. X                  */
  386. X!                 if (ch == '\014' `7C`7C ch == '\007' `7C`7C MOST_V_OPT)
  387. X                    `7B
  388. X                        i++;
  389. X                    `7D
  390. X--- 654,661 -----
  391. X                  **  (as reverse video ch),
  392. X                  **  otherwise non-Verbose control chars have no width
  393. X                  */
  394. X!                 if (MOST_V_OPT `7C`7C ch == '\007' `7C`7C ch == '\013' `7C
  395. V`7C
  396. X!                                   ch == '\014' `7C`7C ch == '\033')
  397. X                    `7B
  398. X                        i++;
  399. X                    `7D
  400. $ CALL UNPACK LINE_C.PAT;364 1365702257
  401. $ create 'f'
  402. X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dlink_v5.com;2
  403. X--- disk$disk1:`5Bflowers.swing.src`5Dlink_v5.com;5
  404. X**************
  405. X*** 13,19
  406. X  $ link/nouserlib/nodebug/traceback/nomap/exe=EXE:most.exe -
  407. X          OBJ:main,OBJ:swing.olb/lib,SRC:most_options/opt
  408. X  $ delete/nolog OBJ:main.obj;
  409. X! $ delete OBJ:swing.olb.*/nolog
  410. X  $!
  411. X  $ dir/siz/date EXE:Cswing.exe,Most.exe
  412. X  $ set nover
  413. X--- 13,19 -----
  414. X  $ link/nouserlib/nodebug/traceback/nomap/exe=EXE:most.exe -
  415. X          OBJ:main,OBJ:swing.olb/lib,SRC:most_options/opt
  416. X  $ delete/nolog OBJ:main.obj;
  417. X! $ delete/nolog OBJ:swing.olb;*
  418. X  $!
  419. X  $ dir/siz/date EXE:Cswing.exe,Most.exe
  420. X  $ set nover
  421. $ CALL UNPACK LINK_V5_COM.PAT;364 1971275007
  422. $ create 'f'
  423. X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dmain.c;2
  424. X--- disk$disk1:`5Bflowers.swing.src`5Dmain.c;3
  425. X**************
  426. X*** 1,4
  427. X! #define __MOST_VERSION__ "3.02FM"
  428. X  #define __MOST_USAGE__ "most `5B-bcklstvw`5D `5B+line`5D `5B+/string`5D `5
  429. VB+d`5D filename `5Bfilename ...`5D"
  430. X  /*
  431. X  ** == Changes from original 3.01 to my 3.02 by Harry Flowers 08 Apr 1992 =
  432. V=
  433. X--- 1,4 -----
  434. X! #define __MOST_VERSION__ "3.03FM"
  435. X  #define __MOST_USAGE__ "most `5B-bcklstvw`5D `5B+line`5D `5B+/string`5D `5
  436. VB+d`5D filename `5Bfilename ...`5D"
  437. X  /*
  438. X  ** == Changes from original 3.01 to my 3.02 by Harry Flowers 08 Apr 1992 =
  439. V=
  440. X**************
  441. X*** 36,42
  442. X  **  Renamed some switches and toggles so that switches are all MOST_ch_OPT
  443. X  **      and toggles have informative names.  Made case-sensitivity of sear
  444. Vches
  445. X  **      a regular (-c) rather than extended (+c) switch.  Eliminated any c
  446. Vase-
  447. X! **      sensitivity for switch, toggle, or command letter throughout the
  448. X  **      program.
  449. X  **  If a new file is fetched from within MOST (`5EKG), it is now added to
  450. V the
  451. X  **      ring buffer, along with those from the command line or CSWING call
  452. V.
  453. X--- 36,42 -----
  454. X  **  Renamed some switches and toggles so that switches are all MOST_ch_OPT
  455. X  **      and toggles have informative names.  Made case-sensitivity of sear
  456. Vches
  457. X  **      a regular (-c) rather than extended (+c) switch.  Eliminated any c
  458. Vase-
  459. X! **      sensitivity for switch, toggle, or command letters throughout the
  460. X  **      program.
  461. X  **  If a new file is fetched from within MOST (`5EKG), it is now added to
  462. V the
  463. X  **      ring buffer, along with those from the command line or CSWING call
  464. V.
  465. X**************
  466. X*** 47,61
  467. X  **      in Verbose ASCII mode (`5Ech is still used in binary mode).  Cntrl
  468. V-L
  469. X  **      (linefeed) and cntrl-G (bell) are always displayed rather than act
  470. Ved
  471. X  **      on in ASCII mode.
  472. X! **  Replaced the \ with reversed video \ as the indicator of position 80 o
  473. Vr
  474. X! **      132 in Wrap mode.  If non-printing control characters or escape
  475. X! **      sequences are present, the reversed-\ still stays on the 80th or 1
  476. V32nd
  477. X! **      character, rather than filling the line to the 80th or 132nd scree
  478. Vn
  479. X! **      column (i.e., such lines are short).  You can then toggle to Verbo
  480. Vse
  481. X! **      mode (:O v) to see what the non-printing characters are, without a
  482. X! **      change in the wrapping positions (still screws up badly in Wrap mo
  483. Vde
  484. X! **      if bolding of line was intended via `5EM; improved but did not per
  485. Vfect
  486. X! **      handling of bolded or underlined characters via `5EH in Wrap mode)
  487. V.
  488. X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
  489. X  **
  490. X  **      `5BThis is the prominent modification notice required; see below.`
  491. V5D
  492. X--- 47,55 -----
  493. X  **      in Verbose ASCII mode (`5Ech is still used in binary mode).  Cntrl
  494. V-L
  495. X  **      (linefeed) and cntrl-G (bell) are always displayed rather than act
  496. Ved
  497. X  **      on in ASCII mode.
  498. X! **  Replaced the \ with reversed video \ as the indicator of wrap column
  499. X! **      and improved but did not perfect handling of bolded or underlined
  500. X! **      characters via `5EH or `5EM in Wrap mode).
  501. X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
  502. X  **
  503. X  ** == Changes from 3.02FM to 3.03FM by Foteos Macrides 28-Nov-1992 ==
  504. X**************
  505. X*** 58,63
  506. X  **      handling of bolded or underlined characters via `5EH in Wrap mode)
  507. V.
  508. X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
  509. X  **
  510. X  **      `5BThis is the prominent modification notice required; see below.`
  511. V5D
  512. X  */
  513. X  /*
  514. X--- 52,74 -----
  515. X  **      characters via `5EH or `5EM in Wrap mode).
  516. X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
  517. X  **
  518. X+ ** == Changes from 3.02FM to 3.03FM by Foteos Macrides 28-Nov-1992 ==
  519. X+ **
  520. X+ **  Fixed bug in initialization of SEARCH_STR when called from CSWING.
  521. X+ **  Fixed bug getting last line of files in Binary mode.
  522. X+ **  Fixed bug in initialization of marks.
  523. X+ **  Modified Wrap mode to maintain a full screen width to the \ even if
  524. X+ **      non-printing control characters or escape sequences are present,
  525. X+ **      and to not wrap the last character in lines that are equal to the
  526. X+ **      screen width.
  527. X+ **  Corrected handling of underlining, bolding or reversing via `5EH, `5EM
  528. V or
  529. X+ **      <ESC>`5B#m (# = 1, 4, or 7) and debugged problems with tab expansi
  530. Vons.
  531. X+ **  Fixed searches to work properly in ASCII and Binary modes.  Searches a
  532. Vre
  533. X+ **      disabled when the Selective Indentation Display is set, and approp
  534. Vriate
  535. X+ **      most_messages are issued if searches are requested.
  536. X+ **  Added lots more informational most_messages.
  537. X+ **  Updated MOST.DOC_FM.
  538. X+ **
  539. X  **      `5BThis is the prominent modification notice required; see below.`
  540. V5D
  541. X  */
  542. X  /*
  543. X**************
  544. X*** 165,171
  545. X  #include "sysdep.h"
  546. X  #include "most.h"
  547. X `20
  548. X- int MOST_A_OPT      = 0;     /* automatically choose -b if necessary
  549. V         */
  550. X  int MOST_B_OPT      = 0;     /* display binary File
  551. V                          */
  552. X  int MOST_C_OPT      = 0;     /* case-sensitive searches
  553. V                      */
  554. X  int MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
  555. V                 */
  556. X--- 176,181 -----
  557. X  #include "sysdep.h"
  558. X  #include "most.h"
  559. X `20
  560. X  int MOST_B_OPT      = 0;     /* display binary File
  561. V                          */
  562. X  int MOST_C_OPT      = 0;     /* case-sensitive searches
  563. V                      */
  564. X  int MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
  565. V                 */
  566. X**************
  567. X*** 235,243
  568. X        `7B
  569. X            switch (*str++)
  570. X              `7B
  571. X-               case 'a':
  572. X-               case 'A':
  573. X-                 MOST_A_OPT = 1; break;  /* check to see if file is binary
  574. V */
  575. X                case 'b':
  576. X                case 'B':
  577. X                  MOST_B_OPT = 1; break;  /* binary display 8 bit */
  578. X--- 245,250 -----
  579. X        `7B
  580. X            switch (*str++)
  581. X              `7B
  582. X                case 'b':
  583. X                case 'B':
  584. X                  MOST_B_OPT = 1; break;  /* binary display 8 bit */
  585. X**************
  586. X*** 286,292
  587. X  int main(int argc, char *argv`5B`5D)
  588. X  `7B
  589. X      char file`5B80`5D, *switches, filename`5B80`5D;
  590. X!     int quit,i,piped,a_opt, j;
  591. X      unsigned long context;
  592. X      extern char *getenv(char *);
  593. X      extern int isatty(int);
  594. X--- 293,299 -----
  595. X  int main(int argc, char *argv`5B`5D)
  596. X  `7B
  597. X      char file`5B80`5D, *switches, filename`5B80`5D;
  598. X!     int quit,i,piped,j;
  599. X      unsigned long context;
  600. X      extern char *getenv(char *);
  601. X      extern int isatty(int);
  602. X**************
  603. X*** 322,328
  604. X            /* assume input is from stdin */
  605. X            file`5B0`5D = '\0';  /* tells most this is stdin */
  606. X            piped = 1;
  607. X-           MOST_A_OPT = 0;  /* in this version since we cannot do an fseek
  608. V */
  609. X        `7D
  610. X      else
  611. X        strcpy(file,argv`5Bi`5D);
  612. X--- 329,334 -----
  613. X            /* assume input is from stdin */
  614. X            file`5B0`5D = '\0';  /* tells most this is stdin */
  615. X            piped = 1;
  616. X        `7D
  617. X      else
  618. X        strcpy(file,argv`5Bi`5D);
  619. X**************
  620. X*** 332,339
  621. X `20
  622. X      get_terminfo();           /* set up esc sequences etc... */
  623. X      init_tty();`20
  624. X-     if (MOST_B_OPT) MOST_A_OPT = 0;   /* explicit b overrides a */
  625. X-     a_opt = MOST_A_OPT;
  626. X `20
  627. X      if (!piped)
  628. X        `7B
  629. X--- 338,343 -----
  630. X `20
  631. X      get_terminfo();           /* set up esc sequences etc... */
  632. X      init_tty();`20
  633. X `20
  634. X      if (!piped)
  635. X        `7B
  636. X**************
  637. X*** 384,390
  638. X  void most_less(int num_most_args, char *most_args`5B`5D)
  639. X  `7B
  640. X      char file`5B80`5D, *switches, filename`5B80`5D;
  641. X!     int quit,i,piped,a_opt, j;
  642. X      unsigned long context;
  643. X      extern char *getenv(char *);
  644. X      extern int isatty(int);
  645. X--- 388,394 -----
  646. X  void most_less(int num_most_args, char *most_args`5B`5D)
  647. X  `7B
  648. X      char file`5B80`5D, *switches, filename`5B80`5D;
  649. X!     int quit,i,piped,j;
  650. X      unsigned long context;
  651. X      extern char *getenv(char *);
  652. X      extern int isatty(int);
  653. X**************
  654. X*** 393,399
  655. X      /*
  656. X      **  intitialize options and toggles for each call to interface
  657. X      */
  658. X-     MOST_A_OPT      = 0;     /* automatically choose -b if necessary
  659. V         */
  660. X      MOST_B_OPT      = 0;     /* display binary File
  661. V                          */
  662. X      MOST_C_OPT      = 0;     /* case-sensitive searches
  663. V                      */
  664. X      MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
  665. V                 */
  666. X--- 397,402 -----
  667. X      /*
  668. X      **  intitialize options and toggles for each call to interface
  669. X      */
  670. X      MOST_B_OPT      = 0;     /* display binary File
  671. V                          */
  672. X      MOST_C_OPT      = 0;     /* case-sensitive searches
  673. V                      */
  674. X      MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
  675. V                 */
  676. X**************
  677. X*** 405,411
  678. X      MOST_W_OPT      = 0;     /* wrap lines
  679. V                                   */
  680. X      STARTING_LINE   = 1;     /* starting line for initial display
  681. V            */
  682. X      SEARCH_DIR      = 1;     /* for toggling direction of string searches
  683. V    */
  684. X!     SEARCH_STR`5B80`5D = '\0';   /* for setting starting line based on a s
  685. Vtring  */
  686. X      SELECTIVE_I_DISPLAY = 0; /* selective indentation display
  687. V                */
  688. X      NEXT_RING_FILE  = 1;     /* for cycling through file ring
  689. V                */
  690. X `20
  691. X--- 408,414 -----
  692. X      MOST_W_OPT      = 0;     /* wrap lines
  693. V                                   */
  694. X      STARTING_LINE   = 1;     /* starting line for initial display
  695. V            */
  696. X      SEARCH_DIR      = 1;     /* for toggling direction of string searches
  697. V    */
  698. X!     SEARCH_STR`5B0`5D = '\0';    /* for setting starting line based on a s
  699. Vtring  */
  700. X      SELECTIVE_I_DISPLAY = 0; /* selective indentation display
  701. V                */
  702. X      NEXT_RING_FILE  = 1;     /* for cycling through file ring
  703. V                */
  704. X `20
  705. X**************
  706. X*** 429,436
  707. X `20
  708. X      get_terminfo();           /* set up esc sequences etc... */
  709. X      init_tty();`20
  710. X-     if (MOST_B_OPT) MOST_A_OPT = 0;   /* explicit b overrides a */
  711. X-     a_opt = MOST_A_OPT;
  712. X `20
  713. X  #ifdef VMS
  714. X      /* note short circuit evaluation is crucial here */
  715. X--- 432,437 -----
  716. X `20
  717. X      get_terminfo();           /* set up esc sequences etc... */
  718. X      init_tty();`20
  719. X `20
  720. X  #ifdef VMS
  721. X      /* note short circuit evaluation is crucial here */
  722. $ CALL UNPACK MAIN_C.PAT;364 1179850251
  723. $ create 'f'
  724. X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dmost.doc_fm;363
  725. X--- disk$disk1:`5Bflowers.swing.src`5Dmost.doc_fm;3
  726. X**************
  727. X*** 1,4
  728. X! MOST(3.02FM)                                                     10-10-92
  729. X `20
  730. X  NAME
  731. X `20
  732. X--- 1,4 -----
  733. X! MOST(3.03FM)                                                     11-28-92
  734. X `20
  735. X  NAME
  736. X `20
  737. X**************
  738. X*** 11,19
  739. X  DESCRIPTION
  740. X `20
  741. X       MOST is a paging program that displays, one windowful at a time, the
  742. X!      contents of a file on a vtxxx compatable terminal.   It pauses after
  743. X!      each windowful  and prints on the  window status line  of the screen
  744. X!      the file name, current line  number, and the percentage  of the file
  745. X       so far displayed.
  746. X `20
  747. X       Unlike other paging   programs, MOST is  capable of  displaying   an
  748. X--- 11,19 -----
  749. X  DESCRIPTION
  750. X `20
  751. X       MOST is a paging program that displays, one windowful at a time, the
  752. X!      contents of a file  on a vtxxx compatable terminal.  It pauses after
  753. X!      each windowful and prints on  the  window  status line of the screen
  754. X!      the file name, current line number,  and  the percentage of the file
  755. X       so far displayed.
  756. X `20
  757. X       Unlike  other  paging  programs, MOST is capable  of  displaying  an
  758. X**************
  759. X*** 16,22
  760. X       the file name, current line  number, and the percentage  of the file
  761. X       so far displayed.
  762. X `20
  763. X!      Unlike other paging   programs, MOST is  capable of  displaying   an
  764. X       arbitrary number of windows as long as each window occupies at least
  765. X       two screen lines.  Each  window  may  contain  the same  file  or  a
  766. X       different file.  In addition,  each  window has its  own mode.   For
  767. X--- 16,22 -----
  768. X       the file name, current line number,  and  the percentage of the file
  769. X       so far displayed.
  770. X `20
  771. X!      Unlike  other  paging  programs, MOST is capable  of  displaying  an
  772. X       arbitrary number of windows as long as each window occupies at least
  773. X       two  screen  lines.   Each window may contain the  same  file  or  a
  774. X       different  file.  In addition, each window has its own  mode.    For
  775. X**************
  776. X*** 18,27
  777. X `20
  778. X       Unlike other paging   programs, MOST is  capable of  displaying   an
  779. X       arbitrary number of windows as long as each window occupies at least
  780. X!      two screen lines.  Each  window  may  contain  the same  file  or  a
  781. X!      different file.  In addition,  each  window has its  own mode.   For
  782. X!      example, one window may display a  file with its lines wrapped while
  783. X!      another may   be truncating  the lines.   Windows  may   be `60locked
  784. V'
  785. X       together in the sense that if one of the locked windows scrolls, all
  786. X       locked windows will scroll.  MOST is also  capable of ignoring lines
  787. X       that are indented beyond  a  user specified value.   This  is useful
  788. X--- 18,27 -----
  789. X `20
  790. X       Unlike  other  paging  programs, MOST is capable  of  displaying  an
  791. X       arbitrary number of windows as long as each window occupies at least
  792. X!      two  screen  lines.   Each window may contain the  same  file  or  a
  793. X!      different  file.  In addition, each window has its own  mode.    For
  794. X!      example, one window may display a file with its lines wrapped  while
  795. X!      another may  be  truncating  the  lines.    Windows  may be `60locked
  796. V'
  797. X       together in the sense that if one of the locked windows scrolls, all
  798. X       locked windows will scroll.   MOST is also capable of ignoring lines
  799. X       that are indented beyond a  user  specified  value.   This is useful
  800. X**************
  801. X*** 23,31
  802. X       example, one window may display a  file with its lines wrapped while
  803. X       another may   be truncating  the lines.   Windows  may   be `60locked
  804. V'
  805. X       together in the sense that if one of the locked windows scrolls, all
  806. X!      locked windows will scroll.  MOST is also  capable of ignoring lines
  807. X!      that are indented beyond  a  user specified value.   This  is useful
  808. X!      when viewing  computer programs to  pick  out  gross features of the
  809. X       code.  See the `60:O' command for a description of this feature.
  810. X `20
  811. X       In addition to displaying ordinary text files, MOST can also display
  812. X--- 23,31 -----
  813. X       example, one window may display a file with its lines wrapped  while
  814. X       another may  be  truncating  the  lines.    Windows  may be `60locked
  815. V'
  816. X       together in the sense that if one of the locked windows scrolls, all
  817. X!      locked windows will scroll.   MOST is also capable of ignoring lines
  818. X!      that are indented beyond a  user  specified  value.   This is useful
  819. X!      when viewing computer programs to pick  out  gross  features  of the
  820. X       code.  See the `60:O' command for a description of this feature.
  821. X `20
  822. X       In addition to displaying ordinary text files, MOST can also display
  823. X**************
  824. X*** 30,36
  825. X `20
  826. X       In addition to displaying ordinary text files, MOST can also display
  827. X       binary files as well as files with arbitrary ascii characters.  When
  828. X!      a file is read into  a buffer, MOST  examines the first  32 bytes of
  829. X       the file to determine if the file is a binary file and then switches
  830. X       to the appropriate mode.  However, this feature may be disabled with
  831. X       the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
  832. X--- 30,36 -----
  833. X `20
  834. X       In addition to displaying ordinary text files, MOST can also display
  835. X       binary files as well as files with arbitrary ascii characters.  When
  836. X!      a file is read  into  a  buffer, MOST examines the first 32 bytes of
  837. X       the file to determine if the file is a binary file and then switches
  838. X       to the appropriate mode.  However, this feature may be disabled with
  839. X       the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
  840. X**************
  841. X*** 33,39
  842. X       a file is read into  a buffer, MOST  examines the first  32 bytes of
  843. X       the file to determine if the file is a binary file and then switches
  844. X       to the appropriate mode.  However, this feature may be disabled with
  845. X!      the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
  846. X       options for further details.
  847. X `20
  848. X       Text files  may contain  combinations   of underscore and  backspace
  849. X--- 33,39 -----
  850. X       a file is read  into  a  buffer, MOST examines the first 32 bytes of
  851. X       the file to determine if the file is a binary file and then switches
  852. X       to the appropriate mode.  However, this feature may be disabled with
  853. X!      the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
  854. X       options for further details.
  855. X `20
  856. X       Text files  may  contain combinations of underscore (_`5EHch where '_
  857. V'
  858. X**************
  859. X*** 36,45
  860. X       the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
  861. X       options for further details.
  862. X `20
  863. X!      Text files  may contain  combinations   of underscore and  backspace
  864. X!      characters causing a printer  to underline or overstrike.  When MOST
  865. X!      recognizes   this, it inserts the  appropriate   escape sequences to
  866. X!      achieve  the  desired  effect  on  vtxxx  compatable terminals.   In
  867. X       addition, some files cause the printer to overstrike some characters
  868. X       by embedding carriage return  characters  in  the middle of a  line.
  869. X       When this occurs, MOST displays the ovestruck character with  a bold
  870. X--- 36,46 -----
  871. X       the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
  872. X       options for further details.
  873. X `20
  874. X!      Text files  may  contain combinations of underscore (_`5EHch where '_
  875. V'
  876. X!      is underscore and  'ch'  is  a  character)  and backspace characters
  877. X!      (ch`5EHch) causing a printer  to  underline  or overstrike.  When MOS
  878. VT
  879. X!      recognizes  this, it inserts the  appropriate  escape  sequences  to
  880. X!      achieve  the  desired  effect on vtxxx  compatable  terminals.    In
  881. X       addition, some files cause the printer to overstrike some characters
  882. X       by embedding a carriage return character (`5EM) in  the  middle  of
  883. V  a
  884. X       line.  When this occurs, MOST displays the overstruck character with
  885. X**************
  886. X*** 41,53
  887. X       recognizes   this, it inserts the  appropriate   escape sequences to
  888. X       achieve  the  desired  effect  on  vtxxx  compatable terminals.   In
  889. X       addition, some files cause the printer to overstrike some characters
  890. X!      by embedding carriage return  characters  in  the middle of a  line.
  891. X!      When this occurs, MOST displays the ovestruck character with  a bold
  892. X!      attribute.  This feature  facilitates the reading  of unix man pages
  893. X!      or a   document produced by RUNOFF.   In   particular,  viewing this
  894. X!      document with MOST should illustrate this behavior provided that the
  895. X!      underline characters have not been stripped.  This may be turned off
  896. X!      with the -v option.
  897. X `20
  898. X       By  default, lines with more  characters than the terminal width are
  899. X       not wrapped but are instead truncated.  When truncation occurs, this
  900. X--- 42,58 -----
  901. X       recognizes  this, it inserts the  appropriate  escape  sequences  to
  902. X       achieve  the  desired  effect on vtxxx  compatable  terminals.    In
  903. X       addition, some files cause the printer to overstrike some characters
  904. X!      by embedding a carriage return character (`5EM) in  the  middle  of
  905. V  a
  906. X!      line.  When this occurs, MOST displays the overstruck character with
  907. X!      a bold attribute.  This feature facilitates the reading of  unix man
  908. X!      pages or a document produced by RUNOFF.  Text files also can contain
  909. X!      the vt100 escape  sequences:  `5E`5B`5B1m (bold), `5E`5B`5B4m (underl
  910. Vine), `5E`5B`5B7m
  911. X!      (reverse video), and `5E`5B`5B0m  (normal).  Interpretation of the co
  912. Vntrol
  913. X!      characters and escape sequences may be turned off with the -v option
  914. X!      or :Ov toggle (Verbose, see below).    Other  vt100 escape sequences
  915. X!      and  the  control characters `5EG (bell), `5EK  (vertical  tab)  and
  916. V  `5EL
  917. X!      (linefeed)  are  made  Verbose by default when encountered  in  text
  918. X!      files.
  919. X `20
  920. X       By default, lines with more characters than the terminal  width  are
  921. X       not wrapped but are instead truncated.  When truncation occurs, this
  922. X**************
  923. X*** 49,55
  924. X       underline characters have not been stripped.  This may be turned off
  925. X       with the -v option.
  926. X `20
  927. X!      By  default, lines with more  characters than the terminal width are
  928. X       not wrapped but are instead truncated.  When truncation occurs, this
  929. X       is indicated by a reverse video `60>' in the  far right column  of th
  930. Ve
  931. X       terminal screen.  The RIGHT and LEFT arrow keys may be used to  view
  932. X--- 54,60 -----
  933. X       (linefeed)  are  made  Verbose by default when encountered  in  text
  934. X       files.
  935. X `20
  936. X!      By default, lines with more characters than the terminal  width  are
  937. X       not wrapped but are instead truncated.  When truncation occurs, this
  938. X       is indicated by a reverse video `60>' in the far right  column  of th
  939. Ve
  940. X       terminal screen.  The RIGHT and LEFT arrow keys may be used  to view
  941. X**************
  942. X*** 51,62
  943. X `20
  944. X       By  default, lines with more  characters than the terminal width are
  945. X       not wrapped but are instead truncated.  When truncation occurs, this
  946. X!      is indicated by a reverse video `60>' in the  far right column  of th
  947. Ve
  948. X!      terminal screen.  The RIGHT and LEFT arrow keys may be used to  view
  949. X!      lines which extend past the margins  of the screen.  The  -w  option
  950. X!      may be used to override this feature.  When  a  window  is  wrapped,
  951. X!      the character `60\' will appear in reverse video at the  right edge o
  952. Vf
  953. X!      the window.
  954. X `20
  955. X       Commands are listed below.
  956. X `20
  957. X--- 56,67 -----
  958. X `20
  959. X       By default, lines with more characters than the terminal  width  are
  960. X       not wrapped but are instead truncated.  When truncation occurs, this
  961. X!      is indicated by a reverse video `60>' in the far right  column  of th
  962. Ve
  963. X!      terminal screen.  The RIGHT and LEFT arrow keys may be used  to view
  964. X!      lines  which  extend  past the margins of the screen.  The -w option
  965. X!      may be used to override this feature.  When a window is wrapped, the
  966. X!      character `60\' will  appear in reverse video at the right edge of th
  967. Ve
  968. X!      window.
  969. X `20
  970. X       Commands are listed below.
  971. X `20
  972. X**************
  973. X*** 62,71
  974. X `20
  975. X  OPTIONS
  976. X `20
  977. X!      -b   binary mode.  Use this switch when you  want to view files
  978. X!           containing  8 bit characters.  MOST will  display the file
  979. X!           16 bytes per line in hexidecimal notation.  A typical line
  980. X!           looks like:
  981. X `20
  982. X             01000000 40001575 9C23A020 4000168D     ....@..u.#. @...
  983. X `20
  984. X--- 67,76 -----
  985. X `20
  986. X  OPTIONS
  987. X `20
  988. X!      -b   Binary mode.  Use  this  switch  when  you  want  to view files
  989. X!           containing 8 bit characters.  MOST  will  display  the  file 16
  990. X!           bytes per line in hexidecimal notation.   A  typical line looks
  991. X!           like:
  992. X `20
  993. X             01000000 40001575 9C23A020 4000168D     ....@..u.#. @...
  994. X `20
  995. X**************
  996. X*** 75,85
  997. X `20
  998. X       -c   Make searches case sensitive.  By default, they are not.
  999. X `20
  1000. X!      -k   `60Kanji' option.  Ordinarily, MOST will go into binary mode
  1001. X!           if the file consists of  non-ascii  characters.  Sometimes
  1002. X!           this feature is not desirable since some  terminals have a
  1003. X!           special interpretation for  eight bit  characters.  The -k
  1004. X!           option turns off the automatic sensing.
  1005. X `20
  1006. X       -l   Use `5EL (formfeed) to clear screen.
  1007. X `20
  1008. X--- 80,90 -----
  1009. X `20
  1010. X       -c   Make searches case sensitive.  By default, they are not.
  1011. X `20
  1012. X!      -k   `60Kanji' option.  Ordinarily, MOST will go into  binary  mode i
  1013. Vf
  1014. X!           the  file  consists  of non-ascii characters.   Sometimes  this
  1015. X!           feature  is not desirable since some terminals have  a  special
  1016. X!           interpretation  for eight bit characters.  The -k option  turns
  1017. X!           off the automatic sensing.
  1018. X `20
  1019. X       -l   Use `5EL (formfeed) to clear screen.
  1020. X `20
  1021. X**************
  1022. X*** 83,89
  1023. X `20
  1024. X       -l   Use `5EL (formfeed) to clear screen.
  1025. X `20
  1026. X!      -s   Squeeze.  Replace multiple blank lines with a single blank
  1027. X            line.
  1028. X `20
  1029. X       -t   Display tabs as reversed video `60I'.  This option  is acted
  1030. X--- 88,94 -----
  1031. X `20
  1032. X       -l   Use `5EL (formfeed) to clear screen.
  1033. X `20
  1034. X!      -s   Squeeze.    Replace  multiple  blank  lines with a single blank
  1035. X            line.
  1036. X `20
  1037. X       -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
  1038. Vn
  1039. X**************
  1040. X*** 86,93
  1041. X       -s   Squeeze.  Replace multiple blank lines with a single blank
  1042. X            line.
  1043. X `20
  1044. X!      -t   Display tabs as reversed video `60I'.  This option  is acted
  1045. X!           on only when used with the -v option.
  1046. X `20
  1047. X       -v   Verbose.  Display control characters in reverse video, e.g.
  1048. X            control-A is displayed as  a  reverse video 'A'.   Normally
  1049. X--- 91,98 -----
  1050. X       -s   Squeeze.    Replace  multiple  blank  lines with a single blank
  1051. X            line.
  1052. X `20
  1053. X!      -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
  1054. Vn
  1055. X!           only when used with the -v option.
  1056. X `20
  1057. X       -v   Verbose.  Display  control  characters  in  reverse video, e.g.
  1058. X            CONTROL_H is displayed as a reverse video  'H'.   Normally MOST
  1059. X**************
  1060. X*** 89,97
  1061. X       -t   Display tabs as reversed video `60I'.  This option  is acted
  1062. X            on only when used with the -v option.
  1063. X `20
  1064. X!      -v   Verbose.  Display control characters in reverse video, e.g.
  1065. X!           control-A is displayed as  a  reverse video 'A'.   Normally
  1066. X!           MOST interprets control characters.
  1067. X `20
  1068. X       -w   Wrap lines within window.
  1069. X `20
  1070. X--- 94,104 -----
  1071. X       -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
  1072. Vn
  1073. X            only when used with the -v option.
  1074. X `20
  1075. X!      -v   Verbose.  Display  control  characters  in  reverse video, e.g.
  1076. X!           CONTROL_H is displayed as a reverse video  'H'.   Normally MOST
  1077. X!           interprets  legitimate  control characters and escape sequences
  1078. X!           (see above)  and  does  not display ones which would not modify
  1079. X!           the screen output.
  1080. X `20
  1081. X       -w   Wrap lines within window.
  1082. X `20
  1083. X**************
  1084. X*** 101,111
  1085. X       +/string
  1086. X            Start up at the line containing the first occurence of string.
  1087. X `20
  1088. X!      +d   This switch should only be used if you want  the option to
  1089. X!           delete a file while  viewing it.  This  makes it easier to
  1090. X!           clean unwanted  files  out  of a  directory.   The file is
  1091. X!           deleted with the interactive  key sequence  `60:D' and  then
  1092. X!           confirming with `60y'.
  1093. X `20
  1094. X  USAGE
  1095. X    Environment
  1096. X--- 108,117 -----
  1097. X       +/string
  1098. X            Start up at the line containing the first occurence of string.
  1099. X `20
  1100. X!      +d   This switch should  only  be  used  if  you  want the option to
  1101. X!           delete a file while viewing it.   This makes it easier to clean
  1102. X!           unwanted files out of a directory.   The  file  is deleted with
  1103. X!           the interactive key sequence `60:D' and then confirming with `60
  1104. Vy'.
  1105. X `20
  1106. X  USAGE
  1107. X    Environment
  1108. X**************
  1109. X*** 114,124
  1110. X `20
  1111. X         MOST_SWITCHES
  1112. X `20
  1113. X!          This logical sets commonly used switches.   For example, you
  1114. X!          might wish to use MOST with the  -c  option so that searches
  1115. X!          are case sensitive.  Some people prefer to use MOST with the
  1116. X!          -s option so that excess blank lines  are not displayed.  On
  1117. X!          VMS this is normally done in the login.com through the line:
  1118. X `20
  1119. X                           $ define MOST_SWITCHES "-cs"
  1120. X `20
  1121. X--- 120,130 -----
  1122. X `20
  1123. X         MOST_SWITCHES
  1124. X `20
  1125. X!          This  logical  sets  commonly used switches.  For  example,  you
  1126. X!          might wish to use MOST with the -c option  so  that searches are
  1127. X!          case  sensitive.    Some people prefer to use MOST with  the  -s
  1128. X!          option  so  that  excess blank lines are not displayed.  On  VMS
  1129. X!          this is normally done in the login.com through the line:
  1130. X `20
  1131. X                           $ define MOST_SWITCHES "-cs"
  1132. X `20
  1133. X**************
  1134. X*** 124,137
  1135. X `20
  1136. X        MOST_EDITOR (VMS only)
  1137. X `20
  1138. X!          Set this logical to one of three callable editors (EDT, TPU,
  1139. X!          or EMACS), or to one that can be invoked via a  spawn (e.g.,
  1140. X!          SEDT).  The  default  is  EDT.  Since  VMS  does not support
  1141. X!          callable EMACS, MOST will attempt to attach to a kept EMACS.
  1142. X!          For this case, MOST looks for the logical name EMACS_PID and
  1143. X!          attaches to the process with that pid.  It then  defines the
  1144. X!          logicals EMACS_FILE_NAME and EMACS_FILE_LINE which EMACS can
  1145. X!          check upon attaching to it.
  1146. X `20
  1147. X        MOST_HELP
  1148. X `20
  1149. X--- 130,143 -----
  1150. X `20
  1151. X        MOST_EDITOR (VMS only)
  1152. X `20
  1153. X!          Set  this logical to one of three callable editors (EDT, TPU, or
  1154. X!          EMACS),  or to one that can be invoked via a spawn (e.g., SEDT).
  1155. X!          The default is  EDT.  Since VMS does not support callable EMACS,
  1156. X!          MOST will attempt to  attach  to  a  kept EMACS.  For this case,
  1157. X!          MOST looks for the logical  name  EMACS_PID  and attaches to the
  1158. X!          process  with  that  pid.    It    then   defines  the  logicals
  1159. X!          EMACS_FILE_NAME  and EMACS_FILE_LINE which EMACS can check  upon
  1160. X!          attaching to it.
  1161. X `20
  1162. X        MOST_HELP
  1163. X `20
  1164. X**************
  1165. X*** 135,146
  1166. X `20
  1167. X        MOST_HELP
  1168. X `20
  1169. X!          This logical should point to the MOST helpfile (MOST.DOC_FM).
  1170. X!          If help.c was compiled  with  the  logical  MOST_HELP_USE_DOC
  1171. X!          defined the  help  command  (H or ?)  will invoke a window in
  1172. X!          which the helpfile will be placed. If the compilation logical
  1173. X!          was not defined, a short help summary  will be displayed, and
  1174. X!          there is no need to define the MOST_HELP environment logical.
  1175. X `20
  1176. X    Command Usage
  1177. X `20
  1178. X--- 141,152 -----
  1179. X `20
  1180. X        MOST_HELP
  1181. X `20
  1182. X!          This  logical  should point to the MOST helpfile  (MOST.DOC_FM).
  1183. X!          If  help.c  was  compiled  with  the  logical  MOST_HELP_USE_DOC
  1184. X!          defined, the help command (H or ?) will invoke a window in which
  1185. X!          the helpfile will be placed.  If the compilation logical was not
  1186. X!          defined, a short help summary will be displayed, and there is no
  1187. X!          need to define the MOST_HELP environment logical.
  1188. X `20
  1189. X    Command Usage
  1190. X `20
  1191. X**************
  1192. X*** 144,151
  1193. X `20
  1194. X    Command Usage
  1195. X `20
  1196. X!      The  commands  take effect  immediately.  It is not necessary to
  1197. X!      type a carriage return.  Command keys are case-insensitive.
  1198. X `20
  1199. X       In the  following commands,  #  is  a  numerical argument (1  by
  1200. X       default).   A '->' is used to indicate that a  pair  of  command
  1201. X--- 150,157 -----
  1202. X `20
  1203. X    Command Usage
  1204. X `20
  1205. X!      The commands take effect immediately.  It is not necessary to type a
  1206. X!      carriage return.  Command keys are case-insensitive.
  1207. X `20
  1208. X       In the following commands, # is  a  numerical  argument  (1 or 0, as
  1209. X       appropriate, by default).  A '->' is used to indicate that a pair of
  1210. X**************
  1211. X*** 147,155
  1212. X       The  commands  take effect  immediately.  It is not necessary to
  1213. X       type a carriage return.  Command keys are case-insensitive.
  1214. X `20
  1215. X!      In the  following commands,  #  is  a  numerical argument (1  by
  1216. X!      default).   A '->' is used to indicate that a  pair  of  command
  1217. X!      keys should be entered in sequence.
  1218. X `20
  1219. X       NEXT_SCREEN, N, CONTROL_N, SPACE
  1220. X `20
  1221. X--- 153,161 -----
  1222. X       The commands take effect immediately.  It is not necessary to type a
  1223. X       carriage return.  Command keys are case-insensitive.
  1224. X `20
  1225. X!      In the following commands, # is  a  numerical  argument  (1 or 0, as
  1226. X!      appropriate, by default).  A '->' is used to indicate that a pair of
  1227. X!      command keys should be entered in sequence.
  1228. X `20
  1229. X       NEXT_SCREEN, N, CONTROL_N, SPACE
  1230. X `20
  1231. X**************
  1232. X*** 153,159
  1233. X `20
  1234. X       NEXT_SCREEN, N, CONTROL_N, SPACE
  1235. X `20
  1236. X!                Display another windowful, or jump # windowfuls if # is
  1237. X                 specified.
  1238. X `20
  1239. X       PREV_SCREEN, P, CONTROL_P
  1240. X--- 159,165 -----
  1241. X `20
  1242. X       NEXT_SCREEN, N, CONTROL_N, SPACE
  1243. X `20
  1244. X!                Display  another windowful, or jump # windowfuls if  #  is
  1245. X                 specified.
  1246. X `20
  1247. X       PREV_SCREEN, P, CONTROL_P
  1248. X**************
  1249. X*** 158,164
  1250. X `20
  1251. X       PREV_SCREEN, P, CONTROL_P
  1252. X `20
  1253. X!                Skip back  #  windowfuls  and  then display a windowful.
  1254. X `20
  1255. X       DOWN_ARROW, D, CONTROL_D, J, CONTROL_J
  1256. X `20
  1257. X--- 164,170 -----
  1258. X `20
  1259. X       PREV_SCREEN, P, CONTROL_P
  1260. X `20
  1261. X!                Skip back # windowfuls and then display a windowful.
  1262. X `20
  1263. X       DOWN_ARROW, D, CONTROL_D, J, CONTROL_J
  1264. X `20
  1265. X**************
  1266. X*** 170,176
  1267. X `20
  1268. X       RIGHT_ARROW, >, TAB, CONTROL_I
  1269. X `20
  1270. X!                Scroll window left 59# columns to view lines that are
  1271. X                 beyond the right margin of the window.
  1272. X `20
  1273. X       LEFT_ARROW, <
  1274. X--- 176,182 -----
  1275. X `20
  1276. X       RIGHT_ARROW, >, TAB, CONTROL_I
  1277. X `20
  1278. X!                Scroll  window  left  59#  columns to view lines that  are
  1279. X                 beyond the right margin of the window.
  1280. X `20
  1281. X       LEFT_ARROW, <
  1282. X**************
  1283. X*** 175,181
  1284. X `20
  1285. X       LEFT_ARROW, <
  1286. X `20
  1287. X!                Scroll window right 59# columns to view lines that are
  1288. X                 beyond the left margin of the window.
  1289. X `20
  1290. X       CONTROL_W, CONTROL_R
  1291. X--- 181,187 -----
  1292. X `20
  1293. X       LEFT_ARROW, <
  1294. X `20
  1295. X!                Scroll  window  right  59#  columns to view lines that are
  1296. X                 beyond the left margin of the window.
  1297. X `20
  1298. X       CONTROL_W, CONTROL_R
  1299. X**************
  1300. X*** 182,189
  1301. X `20
  1302. X                 Redraw the window.
  1303. X `20
  1304. X!      G         If # is not specified, then prompt for a  line number
  1305. X!                then jump to that line otherwise just jump to line #.
  1306. X `20
  1307. X       %         If # is not specified, then prompt for a percent number
  1308. X                 then jump to that  percent  of the file  otherwise just
  1309. X--- 188,195 -----
  1310. X `20
  1311. X                 Redraw the window.
  1312. X `20
  1313. X!      G         If # is not specified, then prompt for a line number  then
  1314. X!                jump to that line, otherwise just jump to line #.
  1315. X `20
  1316. X       %         If  #  is  not specified, then prompt for a percent number
  1317. X                 then jump to that percent of the file, otherwise just jump
  1318. X**************
  1319. X*** 185,193
  1320. X       G         If # is not specified, then prompt for a  line number
  1321. X                 then jump to that line otherwise just jump to line #.
  1322. X `20
  1323. X!      %         If # is not specified, then prompt for a percent number
  1324. X!                then jump to that  percent  of the file  otherwise just
  1325. X!                jump to # percent of the file.
  1326. X `20
  1327. X       W         If the current screen width is  80,  make  it  132  and
  1328. X                 vica-versa.  For other values, this command is ignored.
  1329. X--- 191,199 -----
  1330. X       G         If # is not specified, then prompt for a line number  then
  1331. X                 jump to that line, otherwise just jump to line #.
  1332. X `20
  1333. X!      %         If  #  is  not specified, then prompt for a percent number
  1334. +-+-+-+-+-+-+-+-  END  OF PART 2 +-+-+-+-+-+-+-+-
  1335.  
  1336.