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

Diff for /src/usr.bin/mg/basic.c between version 1.17 and 1.18

version 1.17, 2005/03/10 16:58:57 version 1.18, 2005/04/03 02:09:28
Line 37 
Line 37 
         LINE   *lp;          LINE   *lp;
   
         if (n < 0)          if (n < 0)
                 return forwchar(f, -n);                  return (forwchar(f, -n));
         while (n--) {          while (n--) {
                 if (curwp->w_doto == 0) {                  if (curwp->w_doto == 0) {
                         if ((lp = lback(curwp->w_dotp)) == curbp->b_linep) {                          if ((lp = lback(curwp->w_dotp)) == curbp->b_linep) {
Line 51 
Line 51 
                 } else                  } else
                         curwp->w_doto--;                          curwp->w_doto--;
         }          }
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 75 
Line 75 
 int  int
 forwchar(int f, int n)  forwchar(int f, int n)
 {  {
   
         if (n < 0)          if (n < 0)
                 return backchar(f, -n);                  return (backchar(f, -n));
         while (n--) {          while (n--) {
                 if (curwp->w_doto == llength(curwp->w_dotp)) {                  if (curwp->w_doto == llength(curwp->w_dotp)) {
                         curwp->w_dotp = lforw(curwp->w_dotp);                          curwp->w_dotp = lforw(curwp->w_dotp);
Line 85 
Line 84 
                                 curwp->w_dotp = lback(curwp->w_dotp);                                  curwp->w_dotp = lback(curwp->w_dotp);
                                 if (!(f & FFRAND))                                  if (!(f & FFRAND))
                                         ewprintf("End of buffer");                                          ewprintf("End of buffer");
                                 return FALSE;                                  return (FALSE);
                         }                          }
                         curwp->w_doto = 0;                          curwp->w_doto = 0;
                         curwp->w_flag |= WFMOVE;                          curwp->w_flag |= WFMOVE;
                 } else                  } else
                         curwp->w_doto++;                          curwp->w_doto++;
         }          }
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 103 
Line 102 
 int  int
 gotobob(int f, int n)  gotobob(int f, int n)
 {  {
   
         (void) setmark(f, n);          (void) setmark(f, n);
         curwp->w_dotp = lforw(curbp->b_linep);          curwp->w_dotp = lforw(curbp->b_linep);
         curwp->w_doto = 0;          curwp->w_doto = 0;
         curwp->w_flag |= WFHARD;          curwp->w_flag |= WFHARD;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 119 
Line 117 
 int  int
 gotoeob(int f, int n)  gotoeob(int f, int n)
 {  {
   
         (void) setmark(f, n);          (void) setmark(f, n);
         curwp->w_dotp = lback(curbp->b_linep);          curwp->w_dotp = lback(curbp->b_linep);
         curwp->w_doto = llength(curwp->w_dotp);          curwp->w_doto = llength(curwp->w_dotp);
         curwp->w_flag |= WFHARD;          curwp->w_flag |= WFHARD;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 141 
Line 138 
         LINE  *dlp;          LINE  *dlp;
   
         if (n < 0)          if (n < 0)
                 return backline(f | FFRAND, -n);                  return (backline(f | FFRAND, -n));
         if ((lastflag & CFCPCN) == 0)   /* Fix goal. */          if ((lastflag & CFCPCN) == 0)   /* Fix goal. */
                 setgoal();                  setgoal();
         thisflag |= CFCPCN;          thisflag |= CFCPCN;
         if (n == 0)          if (n == 0)
                 return TRUE;                  return (TRUE);
         dlp = curwp->w_dotp;          dlp = curwp->w_dotp;
         while (dlp != curbp->b_linep && n--)          while (dlp != curbp->b_linep && n--)
                 dlp = lforw(dlp);                  dlp = lforw(dlp);
Line 160 
Line 157 
                 curwp->w_doto = 0;                  curwp->w_doto = 0;
                 while (n-- >= 0) {                  while (n-- >= 0) {
                         if ((dlp = lalloc(0)) == NULL)                          if ((dlp = lalloc(0)) == NULL)
                                 return FALSE;                                  return (FALSE);
                         dlp->l_fp = curbp->b_linep;                          dlp->l_fp = curbp->b_linep;
                         dlp->l_bp = lback(dlp->l_fp);                          dlp->l_bp = lback(dlp->l_fp);
                         dlp->l_bp->l_fp = dlp->l_fp->l_bp = dlp;                          dlp->l_bp->l_fp = dlp->l_fp->l_bp = dlp;
Line 170 
Line 167 
                 curwp->w_dotp = dlp;                  curwp->w_dotp = dlp;
                 curwp->w_doto = getgoal(dlp);                  curwp->w_doto = getgoal(dlp);
         }          }
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 187 
Line 184 
         LINE   *dlp;          LINE   *dlp;
   
         if (n < 0)          if (n < 0)
                 return forwline(f | FFRAND, -n);                  return (forwline(f | FFRAND, -n));
         if ((lastflag & CFCPCN) == 0)   /* Fix goal. */          if ((lastflag & CFCPCN) == 0)   /* Fix goal. */
                 setgoal();                  setgoal();
         thisflag |= CFCPCN;          thisflag |= CFCPCN;
Line 197 
Line 194 
         curwp->w_dotp = dlp;          curwp->w_dotp = dlp;
         curwp->w_doto = getgoal(dlp);          curwp->w_doto = getgoal(dlp);
         curwp->w_flag |= WFMOVE;          curwp->w_flag |= WFMOVE;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 240 
Line 237 
                 else {                  else {
                         char tmp[5];                          char tmp[5];
   
                         snprintf(tmp, sizeof tmp, "\\%o", c);                          snprintf(tmp, sizeof(tmp), "\\%o", c);
                         col += strlen(tmp);                          col += strlen(tmp);
                 }                  }
                 if (col > curgoal)                  if (col > curgoal)
Line 268 
Line 265 
                 if (n <= 0)                     /* Forget the overlap    */                  if (n <= 0)                     /* Forget the overlap    */
                         n = 1;                  /* if tiny window.       */                          n = 1;                  /* if tiny window.       */
         } else if (n < 0)          } else if (n < 0)
                 return backpage(f | FFRAND, -n);                  return (backpage(f | FFRAND, -n));
 #ifdef  CVMVAS  #ifdef  CVMVAS
         else                                    /* Convert from pages    */          else                                    /* Convert from pages    */
                 n *= curwp->w_ntrows;           /* to lines.             */                  n *= curwp->w_ntrows;           /* to lines.             */
Line 281 
Line 278 
         /* if in current window, don't move dot */          /* if in current window, don't move dot */
         for (n = curwp->w_ntrows; n-- && lp != curbp->b_linep; lp = lforw(lp))          for (n = curwp->w_ntrows; n-- && lp != curbp->b_linep; lp = lforw(lp))
                 if (lp == curwp->w_dotp)                  if (lp == curwp->w_dotp)
                         return TRUE;                          return (TRUE);
         curwp->w_dotp = curwp->w_linep;          curwp->w_dotp = curwp->w_linep;
         curwp->w_doto = 0;          curwp->w_doto = 0;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 306 
Line 303 
                 if (n <= 0)                     /* Don't blow up if the  */                  if (n <= 0)                     /* Don't blow up if the  */
                         n = 1;                  /* window is tiny.       */                          n = 1;                  /* window is tiny.       */
         } else if (n < 0)          } else if (n < 0)
                 return forwpage(f | FFRAND, -n);                  return (forwpage(f | FFRAND, -n));
 #ifdef  CVMVAS  #ifdef  CVMVAS
         else                                    /* Convert from pages    */          else                                    /* Convert from pages    */
                 n *= curwp->w_ntrows;           /* to lines.             */                  n *= curwp->w_ntrows;           /* to lines.             */
Line 319 
Line 316 
         /* if in current window, don't move dot */          /* if in current window, don't move dot */
         for (n = curwp->w_ntrows; n-- && lp != curbp->b_linep; lp = lforw(lp))          for (n = curwp->w_ntrows; n-- && lp != curbp->b_linep; lp = lforw(lp))
                 if (lp == curwp->w_dotp)                  if (lp == curwp->w_dotp)
                         return TRUE;                          return (TRUE);
         curwp->w_dotp = curwp->w_linep;          curwp->w_dotp = curwp->w_linep;
         curwp->w_doto = 0;          curwp->w_doto = 0;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 337 
Line 334 
                 f = FFUNIV;                  f = FFUNIV;
         }          }
         forwpage(f | FFRAND, n);          forwpage(f | FFRAND, n);
         return TRUE;          return (TRUE);
 }  }
   
 int  int
