Hi @tech, I remark that ed(1) do not support adress ranges which begin with comma or semicolon, for example ",10p" which is equivalent to "1,10p" or "; +10p" which is equivalent to ".;+10p". These adress ranges are specified by Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition) (in fact, there are also adress ranges like "10," which is equivalent to "10,10" but they seem useless to me...).
I would suggest this diff to add support for these adress ranges. Index: main.c =================================================================== RCS file: /cvs/src/bin/ed/main.c,v retrieving revision 1.58 diff -u -r1.58 main.c --- main.c 16 Aug 2016 20:04:46 -0000 1.58 +++ main.c 24 Dec 2016 15:26:41 -0000 @@ -383,7 +383,9 @@ ibufp++; addr_cnt++; second_addr = (c == ';') ? current_addr : 1; - addr = addr_last; + addr = next_addr(); + if (addr < 0) + addr = addr_last; break; } /* FALLTHROUGH */ PS : I haven't subcribe to the tech mailing list, so please add me as recipient if you reply. PPS : Merry Christmas. Kind regards, Jérôme FRGACIC