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

Diff for /src/usr.bin/mg/kbd.c between version 1.15 and 1.16

version 1.15, 2004/02/01 22:26:40 version 1.16, 2005/04/03 02:09:28
Line 41 
Line 41 
         else          else
                 use_metakey = !use_metakey;                  use_metakey = !use_metakey;
         ewprintf("Meta keys %sabled", use_metakey ? "en" : "dis");          ewprintf("Meta keys %sabled", use_metakey ? "en" : "dis");
         return TRUE;          return (TRUE);
 }  }
 #endif /* DO_METAKEY */  #endif /* DO_METAKEY */
   
Line 58 
Line 58 
         else          else
                 bs_map = !bs_map;                  bs_map = !bs_map;
         ewprintf("Backspace mapping %sabled", bs_map ? "en" : "dis");          ewprintf("Backspace mapping %sabled", bs_map ? "en" : "dis");
         return TRUE;          return (TRUE);
 }  }
 #endif /* BSMAP */  #endif /* BSMAP */
   
Line 119 
Line 119 
                 *promptp = '\0';                  *promptp = '\0';
         }          }
 #endif /* !NO_DPROMPT */  #endif /* !NO_DPROMPT */
         return c;          return (c);
 }  }
   
 /*  /*
Line 132 
Line 132 
 {  {
         MAP_ELEMENT     *elec = &map->map_element[0];          MAP_ELEMENT     *elec = &map->map_element[0];
         MAP_ELEMENT     *last = &map->map_element[map->map_num];          MAP_ELEMENT     *last = &map->map_element[map->map_num];
         PF              ret;          PF               ret;
   
         while (elec < last && c > elec->k_num)          while (elec < last && c > elec->k_num)
                 elec++;                  elec++;
Line 146 
Line 146 
         if (ret == NULL && newmap != NULL)          if (ret == NULL && newmap != NULL)
                 *newmap = elec->k_prefmap;                  *newmap = elec->k_prefmap;
   
         return ret;          return (ret);
 }  }
   
 int  int
Line 162 
Line 162 
         key.k_count = 0;          key.k_count = 0;
         while ((funct = doscan(curmap, (key.k_chars[key.k_count++] =          while ((funct = doscan(curmap, (key.k_chars[key.k_count++] =
             getkey(TRUE)), &curmap)) == NULL)              getkey(TRUE)), &curmap)) == NULL)
                 /*nothing*/;                  /* nothing */;
 #ifndef NO_MACRO  #ifndef NO_MACRO
         if (macrodef && macrocount < MAXMACRO)          if (macrodef && macrocount < MAXMACRO)
                 macro[macrocount++].m_funct = funct;                  macro[macrocount++].m_funct = funct;
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
         return (*funct)(0, 1);          return ((*funct)(0, 1));
 }  }
   
 int  int
Line 193 
Line 193 
                                         while ((fp = doscan(curmap,                                          while ((fp = doscan(curmap,
                                             key.k_chars[key.k_count++] =                                              key.k_chars[key.k_count++] =
                                             getkey(TRUE), &curmap)) == NULL)                                              getkey(TRUE), &curmap)) == NULL)
                                                 /*nothing*/;                                                  /* nothing */;
                                 if (fp != rescan) {                                  if (fp != rescan) {
 #ifndef NO_MACRO  #ifndef NO_MACRO
                                         if (macrodef && macrocount <= MAXMACRO)                                          if (macrodef && macrocount <= MAXMACRO)
                                                 macro[macrocount - 1].m_funct                                                  macro[macrocount - 1].m_funct
                                                     = fp;                                                      = fp;
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
                                         return (*fp)(f, n);                                          return ((*fp)(f, n));
                                 }                                  }
                         }                          }
                 }                  }
                 /* try previous mode */                  /* try previous mode */
                 if (--mode < 0)                  if (--mode < 0)
                         return ABORT;                          return (ABORT);
                 curmap = curbp->b_modes[mode]->p_map;                  curmap = curbp->b_modes[mode]->p_map;
                 for (i = 0; i < key.k_count; i++) {                  for (i = 0; i < key.k_count; i++) {
                         if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) != NULL)                          if ((fp = doscan(curmap, (key.k_chars[i]), &curmap)) != NULL)
Line 215 
Line 215 
                 if (fp == NULL) {                  if (fp == NULL) {
                         while ((fp = doscan(curmap, key.k_chars[i++] =                          while ((fp = doscan(curmap, key.k_chars[i++] =
                             getkey(TRUE), &curmap)) == NULL)                              getkey(TRUE), &curmap)) == NULL)
                                 /*nothing*/;                                  /* nothing */;
                         key.k_count = i;                          key.k_count = i;
                 }                  }
                 if (fp != rescan && i >= key.k_count - 1) {                  if (fp != rescan && i >= key.k_count - 1) {
Line 223 
Line 223 
                         if (macrodef && macrocount <= MAXMACRO)                          if (macrodef && macrocount <= MAXMACRO)
                                 macro[macrocount - 1].m_funct = fp;                                  macro[macrocount - 1].m_funct = fp;
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
                         return (*fp)(f, n);                          return ((*fp)(f, n));
                 }                  }
         }          }
 }  }
