On Wed, 20 Dec 2023 at 19:35, Dmitry Gutov <dmitry@gutov.dev> wrote:
Maybe the command might fails when run in a non-interactive terminal?

You can try emulating the same circumstances in the shell by doing
something like this:

   echo "" | git blame README | cat

(Of course, by replacing the command in the middle with the SVN command
that actually runs.)

I thought about that too, namely as it does not fail when setting  process-conection-type to t. But no,

echo "" | svn --non-interactive annotate Program.java | cat

works just fine. 

I shortened the failing statement down to

(let ((process-connection-type nil))
  (start-process
   "xxx"
   "*Test*"
   "svn"
   "annotate" "FILE"))

where FILE contains more than 100 lines – that also seems to be significant, and using --non-interactive is not. But I am still not able to figure out if it is the svn command itself that crashes, or it has something to do with the process communication and Emacs. If it's the first, it should be possible to find a way that this crashes as well when run from the shell.

--