Line 348 
Line 345 
                 f = FFUNIV;                  f = FFUNIV;
         }          }
         backpage(f | FFRAND, n);          backpage(f | FFRAND, n);
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 362 
Line 359 
   
         if (wheadp->w_wndp == NULL) {          if (wheadp->w_wndp == NULL) {
                 ewprintf("No other window");                  ewprintf("No other window");
                 return FALSE;                  return (FALSE);
         }          }
         wp = curwp;          wp = curwp;
         (void) nextwind(f, n);          (void) nextwind(f, n);
         (void) forwpage(f, n);          (void) forwpage(f, n);
         curwp = wp;          curwp = wp;
         curbp = wp->w_bufp;          curbp = wp->w_bufp;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 391 
Line 388 
 int  int
 setmark(int f, int n)  setmark(int f, int n)
 {  {
   
         isetmark();          isetmark();
         ewprintf("Mark set");          ewprintf("Mark set");
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 413 
Line 409 
   
         if (curwp->w_markp == NULL) {          if (curwp->w_markp == NULL) {
                 ewprintf("No mark in this window");                  ewprintf("No mark in this window");
                 return FALSE;                  return (FALSE);
         }          }
         odotp = curwp->w_dotp;          odotp = curwp->w_dotp;
         odoto = curwp->w_doto;          odoto = curwp->w_doto;
Line 422 
Line 418 
         curwp->w_markp = odotp;          curwp->w_markp = odotp;
         curwp->w_marko = odoto;          curwp->w_marko = odoto;
         curwp->w_flag |= WFMOVE;          curwp->w_flag |= WFMOVE;
         return TRUE;          return (TRUE);
 }  }
   
 /*  /*
Line 442 
Line 438 
   
         if (!(f & FFARG)) {          if (!(f & FFARG)) {
                 if ((bufp = ereply("Goto line: ", buf, sizeof(buf))) == NULL)                  if ((bufp = ereply("Goto line: ", buf, sizeof(buf))) == NULL)
                         return ABORT;                          return (ABORT);
                 else if (bufp[0] == '\0')                  else if (bufp[0] == '\0')
                         return FALSE;                          return (FALSE);
   
                 nl = strtol(bufp, &tmp, 10);                  nl = strtol(bufp, &tmp, 10);
                 if (bufp[0] == '\0' || *tmp != '\0') {                  if (bufp[0] == '\0' || *tmp != '\0') {
                         ewprintf("Invalid number");                          ewprintf("Invalid number");
                         return FALSE;                          return (FALSE);
                 }                  }
                 if (nl >= INT_MAX || nl <= INT_MIN) {                  if (nl >= INT_MAX || nl <= INT_MIN) {
                         ewprintf("Out of range");                          ewprintf("Out of range");
                         return FALSE;                          return (FALSE);
                 }                  }
                 n = (int)nl;                  n = (int)nl;
         }          }
Line 476 
Line 472 
         curwp->w_dotp = clp;          curwp->w_dotp = clp;
         curwp->w_doto = 0;          curwp->w_doto = 0;
         curwp->w_flag |= WFMOVE;          curwp->w_flag |= WFMOVE;
         return TRUE;          return (TRUE);
 }  }

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18