Line 233 
Line 233 
 {  {
         KEYMAP  *curmap;          KEYMAP  *curmap;
         PF       funct;          PF       funct;
         int      c;          int      c, nn = 4;
         int      nn = 4;  
   
         if (f & FFUNIV)          if (f & FFUNIV)
                 nn *= n;                  nn *= n;
Line 242 
Line 241 
                 key.k_chars[0] = c = getkey(TRUE);                  key.k_chars[0] = c = getkey(TRUE);
                 key.k_count = 1;                  key.k_count = 1;
                 if (c == '-')                  if (c == '-')
                         return negative_argument(f, nn);                          return (negative_argument(f, nn));
                 if (c >= '0' && c <= '9')                  if (c >= '0' && c <= '9')
                         return digit_argument(f, nn);                          return (digit_argument(f, nn));
                 curmap = curbp->b_modes[curbp->b_nmodes]->p_map;                  curmap = curbp->b_modes[curbp->b_nmodes]->p_map;
                 while ((funct = doscan(curmap, c, &curmap)) == NULL) {                  while ((funct = doscan(curmap, c, &curmap)) == NULL) {
                         key.k_chars[key.k_count++] = c = getkey(TRUE);                          key.k_chars[key.k_count++] = c = getkey(TRUE);
Line 258 
Line 257 
                                 macro[macrocount++].m_funct = funct;                                  macro[macrocount++].m_funct = funct;
                         }                          }
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
                         return (*funct)(FFUNIV, nn);                          return ((*funct)(FFUNIV, nn));
                 }                  }
                 nn <<= 2;                  nn <<= 2;
         }          }
Line 296 
Line 295 
                 macro[macrocount++].m_funct = funct;                  macro[macrocount++].m_funct = funct;
         }          }
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
         return (*funct)(FFOTHARG, nn);          return ((*funct)(FFOTHARG, nn));
 }  }
   
 int  int
Line 334 
Line 333 
                 macro[macrocount++].m_funct = funct;                  macro[macrocount++].m_funct = funct;
         }          }
 #endif /* !NO_MACRO */  #endif /* !NO_MACRO */
         return (*funct)(FFNEGARG, nn);          return ((*funct)(FFNEGARG, nn));
 }  }
   
 /*  /*
Line 351 
Line 350 
         int      count;          int      count;
   
         if (n < 0)          if (n < 0)
                 return FALSE;                  return (FALSE);
         if (n == 0)          if (n == 0)
                 return TRUE;                  return (TRUE);
         c = key.k_chars[key.k_count - 1];          c = key.k_chars[key.k_count - 1];
 #ifndef NO_MACRO  #ifndef NO_MACRO
         if (macrodef && macrocount < MAXMACRO) {          if (macrodef && macrocount < MAXMACRO) {
Line 367 
Line 366 
                         if (maclcur->l_size < maclcur->l_used + n) {                          if (maclcur->l_size < maclcur->l_used + n) {
                                 if (lrealloc(maclcur, maclcur->l_used + n) ==                                  if (lrealloc(maclcur, maclcur->l_used + n) ==
                                     FALSE)                                      FALSE)
                                         return FALSE;                                          return (FALSE);
                         }                          }
                         maclcur->l_used += n;                          maclcur->l_used += n;
                         /* Copy in the new data */                          /* Copy in the new data */
Line 377 
Line 376 
                 } else {                  } else {
                         macro[macrocount - 1].m_funct = insert;                          macro[macrocount - 1].m_funct = insert;
                         if ((lp = lalloc(n)) == NULL)                          if ((lp = lalloc(n)) == NULL)
                                 return FALSE;                                  return (FALSE);
                         lp->l_bp = maclcur;                          lp->l_bp = maclcur;
                         lp->l_fp = maclcur->l_fp;                          lp->l_fp = maclcur->l_fp;
                         maclcur->l_fp = lp;                          maclcur->l_fp = lp;
Line 392 
Line 391 
                 do {                  do {
                         count = lnewline();                          count = lnewline();
                 } while (--n && count == TRUE);                  } while (--n && count == TRUE);
                 return count;                  return (count);
         }          }
   
         /* overwrite mode */          /* overwrite mode */
Line 401 
Line 400 
                 while (curwp->w_doto < llength(curwp->w_dotp) && n--)                  while (curwp->w_doto < llength(curwp->w_dotp) && n--)
                         lputc(curwp->w_dotp, curwp->w_doto++, c);                          lputc(curwp->w_dotp, curwp->w_doto++, c);
                 if (n <= 0)                  if (n <= 0)
                         return TRUE;                          return (TRUE);
         }          }
         return linsert(n, c);          return (linsert(n, c));
 }  }
   
 /*  /*
  * This could be implemented as a keymap with everthing defined as self-insert.   * This could be implemented as a keymap with everything defined as self-insert.
  */   */
 int  int
 quote(int f, int n)  quote(int f, int n)
Line 428 
Line 427 
                 } else                  } else
                         ungetkey(c);                          ungetkey(c);
         }          }
         return selfinsert(f, n);          return (selfinsert(f, n));
 }  }

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16