ping
On 06/02/18 16:08, Martijn van Duren wrote:
> anyone?
>
> On 05/24/18 09:40, Martijn van Duren wrote:
>> Since we accept "!" as a full command to system(3), I decided to do even
>> more trimming than when BACKWARDS is not defined. This way we trim even
>> more LoC and have one less error case.
>>
>> Note that running "!!" without a prior command adds an extra empty line
>> if suppress diagnostics is not active, because substitution prints the
>> replaced line, which would be empty. But this would be identical to
>> first running "!" followed by a "!!" with BACKWARDS disabled.
>>
>> If people do care about this error message I suggest that we also add
>> another case for when the command is completely empty, because right
>> now this would work as well:
>> $ ed -p'>'
>>> !
>> !
>>> a
>> foo
>> .
>>> w !
>> 4
>>
>> OK?
>>
>> martijn@
>>
>> Index: main.c
>> ===================================================================
>> RCS file: /cvs/src/bin/ed/main.c,v
>> retrieving revision 1.62
>> diff -u -p -r1.62 main.c
>> --- main.c 24 May 2018 06:24:29 -0000 1.62
>> +++ main.c 24 May 2018 07:35:08 -0000
>> @@ -1012,20 +1012,13 @@ get_shell_command(void)
>> REALLOC(buf, n, i + 1, ERR);
>> buf[i++] = *ibufp++;
>> }
>> -#ifdef BACKWARDS
>> - else if (shcmd == NULL || *(shcmd + 1) == '\0')
>> -#else
>> - else if (shcmd == NULL)
>> -#endif
>> - {
>> - seterrmsg("no previous command");
>> - return ERR;
>> - } else {
>> + if (shcmd != NULL) {
>> REALLOC(buf, n, i + shcmdi, ERR);
>> for (s = shcmd + 1; s < shcmd + shcmdi;)
>> buf[i++] = *s++;
>> - s = ibufp++;
>> + s = ibufp;
>> }
>> + ibufp++;
>> break;
>> case '%':
>> if (*old_filename == '\0') {
>>
>