Simon McVittie <s...@debian.org> writes: > The approach to this that will work consistently is to launch the > handler asynchronously (in the background), and not attempt to find out > whether it has exited or not. So for example an interactive shell script > might do something like this:
> #!/bin/bash > # note that disown is a bashism > xdg-open "$document" & > disown $! > echo "Press Enter when you have finished editing $document..." > read What this is telling me is that ideally someone should tighten the definition of EDITOR in Policy 11.4, which is the specification satisfied by sensible-editor, to make it clear that GUI editors with these sorts of properties are not valid things to set EDITOR to point to unless flags are present to make them behave in a way that satisfies the expectations of programs that use EDITOR. I don't have any strong opinion on the merits of trying to figure out how to invoke the editor with the proper flags to make it follow the expectations of EDITOR if EDITOR is not set, but we do need to be careful to not invoke programs that would cause, e.g., git commit --amend to immediately exit with no changes to the commit message, and to do that we probably need to write down what those expectations are. I think the Policy language was written in a time where we just assumed there was an obvious way for editors to behave that didn't include things like backgrounding themselves. -- Russ Allbery (r...@debian.org) <https://www.eyrie.org/~eagle/>