Changeset 2f7502 in git


Ignore:
Timestamp:
Feb 14, 2000, 6:00:11 PM (24 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
937e3a141924432fe13166e63c9681b5ef793ab2
Parents:
86b2da8a9025c680f0918d9203d53aa65fe913a4
Message:
*hannes: multiple line input


git-svn-id: file:///usr/local/Singular/svn/trunk@4145 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/febase.inc

    r86b2da8 r2f7502  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: febase.inc,v 1.28 1999-11-15 17:19:57 obachman Exp $ */
     4/* $Id: febase.inc,v 1.29 2000-02-14 17:00:10 Singular Exp $ */
    55/*
    66* ABSTRACT: handling of 'voices'
     
    369369static int fePrintEcho(char *anf, char *b)
    370370{
    371   char *ss=strchr(anf,'\n');
     371  char *ss=strrchr(anf,'\n');
    372372  int len_s;
    373373  if (ss==NULL)
  • Singular/fereadl.c

    r86b2da8 r2f7502  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: fereadl.c,v 1.11 2000-02-14 14:10:54 Singular Exp $ */
     4/* $Id: fereadl.c,v 1.12 2000-02-14 17:00:11 Singular Exp $ */
    55/*
    66* ABSTRACT: input from ttys, simulating fgets
     
    8383int     fe_cursor_pos; /* 0..colmax-1*/
    8484int     fe_cursor_line; /* 0..pagelength-1*/
     85int     mlinestart;
    8586
    8687#ifndef MSDOS
     
    335336{
    336337  fe_ctrl_k(s,*i);
    337   while((*i)>0)
     338  while((*i)>mlinestart)
    338339  {
    339340    (*i)--;
     
    487488    #endif
    488489    int i=0;
     490    mlinestart=0;
    489491
    490492    if (fe_is_raw_tty==0)
     
    506508        case feCTRL('J'):
    507509        {
    508           fe_add_hist(s);
    509510          i=strlen(s);
    510           if (i<size-1) s[i]='\n';
    511511          fputc('\n',fe_echo);
    512           if (!fe_getchar_stat())
    513           {
     512          if ((!fe_getchar_stat()) || (i>=size-1))
     513          {
     514            fe_add_hist(s);
     515            if (i<size-1) s[i]='\n';
    514516            fflush(fe_echo);
    515517            fe_temp_reset();
    516518            return s;
    517519          }
     520          /*if (i<size-1)*/ s[i]='\n';
     521          i++;
     522          mlinestart=i;
     523          fe_cursor_pos=0;
     524          if(fe_cursor_line!=(pagelength-1))
     525            fe_cursor_line++;
     526          change=1;
    518527          break;
    519528        }
     
    524533        case 127:       /*delete the character left of the cursor*/
    525534        {
    526           if (i==0) break;
     535          if (i==mlinestart) break;
    527536          i--;
    528537          fe_cursor_pos--;
     
    531540            fe_cursor_line--;
    532541            fe_cursor_pos=colmax-1;
    533             fe_set_cursor(s,i);
     542            fe_set_cursor(s,i-mlinestart);
    534543          }
    535544          else
     
    615624        case feCTRL('B'): /* move the cursor backward one character */
    616625        {
    617           if (i>0)
     626          if (i>mlinestart)
    618627          {
    619628            i--;
     
    649658          fe_cursor_pos=strlen(pr);
    650659          memset(s,0,size);
     660          mlinestart=0;
    651661          change=1;
    652662          break;
Note: See TracChangeset for help on using the changeset viewer.