[BACK]Return to wwwrite.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / window

Diff for /src/usr.bin/window/Attic/wwwrite.c between version 1.1 and 1.2

version 1.1, 1995/10/18 08:46:59 version 1.2, 1996/02/23 14:10:58
Line 1 
Line 1 
 /*      $NetBSD: wwwrite.c,v 1.3 1995/09/28 10:36:01 tls Exp $  */  /*      $NetBSD: wwwrite.c,v 1.5 1996/02/08 21:49:19 mycroft Exp $      */
   
 /*  /*
  * Copyright (c) 1983, 1993   * Copyright (c) 1983, 1993
Line 40 
Line 40 
 #if 0  #if 0
 static char sccsid[] = "@(#)wwwrite.c   8.1 (Berkeley) 6/6/93";  static char sccsid[] = "@(#)wwwrite.c   8.1 (Berkeley) 6/6/93";
 #else  #else
 static char rcsid[] = "$NetBSD: wwwrite.c,v 1.3 1995/09/28 10:36:01 tls Exp $";  static char rcsid[] = "$NetBSD: wwwrite.c,v 1.5 1996/02/08 21:49:19 mycroft Exp $";
 #endif  #endif
 #endif /* not lint */  #endif /* not lint */
   
Line 49 
Line 49 
 #include "char.h"  #include "char.h"
   
 #define UPDATE() \  #define UPDATE() \
         if (!w->ww_noupdate && w->ww_cur.r >= 0 && w->ww_cur.r < wwnrow && \          if (!ISSET(w->ww_wflags, WWW_NOUPDATE) && w->ww_cur.r >= 0 && \
             wwtouched[w->ww_cur.r]) \              w->ww_cur.r < wwnrow && wwtouched[w->ww_cur.r]) \
                 wwupdate1(w->ww_cur.r, w->ww_cur.r + 1)                  wwupdate1(w->ww_cur.r, w->ww_cur.r + 1)
   
 /*  /*
Line 67 
Line 67 
 register char *p;  register char *p;
 int n;  int n;
 {  {
         char hascursor;          int hascursor;
         char *savep = p;          char *savep = p;
         char *q = p + n;          char *q = p + n;
         char *r = 0;          char *r = 0;
Line 76 
Line 76 
 #ifdef lint  #ifdef lint
         s = 0;                  /* define it before possible use */          s = 0;                  /* define it before possible use */
 #endif  #endif
         if (hascursor = w->ww_hascursor)          hascursor = ISSET(w->ww_wflags, WWW_HASCURSOR);
           if (hascursor)
                 wwcursor(w, 0);                  wwcursor(w, 0);
         while (p < q && !w->ww_stopped && (!wwinterrupt() || w->ww_nointr)) {          while (p < q && !ISSET(w->ww_pflags, WWP_STOPPED) &&
               (!wwinterrupt() || ISSET(w->ww_wflags, WWW_NOINTR))) {
                 if (r && !*p) {                  if (r && !*p) {
                         p = r;                          p = r;
                         q = s;                          q = s;
Line 86 
Line 88 
                         continue;                          continue;
                 }                  }
                 if (w->ww_wstate == 0 &&                  if (w->ww_wstate == 0 &&
                     (isprt(*p) || w->ww_unctrl && isunctrl(*p))) {                      (isprt(*p) || ISSET(w->ww_wflags, WWW_UNCTRL) &&
                        isunctrl(*p))) {
                         register i;                          register i;
                         register union ww_char *bp;                          register union ww_char *bp;
                         int col, col1;                          int col, col1;
   
                         if (w->ww_insert) {     /* this is very slow */                          if (ISSET(w->ww_wflags, WWW_INSERT)) {
                                   /* this is very slow */
                                 if (*p == '\t') {                                  if (*p == '\t') {
                                         p++;                                          p++;
                                         w->ww_cur.c += 8 -                                          w->ww_cur.c += 8 -
Line 125 
Line 129 
                                         bp++->c_w = *p++                                          bp++->c_w = *p++
                                                 | w->ww_modes << WWC_MSHIFT;                                                  | w->ww_modes << WWC_MSHIFT;
                                         i++;                                          i++;
                                 } else if (w->ww_unctrl && isunctrl(*p)) {                                  } else if (ISSET(w->ww_wflags, WWW_UNCTRL) &&
                                              isunctrl(*p)) {
                                         r = p + 1;                                          r = p + 1;
                                         s = q;                                          s = q;
                                         p = unctrl(*p);                                          p = unctrl(*p);
Line 138 
Line 143 
                         if (w->ww_cur.r >= w->ww_i.t                          if (w->ww_cur.r >= w->ww_i.t
                             && w->ww_cur.r < w->ww_i.b) {                              && w->ww_cur.r < w->ww_i.b) {
                                 register union ww_char *ns = wwns[w->ww_cur.r];                                  register union ww_char *ns = wwns[w->ww_cur.r];
                                 register char *smap = &wwsmap[w->ww_cur.r][col];                                  register unsigned char *smap =
                                       &wwsmap[w->ww_cur.r][col];
                                 register char *win = w->ww_win[w->ww_cur.r];                                  register char *win = w->ww_win[w->ww_cur.r];
                                 int nchanged = 0;                                  int nchanged = 0;
   
Line 159 
Line 165 
                 case 0:                  case 0:
                         switch (*p++) {                          switch (*p++) {
                         case '\n':                          case '\n':
                                 if (w->ww_mapnl)                                  if (ISSET(w->ww_wflags, WWW_MAPNL))
                 crlf:                  crlf:
                                         w->ww_cur.c = w->ww_w.l;                                          w->ww_cur.c = w->ww_w.l;
                 lf:                  lf:
Line 197 
Line 203 
                         w->ww_wstate = 0;                          w->ww_wstate = 0;
                         switch (*p++) {                          switch (*p++) {
                         case '@':                          case '@':
                                 w->ww_insert = 1;                                  SET(w->ww_wflags, WWW_INSERT);
                                 break;                                  break;
                         case 'A':                          case 'A':
                 up:                  up:
Line 250 
Line 256 
                                 wwdelchar(w, w->ww_cur.r, w->ww_cur.c);                                  wwdelchar(w, w->ww_cur.r, w->ww_cur.c);
                                 break;                                  break;
                         case 'O':                          case 'O':
                                 w->ww_insert = 0;                                  CLR(w->ww_wflags, WWW_INSERT);
                                 break;                                  break;
                         case 'P':                          case 'P':
                                 wwinschar(w, w->ww_cur.r, w->ww_cur.c, ' ', 0);                                  wwinschar(w, w->ww_cur.r, w->ww_cur.c, ' ', 0);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2