* top.c (command_line_input): Only strip out an initial #-comment.

Looking for internal comments is language-specific (breaks Scheme).
This commit is contained in:
Per Bothner 1995-11-29 23:22:32 +00:00
parent badefd2800
commit f2ed3a80bb
2 changed files with 10 additions and 40 deletions

View File

@ -1,5 +1,8 @@
Wed Nov 29 13:35:18 1995 Per Bothner <bothner@kalessin.cygnus.com>
* top.c (command_line_input): Only strip out an initial #-comment.
Looking for internal comments is language-specific (breaks Scheme).
* expression.h (enum exp_opcode): Add BINOP_RANGE.
* expprint.c (dump_expression): Support BINOP_RANGE.
* eval.c (evaluate_subexp_standard): Handle BINOP_RANGE (as error).

View File

@ -2041,16 +2041,11 @@ command_line_input (prrompt, repeat, annotation_suffix)
/* If we just got an empty line, and that is supposed
to repeat the previous command, return the value in the
global buffer. */
if (repeat)
{
if (p == linebuffer)
return line;
p1 = linebuffer;
while (*p1 == ' ' || *p1 == '\t')
p1++;
if (!*p1)
return line;
}
if (repeat && p == linebuffer)
return line;
for (p1 = linebuffer; *p1 == ' ' || *p1 == '\t'; p1++) ;
if (repeat && !*p1)
return line;
*p = 0;
@ -2065,36 +2060,8 @@ command_line_input (prrompt, repeat, annotation_suffix)
out the command and then later fetch it from the value history
and remove the '#'. The kill ring is probably better, but some
people are in the habit of commenting things out. */
p1 = linebuffer;
while ((c = *p1++) != '\0')
{
if (c == '"')
while ((c = *p1++) != '"')
{
/* Make sure an escaped '"' doesn't make us think the string
is ended. */
if (c == '\\')
parse_escape (&p1);
if (c == '\0')
break;
}
else if (c == '\'')
while ((c = *p1++) != '\'')
{
/* Make sure an escaped '\'' doesn't make us think the string
is ended. */
if (c == '\\')
parse_escape (&p1);
if (c == '\0')
break;
}
else if (c == '#')
{
/* Found a comment. */
p1[-1] = '\0';
break;
}
}
if (*p1 == '#')
*p1 = '\0'; /* Found a comment. */
/* Save into global buffer if appropriate. */
if (repeat)