Subject: Re: bug#59232:

From: Dmitry Gutov <[email-masked]>
Date: Thu, 21 Dec 2023 00:03:17 +0200

On 20/12/2023 23:36, Urban Engberg wrote:
> 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.

Oh well.

> 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.

When this ends in failure, is there something at the end of the buffer 
*Test* that looks like stderr output? The process might not just stop 
and return status 1, but it could print something usable as well.

Also, just to be able to separate stderr output more easily, you could 
use 'make-process' instead of 'start-process' because it allows to 
specify a separate buffer for errors.

There are also some options outlined for trying to get more verbose 
output of it here -- 
https://stackoverflow.com/questions/8416989/is-it-possible-to-get-svn-client-debug-output 
-- but it seems like this might only work with some client versions. And 
most answers are 5-10 years old.