home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume13 / kterm / patch2 / PATCH < prev   
Text File  |  1991-05-30  |  29KB  |  793 lines

  1. *** kterm-4.1.2.7/KTerm.ad.ORIG    Sun May 26 21:11:14 1991
  2. --- KTerm.ad    Mon May 27 04:32:57 1991
  3. ***************
  4. *** 35,41 ****
  5.   *vtMenu*cursesemul*Label:    Enable Curses Emulation
  6.   *vtMenu*visualbell*Label:    Enable Visual Bell
  7.   *vtMenu*marginbell*Label:    Enable Margin Bell
  8. ! *vtMenu*tabnlpres*Label:    Enable TAB/NL Preservation
  9.   *vtMenu*altscreen*Label:    Show Alternate Screen
  10.   *vtMenu*softreset*Label:    Do Soft Reset
  11.   *vtMenu*hardreset*Label:    Do Full Reset
  12. --- 35,42 ----
  13.   *vtMenu*cursesemul*Label:    Enable Curses Emulation
  14.   *vtMenu*visualbell*Label:    Enable Visual Bell
  15.   *vtMenu*marginbell*Label:    Enable Margin Bell
  16. ! *vtMenu*tabpres*Label:        Enable TAB Preservation
  17. ! *vtMenu*nlpres*Label:        Enable NL Preservation
  18.   *vtMenu*altscreen*Label:    Show Alternate Screen
  19.   *vtMenu*softreset*Label:    Do Soft Reset
  20.   *vtMenu*hardreset*Label:    Do Full Reset
  21. ***************
  22. *** 159,170 ****
  23.   *VT100*lineSpace:        0
  24.   
  25.   *VT100*Color0:            Black
  26. ! *VT100*Color1:            Blue
  27. ! *VT100*Color2:            Red
  28. ! *VT100*Color3:            Magenta
  29. ! *VT100*Color4:            Green
  30. ! *VT100*Color5:            Cyan
  31. ! *VT100*Color6:            Yellow
  32.   *VT100*Color7:            White
  33.   
  34.   *tekMenu.Label:            Tek Options
  35. --- 160,171 ----
  36.   *VT100*lineSpace:        0
  37.   
  38.   *VT100*Color0:            Black
  39. ! *VT100*Color1:            Red
  40. ! *VT100*Color2:            Green
  41. ! *VT100*Color3:            Yellow
  42. ! *VT100*Color4:            Blue
  43. ! *VT100*Color5:            Magenta
  44. ! *VT100*Color6:            Cyan
  45.   *VT100*Color7:            White
  46.   
  47.   *tekMenu.Label:            Tek Options
  48. *** kterm-4.1.2.7/README.ORIG    Sun May 26 23:10:02 1991
  49. --- README    Sun May 26 23:12:26 1991
  50. ***************
  51. *** 186,193 ****
  52.   
  53.     Alton Harkcom (for help updating the Japanese manual page)
  54.   
  55.   
  56. !                 Sat May  4 14:11:37 1991
  57.   
  58.                   Internet: mleisher@nmsu.edu
  59.                   Bitnet  : mleisher@nmsu.bitnet
  60. --- 186,196 ----
  61.   
  62.     Alton Harkcom (for help updating the Japanese manual page)
  63.   
  64. +   Peter Wisnovsky of Sharebase
  65.   
  66. !   Martin Walter from University of Freiburg
  67. !                 Sun May 26 23:09:44 1991
  68.   
  69.                   Internet: mleisher@nmsu.edu
  70.                   Bitnet  : mleisher@nmsu.bitnet
  71. *** kterm-4.1.2.7/button.c.ORIG    Sun May 26 21:39:22 1991
  72. --- button.c    Sun May 26 21:39:54 1991
  73. ***************
  74. *** 1595,1604 ****
  75.               lp = SaveText(screen, crow, ccol, screen->max_col, lp);
  76.   
  77.               /*
  78. !              * Only preserve tabs and newlines if the flag is set, otherwise
  79. !              * act in the normal fashion.
  80.                */
  81. !             if (screen->tabnlpres != True) {
  82.   #ifdef KTERM
  83.           lp->code = '\n';    /* put in newline at end of line */
  84.           lp++->gset = GSET_ASCII;
  85. --- 1595,1606 ----
  86.               lp = SaveText(screen, crow, ccol, screen->max_col, lp);
  87.   
  88.               /*
  89. !              * Only preserve newlines if the flag is True, otherwise
  90. !              * act in the normal fashion.  Skip adding newlines here
  91. !              * if we want newlines preserved.  They will be handled
  92. !              * in the SaveText routine.
  93.                */
  94. !             if (screen->nlpres != True) {
  95.   #ifdef KTERM
  96.           lp->code = '\n';    /* put in newline at end of line */
  97.           lp++->gset = GSET_ASCII;
  98. ***************
  99. *** 1611,1620 ****
  100.                   lp = SaveText(screen, i, 0, screen->max_col, lp);
  101.   
  102.                   /*
  103. !                  * Only preserve tabs and newlines if the flag is set,
  104. !                  * otherwise act in the normal fashion.
  105.                    */
  106. !                 if (screen->tabnlpres != True) {
  107.   #ifdef KTERM
  108.                       lp->code = '\n';
  109.                       lp++->gset = GSET_ASCII;
  110. --- 1613,1624 ----
  111.                   lp = SaveText(screen, i, 0, screen->max_col, lp);
  112.   
  113.                   /*
  114. !                  * Only preserve newlines if the flag is True, otherwise
  115. !                  * act in the normal fashion.  Skip adding newlines here
  116. !                  * if we want newlines preserved.  They will be handled
  117. !                  * in the SaveText routine.
  118.                    */
  119. !                 if (screen->nlpres != True) {
  120.   #ifdef KTERM
  121.                       lp->code = '\n';
  122.                       lp++->gset = GSET_ASCII;
  123. ***************
  124. *** 1978,1984 ****
  125.   #ifdef KTERM
  126.       register Bchr *ch = screen->buf[row + screen->topline];
  127.       register Char g;
  128. !         register int tabnlpres = screen->tabnlpres;
  129.   # ifdef KTERM_HANZI
  130.           /*
  131.            * Need to check to see if a Big5 font is in use also.
  132. --- 1982,1989 ----
  133.   #ifdef KTERM
  134.       register Bchr *ch = screen->buf[row + screen->topline];
  135.       register Char g;
  136. !         register int tabpres = screen->tabpres;
  137. !         register int nlpres = screen->nlpres;
  138.   # ifdef KTERM_HANZI
  139.           /*
  140.            * Need to check to see if a Big5 font is in use also.
  141. ***************
  142. *** 1998,2020 ****
  143.            * Just hoping that there will always be enough space allocated for
  144.            * new lines.
  145.            */
  146. !         if (tabnlpres != False && ch[ecol].attr & NL_TAG)
  147.             ecol++;
  148.       for (i = scol; i < ecol; i++) {
  149.   #ifdef KTERM
  150.           c = ch[i].code & ~NEEDMAP;
  151.           g = ch[i].gset;
  152. !                 if (tabnlpres != False && ch[i].attr & TAB_TAG) {
  153.                       lp->code = '\t';
  154.                       lp->gset = GSET_ASCII;
  155.               i++;
  156.                       while(i < ecol && ch[i].code == '\0' &&
  157. !               !(ch[i].attr & (TAB_TAG|NL_TAG)))
  158.                         i++;
  159.                       if (i < ecol &&
  160. !             (ch[i].code != '\0' || ch[i].attr & (TAB_TAG|NL_TAG)))
  161.                         i--;
  162. !                 } else if (tabnlpres != False && ch[i].attr & NL_TAG) {
  163.                       lp->code = '\n';
  164.                       lp->gset = GSET_ASCII;
  165.           } else if (c < ' ' || c == 0x7f && !(g & CS96)) {
  166. --- 2003,2025 ----
  167.            * Just hoping that there will always be enough space allocated for
  168.            * new lines.
  169.            */
  170. !         if (nlpres != False && ch[ecol].attr & NL_TAG)
  171.             ecol++;
  172.       for (i = scol; i < ecol; i++) {
  173.   #ifdef KTERM
  174.           c = ch[i].code & ~NEEDMAP;
  175.           g = ch[i].gset;
  176. !                 if (tabpres != False && ch[i].attr & TAB_TAG) {
  177.                       lp->code = '\t';
  178.                       lp->gset = GSET_ASCII;
  179.               i++;
  180.                       while(i < ecol && ch[i].code == '\0' &&
  181. !               !(ch[i].attr & TAB_TAG))
  182.                         i++;
  183.                       if (i < ecol &&
  184. !             (ch[i].code != '\0' || ch[i].attr & TAB_TAG))
  185.                         i--;
  186. !                 } else if (nlpres != False && ch[i].attr & NL_TAG) {
  187.                       lp->code = '\n';
  188.                       lp->gset = GSET_ASCII;
  189.           } else if (c < ' ' || c == 0x7f && !(g & CS96)) {
  190. *** kterm-4.1.2.7/charproc.c.ORIG    Sun May 26 21:28:19 1991
  191. --- charproc.c    Mon May 27 04:18:20 1991
  192. ***************
  193. *** 119,125 ****
  194.   #define    XtNlogInhibit        "logInhibit"
  195.   #define    XtNloginShell        "loginShell"
  196.   #define    XtNmarginBell        "marginBell"
  197. ! #define XtNtabNlPreserve    "tabNlPreserve"
  198.   #define    XtNpointerColor        "pointerColor"
  199.   #define XtNpointerColorBackground "pointerColorBackground"
  200.   #define    XtNpointerShape        "pointerShape"
  201. --- 119,126 ----
  202.   #define    XtNlogInhibit        "logInhibit"
  203.   #define    XtNloginShell        "loginShell"
  204.   #define    XtNmarginBell        "marginBell"
  205. ! #define XtNtabPreserve        "tabPreserve"
  206. ! #define XtNnlPreserve        "nlPreserve"
  207.   #define    XtNpointerColor        "pointerColor"
  208.   #define XtNpointerColorBackground "pointerColorBackground"
  209.   #define    XtNpointerShape        "pointerShape"
  210. ***************
  211. *** 175,180 ****
  212. --- 176,191 ----
  213.   #define    XtCC132            "C132"
  214.   #define XtCCharClass        "CharClass"
  215.   #define    XtCCurses        "Curses"
  216. + #ifdef    COLOR_TEXT    /* mukawa */
  217. + #define    XtCColor0        "Color0"
  218. + #define    XtCColor1        "Color1"
  219. + #define    XtCColor2        "Color2"
  220. + #define    XtCColor3        "Color3"
  221. + #define    XtCColor4        "Color4"
  222. + #define    XtCColor5        "Color5"
  223. + #define    XtCColor6        "Color6"
  224. + #define    XtCColor7        "Color7"
  225. + #endif    /* COLOR_TEXT */
  226.   #define XtCCutNewline        "CutNewline"
  227.   #define XtCCutToBeginningOfLine    "CutToBeginningOfLine"
  228.   #define XtCEightBitInput    "EightBitInput"
  229. ***************
  230. *** 184,190 ****
  231.   #define    XtCLogging        "Logging"
  232.   #define    XtCLogInhibit        "LogInhibit"
  233.   #define    XtCLoginShell        "LoginShell"
  234. ! #define XtCTabNlPreserve    "TabNlPreserve"
  235.   #define    XtCMarginBell        "MarginBell"
  236.   #define XtCMultiClickTime    "MultiClickTime"
  237.   #define    XtCMultiScroll        "MultiScroll"
  238. --- 195,202 ----
  239.   #define    XtCLogging        "Logging"
  240.   #define    XtCLogInhibit        "LogInhibit"
  241.   #define    XtCLoginShell        "LoginShell"
  242. ! #define XtCTabPreserve        "TabPreserve"
  243. ! #define XtCNlPreserve        "NlPreserve"
  244.   #define    XtCMarginBell        "MarginBell"
  245.   #define XtCMultiClickTime    "MultiClickTime"
  246.   #define    XtCMultiScroll        "MultiScroll"
  247. ***************
  248. *** 398,404 ****
  249.       { "set-allow132",        HandleAllow132 },
  250.       { "set-cursesemul",        HandleCursesEmul },
  251.       { "set-marginbell",        HandleMarginBell },
  252. !     { "set-tabnlpres",        HandleTabNlPreserve },
  253.       { "set-altscreen",        HandleAltScreen },
  254.       { "soft-reset",        HandleSoftReset },
  255.       { "hard-reset",        HandleHardReset },
  256. --- 410,417 ----
  257.       { "set-allow132",        HandleAllow132 },
  258.       { "set-cursesemul",        HandleCursesEmul },
  259.       { "set-marginbell",        HandleMarginBell },
  260. !     { "set-tabpres",        HandleTabPreserve },
  261. !     { "set-nlpres",        HandleNLPreserve },
  262.       { "set-altscreen",        HandleAltScreen },
  263.       { "soft-reset",        HandleSoftReset },
  264.       { "hard-reset",        HandleHardReset },
  265. ***************
  266. *** 465,471 ****
  267.    * The following two resources need to be set in the default app
  268.    * resources file or the users app resources file.  They are
  269.    * directory and filename info on the Big5 <-> GuoBiao conversion
  270. !  * tables
  271.    */
  272.   {XtNhanziGbToBigTable, XtCHanziGbToBigTable, XtRString, sizeof(char *),
  273.      XtOffset(XtermWidget, misc.hz_gb2big_tbl), XtRString,
  274. --- 478,484 ----
  275.    * The following two resources need to be set in the default app
  276.    * resources file or the users app resources file.  They are
  277.    * directory and filename info on the Big5 <-> GuoBiao conversion
  278. !  * tables.
  279.    */
  280.   {XtNhanziGbToBigTable, XtCHanziGbToBigTable, XtRString, sizeof(char *),
  281.      XtOffset(XtermWidget, misc.hz_gb2big_tbl), XtRString,
  282. ***************
  283. *** 484,489 ****
  284. --- 497,508 ----
  285.   {XtNhangulMode, XtCHangulMode, XtRString, sizeof(char *),
  286.       XtOffset(XtermWidget, misc.hg_m), XtRString,
  287.       (caddr_t) NULL},
  288. + /*
  289. +  * The following resource needs to be set in the default app
  290. +  * resources file or the users app resources file.  It is
  291. +  * directory and filename info on the N-byte <-> KS conversion
  292. +  * table.
  293. +  */
  294.   {XtNhangulNtoKSTable, XtCHangulNtoKSTable, XtRString, sizeof(char *),
  295.      XtOffset(XtermWidget, misc.hg_n2ks_tbl), XtRString,
  296.      (caddr_t) NULL},
  297. ***************
  298. *** 524,551 ****
  299.       XtOffset(XtermWidget, screen.cursorcolor),
  300.       XtRString, "XtDefaultForeground"},
  301.   #ifdef    COLOR_TEXT    /* mukawa */
  302. ! {XtNcolor0, XtCForeground, XtRPixel, sizeof(Pixel),
  303.       XtOffset(XtermWidget, screen.textcolor[0]),
  304.       XtRString, "XtDefaultForeground"},
  305. ! {XtNcolor1, XtCForeground, XtRPixel, sizeof(Pixel),
  306.       XtOffset(XtermWidget, screen.textcolor[1]),
  307.       XtRString, "XtDefaultForeground"},
  308. ! {XtNcolor2, XtCForeground, XtRPixel, sizeof(Pixel),
  309.       XtOffset(XtermWidget, screen.textcolor[2]),
  310.       XtRString, "XtDefaultForeground"},
  311. ! {XtNcolor3, XtCForeground, XtRPixel, sizeof(Pixel),
  312.       XtOffset(XtermWidget, screen.textcolor[3]),
  313.       XtRString, "XtDefaultForeground"},
  314. ! {XtNcolor4, XtCForeground, XtRPixel, sizeof(Pixel),
  315.       XtOffset(XtermWidget, screen.textcolor[4]),
  316.       XtRString, "XtDefaultForeground"},
  317. ! {XtNcolor5, XtCForeground, XtRPixel, sizeof(Pixel),
  318.       XtOffset(XtermWidget, screen.textcolor[5]),
  319.       XtRString, "XtDefaultForeground"},
  320. ! {XtNcolor6, XtCForeground, XtRPixel, sizeof(Pixel),
  321.       XtOffset(XtermWidget, screen.textcolor[6]),
  322.       XtRString, "XtDefaultForeground"},
  323. ! {XtNcolor7, XtCForeground, XtRPixel, sizeof(Pixel),
  324.       XtOffset(XtermWidget, screen.textcolor[7]),
  325.       XtRString, "XtDefaultForeground"},
  326.   #endif    /* COLOR_TEXT */
  327. --- 543,570 ----
  328.       XtOffset(XtermWidget, screen.cursorcolor),
  329.       XtRString, "XtDefaultForeground"},
  330.   #ifdef    COLOR_TEXT    /* mukawa */
  331. ! {XtNcolor0, XtCColor0, XtRPixel, sizeof(Pixel),
  332.       XtOffset(XtermWidget, screen.textcolor[0]),
  333.       XtRString, "XtDefaultForeground"},
  334. ! {XtNcolor1, XtCColor1, XtRPixel, sizeof(Pixel),
  335.       XtOffset(XtermWidget, screen.textcolor[1]),
  336.       XtRString, "XtDefaultForeground"},
  337. ! {XtNcolor2, XtCColor2, XtRPixel, sizeof(Pixel),
  338.       XtOffset(XtermWidget, screen.textcolor[2]),
  339.       XtRString, "XtDefaultForeground"},
  340. ! {XtNcolor3, XtCColor3, XtRPixel, sizeof(Pixel),
  341.       XtOffset(XtermWidget, screen.textcolor[3]),
  342.       XtRString, "XtDefaultForeground"},
  343. ! {XtNcolor4, XtCColor4, XtRPixel, sizeof(Pixel),
  344.       XtOffset(XtermWidget, screen.textcolor[4]),
  345.       XtRString, "XtDefaultForeground"},
  346. ! {XtNcolor5, XtCColor5, XtRPixel, sizeof(Pixel),
  347.       XtOffset(XtermWidget, screen.textcolor[5]),
  348.       XtRString, "XtDefaultForeground"},
  349. ! {XtNcolor6, XtCColor6, XtRPixel, sizeof(Pixel),
  350.       XtOffset(XtermWidget, screen.textcolor[6]),
  351.       XtRString, "XtDefaultForeground"},
  352. ! {XtNcolor7, XtCColor7, XtRPixel, sizeof(Pixel),
  353.       XtOffset(XtermWidget, screen.textcolor[7]),
  354.       XtRString, "XtDefaultForeground"},
  355.   #endif    /* COLOR_TEXT */
  356. ***************
  357. *** 582,589 ****
  358.   {XtNmarginBell, XtCMarginBell, XtRBoolean, sizeof(Boolean),
  359.       XtOffset(XtermWidget, screen.marginbell),
  360.       XtRBoolean, (caddr_t) &defaultFALSE},
  361. ! {XtNtabNlPreserve, XtCTabNlPreserve, XtRBoolean, sizeof(Boolean),
  362. !     XtOffset(XtermWidget, screen.tabnlpres),
  363.       XtRBoolean, (caddr_t) &defaultFALSE},
  364.   {XtNpointerColor, XtCForeground, XtRPixel, sizeof(Pixel),
  365.       XtOffset(XtermWidget, screen.mousecolor),
  366. --- 601,611 ----
  367.   {XtNmarginBell, XtCMarginBell, XtRBoolean, sizeof(Boolean),
  368.       XtOffset(XtermWidget, screen.marginbell),
  369.       XtRBoolean, (caddr_t) &defaultFALSE},
  370. ! {XtNtabPreserve, XtCTabPreserve, XtRBoolean, sizeof(Boolean),
  371. !     XtOffset(XtermWidget, screen.tabpres),
  372. !     XtRBoolean, (caddr_t) &defaultFALSE},
  373. ! {XtNnlPreserve, XtCNlPreserve, XtRBoolean, sizeof(Boolean),
  374. !     XtOffset(XtermWidget, screen.nlpres),
  375.       XtRBoolean, (caddr_t) &defaultFALSE},
  376.   {XtNpointerColor, XtCForeground, XtRPixel, sizeof(Pixel),
  377.       XtOffset(XtermWidget, screen.mousecolor),
  378. ***************
  379. *** 3469,3475 ****
  380.      new->screen.jumpscroll = request->screen.jumpscroll;
  381.      new->screen.logfile = request->screen.logfile;
  382.      new->screen.marginbell = request->screen.marginbell;
  383. !    new->screen.tabnlpres = request->screen.tabnlpres;
  384.      new->screen.mousecolor = request->screen.mousecolor;
  385.      new->screen.mousecolorback = request->screen.mousecolorback;
  386.      new->screen.multiscroll = request->screen.multiscroll;
  387. --- 3491,3498 ----
  388.      new->screen.jumpscroll = request->screen.jumpscroll;
  389.      new->screen.logfile = request->screen.logfile;
  390.      new->screen.marginbell = request->screen.marginbell;
  391. !    new->screen.tabpres = request->screen.tabpres;
  392. !    new->screen.nlpres = request->screen.nlpres;
  393.      new->screen.mousecolor = request->screen.mousecolor;
  394.      new->screen.mousecolorback = request->screen.mousecolorback;
  395.      new->screen.multiscroll = request->screen.multiscroll;
  396. *** kterm-4.1.2.7/kterm.man.ORIG    Sun May 26 22:49:40 1991
  397. --- kterm.man    Sun May 26 22:54:01 1991
  398. ***************
  399. *** 100,105 ****
  400. --- 100,121 ----
  401.   This option indicates that \fIkterm\fP should connect to the X server
  402.   without KEEPALIVE socket option.
  403.   .TP 8
  404. + .BI \-np
  405. + This option indicates that \fIkterm\fP should preserve newlines (^J)
  406. + in selections.
  407. + .TP 8
  408. + .BI \+np
  409. + This option indicates that \fIkterm\fP should not preserve newlines (^J)
  410. + in selections.
  411. + .TP 8
  412. + .BI \-tp
  413. + This option indicates that \fIkterm\fP should preserve tabs (^I)
  414. + in selections.
  415. + .TP 8
  416. + .BI \+tp
  417. + This option indicates that \fIkterm\fP should not preserve tabs (^I)
  418. + in selections.
  419. + .TP 8
  420.   .BI \-lang " language"
  421.   This option sets the language of the text being displayed.
  422.   .br
  423. *** kterm-4.1.2.7/main.c.ORIG    Sun May 26 21:10:37 1991
  424. --- main.c    Sun May 26 21:13:25 1991
  425. ***************
  426. *** 467,472 ****
  427. --- 467,474 ----
  428.   {"-mc",        "*multiClickTime", XrmoptionSepArg,    (caddr_t) NULL},
  429.   {"-ms",        "*pointerColor",XrmoptionSepArg,    (caddr_t) NULL},
  430.   {"-nb",        "*nMarginBell",    XrmoptionSepArg,    (caddr_t) NULL},
  431. + {"-np",        "*nlPreserve",    XrmoptionNoArg,        (caddr_t) "on"},
  432. + {"+np",        "*nlPreserve",    XrmoptionNoArg,        (caddr_t) "off"},
  433.   {"-rw",        "*reverseWrap",    XrmoptionNoArg,        (caddr_t) "on"},
  434.   {"+rw",        "*reverseWrap",    XrmoptionNoArg,        (caddr_t) "off"},
  435.   {"-s",        "*multiScroll",    XrmoptionNoArg,        (caddr_t) "on"},
  436. ***************
  437. *** 490,497 ****
  438.   {"+t",        "*tekStartup",    XrmoptionNoArg,        (caddr_t) "off"},
  439.   {"-tm",        "*ttyModes",    XrmoptionSepArg,    (caddr_t) NULL},
  440.   {"-tn",        "*termName",    XrmoptionSepArg,    (caddr_t) NULL},
  441. ! {"-tnp",    "*tabNlPreserve", XrmoptionNoArg,    (caddr_t) "on"},
  442. ! {"+tnp",    "*tabNlPreserve", XrmoptionNoArg,    (caddr_t) "off"},
  443.   {"-ut",        "*utmpInhibit",    XrmoptionNoArg,        (caddr_t) "on"},
  444.   {"+ut",        "*utmpInhibit",    XrmoptionNoArg,        (caddr_t) "off"},
  445.   {"-vb",        "*visualBell",    XrmoptionNoArg,        (caddr_t) "on"},
  446. --- 492,499 ----
  447.   {"+t",        "*tekStartup",    XrmoptionNoArg,        (caddr_t) "off"},
  448.   {"-tm",        "*ttyModes",    XrmoptionSepArg,    (caddr_t) NULL},
  449.   {"-tn",        "*termName",    XrmoptionSepArg,    (caddr_t) NULL},
  450. ! {"-tp",        "*tabPreserve",    XrmoptionNoArg,        (caddr_t) "on"},
  451. ! {"+tp",        "*tabPreserve",    XrmoptionNoArg,        (caddr_t) "off"},
  452.   {"-ut",        "*utmpInhibit",    XrmoptionNoArg,        (caddr_t) "on"},
  453.   {"+ut",        "*utmpInhibit",    XrmoptionNoArg,        (caddr_t) "off"},
  454.   {"-vb",        "*visualBell",    XrmoptionNoArg,        (caddr_t) "on"},
  455. *** kterm-4.1.2.7/menu.c.ORIG    Sun May 26 21:17:39 1991
  456. --- menu.c    Sun May 26 21:50:20 1991
  457. ***************
  458. *** 31,37 ****
  459.     do_reversevideo(), do_autowrap(), do_reversewrap(), do_autolinefeed(),
  460.     do_appcursor(), do_appkeypad(), do_scrollkey(), do_scrollttyoutput(),
  461.     do_allow132(), do_cursesemul(), do_marginbell(), do_tekshow(),
  462. !   do_tabnlpres(),
  463.     do_altscreen(), do_softreset(), do_hardreset(), do_tekmode(), do_vthide(), 
  464.     do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(), 
  465.     do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(), 
  466. --- 31,37 ----
  467.     do_reversevideo(), do_autowrap(), do_reversewrap(), do_autolinefeed(),
  468.     do_appcursor(), do_appkeypad(), do_scrollkey(), do_scrollttyoutput(),
  469.     do_allow132(), do_cursesemul(), do_marginbell(), do_tekshow(),
  470. !   do_tabpres(), do_nlpres(),
  471.     do_altscreen(), do_softreset(), do_hardreset(), do_tekmode(), do_vthide(), 
  472.     do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(), 
  473.     do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(), 
  474. ***************
  475. *** 86,102 ****
  476.       { "cursesemul",    do_cursesemul, NULL },        /* 11 */
  477.       { "visualbell",    do_visualbell, NULL },        /* 12 */
  478.       { "marginbell",    do_marginbell, NULL },        /* 13 */
  479. !     { "tabnlpres",    do_tabnlpres, NULL },        /* 14 */
  480. !     { "altscreen",    do_altscreen, NULL },        /* 15 */
  481. !     { "line1",        NULL, NULL },            /* 16 */
  482. !     { "softreset",    do_softreset, NULL },        /* 17 */
  483. !     { "hardreset",    do_hardreset, NULL },        /* 18 */
  484. !     { "line2",        NULL, NULL },            /* 19 */
  485. !     { "tekshow",    do_tekshow, NULL },        /* 20 */
  486. !     { "tekmode",    do_tekmode, NULL },        /* 21 */
  487.   #if defined(STATUSLINE) || defined(KTERM_KANJI)
  488. !     { "vthide",        do_vthide, NULL },        /* 22 */
  489. !     { "line3",        NULL, NULL },            /* 23 */
  490.   #ifdef STATUSLINE
  491.       { "statusline",    do_statusline, NULL },
  492.       { "reversestatus",    do_reversestatus, NULL },
  493. --- 86,103 ----
  494.       { "cursesemul",    do_cursesemul, NULL },        /* 11 */
  495.       { "visualbell",    do_visualbell, NULL },        /* 12 */
  496.       { "marginbell",    do_marginbell, NULL },        /* 13 */
  497. !     { "tabpres",    do_tabpres, NULL },        /* 14 */
  498. !     { "nlpres",        do_nlpres, NULL },        /* 15 */
  499. !     { "altscreen",    do_altscreen, NULL },        /* 16 */
  500. !     { "line1",        NULL, NULL },            /* 17 */
  501. !     { "softreset",    do_softreset, NULL },        /* 18 */
  502. !     { "hardreset",    do_hardreset, NULL },        /* 19 */
  503. !     { "line2",        NULL, NULL },            /* 20 */
  504. !     { "tekshow",    do_tekshow, NULL },        /* 21 */
  505. !     { "tekmode",    do_tekmode, NULL },        /* 22 */
  506.   #if defined(STATUSLINE) || defined(KTERM_KANJI)
  507. !     { "vthide",        do_vthide, NULL },        /* 23 */
  508. !     { "line3",        NULL, NULL },            /* 24 */
  509.   #ifdef STATUSLINE
  510.       { "statusline",    do_statusline, NULL },
  511.       { "reversestatus",    do_reversestatus, NULL },
  512. ***************
  513. *** 223,229 ****
  514.           update_visualbell();
  515.   #endif
  516.           update_marginbell();
  517. !             update_tabnlpres();
  518.   #ifdef STATUSLINE
  519.           update_statusline();
  520.           set_reversestatus_sensitivity();
  521. --- 224,231 ----
  522.           update_visualbell();
  523.   #endif
  524.           update_marginbell();
  525. !             update_tabpres();
  526. !             update_nlpres();
  527.   #ifdef STATUSLINE
  528.           update_statusline();
  529.           set_reversestatus_sensitivity();
  530. ***************
  531. *** 685,700 ****
  532.       update_marginbell();
  533.   }
  534.   
  535. ! static void do_tabnlpres (gw, closure, data)
  536.        Widget gw;
  537.        caddr_t closure, data;
  538.   {
  539.       register TScreen *screen = &term->screen;
  540.   
  541. !     screen->tabnlpres = !screen->tabnlpres;
  542. !     update_tabnlpres();
  543.   }
  544.   
  545.   static void handle_tekshow (gw, allowswitch)
  546.       Widget gw;
  547.       Bool allowswitch;
  548. --- 687,712 ----
  549.       update_marginbell();
  550.   }
  551.   
  552. ! static void do_tabpres (gw, closure, data)
  553.        Widget gw;
  554.        caddr_t closure, data;
  555.   {
  556.       register TScreen *screen = &term->screen;
  557.   
  558. !     screen->tabpres = !screen->tabpres;
  559. !     update_tabpres();
  560.   }
  561.   
  562. + static void do_nlpres (gw, closure, data)
  563. +      Widget gw;
  564. +      caddr_t closure, data;
  565. + {
  566. +     register TScreen *screen = &term->screen;
  567. +     screen->nlpres = !screen->nlpres;
  568. +     update_nlpres();
  569. + }
  570.   static void handle_tekshow (gw, allowswitch)
  571.       Widget gw;
  572.       Bool allowswitch;
  573. ***************
  574. *** 1362,1374 ****
  575.              params, *param_count, w, NULL, NULL);
  576.   }
  577.   
  578. ! void HandleTabNlPreserve(w, event, params, param_count)
  579.       Widget w;
  580.       XEvent *event;
  581.       String *params;
  582.       Cardinal *param_count;
  583.   {
  584. !     handle_toggle (do_tabnlpres, (int) term->screen.tabnlpres,
  585.              params, *param_count, w, NULL, NULL);
  586.   }
  587.   
  588. --- 1374,1396 ----
  589.              params, *param_count, w, NULL, NULL);
  590.   }
  591.   
  592. ! void HandleTabPreserve(w, event, params, param_count)
  593. !     Widget w;
  594. !     XEvent *event;
  595. !     String *params;
  596. !     Cardinal *param_count;
  597. ! {
  598. !     handle_toggle (do_tabpres, (int) term->screen.tabpres,
  599. !            params, *param_count, w, NULL, NULL);
  600. ! }
  601. ! void HandleNLPreserve(w, event, params, param_count)
  602.       Widget w;
  603.       XEvent *event;
  604.       String *params;
  605.       Cardinal *param_count;
  606.   {
  607. !     handle_toggle (do_nlpres, (int) term->screen.nlpres,
  608.              params, *param_count, w, NULL, NULL);
  609.   }
  610.   
  611. *** kterm-4.1.2.7/menu.h.ORIG    Sun May 26 21:13:36 1991
  612. --- menu.h    Sun May 26 21:17:30 1991
  613. ***************
  614. *** 26,32 ****
  615.     HandleAutoWrap(), HandleReverseWrap(), HandleAutoLineFeed(), 
  616.     HandleAppCursor(), HandleAppKeypad(), HandleScrollKey(), 
  617.     HandleScrollTtyOutput(), HandleAllow132(), HandleCursesEmul(), 
  618. !   HandleMarginBell(), HandleTabNlPreserve(), HandleAltScreen(), HandleSoftReset(), 
  619.     HandleHardReset(), HandleSetTerminalType(), HandleVisibility(), 
  620.     HandleSetTekText(), HandleTekPage(), HandleTekReset(), HandleTekCopy();
  621.   #ifdef STATUSLINE
  622. --- 26,33 ----
  623.     HandleAutoWrap(), HandleReverseWrap(), HandleAutoLineFeed(), 
  624.     HandleAppCursor(), HandleAppKeypad(), HandleScrollKey(), 
  625.     HandleScrollTtyOutput(), HandleAllow132(), HandleCursesEmul(), 
  626. !   HandleMarginBell(), HandleTabPreserve(), HandleNLPreserve(),
  627. !   HandleAltScreen(), HandleSoftReset(), 
  628.     HandleHardReset(), HandleSetTerminalType(), HandleVisibility(), 
  629.     HandleSetTekText(), HandleTekPage(), HandleTekReset(), HandleTekCopy();
  630.   #ifdef STATUSLINE
  631. ***************
  632. *** 78,94 ****
  633.   #define vtMenu_cursesemul 11
  634.   #define vtMenu_visualbell 12
  635.   #define vtMenu_marginbell 13
  636. ! #define vtMenu_tabnlpres 14
  637. ! #define vtMenu_altscreen 15
  638. ! #define vtMenu_line1 16
  639. ! #define vtMenu_softreset 17
  640. ! #define vtMenu_hardreset 18
  641. ! #define vtMenu_line2 19
  642. ! #define vtMenu_tekshow 20
  643. ! #define vtMenu_tekmode 21
  644. ! #define vtMenu_vthide 22
  645.   #if defined(STATUSLINE) || defined(KTERM_KANJI)
  646. ! # define vtMenu_line3 23
  647.   #endif /* STATUSLINE || KTERM_KANJI */
  648.   #ifdef STATUSLINE
  649.   #  define vtMenu_statusline (vtMenu_line3+1)
  650. --- 79,96 ----
  651.   #define vtMenu_cursesemul 11
  652.   #define vtMenu_visualbell 12
  653.   #define vtMenu_marginbell 13
  654. ! #define vtMenu_tabpres 14
  655. ! #define vtMenu_nlpres 15
  656. ! #define vtMenu_altscreen 16
  657. ! #define vtMenu_line1 17
  658. ! #define vtMenu_softreset 18
  659. ! #define vtMenu_hardreset 19
  660. ! #define vtMenu_line2 20
  661. ! #define vtMenu_tekshow 21
  662. ! #define vtMenu_tekmode 22
  663. ! #define vtMenu_vthide 23
  664.   #if defined(STATUSLINE) || defined(KTERM_KANJI)
  665. ! # define vtMenu_line3 24
  666.   #endif /* STATUSLINE || KTERM_KANJI */
  667.   #ifdef STATUSLINE
  668.   #  define vtMenu_statusline (vtMenu_line3+1)
  669. ***************
  670. *** 261,270 ****
  671.               vtMenuEntries[vtMenu_marginbell].widget, \
  672.               term->screen.marginbell)
  673.   
  674. ! #define update_tabnlpres() \
  675.     update_menu_item (term->screen.vtMenu, \
  676. !                     vtMenuEntries[vtMenu_tabnlpres].widget, \
  677. !                     term->screen.tabnlpres)
  678.   
  679.   #define update_altscreen() \
  680.     update_menu_item (term->screen.vtMenu, \
  681. --- 263,277 ----
  682.               vtMenuEntries[vtMenu_marginbell].widget, \
  683.               term->screen.marginbell)
  684.   
  685. ! #define update_tabpres() \
  686.     update_menu_item (term->screen.vtMenu, \
  687. !                     vtMenuEntries[vtMenu_tabpres].widget, \
  688. !                     term->screen.tabpres)
  689. ! #define update_nlpres() \
  690. !   update_menu_item (term->screen.vtMenu, \
  691. !                     vtMenuEntries[vtMenu_nlpres].widget, \
  692. !                     term->screen.nlpres)
  693.   
  694.   #define update_altscreen() \
  695.     update_menu_item (term->screen.vtMenu, \
  696. *** kterm-4.1.2.7/patchlevel.h.ORIG    Sun May 26 23:07:38 1991
  697. --- patchlevel.h    Sun May 26 23:07:50 1991
  698. ***************
  699. *** 1 ****
  700. ! #define patchlevel 7
  701. --- 1 ----
  702. ! #define patchlevel 8
  703. *** kterm-4.1.2.7/ptyx.h.ORIG    Sun May 26 20:06:50 1991
  704. --- ptyx.h    Sun May 26 21:17:08 1991
  705. ***************
  706. *** 390,396 ****
  707.       Boolean        marginbell;    /* true if margin bell on    */
  708.       int        nmarginbell;    /* columns from right margin    */
  709.       int        bellarmed;    /* cursor below bell margin    */
  710. !     Boolean        tabnlpres;    /* true if TAB/NL preserved    */
  711.       Boolean     multiscroll;    /* true if multi-scroll        */
  712.       int        scrolls;    /* outstanding scroll count    */
  713.       SavedCursor    sc;        /* data for restore cursor    */
  714. --- 390,397 ----
  715.       Boolean        marginbell;    /* true if margin bell on    */
  716.       int        nmarginbell;    /* columns from right margin    */
  717.       int        bellarmed;    /* cursor below bell margin    */
  718. !     Boolean        tabpres;    /* true if TAB preserved    */
  719. !     Boolean        nlpres;        /* true if NL preserved    */
  720.       Boolean     multiscroll;    /* true if multi-scroll        */
  721.       int        scrolls;    /* outstanding scroll count    */
  722.       SavedCursor    sc;        /* data for restore cursor    */
  723. ***************
  724. *** 590,610 ****
  725.   #define INVERSE        0x01    /* invert the characters to be output */
  726.   #define UNDERLINE    0x02    /* true if underlining */
  727.   #define BOLD        0x04
  728. ! #define NL_TAG        0x08
  729. ! #define TAB_TAG        0x10
  730.   #ifdef    COLOR_TEXT    /* mukawa */
  731.   #define    COLOR_TEXT_MASK        0x78    /* text color RGB attribute. */
  732.   #define    COLOR_TEXT_MASK2    0xf
  733.   #define    COLOR_TEXT_SHIFT    3
  734. ! #define COLOR_TEXT_ADJUST    3
  735. ! #define    COLOR_TEXT0        0x18
  736. ! #define    COLOR_TEXT1        0x20
  737. ! #define    COLOR_TEXT2        0x28
  738. ! #define    COLOR_TEXT3        0x30
  739. ! #define    COLOR_TEXT4        0x38
  740. ! #define    COLOR_TEXT5        0x40
  741. ! #define    COLOR_TEXT6        0x48
  742. ! #define    COLOR_TEXT7        0x50
  743.   #define WRAPAROUND    0x80
  744.   #define REVERSE_VIDEO    0x100    /* true if screen white on black */
  745.   #define ORIGIN        0x200    /* true if in origin mode */
  746. --- 591,611 ----
  747.   #define INVERSE        0x01    /* invert the characters to be output */
  748.   #define UNDERLINE    0x02    /* true if underlining */
  749.   #define BOLD        0x04
  750. ! #define NL_TAG        0x10
  751. ! #define TAB_TAG        0x20
  752.   #ifdef    COLOR_TEXT    /* mukawa */
  753.   #define    COLOR_TEXT_MASK        0x78    /* text color RGB attribute. */
  754.   #define    COLOR_TEXT_MASK2    0xf
  755.   #define    COLOR_TEXT_SHIFT    3
  756. ! #define COLOR_TEXT_ADJUST    8
  757. ! #define    COLOR_TEXT0        0x40
  758. ! #define    COLOR_TEXT1        0x48
  759. ! #define    COLOR_TEXT2        0x50
  760. ! #define    COLOR_TEXT3        0x58
  761. ! #define    COLOR_TEXT4        0x60
  762. ! #define    COLOR_TEXT5        0x68
  763. ! #define    COLOR_TEXT6        0x70
  764. ! #define    COLOR_TEXT7        0x78
  765.   #define WRAPAROUND    0x80
  766.   #define REVERSE_VIDEO    0x100    /* true if screen white on black */
  767.   #define ORIGIN        0x200    /* true if in origin mode */
  768. *** kterm-4.1.2.7/screen.c.ORIG    Sun May 26 20:58:13 1991
  769. --- screen.c    Mon May 27 04:50:10 1991
  770. ***************
  771. *** 1010,1016 ****
  772.   
  773.   #ifdef  COLOR_TEXT /* mukawa */
  774.       if(!cursorstate) {
  775. !         if (color & COLOR_TEXT_MASK) {
  776.               extern XtermWidget term;
  777.               XGCValues       xgcv;
  778.               int             cn;
  779. --- 1010,1017 ----
  780.   
  781.   #ifdef  COLOR_TEXT /* mukawa */
  782.       if(!cursorstate) {
  783. !         if ((color & COLOR_TEXT_MASK) &&
  784. !                     ((color >> COLOR_TEXT_SHIFT) & COLOR_TEXT_ADJUST)) {
  785.               extern XtermWidget term;
  786.               XGCValues       xgcv;
  787.               int             cn;
  788.