Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

'run ahead' execution of script

An interesting problem:

  e ) edit $1; echo "Sourcing $1"; source $1; return 0 ;;

... that line from a function does just what it seems, edit a file, then
source it. 'edit' has been various editors over time.  But I just
tried changing 'edit' to 'geany', and something problematic happens:  The
message and the sourcing happen before geany is closed, but *only* if
the editor is already open in another window. zsh
is executing the rest of the line while the editor is still open, as if it
thinks it should 'multitask' there.  It seems logical that it
doesn't close an editor that it didn't open, OTOH there's no point in
sourcing the file before it has been edited.  Can this be prevented?
Again, I don't think that zsh should be expected to behave differently,
however some way of forcing it to wait for the file (if not the entire editor)
to be closed in this situation would be useful.  Geany itself
has an '-i' switch that forces a new process, but I'm wondering if zsh
itself can handle that i.e. pause for a process to quit before continuing
even if it didn't start it.  I appreciate that this might be impossible--
a violation of the hierarchy.  It's just a point of interest.

Messages sorted by: Reverse Date, Date, Thread, Author