[comp.soft-sys.andrew] Some bugs in "contrib" language modes

guy@auspex.auspex.com (Guy Harris) (11/15/89)

The "m3text", "rctext", and "rmtext" objects in "contrib" weren't
converted to use the new "environment_InsertStyle" routine; they still
pass a "struct style" to a routine expecting a union, and as such will
probably blow up on Sun-4s (and Pyramids?).

(Also, the "rctext" help file doesn't describe whatever the "compress"
stuff that was added is.  It does describe the "Rename identifier" menu
item - but that now appears to be in "ctext", and isn't documented
there, so the description of it from "rctext.help" should probably be
copied into "ctext.help".)

*** contrib/m3text/m3text.c.dist	Tue Oct  3 07:06:06 1989
--- contrib/m3text/m3text.c	Tue Nov 14 17:23:03 1989
***************
*** 349,355 ****
  {
      struct environment *newenv;
      if (style!= NULL) {
! 	newenv=environment_Insert(self->header.text.rootEnvironment, pos, environment_Style, style, 1);
  	environment_SetLength(newenv, len);
  	environment_SetStyle(newenv,begflag,endflag);
      }
--- 349,355 ----
  {
      struct environment *newenv;
      if (style!= NULL) {
! 	newenv=environment_InsertStyle(self->header.text.rootEnvironment, pos, style, 1);
  	environment_SetLength(newenv, len);
  	environment_SetStyle(newenv,begflag,endflag);
      }

*** contrib/rctext/rctext.c.dist	Thu Oct 19 16:52:34 1989
--- contrib/rctext/rctext.c	Thu Nov  9 16:52:00 1989
***************
*** 151,158 ****
      struct environment *env;
      if (self->comment_style == NULL)
          return;
!     env = environment_Insert(self->header.text.rootEnvironment, start,
!       environment_Style, self->comment_style, TRUE);
      environment_SetLength(env, len);
      environment_SetStyle(env, incB, incE);
  }
--- 151,158 ----
      struct environment *env;
      if (self->comment_style == NULL)
          return;
!     env = environment_InsertStyle(self->header.text.rootEnvironment, start,
!       self->comment_style, TRUE);
      environment_SetLength(env, len);
      environment_SetStyle(env, incB, incE);
  }
***************
*** 164,171 ****
      struct environment *env;
      if (self->fnname_style == NULL)
          return;
!     env = environment_Insert(self->header.text.rootEnvironment, start,
!       environment_Style, self->fnname_style, TRUE);
      environment_SetLength(env, len);
  }
  
--- 164,171 ----
      struct environment *env;
      if (self->fnname_style == NULL)
          return;
!     env = environment_InsertStyle(self->header.text.rootEnvironment, start,
!       self->fnname_style, TRUE);
      environment_SetLength(env, len);
  }
  

*** contrib/rmtext/rmtext.c.dist	Fri Oct  6 10:42:04 1989
--- contrib/rmtext/rmtext.c	Tue Nov 14 17:24:18 1989
***************
*** 331,337 ****
  {
      struct environment *newenv;
      if (style!= NULL) {
! 	newenv=environment_Insert(self->header.text.rootEnvironment, pos, environment_Style, style, 1);
  	environment_SetLength(newenv, len);
  	environment_SetStyle(newenv,begflag,endflag);
      }
--- 331,337 ----
  {
      struct environment *newenv;
      if (style!= NULL) {
! 	newenv=environment_InsertStyle(self->header.text.rootEnvironment, pos, style, 1);
  	environment_SetLength(newenv, len);
  	environment_SetStyle(newenv,begflag,endflag);
      }

ghoti+@ANDREW.CMU.EDU (Adam Stoller) (11/15/89)

Thanks for the patches - I (or someone else here) will try to get them
applied soon.

--fish
(PS: I don't know anything about the compress feature either - I'll see
if I can get the contributors to patch their documentation)

mss+@ANDREW.CMU.EDU (Mark Sherman) (11/15/89)

As explained to me, the "compres" package is used by the programming
language editors in contrib to compress a procedure to its signature or
exapnd it to its entire definition. The Modula and C editors contributed
by the IBM Rochester Lab have the ability to collapse source code in the
view, making it easier to see what it's a file. As best I can tell, the
compres package is intended to be used only with the Rochester program
editors. I have passed the patches on to Dick Quinn at IBM.
		-Mark