Antonio Diaz writes: | Sorry for taking so long. I have finally reported the problems with the 'c' and 'i' commands here: | http://austingroupbugs.net/view.php?id=1130
Your rationale for rejecting 0c is based on implementation details. Per BSD ed man page, which includes GNU ed 0.2: One exception to the rule that addresses represent line numbers is the address 0 (zero). This means "before the first line", and is legal wher- ever it makes sense. This is a general rule. In the particular case of the command `c’, address 0 never makes sense, except as a synonym for 1. By analogy, think of military time, where 24:00 is the same as 00:00 (i.e., midnight). Let’s provide some cases: CASE 1. Empty file: 0c not allowed because there’s nothing to change $ ed <<EOF H 0c EOF ? script, line 2: Address out of range $ CASE 2. Non-empty file: 0c is equivalent to 1c $ ed <<EOF H a 1 . 0c hello . ,p Q EOF hello $ CASE 3. Non-empty file: 0,2c is equivalent to 1,2c because 0c is equivalent to 1c $ ed <<EOF H a 1 2 3 . 0,2c hello . ,p Q EOF hello 3 $ | http://austingroupbugs.net/view.php?id=1131 In the case of 0i, the description could be better, but the intent is clear enough. In the particular case of an empty buffer, 0i adds text starting with address 1. So in that sense “0i is the same as 1i”. -AM _______________________________________________ bug-ed mailing list bug-ed@gnu.org https://lists.gnu.org/mailman/listinfo/bug-ed