07.11.25, 16:37 +0100, D. R. Evans: > If I do: > > [ZB:~] export VISUAL=/usr/bin/kate > [ZB:~] crontab -e > > Then I get the immediate "No modification made" message, and kate opens with > an empty crontab file (BTW, it really is true that the "No modification made" > message is immediate: it's written to the terminal *before* the kate editor > session appears).
If you start kate from the terminal, the shell prompt likely reappears before the kate window is visible. I guess that's for the same reason: ~ strace kate [...] clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f2f53837d50) = 329128 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(0) = ? +++ exited with 0 +++ (kate's window is still there, though) My interpretation (that may be wrong, of course) of what happens is the following: What kate (at least more recent versions of it) seems to do, is spawn a child process that will do the actual work (show it's window, let the user edit stuff etc.), while the parent process - which is what crontab or the shell started, and for which they wait to terminate - exits. crontab does neither know nor care that kate's child process is still running but thinks everything's done since kate's initial process has terminated. So, from crontab's point of view the process it started (/usr/bin/kate) has terminated and, since the user hasn't had the chance to do some actual editing, the file-to-be-edited is unchanged. And that's what crontab tells you. -- Regards mks

