Ah, okay; I see that now in section 9 of the info manual. I hadn't noticed it before. So this is fine.
I have some other fairly small wish-list items for consideration as ed features. Where should I put them; on this mailing list, or elsewhere? On Tue, Feb 28, 2023 at 6:26 PM Antonio Diaz Diaz <anto...@gnu.org> wrote: > John Cowan wrote: > > I agree that ed should perhaps behave differently in the interactive and > >> scripted cases, but I think we can use the existing option '-l, > >> --loose-exit-status' to ignore a mismatch in the interactive case > instead > >> of using a new option to force an error in the scripted case. > > > > Per contra, the point of the proposed -e option is to force an immediate > > exit on error. > > Ooops! I forgot to test for interactive mode and made -l avoid the > immediate > exit on error also in scripted mode. > > I have just uploaded ed-1.20-pre2 which in case of mismatch fails > immediately with exit status 1 unless -l is specified and mode is > interactive. > > > For example, suppose we want to edit a file using a script > > that removes all except certain lines (using the 'v' command) and then > > writes out the file. But if there are no such lines, it is not the right > > file. > > > > This situation will cause ed to return an error message and code, but the > > file (now empty) will still be written out, which is a Very Bad Thing. > The > > proposed -e option will abort ed as soon as the search fails rather than > > carrying on to the end of the script and only then returning an error. > The > > same would be the case if the purpose of the script was to delete lines > > 100-200 and there were no such lines. > > I see. When you said "-e ... causes termination with error status 1 when > *any* error is detected" you meant "any error also in the script, not only > in the new '+' option". But ed already exits immediately with non-zero > status when any error is found and stdin is a regular file. Is this not > enough? >