🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by flowers Mon, 04 Jan 1993 20:21
C Swing v3.6.4 patches, part 02/04
#132
Author: flowers
Date: Mon, 04 Jan 1993 20:21
1324 lines
50275 bytes
Submitted-by: flowers@memstvx1.memst.edu
Posting-number: Volume 4, Issue 23
Archive-name: cswing/patch3_02
Patch-to: cswing: Volume 3, Issue 35-52,93,211-218

-+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+
X                        sprintf(work,s_str,j);
X                        work_len = strlen(work);
X                        for (j = 0; j < work_len; j++) out`5Bii++`5D = work`
V5Bj`5D;
X                    `7D
X                  else if (count > max_col)
X                    `7B
X**************
X*** 346,353
X              `7D /* if ch is a space */
X           `20
X            /*
X!           **  else, if ok to fill line and ch is `5EL, `5EG, or a
X!           **  Verbose control char
X  `09  **  display the control char as reverse video char
X            */
X            else if (ok && ((ch == '\014') `7C`7C
X--- 445,452 -----
X              `7D /* if ch is a space */
X           `20
X            /*
X!           **  else, if ok to fill line and ch is `5EG, `5EK, `5EL, a Verbo
Vse
X!           **  control character, or an escape that was not followed by `5B
V#m,
X  `09  **  display the control char as reverse video char
X            */
X            else if (ok && ((ch == '\007') `7C`7C
X**************
X*** 350,358
X            **  Verbose control char
X  `09  **  display the control char as reverse video char
X            */
X!           else if (ok && ((ch == '\014') `7C`7C
X!                           (ch == '\007') `7C`7C
X!                          ((ch < ' ') && MOST_V_OPT)))
X              `7B
X                  for (j=0; j < r_len; j++)
X                    out`5Bii++`5D = r_str`5Bj`5D;
X--- 449,459 -----
X            **  control character, or an escape that was not followed by `5B
V#m,
X  `09  **  display the control char as reverse video char
X            */
X!           else if (ok && ((ch == '\007') `7C`7C
X!                           (ch == '\013') `7C`7C
X!                           (ch == '\014') `7C`7C
X!                           (ch == '\033') `7C`7C
X!                          ((ch < ' ' `7C`7C ch > 126) && MOST_V_OPT)))
X              `7B
X                  for (j=0; j < r_len; j++)
X                    out`5Bii++`5D = r_str`5Bj`5D;
X**************
X*** 383,389
X              out`5Bii++`5D = r_str`5Bj`5D;
X            out`5Bii++`5D = d_char;
X        `7D
X!     else if (ok && ((count > max_col) `7C`7C (count == max_col && MOST_W_O
VPT)))
X        `7B
X            bold = 1;
X  `09  ii--;
X--- 484,490 -----
X              out`5Bii++`5D = r_str`5Bj`5D;
X            out`5Bii++`5D = d_char;
X        `7D
X!     else if (ok && count > max_col)
X        `7B
X  `09  ii--;
X            if (ok && bold)
X**************
X*** 385,391
X        `7D
X      else if (ok && ((count > max_col) `7C`7C (count == max_col && MOST_W_O
VPT)))
X        `7B
X-           bold = 1;
X  `09  ii--;
X            for (j=0; j < r_len; j++)
X              out`5Bii++`5D = r_str`5Bj`5D;
X--- 486,491 -----
X        `7D
X      else if (ok && count > max_col)
X        `7B
X  `09  ii--;
X            if (ok && bold)
X              for (j=0; j < n_len; j++)
X**************
X*** 387,392
X        `7B
X            bold = 1;
X  `09  ii--;
X            for (j=0; j < r_len; j++)
X              out`5Bii++`5D = r_str`5Bj`5D;
X            out`5Bii++`5D = d_char;
X--- 487,496 -----
X      else if (ok && count > max_col)
X        `7B
X  `09  ii--;
X+           if (ok && bold)
X+             for (j=0; j < n_len; j++)
X+               out`5Bii++`5D = n_str`5Bj`5D;
X+           bold = 1;
X            for (j=0; j < r_len; j++)
X              out`5Bii++`5D = r_str`5Bj`5D;
X            out`5Bii++`5D = d_char;
X**************
X*** 424,429
X            */
X            if(extract_line(&beg, &end) && MOST_W_OPT) ch = '\\'; else ch =
V '>';
X            len = end - beg + 1;
X            /*
X            **  if line is too long
X            **  set Verbose and display of tabs
X--- 528,534 -----
X            */
X            if(extract_line(&beg, &end) && MOST_W_OPT) ch = '\\'; else ch =
V '>';
X            len = end - beg + 1;
X+`20
X            /*
X            **  if line is too long
X            **  set Verbose and display of tabs
X**************
X*** 436,441
X                  MOST_T_OPT = 1;
X                  line = (char *) beg;
X              `7D
X            /*
X            **  else have line analyzed for character display attributes
X            */
X--- 541,547 -----
X                  MOST_T_OPT = 1;
X                  line = (char *) beg;
X              `7D
X+`20
X            /*
X            **  else have line analyzed for character display attributes
X            */
X**************
X*** 441,446
X            */
X            else len = analyse_line(beg, end, line, attr);
X        `7D
X      /*
X      **  binary line
X      */
X--- 547,553 -----
X            */
X            else len = analyse_line(beg, end, line, attr);
X        `7D
X+`20
X      /*
X      **  binary line
X      */
X**************
X*** 480,486
X  int apparant_distance(unsigned char *pos)
X  `7B
X      int i;
X!     unsigned char *cur_pos, *save_pos, ch;
X `20
X      cur_pos = C_POS;
X      save_pos = pos;
X--- 587,595 -----
X  int apparant_distance(unsigned char *pos)
X  `7B
X      int i;
X!     unsigned char *cur_pos, *save_pos, ch, *e;
X!     extern int W_LINE;
X!     extern int TAB_R;
X `20
X      cur_pos = C_POS;
X      save_pos = pos;
X**************
X*** 486,491
X      save_pos = pos;
X      C_POS = pos;
X      pos = beg_of_line();
X      C_POS = cur_pos;
X `20
X      i = 1;
X--- 595,601 -----
X      save_pos = pos;
X      C_POS = pos;
X      pos = beg_of_line();
X+     e = end_of_line();
X      C_POS = cur_pos;
X `20
X      i = 1;
X**************
X*** 498,503
X              `7B
X                  if (i > 1) i--;
X              `7D
X            /*
X            **  `5EM (overstrike line)
X            */
X--- 608,614 -----
X              `7B
X                  if (i > 1) i--;
X              `7D
X+`20
X            /*
X            **  `5EM (overstrike line)
X            */
X**************
X*** 503,509
X            */
X            else if (!MOST_V_OPT && ch == '\015')
X              `7B
X!                 if (i != 1) i = 1;
X              `7D
X            /*
X            **  `5EI (8 column tabs)
X--- 614,620 -----
X            */
X            else if (!MOST_V_OPT && ch == '\015')
X              `7B
X!                 if (i > 1) i = 1;
X              `7D
X `20
X            /*
X**************
X*** 505,510
X              `7B
X                  if (i != 1) i = 1;
X              `7D
X            /*
X            **  `5EI (8 column tabs)
X            */
X--- 616,622 -----
X              `7B
X                  if (i > 1) i = 1;
X              `7D
X+`20
X            /*
X            **  underline, bold, or reverse via <ESC>`5B#m
X            */
X**************
X*** 506,512
X                  if (i != 1) i = 1;
X              `7D
X            /*
X!           **  `5EI (8 column tabs)
X            */
X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
X              `7B
X--- 618,624 -----
X              `7D
X `20
X            /*
X!           **  underline, bold, or reverse via <ESC>`5B#m
X            */
X            else if (!MOST_V_OPT && ch == '\033' && pos <= e - 2 &&
X                     *pos == '`5B' &&
X**************
X*** 508,513
X            /*
X            **  `5EI (8 column tabs)
X            */
X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
X              `7B
X                  i = 8 * ((i - 1)/8 + 1) + 1;
X--- 620,635 -----
X            /*
X            **  underline, bold, or reverse via <ESC>`5B#m
X            */
X+           else if (!MOST_V_OPT && ch == '\033' && pos <= e - 2 &&
X+                    *pos == '`5B' &&
X+                    (*(pos + 1) == '1' `7C`7C *(pos + 1) == '4' `7C`7C
X+                     *(pos + 1) == '7' `7C`7C *(pos + 1) == '0') &&
X+                    *(pos + 2) == 'm')
X+             i -= 3;
X+`20
X+           /*
X+           **  `5EI (8 column tabs)
X+           */
X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
X              `7B
X                  if (MOST_W_OPT && W_LINE)
X**************
X*** 510,516
X            */
X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
X              `7B
X!                 i = 8 * ((i - 1)/8 + 1) + 1;
X              `7D
X            /*
X            **  other control chars
X--- 632,646 -----
X            */
X            else if (ch == '\t' && (!MOST_T_OPT `7C`7C !MOST_V_OPT))
X              `7B
X!                 if (MOST_W_OPT && W_LINE)
X!                   `7B
X!                       if (i == 1)
X!                         i += TAB_R;
X!                       else
X!                         i = 8 * ((i - 1)/8 + 1) + 1 + TAB_R;
X!                   `7D
X!                 else
X!                   i = 8 * ((i - 1)/8 + 1) + 1;
X              `7D
X `20
X            /*
X**************
X*** 512,517
X              `7B
X                  i = 8 * ((i - 1)/8 + 1) + 1;
X              `7D
X            /*
X            **  other control chars
X            */
X--- 642,648 -----
X                  else
X                    i = 8 * ((i - 1)/8 + 1) + 1;
X              `7D
X+`20
X            /*
X            **  other escape or control chars
X            */
X**************
X*** 513,519
X                  i = 8 * ((i - 1)/8 + 1) + 1;
X              `7D
X            /*
X!           **  other control chars
X            */
X            else if (ch < ' ' `7C`7C ch > 126)
X              `7B
X--- 644,650 -----
X              `7D
X `20
X            /*
X!           **  other escape or control chars
X            */
X            else if (ch < ' ' `7C`7C ch > 126)
X              `7B
X**************
X*** 518,526
X            else if (ch < ' ' `7C`7C ch > 126)
X              `7B
X                  /*
X!                 **  `5EL (linefeed) and `5EG (bell) are always
X!                 **        displayed (as reverse video ch)
X!                 **  otherwise control chars have no width
X                  */
X                  if (ch == '\014' `7C`7C ch == '\007' `7C`7C MOST_V_OPT)
X                    `7B
X--- 649,658 -----
X            else if (ch < ' ' `7C`7C ch > 126)
X              `7B
X                  /*
X!                 **  `5EG (bell) , `5EK (vertical tab), `5EL (linefeed) and
X!                 **  `5E`5B (escape) not followed by `5B#m are always displ
Vayed
X!                 **  (as reverse video ch),
X!                 **  otherwise non-Verbose control chars have no width
X                  */
X                  if (MOST_V_OPT `7C`7C ch == '\007' `7C`7C ch == '\013' `7C
V`7C
X                                    ch == '\014' `7C`7C ch == '\033')
X**************
X*** 522,528
X                  **        displayed (as reverse video ch)
X                  **  otherwise control chars have no width
X                  */
X!                 if (ch == '\014' `7C`7C ch == '\007' `7C`7C MOST_V_OPT)
X                    `7B
X                        i++;
X                    `7D
X--- 654,661 -----
X                  **  (as reverse video ch),
X                  **  otherwise non-Verbose control chars have no width
X                  */
X!                 if (MOST_V_OPT `7C`7C ch == '\007' `7C`7C ch == '\013' `7C
V`7C
X!                                   ch == '\014' `7C`7C ch == '\033')
X                    `7B
X                        i++;
X                    `7D
$ CALL UNPACK LINE_C.PAT;364 1365702257
$ create 'f'
X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dlink_v5.com;2
X--- disk$disk1:`5Bflowers.swing.src`5Dlink_v5.com;5
X**************
X*** 13,19
X  $ link/nouserlib/nodebug/traceback/nomap/exe=EXE:most.exe -
X          OBJ:main,OBJ:swing.olb/lib,SRC:most_options/opt
X  $ delete/nolog OBJ:main.obj;
X! $ delete OBJ:swing.olb.*/nolog
X  $!
X  $ dir/siz/date EXE:Cswing.exe,Most.exe
X  $ set nover
X--- 13,19 -----
X  $ link/nouserlib/nodebug/traceback/nomap/exe=EXE:most.exe -
X          OBJ:main,OBJ:swing.olb/lib,SRC:most_options/opt
X  $ delete/nolog OBJ:main.obj;
X! $ delete/nolog OBJ:swing.olb;*
X  $!
X  $ dir/siz/date EXE:Cswing.exe,Most.exe
X  $ set nover
$ CALL UNPACK LINK_V5_COM.PAT;364 1971275007
$ create 'f'
X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dmain.c;2
X--- disk$disk1:`5Bflowers.swing.src`5Dmain.c;3
X**************
X*** 1,4
X! #define __MOST_VERSION__ "3.02FM"
X  #define __MOST_USAGE__ "most `5B-bcklstvw`5D `5B+line`5D `5B+/string`5D `5
VB+d`5D filename `5Bfilename ...`5D"
X  /*
X  ** == Changes from original 3.01 to my 3.02 by Harry Flowers 08 Apr 1992 =
V=
X--- 1,4 -----
X! #define __MOST_VERSION__ "3.03FM"
X  #define __MOST_USAGE__ "most `5B-bcklstvw`5D `5B+line`5D `5B+/string`5D `5
VB+d`5D filename `5Bfilename ...`5D"
X  /*
X  ** == Changes from original 3.01 to my 3.02 by Harry Flowers 08 Apr 1992 =
V=
X**************
X*** 36,42
X  **  Renamed some switches and toggles so that switches are all MOST_ch_OPT
X  **      and toggles have informative names.  Made case-sensitivity of sear
Vches
X  **      a regular (-c) rather than extended (+c) switch.  Eliminated any c
Vase-
X! **      sensitivity for switch, toggle, or command letter throughout the
X  **      program.
X  **  If a new file is fetched from within MOST (`5EKG), it is now added to
V the
X  **      ring buffer, along with those from the command line or CSWING call
V.
X--- 36,42 -----
X  **  Renamed some switches and toggles so that switches are all MOST_ch_OPT
X  **      and toggles have informative names.  Made case-sensitivity of sear
Vches
X  **      a regular (-c) rather than extended (+c) switch.  Eliminated any c
Vase-
X! **      sensitivity for switch, toggle, or command letters throughout the
X  **      program.
X  **  If a new file is fetched from within MOST (`5EKG), it is now added to
V the
X  **      ring buffer, along with those from the command line or CSWING call
V.
X**************
X*** 47,61
X  **      in Verbose ASCII mode (`5Ech is still used in binary mode).  Cntrl
V-L
X  **      (linefeed) and cntrl-G (bell) are always displayed rather than act
Ved
X  **      on in ASCII mode.
X! **  Replaced the \ with reversed video \ as the indicator of position 80 o
Vr
X! **      132 in Wrap mode.  If non-printing control characters or escape
X! **      sequences are present, the reversed-\ still stays on the 80th or 1
V32nd
X! **      character, rather than filling the line to the 80th or 132nd scree
Vn
X! **      column (i.e., such lines are short).  You can then toggle to Verbo
Vse
X! **      mode (:O v) to see what the non-printing characters are, without a
X! **      change in the wrapping positions (still screws up badly in Wrap mo
Vde
X! **      if bolding of line was intended via `5EM; improved but did not per
Vfect
X! **      handling of bolded or underlined characters via `5EH in Wrap mode)
V.
X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
X  **
X  **      `5BThis is the prominent modification notice required; see below.`
V5D
X--- 47,55 -----
X  **      in Verbose ASCII mode (`5Ech is still used in binary mode).  Cntrl
V-L
X  **      (linefeed) and cntrl-G (bell) are always displayed rather than act
Ved
X  **      on in ASCII mode.
X! **  Replaced the \ with reversed video \ as the indicator of wrap column
X! **      and improved but did not perfect handling of bolded or underlined
X! **      characters via `5EH or `5EM in Wrap mode).
X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
X  **
X  ** == Changes from 3.02FM to 3.03FM by Foteos Macrides 28-Nov-1992 ==
X**************
X*** 58,63
X  **      handling of bolded or underlined characters via `5EH in Wrap mode)
V.
X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
X  **
X  **      `5BThis is the prominent modification notice required; see below.`
V5D
X  */
X  /*
X--- 52,74 -----
X  **      characters via `5EH or `5EM in Wrap mode).
X  **  Provided a MOST.DOC_FM with the switch/command changes documented.
X  **
X+ ** == Changes from 3.02FM to 3.03FM by Foteos Macrides 28-Nov-1992 ==
X+ **
X+ **  Fixed bug in initialization of SEARCH_STR when called from CSWING.
X+ **  Fixed bug getting last line of files in Binary mode.
X+ **  Fixed bug in initialization of marks.
X+ **  Modified Wrap mode to maintain a full screen width to the \ even if
X+ **      non-printing control characters or escape sequences are present,
X+ **      and to not wrap the last character in lines that are equal to the
X+ **      screen width.
X+ **  Corrected handling of underlining, bolding or reversing via `5EH, `5EM
V or
X+ **      <ESC>`5B#m (# = 1, 4, or 7) and debugged problems with tab expansi
Vons.
X+ **  Fixed searches to work properly in ASCII and Binary modes.  Searches a
Vre
X+ **      disabled when the Selective Indentation Display is set, and approp
Vriate
X+ **      most_messages are issued if searches are requested.
X+ **  Added lots more informational most_messages.
X+ **  Updated MOST.DOC_FM.
X+ **
X  **      `5BThis is the prominent modification notice required; see below.`
V5D
X  */
X  /*
X**************
X*** 165,171
X  #include "sysdep.h"
X  #include "most.h"
X `20
X- int MOST_A_OPT      = 0;     /* automatically choose -b if necessary
V         */
X  int MOST_B_OPT      = 0;     /* display binary File
V                          */
X  int MOST_C_OPT      = 0;     /* case-sensitive searches
V                      */
X  int MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
V                 */
X--- 176,181 -----
X  #include "sysdep.h"
X  #include "most.h"
X `20
X  int MOST_B_OPT      = 0;     /* display binary File
V                          */
X  int MOST_C_OPT      = 0;     /* case-sensitive searches
V                      */
X  int MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
V                 */
X**************
X*** 235,243
X        `7B
X            switch (*str++)
X              `7B
X-               case 'a':
X-               case 'A':
X-                 MOST_A_OPT = 1; break;  /* check to see if file is binary
V */
X                case 'b':
X                case 'B':
X                  MOST_B_OPT = 1; break;  /* binary display 8 bit */
X--- 245,250 -----
X        `7B
X            switch (*str++)
X              `7B
X                case 'b':
X                case 'B':
X                  MOST_B_OPT = 1; break;  /* binary display 8 bit */
X**************
X*** 286,292
X  int main(int argc, char *argv`5B`5D)
X  `7B
X      char file`5B80`5D, *switches, filename`5B80`5D;
X!     int quit,i,piped,a_opt, j;
X      unsigned long context;
X      extern char *getenv(char *);
X      extern int isatty(int);
X--- 293,299 -----
X  int main(int argc, char *argv`5B`5D)
X  `7B
X      char file`5B80`5D, *switches, filename`5B80`5D;
X!     int quit,i,piped,j;
X      unsigned long context;
X      extern char *getenv(char *);
X      extern int isatty(int);
X**************
X*** 322,328
X            /* assume input is from stdin */
X            file`5B0`5D = '\0';  /* tells most this is stdin */
X            piped = 1;
X-           MOST_A_OPT = 0;  /* in this version since we cannot do an fseek
V */
X        `7D
X      else
X        strcpy(file,argv`5Bi`5D);
X--- 329,334 -----
X            /* assume input is from stdin */
X            file`5B0`5D = '\0';  /* tells most this is stdin */
X            piped = 1;
X        `7D
X      else
X        strcpy(file,argv`5Bi`5D);
X**************
X*** 332,339
X `20
X      get_terminfo();           /* set up esc sequences etc... */
X      init_tty();`20
X-     if (MOST_B_OPT) MOST_A_OPT = 0;   /* explicit b overrides a */
X-     a_opt = MOST_A_OPT;
X `20
X      if (!piped)
X        `7B
X--- 338,343 -----
X `20
X      get_terminfo();           /* set up esc sequences etc... */
X      init_tty();`20
X `20
X      if (!piped)
X        `7B
X**************
X*** 384,390
X  void most_less(int num_most_args, char *most_args`5B`5D)
X  `7B
X      char file`5B80`5D, *switches, filename`5B80`5D;
X!     int quit,i,piped,a_opt, j;
X      unsigned long context;
X      extern char *getenv(char *);
X      extern int isatty(int);
X--- 388,394 -----
X  void most_less(int num_most_args, char *most_args`5B`5D)
X  `7B
X      char file`5B80`5D, *switches, filename`5B80`5D;
X!     int quit,i,piped,j;
X      unsigned long context;
X      extern char *getenv(char *);
X      extern int isatty(int);
X**************
X*** 393,399
X      /*
X      **  intitialize options and toggles for each call to interface
X      */
X-     MOST_A_OPT      = 0;     /* automatically choose -b if necessary
V         */
X      MOST_B_OPT      = 0;     /* display binary File
V                          */
X      MOST_C_OPT      = 0;     /* case-sensitive searches
V                      */
X      MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
V                 */
X--- 397,402 -----
X      /*
X      **  intitialize options and toggles for each call to interface
X      */
X      MOST_B_OPT      = 0;     /* display binary File
V                          */
X      MOST_C_OPT      = 0;     /* case-sensitive searches
V                      */
X      MOST_D_OPT      = 0;     /* delete file mode  (see ':D')
V                 */
X**************
X*** 405,411
X      MOST_W_OPT      = 0;     /* wrap lines
V                                   */
X      STARTING_LINE   = 1;     /* starting line for initial display
V            */
X      SEARCH_DIR      = 1;     /* for toggling direction of string searches
V    */
X!     SEARCH_STR`5B80`5D = '\0';   /* for setting starting line based on a s
Vtring  */
X      SELECTIVE_I_DISPLAY = 0; /* selective indentation display
V                */
X      NEXT_RING_FILE  = 1;     /* for cycling through file ring
V                */
X `20
X--- 408,414 -----
X      MOST_W_OPT      = 0;     /* wrap lines
V                                   */
X      STARTING_LINE   = 1;     /* starting line for initial display
V            */
X      SEARCH_DIR      = 1;     /* for toggling direction of string searches
V    */
X!     SEARCH_STR`5B0`5D = '\0';    /* for setting starting line based on a s
Vtring  */
X      SELECTIVE_I_DISPLAY = 0; /* selective indentation display
V                */
X      NEXT_RING_FILE  = 1;     /* for cycling through file ring
V                */
X `20
X**************
X*** 429,436
X `20
X      get_terminfo();           /* set up esc sequences etc... */
X      init_tty();`20
X-     if (MOST_B_OPT) MOST_A_OPT = 0;   /* explicit b overrides a */
X-     a_opt = MOST_A_OPT;
X `20
X  #ifdef VMS
X      /* note short circuit evaluation is crucial here */
X--- 432,437 -----
X `20
X      get_terminfo();           /* set up esc sequences etc... */
X      init_tty();`20
X `20
X  #ifdef VMS
X      /* note short circuit evaluation is crucial here */
$ CALL UNPACK MAIN_C.PAT;364 1179850251
$ create 'f'
X*** disk$disk1:`5Bflowers.swing.vmsnet`5Dmost.doc_fm;363
X--- disk$disk1:`5Bflowers.swing.src`5Dmost.doc_fm;3
X**************
X*** 1,4
X! MOST(3.02FM)                                                     10-10-92
X `20
X  NAME
X `20
X--- 1,4 -----
X! MOST(3.03FM)                                                     11-28-92
X `20
X  NAME
X `20
X**************
X*** 11,19
X  DESCRIPTION
X `20
X       MOST is a paging program that displays, one windowful at a time, the
X!      contents of a file on a vtxxx compatable terminal.   It pauses after
X!      each windowful  and prints on the  window status line  of the screen
X!      the file name, current line  number, and the percentage  of the file
X       so far displayed.
X `20
X       Unlike other paging   programs, MOST is  capable of  displaying   an
X--- 11,19 -----
X  DESCRIPTION
X `20
X       MOST is a paging program that displays, one windowful at a time, the
X!      contents of a file  on a vtxxx compatable terminal.  It pauses after
X!      each windowful and prints on  the  window  status line of the screen
X!      the file name, current line number,  and  the percentage of the file
X       so far displayed.
X `20
X       Unlike  other  paging  programs, MOST is capable  of  displaying  an
X**************
X*** 16,22
X       the file name, current line  number, and the percentage  of the file
X       so far displayed.
X `20
X!      Unlike other paging   programs, MOST is  capable of  displaying   an
X       arbitrary number of windows as long as each window occupies at least
X       two screen lines.  Each  window  may  contain  the same  file  or  a
X       different file.  In addition,  each  window has its  own mode.   For
X--- 16,22 -----
X       the file name, current line number,  and  the percentage of the file
X       so far displayed.
X `20
X!      Unlike  other  paging  programs, MOST is capable  of  displaying  an
X       arbitrary number of windows as long as each window occupies at least
X       two  screen  lines.   Each window may contain the  same  file  or  a
X       different  file.  In addition, each window has its own  mode.    For
X**************
X*** 18,27
X `20
X       Unlike other paging   programs, MOST is  capable of  displaying   an
X       arbitrary number of windows as long as each window occupies at least
X!      two screen lines.  Each  window  may  contain  the same  file  or  a
X!      different file.  In addition,  each  window has its  own mode.   For
X!      example, one window may display a  file with its lines wrapped while
X!      another may   be truncating  the lines.   Windows  may   be `60locked
V'
X       together in the sense that if one of the locked windows scrolls, all
X       locked windows will scroll.  MOST is also  capable of ignoring lines
X       that are indented beyond  a  user specified value.   This  is useful
X--- 18,27 -----
X `20
X       Unlike  other  paging  programs, MOST is capable  of  displaying  an
X       arbitrary number of windows as long as each window occupies at least
X!      two  screen  lines.   Each window may contain the  same  file  or  a
X!      different  file.  In addition, each window has its own  mode.    For
X!      example, one window may display a file with its lines wrapped  while
X!      another may  be  truncating  the  lines.    Windows  may be `60locked
V'
X       together in the sense that if one of the locked windows scrolls, all
X       locked windows will scroll.   MOST is also capable of ignoring lines
X       that are indented beyond a  user  specified  value.   This is useful
X**************
X*** 23,31
X       example, one window may display a  file with its lines wrapped while
X       another may   be truncating  the lines.   Windows  may   be `60locked
V'
X       together in the sense that if one of the locked windows scrolls, all
X!      locked windows will scroll.  MOST is also  capable of ignoring lines
X!      that are indented beyond  a  user specified value.   This  is useful
X!      when viewing  computer programs to  pick  out  gross features of the
X       code.  See the `60:O' command for a description of this feature.
X `20
X       In addition to displaying ordinary text files, MOST can also display
X--- 23,31 -----
X       example, one window may display a file with its lines wrapped  while
X       another may  be  truncating  the  lines.    Windows  may be `60locked
V'
X       together in the sense that if one of the locked windows scrolls, all
X!      locked windows will scroll.   MOST is also capable of ignoring lines
X!      that are indented beyond a  user  specified  value.   This is useful
X!      when viewing computer programs to pick  out  gross  features  of the
X       code.  See the `60:O' command for a description of this feature.
X `20
X       In addition to displaying ordinary text files, MOST can also display
X**************
X*** 30,36
X `20
X       In addition to displaying ordinary text files, MOST can also display
X       binary files as well as files with arbitrary ascii characters.  When
X!      a file is read into  a buffer, MOST  examines the first  32 bytes of
X       the file to determine if the file is a binary file and then switches
X       to the appropriate mode.  However, this feature may be disabled with
X       the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
X--- 30,36 -----
X `20
X       In addition to displaying ordinary text files, MOST can also display
X       binary files as well as files with arbitrary ascii characters.  When
X!      a file is read  into  a  buffer, MOST examines the first 32 bytes of
X       the file to determine if the file is a binary file and then switches
X       to the appropriate mode.  However, this feature may be disabled with
X       the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
X**************
X*** 33,39
X       a file is read into  a buffer, MOST  examines the first  32 bytes of
X       the file to determine if the file is a binary file and then switches
X       to the appropriate mode.  However, this feature may be disabled with
X!      the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
X       options for further details.
X `20
X       Text files  may contain  combinations   of underscore and  backspace
X--- 33,39 -----
X       a file is read  into  a  buffer, MOST examines the first 32 bytes of
X       the file to determine if the file is a binary file and then switches
X       to the appropriate mode.  However, this feature may be disabled with
X!      the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
X       options for further details.
X `20
X       Text files  may  contain combinations of underscore (_`5EHch where '_
V'
X**************
X*** 36,45
X       the  -k option.  See the  description  of the  -b,   -k,  -v. and -t
X       options for further details.
X `20
X!      Text files  may contain  combinations   of underscore and  backspace
X!      characters causing a printer  to underline or overstrike.  When MOST
X!      recognizes   this, it inserts the  appropriate   escape sequences to
X!      achieve  the  desired  effect  on  vtxxx  compatable terminals.   In
X       addition, some files cause the printer to overstrike some characters
X       by embedding carriage return  characters  in  the middle of a  line.
X       When this occurs, MOST displays the ovestruck character with  a bold
X--- 36,46 -----
X       the -k option.  See the description  of  the  -b,  -k,  -v,  and  -t
X       options for further details.
X `20
X!      Text files  may  contain combinations of underscore (_`5EHch where '_
V'
X!      is underscore and  'ch'  is  a  character)  and backspace characters
X!      (ch`5EHch) causing a printer  to  underline  or overstrike.  When MOS
VT
X!      recognizes  this, it inserts the  appropriate  escape  sequences  to
X!      achieve  the  desired  effect on vtxxx  compatable  terminals.    In
X       addition, some files cause the printer to overstrike some characters
X       by embedding a carriage return character (`5EM) in  the  middle  of
V  a
X       line.  When this occurs, MOST displays the overstruck character with
X**************
X*** 41,53
X       recognizes   this, it inserts the  appropriate   escape sequences to
X       achieve  the  desired  effect  on  vtxxx  compatable terminals.   In
X       addition, some files cause the printer to overstrike some characters
X!      by embedding carriage return  characters  in  the middle of a  line.
X!      When this occurs, MOST displays the ovestruck character with  a bold
X!      attribute.  This feature  facilitates the reading  of unix man pages
X!      or a   document produced by RUNOFF.   In   particular,  viewing this
X!      document with MOST should illustrate this behavior provided that the
X!      underline characters have not been stripped.  This may be turned off
X!      with the -v option.
X `20
X       By  default, lines with more  characters than the terminal width are
X       not wrapped but are instead truncated.  When truncation occurs, this
X--- 42,58 -----
X       recognizes  this, it inserts the  appropriate  escape  sequences  to
X       achieve  the  desired  effect on vtxxx  compatable  terminals.    In
X       addition, some files cause the printer to overstrike some characters
X!      by embedding a carriage return character (`5EM) in  the  middle  of
V  a
X!      line.  When this occurs, MOST displays the overstruck character with
X!      a bold attribute.  This feature facilitates the reading of  unix man
X!      pages or a document produced by RUNOFF.  Text files also can contain
X!      the vt100 escape  sequences:  `5E`5B`5B1m (bold), `5E`5B`5B4m (underl
Vine), `5E`5B`5B7m
X!      (reverse video), and `5E`5B`5B0m  (normal).  Interpretation of the co
Vntrol
X!      characters and escape sequences may be turned off with the -v option
X!      or :Ov toggle (Verbose, see below).    Other  vt100 escape sequences
X!      and  the  control characters `5EG (bell), `5EK  (vertical  tab)  and
V  `5EL
X!      (linefeed)  are  made  Verbose by default when encountered  in  text
X!      files.
X `20
X       By default, lines with more characters than the terminal  width  are
X       not wrapped but are instead truncated.  When truncation occurs, this
X**************
X*** 49,55
X       underline characters have not been stripped.  This may be turned off
X       with the -v option.
X `20
X!      By  default, lines with more  characters than the terminal width are
X       not wrapped but are instead truncated.  When truncation occurs, this
X       is indicated by a reverse video `60>' in the  far right column  of th
Ve
X       terminal screen.  The RIGHT and LEFT arrow keys may be used to  view
X--- 54,60 -----
X       (linefeed)  are  made  Verbose by default when encountered  in  text
X       files.
X `20
X!      By default, lines with more characters than the terminal  width  are
X       not wrapped but are instead truncated.  When truncation occurs, this
X       is indicated by a reverse video `60>' in the far right  column  of th
Ve
X       terminal screen.  The RIGHT and LEFT arrow keys may be used  to view
X**************
X*** 51,62
X `20
X       By  default, lines with more  characters than the terminal width are
X       not wrapped but are instead truncated.  When truncation occurs, this
X!      is indicated by a reverse video `60>' in the  far right column  of th
Ve
X!      terminal screen.  The RIGHT and LEFT arrow keys may be used to  view
X!      lines which extend past the margins  of the screen.  The  -w  option
X!      may be used to override this feature.  When  a  window  is  wrapped,
X!      the character `60\' will appear in reverse video at the  right edge o
Vf
X!      the window.
X `20
X       Commands are listed below.
X `20
X--- 56,67 -----
X `20
X       By default, lines with more characters than the terminal  width  are
X       not wrapped but are instead truncated.  When truncation occurs, this
X!      is indicated by a reverse video `60>' in the far right  column  of th
Ve
X!      terminal screen.  The RIGHT and LEFT arrow keys may be used  to view
X!      lines  which  extend  past the margins of the screen.  The -w option
X!      may be used to override this feature.  When a window is wrapped, the
X!      character `60\' will  appear in reverse video at the right edge of th
Ve
X!      window.
X `20
X       Commands are listed below.
X `20
X**************
X*** 62,71
X `20
X  OPTIONS
X `20
X!      -b   binary mode.  Use this switch when you  want to view files
X!           containing  8 bit characters.  MOST will  display the file
X!           16 bytes per line in hexidecimal notation.  A typical line
X!           looks like:
X `20
X             01000000 40001575 9C23A020 4000168D     ....@..u.#. @...
X `20
X--- 67,76 -----
X `20
X  OPTIONS
X `20
X!      -b   Binary mode.  Use  this  switch  when  you  want  to view files
X!           containing 8 bit characters.  MOST  will  display  the  file 16
X!           bytes per line in hexidecimal notation.   A  typical line looks
X!           like:
X `20
X             01000000 40001575 9C23A020 4000168D     ....@..u.#. @...
X `20
X**************
X*** 75,85
X `20
X       -c   Make searches case sensitive.  By default, they are not.
X `20
X!      -k   `60Kanji' option.  Ordinarily, MOST will go into binary mode
X!           if the file consists of  non-ascii  characters.  Sometimes
X!           this feature is not desirable since some  terminals have a
X!           special interpretation for  eight bit  characters.  The -k
X!           option turns off the automatic sensing.
X `20
X       -l   Use `5EL (formfeed) to clear screen.
X `20
X--- 80,90 -----
X `20
X       -c   Make searches case sensitive.  By default, they are not.
X `20
X!      -k   `60Kanji' option.  Ordinarily, MOST will go into  binary  mode i
Vf
X!           the  file  consists  of non-ascii characters.   Sometimes  this
X!           feature  is not desirable since some terminals have  a  special
X!           interpretation  for eight bit characters.  The -k option  turns
X!           off the automatic sensing.
X `20
X       -l   Use `5EL (formfeed) to clear screen.
X `20
X**************
X*** 83,89
X `20
X       -l   Use `5EL (formfeed) to clear screen.
X `20
X!      -s   Squeeze.  Replace multiple blank lines with a single blank
X            line.
X `20
X       -t   Display tabs as reversed video `60I'.  This option  is acted
X--- 88,94 -----
X `20
X       -l   Use `5EL (formfeed) to clear screen.
X `20
X!      -s   Squeeze.    Replace  multiple  blank  lines with a single blank
X            line.
X `20
X       -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
Vn
X**************
X*** 86,93
X       -s   Squeeze.  Replace multiple blank lines with a single blank
X            line.
X `20
X!      -t   Display tabs as reversed video `60I'.  This option  is acted
X!           on only when used with the -v option.
X `20
X       -v   Verbose.  Display control characters in reverse video, e.g.
X            control-A is displayed as  a  reverse video 'A'.   Normally
X--- 91,98 -----
X       -s   Squeeze.    Replace  multiple  blank  lines with a single blank
X            line.
X `20
X!      -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
Vn
X!           only when used with the -v option.
X `20
X       -v   Verbose.  Display  control  characters  in  reverse video, e.g.
X            CONTROL_H is displayed as a reverse video  'H'.   Normally MOST
X**************
X*** 89,97
X       -t   Display tabs as reversed video `60I'.  This option  is acted
X            on only when used with the -v option.
X `20
X!      -v   Verbose.  Display control characters in reverse video, e.g.
X!           control-A is displayed as  a  reverse video 'A'.   Normally
X!           MOST interprets control characters.
X `20
X       -w   Wrap lines within window.
X `20
X--- 94,104 -----
X       -t   Display tabs  as  reverse  video  `60I'.  This option is acted o
Vn
X            only when used with the -v option.
X `20
X!      -v   Verbose.  Display  control  characters  in  reverse video, e.g.
X!           CONTROL_H is displayed as a reverse video  'H'.   Normally MOST
X!           interprets  legitimate  control characters and escape sequences
X!           (see above)  and  does  not display ones which would not modify
X!           the screen output.
X `20
X       -w   Wrap lines within window.
X `20
X**************
X*** 101,111
X       +/string
X            Start up at the line containing the first occurence of string.
X `20
X!      +d   This switch should only be used if you want  the option to
X!           delete a file while  viewing it.  This  makes it easier to
X!           clean unwanted  files  out  of a  directory.   The file is
X!           deleted with the interactive  key sequence  `60:D' and  then
X!           confirming with `60y'.
X `20
X  USAGE
X    Environment
X--- 108,117 -----
X       +/string
X            Start up at the line containing the first occurence of string.
X `20
X!      +d   This switch should  only  be  used  if  you  want the option to
X!           delete a file while viewing it.   This makes it easier to clean
X!           unwanted files out of a directory.   The  file  is deleted with
X!           the interactive key sequence `60:D' and then confirming with `60
Vy'.
X `20
X  USAGE
X    Environment
X**************
X*** 114,124
X `20
X         MOST_SWITCHES
X `20
X!          This logical sets commonly used switches.   For example, you
X!          might wish to use MOST with the  -c  option so that searches
X!          are case sensitive.  Some people prefer to use MOST with the
X!          -s option so that excess blank lines  are not displayed.  On
X!          VMS this is normally done in the login.com through the line:
X `20
X                           $ define MOST_SWITCHES "-cs"
X `20
X--- 120,130 -----
X `20
X         MOST_SWITCHES
X `20
X!          This  logical  sets  commonly used switches.  For  example,  you
X!          might wish to use MOST with the -c option  so  that searches are
X!          case  sensitive.    Some people prefer to use MOST with  the  -s
X!          option  so  that  excess blank lines are not displayed.  On  VMS
X!          this is normally done in the login.com through the line:
X `20
X                           $ define MOST_SWITCHES "-cs"
X `20
X**************
X*** 124,137
X `20
X        MOST_EDITOR (VMS only)
X `20
X!          Set this logical to one of three callable editors (EDT, TPU,
X!          or EMACS), or to one that can be invoked via a  spawn (e.g.,
X!          SEDT).  The  default  is  EDT.  Since  VMS  does not support
X!          callable EMACS, MOST will attempt to attach to a kept EMACS.
X!          For this case, MOST looks for the logical name EMACS_PID and
X!          attaches to the process with that pid.  It then  defines the
X!          logicals EMACS_FILE_NAME and EMACS_FILE_LINE which EMACS can
X!          check upon attaching to it.
X `20
X        MOST_HELP
X `20
X--- 130,143 -----
X `20
X        MOST_EDITOR (VMS only)
X `20
X!          Set  this logical to one of three callable editors (EDT, TPU, or
X!          EMACS),  or to one that can be invoked via a spawn (e.g., SEDT).
X!          The default is  EDT.  Since VMS does not support callable EMACS,
X!          MOST will attempt to  attach  to  a  kept EMACS.  For this case,
X!          MOST looks for the logical  name  EMACS_PID  and attaches to the
X!          process  with  that  pid.    It    then   defines  the  logicals
X!          EMACS_FILE_NAME  and EMACS_FILE_LINE which EMACS can check  upon
X!          attaching to it.
X `20
X        MOST_HELP
X `20
X**************
X*** 135,146
X `20
X        MOST_HELP
X `20
X!          This logical should point to the MOST helpfile (MOST.DOC_FM).
X!          If help.c was compiled  with  the  logical  MOST_HELP_USE_DOC
X!          defined the  help  command  (H or ?)  will invoke a window in
X!          which the helpfile will be placed. If the compilation logical
X!          was not defined, a short help summary  will be displayed, and
X!          there is no need to define the MOST_HELP environment logical.
X `20
X    Command Usage
X `20
X--- 141,152 -----
X `20
X        MOST_HELP
X `20
X!          This  logical  should point to the MOST helpfile  (MOST.DOC_FM).
X!          If  help.c  was  compiled  with  the  logical  MOST_HELP_USE_DOC
X!          defined, the help command (H or ?) will invoke a window in which
X!          the helpfile will be placed.  If the compilation logical was not
X!          defined, a short help summary will be displayed, and there is no
X!          need to define the MOST_HELP environment logical.
X `20
X    Command Usage
X `20
X**************
X*** 144,151
X `20
X    Command Usage
X `20
X!      The  commands  take effect  immediately.  It is not necessary to
X!      type a carriage return.  Command keys are case-insensitive.
X `20
X       In the  following commands,  #  is  a  numerical argument (1  by
X       default).   A '->' is used to indicate that a  pair  of  command
X--- 150,157 -----
X `20
X    Command Usage
X `20
X!      The commands take effect immediately.  It is not necessary to type a
X!      carriage return.  Command keys are case-insensitive.
X `20
X       In the following commands, # is  a  numerical  argument  (1 or 0, as
X       appropriate, by default).  A '->' is used to indicate that a pair of
X**************
X*** 147,155
X       The  commands  take effect  immediately.  It is not necessary to
X       type a carriage return.  Command keys are case-insensitive.
X `20
X!      In the  following commands,  #  is  a  numerical argument (1  by
X!      default).   A '->' is used to indicate that a  pair  of  command
X!      keys should be entered in sequence.
X `20
X       NEXT_SCREEN, N, CONTROL_N, SPACE
X `20
X--- 153,161 -----
X       The commands take effect immediately.  It is not necessary to type a
X       carriage return.  Command keys are case-insensitive.
X `20
X!      In the following commands, # is  a  numerical  argument  (1 or 0, as
X!      appropriate, by default).  A '->' is used to indicate that a pair of
X!      command keys should be entered in sequence.
X `20
X       NEXT_SCREEN, N, CONTROL_N, SPACE
X `20
X**************
X*** 153,159
X `20
X       NEXT_SCREEN, N, CONTROL_N, SPACE
X `20
X!                Display another windowful, or jump # windowfuls if # is
X                 specified.
X `20
X       PREV_SCREEN, P, CONTROL_P
X--- 159,165 -----
X `20
X       NEXT_SCREEN, N, CONTROL_N, SPACE
X `20
X!                Display  another windowful, or jump # windowfuls if  #  is
X                 specified.
X `20
X       PREV_SCREEN, P, CONTROL_P
X**************
X*** 158,164
X `20
X       PREV_SCREEN, P, CONTROL_P
X `20
X!                Skip back  #  windowfuls  and  then display a windowful.
X `20
X       DOWN_ARROW, D, CONTROL_D, J, CONTROL_J
X `20
X--- 164,170 -----
X `20
X       PREV_SCREEN, P, CONTROL_P
X `20
X!                Skip back # windowfuls and then display a windowful.
X `20
X       DOWN_ARROW, D, CONTROL_D, J, CONTROL_J
X `20
X**************
X*** 170,176
X `20
X       RIGHT_ARROW, >, TAB, CONTROL_I
X `20
X!                Scroll window left 59# columns to view lines that are
X                 beyond the right margin of the window.
X `20
X       LEFT_ARROW, <
X--- 176,182 -----
X `20
X       RIGHT_ARROW, >, TAB, CONTROL_I
X `20
X!                Scroll  window  left  59#  columns to view lines that  are
X                 beyond the right margin of the window.
X `20
X       LEFT_ARROW, <
X**************
X*** 175,181
X `20
X       LEFT_ARROW, <
X `20
X!                Scroll window right 59# columns to view lines that are
X                 beyond the left margin of the window.
X `20
X       CONTROL_W, CONTROL_R
X--- 181,187 -----
X `20
X       LEFT_ARROW, <
X `20
X!                Scroll  window  right  59#  columns to view lines that are
X                 beyond the left margin of the window.
X `20
X       CONTROL_W, CONTROL_R
X**************
X*** 182,189
X `20
X                 Redraw the window.
X `20
X!      G         If # is not specified, then prompt for a  line number
X!                then jump to that line otherwise just jump to line #.
X `20
X       %         If # is not specified, then prompt for a percent number
X                 then jump to that  percent  of the file  otherwise just
X--- 188,195 -----
X `20
X                 Redraw the window.
X `20
X!      G         If # is not specified, then prompt for a line number  then
X!                jump to that line, otherwise just jump to line #.
X `20
X       %         If  #  is  not specified, then prompt for a percent number
X                 then jump to that percent of the file, otherwise just jump
X**************
X*** 185,193
X       G         If # is not specified, then prompt for a  line number
X                 then jump to that line otherwise just jump to line #.
X `20
X!      %         If # is not specified, then prompt for a percent number
X!                then jump to that  percent  of the file  otherwise just
X!                jump to # percent of the file.
X `20
X       W         If the current screen width is  80,  make  it  132  and
X                 vica-versa.  For other values, this command is ignored.
X--- 191,199 -----
X       G         If # is not specified, then prompt for a line number  then
X                 jump to that line, otherwise just jump to line #.
X `20
X!      %         If  #  is  not specified, then prompt for a percent number
+-+-+-+-+-+-+-+-  END  OF PART 2 +-+-+-+-+-+-+-+-
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads