Não tendo a fonte para o Solaris 10 ou o Solaris 11, não posso dizer com certeza, mas suspeito que Thomas Dickey está no caminho certo, com base em suas descobertas com o vim.
Eu localizei a fonte IllumOS onde procurar errcnt no diretório ex / vi mostra que errcnt é sempre incrementado, e errcnt é usado como o código de retorno de main () .
Assim, qualquer falha que aumente errcnt no vi irá "borbulhar" para o comando crontab, onde o IllumOS source for crontab indica que não estará satisfeito com nada além de zero.
Observe também o comentário em crontab.c!
311 ret = system(buf);
...
327 if ((ret) && (errno != EINTR)) {
328 /*
329 * Some editors (like 'vi') can return
330 * a non-zero exit status even though
331 * everything is okay. Need to check.
332 */