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