lexical #4/6, parentheses and braces
This commit is contained in:
parent
c73c0f4318
commit
aa188c0766
|
|
@ -102,7 +102,7 @@ pwlist_echo( /*CDHW used to perform function of set echo */
|
||||||
{
|
{
|
||||||
wordlist *wl;
|
wordlist *wl;
|
||||||
|
|
||||||
if ((!cp_echo)||cp_debug) /* cpdebug prints the same info */
|
if (!cp_echo || cp_debug) /* cpdebug prints the same info */
|
||||||
return;
|
return;
|
||||||
fprintf(cp_err, "%s ", name);
|
fprintf(cp_err, "%s ", name);
|
||||||
for (wl = wlist; wl; wl = wl->wl_next)
|
for (wl = wlist; wl; wl = wl->wl_next)
|
||||||
|
|
@ -142,8 +142,9 @@ nloop:
|
||||||
c = '\n';
|
c = '\n';
|
||||||
if (c == ESCAPE)
|
if (c == ESCAPE)
|
||||||
c = '[';
|
c = '[';
|
||||||
} else
|
} else {
|
||||||
c = input(cp_inp_cur);
|
c = input(cp_inp_cur);
|
||||||
|
}
|
||||||
|
|
||||||
gotchar:
|
gotchar:
|
||||||
if ((c != EOF) && (c != ESCAPE))
|
if ((c != EOF) && (c != ESCAPE))
|
||||||
|
|
@ -189,9 +190,8 @@ gotchar:
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case ' ':
|
case ' ':
|
||||||
case '\t':
|
case '\t':
|
||||||
if (i > 0) {
|
if (i > 0)
|
||||||
newword;
|
newword;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\n':
|
case '\n':
|
||||||
|
|
@ -208,10 +208,8 @@ gotchar:
|
||||||
&& (i < NEW_BSIZE_SP - 1)) {
|
&& (i < NEW_BSIZE_SP - 1)) {
|
||||||
if ((c == '\n') || (c == EOF) || (c == ESCAPE))
|
if ((c == '\n') || (c == EOF) || (c == ESCAPE))
|
||||||
goto gotchar;
|
goto gotchar;
|
||||||
else {
|
|
||||||
buf[i++] = (char) quote(c);
|
buf[i++] = (char) quote(c);
|
||||||
linebuf[j++] = (char) c;
|
linebuf[j++] = (char) c;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
linebuf[j++] = '\'';
|
linebuf[j++] = '\'';
|
||||||
break;
|
break;
|
||||||
|
|
@ -224,7 +222,7 @@ gotchar:
|
||||||
&& (i < NEW_BSIZE_SP - 2)) {
|
&& (i < NEW_BSIZE_SP - 2)) {
|
||||||
if ((c == '\n') || (c == EOF) || (c == ESCAPE))
|
if ((c == '\n') || (c == EOF) || (c == ESCAPE))
|
||||||
goto gotchar;
|
goto gotchar;
|
||||||
else if (c == '\\') {
|
if (c == '\\') {
|
||||||
linebuf[j++] = (char) c;
|
linebuf[j++] = (char) c;
|
||||||
c = (string ? *string++ : input(cp_inp_cur));
|
c = (string ? *string++ : input(cp_inp_cur));
|
||||||
buf[i++] = (char) quote(c);
|
buf[i++] = (char) quote(c);
|
||||||
|
|
@ -264,8 +262,9 @@ gotchar:
|
||||||
#endif
|
#endif
|
||||||
wlist = cw = NULL;
|
wlist = cw = NULL;
|
||||||
goto nloop;
|
goto nloop;
|
||||||
} else /* EOF during a source */
|
}
|
||||||
{
|
|
||||||
|
/* EOF during a source */
|
||||||
if (cp_interactive) {
|
if (cp_interactive) {
|
||||||
fputs("quit\n", stdout);
|
fputs("quit\n", stdout);
|
||||||
cp_doquit();
|
cp_doquit();
|
||||||
|
|
@ -275,7 +274,6 @@ gotchar:
|
||||||
|
|
||||||
wl_free(wlist);
|
wl_free(wlist);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
case ESCAPE:
|
case ESCAPE:
|
||||||
if (cp_interactive && !cp_nocc) {
|
if (cp_interactive && !cp_nocc) {
|
||||||
fputs("\b\b \b\b\r", cp_out);
|
fputs("\b\b \b\b\r", cp_out);
|
||||||
|
|
@ -294,7 +292,7 @@ gotchar:
|
||||||
}
|
}
|
||||||
goto ldefault;
|
goto ldefault;
|
||||||
case ',':
|
case ',':
|
||||||
if (paren < 1 && i > 0) {
|
if ((paren < 1) && (i > 0)) {
|
||||||
newword;
|
newword;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -306,7 +304,7 @@ gotchar:
|
||||||
}
|
}
|
||||||
goto ldefault;
|
goto ldefault;
|
||||||
case '&': /* va: $&name is one word */
|
case '&': /* va: $&name is one word */
|
||||||
if (i==1 && buf[i-1]=='$' && c=='&') {
|
if ((i == 1) && (buf[i-1] == '$') && (c == '&')) {
|
||||||
buf[i++] = (char) c;
|
buf[i++] = (char) c;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -314,7 +312,7 @@ gotchar:
|
||||||
case '<':
|
case '<':
|
||||||
case '>': /* va: <=, >= are unbreakable words */
|
case '>': /* va: <=, >= are unbreakable words */
|
||||||
if(string)
|
if(string)
|
||||||
if (i==0 && (*string=='=')) {
|
if ((i == 0) && (*string == '=')) {
|
||||||
buf[i++] = (char) c;
|
buf[i++] = (char) c;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -324,17 +322,13 @@ gotchar:
|
||||||
* here
|
* here
|
||||||
*/
|
*/
|
||||||
ldefault:
|
ldefault:
|
||||||
if ((cp_chars[c] & CPC_BRL) && (i > 0)) {
|
if ((cp_chars[c] & CPC_BRL) && (i > 0))
|
||||||
if ((c != '<') || (buf[i - 1] != '$')) {
|
if ((c != '<') || (buf[i - 1] != '$'))
|
||||||
newword;
|
newword;
|
||||||
}
|
|
||||||
}
|
|
||||||
buf[i++] = (char) c;
|
buf[i++] = (char) c;
|
||||||
if (cp_chars[c] & CPC_BRR) {
|
if (cp_chars[c] & CPC_BRR)
|
||||||
if ((c != '<') || (i < 2) || (buf[i - 2] != '$')) {
|
if ((c != '<') || (i < 2) || (buf[i - 2] != '$'))
|
||||||
newword;
|
newword;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue