v13i041: kterm - kanji xterm, Patch2, Part01/01
mleisher at NMSU.Edu
mleisher at NMSU.Edu
Fri May 31 03:26:06 AEST 1991
Submitted-by: mleisher at NMSU.Edu
Posting-number: Volume 13, Issue 41
Archive-name: kterm/patch2
Patch-To: kterm: Volume 12, Issue 82-89
Patch-To: kterm: Volume 13, Issue 40 (patch 1 5/25/91)
Here is patch 2 for kterm 4.1.2, which brings kterm to patchlevel 8.
Fixes:
o Conflict between tab/newline preservation and color
o Missing "Color[0-7]" resource class names
Updates:
o Tab and newline preservation separated so one or both can be used
o Manual page updated w.r.t. tab/newline preservation
o Big5->GuoBiao conversion table has a few extra additions
Thanks go to Martin Walter of Uni Freiburg for help finding the color
problems.
---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 05/29/1991 09:56 UTC by mleisher at NMSU.Edu
# Source directory /tmp_mnt/home/kythera4/src/X11R4/contrib/clients/kterm-4.1.2
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 28862 -rw-rw-r-- PATCH
# 958 -rw-rw-r-- b2g
#
# ============= PATCH ==============
if test -f 'PATCH' -a X"$1" != X"-c"; then
echo 'x - skipping PATCH (File already exists)'
else
echo 'x - extracting PATCH (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'PATCH' &&
*** kterm-4.1.2.7/KTerm.ad.ORIG Sun May 26 21:11:14 1991
--- KTerm.ad Mon May 27 04:32:57 1991
***************
*** 35,41 ****
X *vtMenu*cursesemul*Label: Enable Curses Emulation
X *vtMenu*visualbell*Label: Enable Visual Bell
X *vtMenu*marginbell*Label: Enable Margin Bell
! *vtMenu*tabnlpres*Label: Enable TAB/NL Preservation
X *vtMenu*altscreen*Label: Show Alternate Screen
X *vtMenu*softreset*Label: Do Soft Reset
X *vtMenu*hardreset*Label: Do Full Reset
--- 35,42 ----
X *vtMenu*cursesemul*Label: Enable Curses Emulation
X *vtMenu*visualbell*Label: Enable Visual Bell
X *vtMenu*marginbell*Label: Enable Margin Bell
! *vtMenu*tabpres*Label: Enable TAB Preservation
! *vtMenu*nlpres*Label: Enable NL Preservation
X *vtMenu*altscreen*Label: Show Alternate Screen
X *vtMenu*softreset*Label: Do Soft Reset
X *vtMenu*hardreset*Label: Do Full Reset
***************
*** 159,170 ****
X *VT100*lineSpace: 0
X
X *VT100*Color0: Black
! *VT100*Color1: Blue
! *VT100*Color2: Red
! *VT100*Color3: Magenta
! *VT100*Color4: Green
! *VT100*Color5: Cyan
! *VT100*Color6: Yellow
X *VT100*Color7: White
X
X *tekMenu.Label: Tek Options
--- 160,171 ----
X *VT100*lineSpace: 0
X
X *VT100*Color0: Black
! *VT100*Color1: Red
! *VT100*Color2: Green
! *VT100*Color3: Yellow
! *VT100*Color4: Blue
! *VT100*Color5: Magenta
! *VT100*Color6: Cyan
X *VT100*Color7: White
X
X *tekMenu.Label: Tek Options
*** kterm-4.1.2.7/README.ORIG Sun May 26 23:10:02 1991
--- README Sun May 26 23:12:26 1991
***************
*** 186,193 ****
X
X Alton Harkcom (for help updating the Japanese manual page)
X
X
! Sat May 4 14:11:37 1991
X
X Internet: mleisher at nmsu.edu
X Bitnet : mleisher at nmsu.bitnet
--- 186,196 ----
X
X Alton Harkcom (for help updating the Japanese manual page)
X
+ Peter Wisnovsky of Sharebase
X
! Martin Walter from University of Freiburg
!
! Sun May 26 23:09:44 1991
X
X Internet: mleisher at nmsu.edu
X Bitnet : mleisher at nmsu.bitnet
*** kterm-4.1.2.7/button.c.ORIG Sun May 26 21:39:22 1991
--- button.c Sun May 26 21:39:54 1991
***************
*** 1595,1604 ****
X lp = SaveText(screen, crow, ccol, screen->max_col, lp);
X
X /*
! * Only preserve tabs and newlines if the flag is set, otherwise
! * act in the normal fashion.
X */
! if (screen->tabnlpres != True) {
X #ifdef KTERM
X lp->code = '\n'; /* put in newline at end of line */
X lp++->gset = GSET_ASCII;
--- 1595,1606 ----
X lp = SaveText(screen, crow, ccol, screen->max_col, lp);
X
X /*
! * Only preserve newlines if the flag is True, otherwise
! * act in the normal fashion. Skip adding newlines here
! * if we want newlines preserved. They will be handled
! * in the SaveText routine.
X */
! if (screen->nlpres != True) {
X #ifdef KTERM
X lp->code = '\n'; /* put in newline at end of line */
X lp++->gset = GSET_ASCII;
***************
*** 1611,1620 ****
X lp = SaveText(screen, i, 0, screen->max_col, lp);
X
X /*
! * Only preserve tabs and newlines if the flag is set,
! * otherwise act in the normal fashion.
X */
! if (screen->tabnlpres != True) {
X #ifdef KTERM
X lp->code = '\n';
X lp++->gset = GSET_ASCII;
--- 1613,1624 ----
X lp = SaveText(screen, i, 0, screen->max_col, lp);
X
X /*
! * Only preserve newlines if the flag is True, otherwise
! * act in the normal fashion. Skip adding newlines here
! * if we want newlines preserved. They will be handled
! * in the SaveText routine.
X */
! if (screen->nlpres != True) {
X #ifdef KTERM
X lp->code = '\n';
X lp++->gset = GSET_ASCII;
***************
*** 1978,1984 ****
X #ifdef KTERM
X register Bchr *ch = screen->buf[row + screen->topline];
X register Char g;
! register int tabnlpres = screen->tabnlpres;
X # ifdef KTERM_HANZI
X /*
X * Need to check to see if a Big5 font is in use also.
--- 1982,1989 ----
X #ifdef KTERM
X register Bchr *ch = screen->buf[row + screen->topline];
X register Char g;
! register int tabpres = screen->tabpres;
! register int nlpres = screen->nlpres;
X # ifdef KTERM_HANZI
X /*
X * Need to check to see if a Big5 font is in use also.
***************
*** 1998,2020 ****
X * Just hoping that there will always be enough space allocated for
X * new lines.
X */
! if (tabnlpres != False && ch[ecol].attr & NL_TAG)
X ecol++;
X for (i = scol; i < ecol; i++) {
X #ifdef KTERM
X c = ch[i].code & ~NEEDMAP;
X g = ch[i].gset;
! if (tabnlpres != False && ch[i].attr & TAB_TAG) {
X lp->code = '\t';
X lp->gset = GSET_ASCII;
X i++;
X while(i < ecol && ch[i].code == '\0' &&
! !(ch[i].attr & (TAB_TAG|NL_TAG)))
X i++;
X if (i < ecol &&
! (ch[i].code != '\0' || ch[i].attr & (TAB_TAG|NL_TAG)))
X i--;
! } else if (tabnlpres != False && ch[i].attr & NL_TAG) {
X lp->code = '\n';
X lp->gset = GSET_ASCII;
X } else if (c < ' ' || c == 0x7f && !(g & CS96)) {
--- 2003,2025 ----
X * Just hoping that there will always be enough space allocated for
X * new lines.
X */
! if (nlpres != False && ch[ecol].attr & NL_TAG)
X ecol++;
X for (i = scol; i < ecol; i++) {
X #ifdef KTERM
X c = ch[i].code & ~NEEDMAP;
X g = ch[i].gset;
! if (tabpres != False && ch[i].attr & TAB_TAG) {
X lp->code = '\t';
X lp->gset = GSET_ASCII;
X i++;
X while(i < ecol && ch[i].code == '\0' &&
! !(ch[i].attr & TAB_TAG))
X i++;
X if (i < ecol &&
! (ch[i].code != '\0' || ch[i].attr & TAB_TAG))
X i--;
! } else if (nlpres != False && ch[i].attr & NL_TAG) {
X lp->code = '\n';
X lp->gset = GSET_ASCII;
X } else if (c < ' ' || c == 0x7f && !(g & CS96)) {
*** kterm-4.1.2.7/charproc.c.ORIG Sun May 26 21:28:19 1991
--- charproc.c Mon May 27 04:18:20 1991
***************
*** 119,125 ****
X #define XtNlogInhibit "logInhibit"
X #define XtNloginShell "loginShell"
X #define XtNmarginBell "marginBell"
! #define XtNtabNlPreserve "tabNlPreserve"
X #define XtNpointerColor "pointerColor"
X #define XtNpointerColorBackground "pointerColorBackground"
X #define XtNpointerShape "pointerShape"
--- 119,126 ----
X #define XtNlogInhibit "logInhibit"
X #define XtNloginShell "loginShell"
X #define XtNmarginBell "marginBell"
! #define XtNtabPreserve "tabPreserve"
! #define XtNnlPreserve "nlPreserve"
X #define XtNpointerColor "pointerColor"
X #define XtNpointerColorBackground "pointerColorBackground"
X #define XtNpointerShape "pointerShape"
***************
*** 175,180 ****
--- 176,191 ----
X #define XtCC132 "C132"
X #define XtCCharClass "CharClass"
X #define XtCCurses "Curses"
+ #ifdef COLOR_TEXT /* mukawa */
+ #define XtCColor0 "Color0"
+ #define XtCColor1 "Color1"
+ #define XtCColor2 "Color2"
+ #define XtCColor3 "Color3"
+ #define XtCColor4 "Color4"
+ #define XtCColor5 "Color5"
+ #define XtCColor6 "Color6"
+ #define XtCColor7 "Color7"
+ #endif /* COLOR_TEXT */
X #define XtCCutNewline "CutNewline"
X #define XtCCutToBeginningOfLine "CutToBeginningOfLine"
X #define XtCEightBitInput "EightBitInput"
***************
*** 184,190 ****
X #define XtCLogging "Logging"
X #define XtCLogInhibit "LogInhibit"
X #define XtCLoginShell "LoginShell"
! #define XtCTabNlPreserve "TabNlPreserve"
X #define XtCMarginBell "MarginBell"
X #define XtCMultiClickTime "MultiClickTime"
X #define XtCMultiScroll "MultiScroll"
--- 195,202 ----
X #define XtCLogging "Logging"
X #define XtCLogInhibit "LogInhibit"
X #define XtCLoginShell "LoginShell"
! #define XtCTabPreserve "TabPreserve"
! #define XtCNlPreserve "NlPreserve"
X #define XtCMarginBell "MarginBell"
X #define XtCMultiClickTime "MultiClickTime"
X #define XtCMultiScroll "MultiScroll"
***************
*** 398,404 ****
X { "set-allow132", HandleAllow132 },
X { "set-cursesemul", HandleCursesEmul },
X { "set-marginbell", HandleMarginBell },
! { "set-tabnlpres", HandleTabNlPreserve },
X { "set-altscreen", HandleAltScreen },
X { "soft-reset", HandleSoftReset },
X { "hard-reset", HandleHardReset },
--- 410,417 ----
X { "set-allow132", HandleAllow132 },
X { "set-cursesemul", HandleCursesEmul },
X { "set-marginbell", HandleMarginBell },
! { "set-tabpres", HandleTabPreserve },
! { "set-nlpres", HandleNLPreserve },
X { "set-altscreen", HandleAltScreen },
X { "soft-reset", HandleSoftReset },
X { "hard-reset", HandleHardReset },
***************
*** 465,471 ****
X * The following two resources need to be set in the default app
X * resources file or the users app resources file. They are
X * directory and filename info on the Big5 <-> GuoBiao conversion
! * tables
X */
X {XtNhanziGbToBigTable, XtCHanziGbToBigTable, XtRString, sizeof(char *),
X XtOffset(XtermWidget, misc.hz_gb2big_tbl), XtRString,
--- 478,484 ----
X * The following two resources need to be set in the default app
X * resources file or the users app resources file. They are
X * directory and filename info on the Big5 <-> GuoBiao conversion
! * tables.
X */
X {XtNhanziGbToBigTable, XtCHanziGbToBigTable, XtRString, sizeof(char *),
X XtOffset(XtermWidget, misc.hz_gb2big_tbl), XtRString,
***************
*** 484,489 ****
--- 497,508 ----
X {XtNhangulMode, XtCHangulMode, XtRString, sizeof(char *),
X XtOffset(XtermWidget, misc.hg_m), XtRString,
X (caddr_t) NULL},
+ /*
+ * The following resource needs to be set in the default app
+ * resources file or the users app resources file. It is
+ * directory and filename info on the N-byte <-> KS conversion
+ * table.
+ */
X {XtNhangulNtoKSTable, XtCHangulNtoKSTable, XtRString, sizeof(char *),
X XtOffset(XtermWidget, misc.hg_n2ks_tbl), XtRString,
X (caddr_t) NULL},
***************
*** 524,551 ****
X XtOffset(XtermWidget, screen.cursorcolor),
X XtRString, "XtDefaultForeground"},
X #ifdef COLOR_TEXT /* mukawa */
! {XtNcolor0, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[0]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor1, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[1]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor2, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[2]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor3, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[3]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor4, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[4]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor5, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[5]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor6, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[6]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor7, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[7]),
X XtRString, "XtDefaultForeground"},
X #endif /* COLOR_TEXT */
--- 543,570 ----
X XtOffset(XtermWidget, screen.cursorcolor),
X XtRString, "XtDefaultForeground"},
X #ifdef COLOR_TEXT /* mukawa */
! {XtNcolor0, XtCColor0, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[0]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor1, XtCColor1, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[1]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor2, XtCColor2, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[2]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor3, XtCColor3, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[3]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor4, XtCColor4, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[4]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor5, XtCColor5, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[5]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor6, XtCColor6, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[6]),
X XtRString, "XtDefaultForeground"},
! {XtNcolor7, XtCColor7, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.textcolor[7]),
X XtRString, "XtDefaultForeground"},
X #endif /* COLOR_TEXT */
***************
*** 582,589 ****
X {XtNmarginBell, XtCMarginBell, XtRBoolean, sizeof(Boolean),
X XtOffset(XtermWidget, screen.marginbell),
X XtRBoolean, (caddr_t) &defaultFALSE},
! {XtNtabNlPreserve, XtCTabNlPreserve, XtRBoolean, sizeof(Boolean),
! XtOffset(XtermWidget, screen.tabnlpres),
X XtRBoolean, (caddr_t) &defaultFALSE},
X {XtNpointerColor, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.mousecolor),
--- 601,611 ----
X {XtNmarginBell, XtCMarginBell, XtRBoolean, sizeof(Boolean),
X XtOffset(XtermWidget, screen.marginbell),
X XtRBoolean, (caddr_t) &defaultFALSE},
! {XtNtabPreserve, XtCTabPreserve, XtRBoolean, sizeof(Boolean),
! XtOffset(XtermWidget, screen.tabpres),
! XtRBoolean, (caddr_t) &defaultFALSE},
! {XtNnlPreserve, XtCNlPreserve, XtRBoolean, sizeof(Boolean),
! XtOffset(XtermWidget, screen.nlpres),
X XtRBoolean, (caddr_t) &defaultFALSE},
X {XtNpointerColor, XtCForeground, XtRPixel, sizeof(Pixel),
X XtOffset(XtermWidget, screen.mousecolor),
***************
*** 3469,3475 ****
X new->screen.jumpscroll = request->screen.jumpscroll;
X new->screen.logfile = request->screen.logfile;
X new->screen.marginbell = request->screen.marginbell;
! new->screen.tabnlpres = request->screen.tabnlpres;
X new->screen.mousecolor = request->screen.mousecolor;
X new->screen.mousecolorback = request->screen.mousecolorback;
X new->screen.multiscroll = request->screen.multiscroll;
--- 3491,3498 ----
X new->screen.jumpscroll = request->screen.jumpscroll;
X new->screen.logfile = request->screen.logfile;
X new->screen.marginbell = request->screen.marginbell;
! new->screen.tabpres = request->screen.tabpres;
! new->screen.nlpres = request->screen.nlpres;
X new->screen.mousecolor = request->screen.mousecolor;
X new->screen.mousecolorback = request->screen.mousecolorback;
X new->screen.multiscroll = request->screen.multiscroll;
*** kterm-4.1.2.7/kterm.man.ORIG Sun May 26 22:49:40 1991
--- kterm.man Sun May 26 22:54:01 1991
***************
*** 100,105 ****
--- 100,121 ----
X This option indicates that \fIkterm\fP should connect to the X server
X without KEEPALIVE socket option.
X .TP 8
+ .BI \-np
+ This option indicates that \fIkterm\fP should preserve newlines (^J)
+ in selections.
+ .TP 8
+ .BI \+np
+ This option indicates that \fIkterm\fP should not preserve newlines (^J)
+ in selections.
+ .TP 8
+ .BI \-tp
+ This option indicates that \fIkterm\fP should preserve tabs (^I)
+ in selections.
+ .TP 8
+ .BI \+tp
+ This option indicates that \fIkterm\fP should not preserve tabs (^I)
+ in selections.
+ .TP 8
X .BI \-lang " language"
X This option sets the language of the text being displayed.
X .br
*** kterm-4.1.2.7/main.c.ORIG Sun May 26 21:10:37 1991
--- main.c Sun May 26 21:13:25 1991
***************
*** 467,472 ****
--- 467,474 ----
X {"-mc", "*multiClickTime", XrmoptionSepArg, (caddr_t) NULL},
X {"-ms", "*pointerColor",XrmoptionSepArg, (caddr_t) NULL},
X {"-nb", "*nMarginBell", XrmoptionSepArg, (caddr_t) NULL},
+ {"-np", "*nlPreserve", XrmoptionNoArg, (caddr_t) "on"},
+ {"+np", "*nlPreserve", XrmoptionNoArg, (caddr_t) "off"},
X {"-rw", "*reverseWrap", XrmoptionNoArg, (caddr_t) "on"},
X {"+rw", "*reverseWrap", XrmoptionNoArg, (caddr_t) "off"},
X {"-s", "*multiScroll", XrmoptionNoArg, (caddr_t) "on"},
***************
*** 490,497 ****
X {"+t", "*tekStartup", XrmoptionNoArg, (caddr_t) "off"},
X {"-tm", "*ttyModes", XrmoptionSepArg, (caddr_t) NULL},
X {"-tn", "*termName", XrmoptionSepArg, (caddr_t) NULL},
! {"-tnp", "*tabNlPreserve", XrmoptionNoArg, (caddr_t) "on"},
! {"+tnp", "*tabNlPreserve", XrmoptionNoArg, (caddr_t) "off"},
X {"-ut", "*utmpInhibit", XrmoptionNoArg, (caddr_t) "on"},
X {"+ut", "*utmpInhibit", XrmoptionNoArg, (caddr_t) "off"},
X {"-vb", "*visualBell", XrmoptionNoArg, (caddr_t) "on"},
--- 492,499 ----
X {"+t", "*tekStartup", XrmoptionNoArg, (caddr_t) "off"},
X {"-tm", "*ttyModes", XrmoptionSepArg, (caddr_t) NULL},
X {"-tn", "*termName", XrmoptionSepArg, (caddr_t) NULL},
! {"-tp", "*tabPreserve", XrmoptionNoArg, (caddr_t) "on"},
! {"+tp", "*tabPreserve", XrmoptionNoArg, (caddr_t) "off"},
X {"-ut", "*utmpInhibit", XrmoptionNoArg, (caddr_t) "on"},
X {"+ut", "*utmpInhibit", XrmoptionNoArg, (caddr_t) "off"},
X {"-vb", "*visualBell", XrmoptionNoArg, (caddr_t) "on"},
*** kterm-4.1.2.7/menu.c.ORIG Sun May 26 21:17:39 1991
--- menu.c Sun May 26 21:50:20 1991
***************
*** 31,37 ****
X do_reversevideo(), do_autowrap(), do_reversewrap(), do_autolinefeed(),
X do_appcursor(), do_appkeypad(), do_scrollkey(), do_scrollttyoutput(),
X do_allow132(), do_cursesemul(), do_marginbell(), do_tekshow(),
! do_tabnlpres(),
X do_altscreen(), do_softreset(), do_hardreset(), do_tekmode(), do_vthide(),
X do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(),
X do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(),
--- 31,37 ----
X do_reversevideo(), do_autowrap(), do_reversewrap(), do_autolinefeed(),
X do_appcursor(), do_appkeypad(), do_scrollkey(), do_scrollttyoutput(),
X do_allow132(), do_cursesemul(), do_marginbell(), do_tekshow(),
! do_tabpres(), do_nlpres(),
X do_altscreen(), do_softreset(), do_hardreset(), do_tekmode(), do_vthide(),
X do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(),
X do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(),
***************
*** 86,102 ****
X { "cursesemul", do_cursesemul, NULL }, /* 11 */
X { "visualbell", do_visualbell, NULL }, /* 12 */
X { "marginbell", do_marginbell, NULL }, /* 13 */
! { "tabnlpres", do_tabnlpres, NULL }, /* 14 */
! { "altscreen", do_altscreen, NULL }, /* 15 */
! { "line1", NULL, NULL }, /* 16 */
! { "softreset", do_softreset, NULL }, /* 17 */
! { "hardreset", do_hardreset, NULL }, /* 18 */
! { "line2", NULL, NULL }, /* 19 */
! { "tekshow", do_tekshow, NULL }, /* 20 */
! { "tekmode", do_tekmode, NULL }, /* 21 */
X #if defined(STATUSLINE) || defined(KTERM_KANJI)
! { "vthide", do_vthide, NULL }, /* 22 */
! { "line3", NULL, NULL }, /* 23 */
X #ifdef STATUSLINE
X { "statusline", do_statusline, NULL },
X { "reversestatus", do_reversestatus, NULL },
--- 86,103 ----
X { "cursesemul", do_cursesemul, NULL }, /* 11 */
X { "visualbell", do_visualbell, NULL }, /* 12 */
X { "marginbell", do_marginbell, NULL }, /* 13 */
! { "tabpres", do_tabpres, NULL }, /* 14 */
! { "nlpres", do_nlpres, NULL }, /* 15 */
! { "altscreen", do_altscreen, NULL }, /* 16 */
! { "line1", NULL, NULL }, /* 17 */
! { "softreset", do_softreset, NULL }, /* 18 */
! { "hardreset", do_hardreset, NULL }, /* 19 */
! { "line2", NULL, NULL }, /* 20 */
! { "tekshow", do_tekshow, NULL }, /* 21 */
! { "tekmode", do_tekmode, NULL }, /* 22 */
X #if defined(STATUSLINE) || defined(KTERM_KANJI)
! { "vthide", do_vthide, NULL }, /* 23 */
! { "line3", NULL, NULL }, /* 24 */
X #ifdef STATUSLINE
X { "statusline", do_statusline, NULL },
X { "reversestatus", do_reversestatus, NULL },
***************
*** 223,229 ****
X update_visualbell();
X #endif
X update_marginbell();
! update_tabnlpres();
X #ifdef STATUSLINE
X update_statusline();
X set_reversestatus_sensitivity();
--- 224,231 ----
X update_visualbell();
X #endif
X update_marginbell();
! update_tabpres();
! update_nlpres();
X #ifdef STATUSLINE
X update_statusline();
X set_reversestatus_sensitivity();
***************
*** 685,700 ****
X update_marginbell();
X }
X
! static void do_tabnlpres (gw, closure, data)
X Widget gw;
X caddr_t closure, data;
X {
X register TScreen *screen = &term->screen;
X
! screen->tabnlpres = !screen->tabnlpres;
! update_tabnlpres();
X }
X
X static void handle_tekshow (gw, allowswitch)
X Widget gw;
X Bool allowswitch;
--- 687,712 ----
X update_marginbell();
X }
X
! static void do_tabpres (gw, closure, data)
X Widget gw;
X caddr_t closure, data;
X {
X register TScreen *screen = &term->screen;
X
! screen->tabpres = !screen->tabpres;
! update_tabpres();
X }
X
+ static void do_nlpres (gw, closure, data)
+ Widget gw;
+ caddr_t closure, data;
+ {
+ register TScreen *screen = &term->screen;
+
+ screen->nlpres = !screen->nlpres;
+ update_nlpres();
+ }
+
X static void handle_tekshow (gw, allowswitch)
X Widget gw;
X Bool allowswitch;
***************
*** 1362,1374 ****
X params, *param_count, w, NULL, NULL);
X }
X
! void HandleTabNlPreserve(w, event, params, param_count)
X Widget w;
X XEvent *event;
X String *params;
X Cardinal *param_count;
X {
! handle_toggle (do_tabnlpres, (int) term->screen.tabnlpres,
X params, *param_count, w, NULL, NULL);
X }
X
--- 1374,1396 ----
X params, *param_count, w, NULL, NULL);
X }
X
! void HandleTabPreserve(w, event, params, param_count)
! Widget w;
! XEvent *event;
! String *params;
! Cardinal *param_count;
! {
! handle_toggle (do_tabpres, (int) term->screen.tabpres,
! params, *param_count, w, NULL, NULL);
! }
!
! void HandleNLPreserve(w, event, params, param_count)
X Widget w;
X XEvent *event;
X String *params;
X Cardinal *param_count;
X {
! handle_toggle (do_nlpres, (int) term->screen.nlpres,
X params, *param_count, w, NULL, NULL);
X }
X
*** kterm-4.1.2.7/menu.h.ORIG Sun May 26 21:13:36 1991
--- menu.h Sun May 26 21:17:30 1991
***************
*** 26,32 ****
X HandleAutoWrap(), HandleReverseWrap(), HandleAutoLineFeed(),
X HandleAppCursor(), HandleAppKeypad(), HandleScrollKey(),
X HandleScrollTtyOutput(), HandleAllow132(), HandleCursesEmul(),
! HandleMarginBell(), HandleTabNlPreserve(), HandleAltScreen(), HandleSoftReset(),
X HandleHardReset(), HandleSetTerminalType(), HandleVisibility(),
X HandleSetTekText(), HandleTekPage(), HandleTekReset(), HandleTekCopy();
X #ifdef STATUSLINE
--- 26,33 ----
X HandleAutoWrap(), HandleReverseWrap(), HandleAutoLineFeed(),
X HandleAppCursor(), HandleAppKeypad(), HandleScrollKey(),
X HandleScrollTtyOutput(), HandleAllow132(), HandleCursesEmul(),
! HandleMarginBell(), HandleTabPreserve(), HandleNLPreserve(),
! HandleAltScreen(), HandleSoftReset(),
X HandleHardReset(), HandleSetTerminalType(), HandleVisibility(),
X HandleSetTekText(), HandleTekPage(), HandleTekReset(), HandleTekCopy();
X #ifdef STATUSLINE
***************
*** 78,94 ****
X #define vtMenu_cursesemul 11
X #define vtMenu_visualbell 12
X #define vtMenu_marginbell 13
! #define vtMenu_tabnlpres 14
! #define vtMenu_altscreen 15
! #define vtMenu_line1 16
! #define vtMenu_softreset 17
! #define vtMenu_hardreset 18
! #define vtMenu_line2 19
! #define vtMenu_tekshow 20
! #define vtMenu_tekmode 21
! #define vtMenu_vthide 22
X #if defined(STATUSLINE) || defined(KTERM_KANJI)
! # define vtMenu_line3 23
X #endif /* STATUSLINE || KTERM_KANJI */
X #ifdef STATUSLINE
X # define vtMenu_statusline (vtMenu_line3+1)
--- 79,96 ----
X #define vtMenu_cursesemul 11
X #define vtMenu_visualbell 12
X #define vtMenu_marginbell 13
! #define vtMenu_tabpres 14
! #define vtMenu_nlpres 15
! #define vtMenu_altscreen 16
! #define vtMenu_line1 17
! #define vtMenu_softreset 18
! #define vtMenu_hardreset 19
! #define vtMenu_line2 20
! #define vtMenu_tekshow 21
! #define vtMenu_tekmode 22
! #define vtMenu_vthide 23
X #if defined(STATUSLINE) || defined(KTERM_KANJI)
! # define vtMenu_line3 24
X #endif /* STATUSLINE || KTERM_KANJI */
X #ifdef STATUSLINE
X # define vtMenu_statusline (vtMenu_line3+1)
***************
*** 261,270 ****
X vtMenuEntries[vtMenu_marginbell].widget, \
X term->screen.marginbell)
X
! #define update_tabnlpres() \
X update_menu_item (term->screen.vtMenu, \
! vtMenuEntries[vtMenu_tabnlpres].widget, \
! term->screen.tabnlpres)
X
X #define update_altscreen() \
X update_menu_item (term->screen.vtMenu, \
--- 263,277 ----
X vtMenuEntries[vtMenu_marginbell].widget, \
X term->screen.marginbell)
X
! #define update_tabpres() \
X update_menu_item (term->screen.vtMenu, \
! vtMenuEntries[vtMenu_tabpres].widget, \
! term->screen.tabpres)
!
! #define update_nlpres() \
! update_menu_item (term->screen.vtMenu, \
! vtMenuEntries[vtMenu_nlpres].widget, \
! term->screen.nlpres)
X
X #define update_altscreen() \
X update_menu_item (term->screen.vtMenu, \
*** kterm-4.1.2.7/patchlevel.h.ORIG Sun May 26 23:07:38 1991
--- patchlevel.h Sun May 26 23:07:50 1991
***************
*** 1 ****
! #define patchlevel 7
--- 1 ----
! #define patchlevel 8
*** kterm-4.1.2.7/ptyx.h.ORIG Sun May 26 20:06:50 1991
--- ptyx.h Sun May 26 21:17:08 1991
***************
*** 390,396 ****
X Boolean marginbell; /* true if margin bell on */
X int nmarginbell; /* columns from right margin */
X int bellarmed; /* cursor below bell margin */
! Boolean tabnlpres; /* true if TAB/NL preserved */
X Boolean multiscroll; /* true if multi-scroll */
X int scrolls; /* outstanding scroll count */
X SavedCursor sc; /* data for restore cursor */
--- 390,397 ----
X Boolean marginbell; /* true if margin bell on */
X int nmarginbell; /* columns from right margin */
X int bellarmed; /* cursor below bell margin */
! Boolean tabpres; /* true if TAB preserved */
! Boolean nlpres; /* true if NL preserved */
X Boolean multiscroll; /* true if multi-scroll */
X int scrolls; /* outstanding scroll count */
X SavedCursor sc; /* data for restore cursor */
***************
*** 590,610 ****
X #define INVERSE 0x01 /* invert the characters to be output */
X #define UNDERLINE 0x02 /* true if underlining */
X #define BOLD 0x04
! #define NL_TAG 0x08
! #define TAB_TAG 0x10
X #ifdef COLOR_TEXT /* mukawa */
X #define COLOR_TEXT_MASK 0x78 /* text color RGB attribute. */
X #define COLOR_TEXT_MASK2 0xf
X #define COLOR_TEXT_SHIFT 3
! #define COLOR_TEXT_ADJUST 3
! #define COLOR_TEXT0 0x18
! #define COLOR_TEXT1 0x20
! #define COLOR_TEXT2 0x28
! #define COLOR_TEXT3 0x30
! #define COLOR_TEXT4 0x38
! #define COLOR_TEXT5 0x40
! #define COLOR_TEXT6 0x48
! #define COLOR_TEXT7 0x50
X #define WRAPAROUND 0x80
X #define REVERSE_VIDEO 0x100 /* true if screen white on black */
X #define ORIGIN 0x200 /* true if in origin mode */
--- 591,611 ----
X #define INVERSE 0x01 /* invert the characters to be output */
X #define UNDERLINE 0x02 /* true if underlining */
X #define BOLD 0x04
! #define NL_TAG 0x10
! #define TAB_TAG 0x20
X #ifdef COLOR_TEXT /* mukawa */
X #define COLOR_TEXT_MASK 0x78 /* text color RGB attribute. */
X #define COLOR_TEXT_MASK2 0xf
X #define COLOR_TEXT_SHIFT 3
! #define COLOR_TEXT_ADJUST 8
! #define COLOR_TEXT0 0x40
! #define COLOR_TEXT1 0x48
! #define COLOR_TEXT2 0x50
! #define COLOR_TEXT3 0x58
! #define COLOR_TEXT4 0x60
! #define COLOR_TEXT5 0x68
! #define COLOR_TEXT6 0x70
! #define COLOR_TEXT7 0x78
X #define WRAPAROUND 0x80
X #define REVERSE_VIDEO 0x100 /* true if screen white on black */
X #define ORIGIN 0x200 /* true if in origin mode */
*** kterm-4.1.2.7/screen.c.ORIG Sun May 26 20:58:13 1991
--- screen.c Mon May 27 04:50:10 1991
***************
*** 1010,1016 ****
X
X #ifdef COLOR_TEXT /* mukawa */
X if(!cursorstate) {
! if (color & COLOR_TEXT_MASK) {
X extern XtermWidget term;
X XGCValues xgcv;
X int cn;
--- 1010,1017 ----
X
X #ifdef COLOR_TEXT /* mukawa */
X if(!cursorstate) {
! if ((color & COLOR_TEXT_MASK) &&
! ((color >> COLOR_TEXT_SHIFT) & COLOR_TEXT_ADJUST)) {
X extern XtermWidget term;
X XGCValues xgcv;
X int cn;
SHAR_EOF
chmod 0664 PATCH ||
echo 'restore of PATCH failed'
Wc_c="`wc -c < 'PATCH'`"
test 28862 -eq "$Wc_c" ||
echo 'PATCH: original size 28862, current size' "$Wc_c"
fi
# ============= b2g ==============
if test -f 'b2g' -a X"$1" != X"-c"; then
echo 'x - skipping b2g (File already exists)'
else
echo 'x - extracting b2g (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'b2g' &&
xbtoa Begin
,75Y<#t&WMH#dV3BQP@^+>Gl93%QdE3&rNE3B8c9 at X0(cF`(h77P5fWARuu2+Auo`CO%%*AT_m'+:9
>#$7/#17kHnp64+&c0f1R,5qt;e$DF/gXJ)A^USFueY+rV(\td$8TqTAtXeDYfXJ)A`XpUr,UV!;4U
VERtU\pmhU\pmhU\pnEU%P,PUSsreUSnNpWMB?crLrnXoqA[bZ_@&coqB*n^S1=ooqAgf\"WI%U%P+
dTs^TeU%P+hTt-liU%P+jTt@#kU%P1ZUT"S-5qtY[+ at ._K7LGpfU]$mlTsLGqTs(/oTs:AeUS=OAUS
jl^USaaX$DI9hm%LAOn=fBGpS%AUntGKFn"K?HoV(rOp7_/Qoa2$l1c7*45r:GU$HW/Q$:-L-5p/HM
2aIe\aU/A at 1dNuA5r:kb$Fet$$:-L75p/HM5sYk-`X3&=2)[<75rCPX$Iucr$:-O.3$:LE2`M/gW!W
kt2*sSO5rCtp$Hi#K$:-R-0H`Y>2)#B^X9o;#2FTGF5rM.g$FAk%$:-U-7NauU1e%hWn-TLg3'p"U5
r_2!$Gc*;$:.':5p/H]1dMJ[q?dQq6pX3`5t"",$G-'@$:.'H0d&bM688hbjpDG^1.F5G68D"i$J2H
g$:6U.7Nb#T2F\%_U'_5o2+0bR68_.t$J+tZ$:6X;2]tFF68o7ulO!tc2aK;D68q1f$G<DH$:6[?6m
+fT777KjYmLh)5t!UR6:"!t$Fli<$:7*H5p/K]69tsp_[6`;6pijT6:=1!$FmGM$:?O72'>7 at 68],A
XX9o;%1,^j06S^PS$L at Ts$:?U973FrR6:D6sYR1_)2+0>F6T%7i$I?m&$:?^/0H`_ at 2)#BMmg9Ch7Pl
eA6Uimd$G#[6$:HX,6QecP2+%_q^Bsr@
xbtoa End N 710 2c6 E 2c S 11068 R d1d867ef
SHAR_EOF
chmod 0664 b2g ||
echo 'restore of b2g failed'
Wc_c="`wc -c < 'b2g'`"
test 958 -eq "$Wc_c" ||
echo 'b2g: original size 958, current size' "$Wc_c"
fi
exit 0
-----------------------------------------------------------------------------
mleisher at nmsu.edu "I laughed.
Mark Leisher I cried.
Computing Research Lab I fell down.
New Mexico State University It changed my life."
Las Cruces, NM - Rich [Cowboy Feng's Space Bar and Grille]
--
Dan Heller
O'Reilly && Associates Z-Code Software Comp-sources-x:
Senior Writer President comp-sources-x at uunet.uu.net
argv at ora.com argv at zipcode.com
More information about the Comp.sources.x
mailing list