svn commit: r320603 - head/bin/ed
Pedro F. Giffuni
pfg at FreeBSD.org
Mon Jul 3 15:54:46 UTC 2017
Author: pfg
Date: Mon Jul 3 15:54:44 2017
New Revision: 320603
URL: https://svnweb.freebsd.org/changeset/base/320603
Log:
ed(1): Allow the omission of one address in (.,.) and (.;.) address ranges
With this patch, ",n" is an abbreviation for "1,n", ";n" abbreviates
".;n". The "n," and "n;" variants mean "n,n" and "n;n", respectively.
Also, piping to a shell command does not count as a save, so don't reset
the modified flag.
Obtained from: OpenBSD (CVS Rev. 1.58, 1.59)
Modified:
head/bin/ed/main.c
Modified: head/bin/ed/main.c
==============================================================================
--- head/bin/ed/main.c Mon Jul 3 15:34:21 2017 (r320602)
+++ head/bin/ed/main.c Mon Jul 3 15:54:44 2017 (r320603)
@@ -350,7 +350,8 @@ next_addr(void)
ibufp++;
addr_cnt++;
second_addr = (c == ';') ? current_addr : 1;
- addr = addr_last;
+ if ((addr = next_addr()) < 0)
+ addr = addr_last;
break;
}
/* FALLTHROUGH */
@@ -809,7 +810,7 @@ exec_command(void)
if ((addr = write_file(*fnp ? fnp : old_filename,
(c == 'W') ? "a" : "w", first_addr, second_addr)) < 0)
return ERR;
- else if (addr == addr_last)
+ else if (addr == addr_last && *fnp != '!')
modified = 0;
else if (modified && !scripted && n == 'q')
gflag = EMOD;
More information about the svn-src-all
mailing list