all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dmitry@gutov.dev>
To: Urban Engberg <urban@engbergs.dk>
Cc: 59232@debbugs.gnu.org
Subject: bug#59232:
Date: Thu, 21 Dec 2023 02:12:06 +0200	[thread overview]
Message-ID: <b3207eb9-ed3e-9614-0a2f-2c8e0dc5c7a0@gutov.dev> (raw)
In-Reply-To: <CALqErGRvJO6i2Y1gwRmiPu_Fgdm7TLz6ObOQ8hLQvU4pa0g_hA@mail.gmail.com>

On 21/12/2023 00:50, Urban Engberg wrote:

> Using make-process:
> 
>     (let ((process-connection-type nil))
>        (make-process
>         :name "xxx"
>         :buffer "*Test*"
>         :command (list "svn" "annotate" "FILE")))
> 
> This fails, just like before. Interestingly, adding
> 
>     :stderr "*Stderr*"
> 
> 
> to the argument list makes the command */not*/ fail and *Stderr* thus 
> just contains "Process xxx stderr finished"

Hmm, then perhaps it might make sense to test this full patch. Ideally, 
though, someone knowledgeable about our subprocess system would chime in 
about the whole situation: are there programs like this, and should we 
work around that.

diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el
index fd5f655a0f6..18ba317242b 100644
--- a/lisp/vc/vc-dispatcher.el
+++ b/lisp/vc/vc-dispatcher.el
@@ -379,9 +379,12 @@ vc-do-command
  	    (if (eq okstatus 'async)
  	        ;; Run asynchronously.
  	        (let ((proc
-		       (let ((process-connection-type nil))
-		         (apply #'start-file-process command
-                                (current-buffer) command squeezed))))
+                       (make-process
+                        :name "vc"
+                        :command (cons command squeezed)
+                        :connection-type 'pipe
+                        :buffer (current-buffer)
+                        :stderr " *vc-errors*")))
  		  (when vc-command-messages
  		    (let ((inhibit-message vc-inhibit-message))
  		      (message "Running in background: %s"


>     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 <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.
> 
> 
> No, I don't get much more from that. But perhaps interesting as well, I 
> gave the "svn annotate" a "-v" to generate more verbose output. It seems 
> this makes it output the full date on each line of the output. With this 
> option, the process is terminated after just 56 lines, or around 4900 
> characters – close to what we got before. Could it in some way be that 
> the pipe into the output buffer is closed down prematurely?

That the pipe is closed prematurely, but only with SVN and not any other 
VCS client? That seems odd, it likely involved some particular factors. 
Well, aside from the fact that 'svn' inevitably accesses the network.

> As again, it 
> doesn't seem that the svn process itself fails, when run in any other way?

Sure, it is weird.

Other ways you could try to run it are:

- From Emacs's 'M-x shell' buffer.
- Through a shell wrapper that redirects stderr somewhere, but then 
appends it at the end of the output when the main program finishes.
- Through the ':term' terminal emulator in Vim 8.1+? Just being 
thorough, I have no idea how it is implemented.





      reply	other threads:[~2023-12-21  0:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-13  0:14 bug#59232: 27.2; vc-annotate on SVN does not process all lines Pierre Rouleau
2022-11-13  2:29 ` Dmitry Gutov
2022-11-13 14:42   ` Pierre Rouleau
2022-11-13  2:30 ` Dmitry Gutov
2022-11-13 14:59   ` Pierre Rouleau
2022-11-13  6:36 ` Eli Zaretskii
2022-11-13 14:51   ` Pierre Rouleau
2022-11-13 15:11     ` Pierre Rouleau
2022-11-13 16:10       ` Andreas Schwab
2022-11-13 16:40     ` Eli Zaretskii
2022-11-13 18:05       ` Pierre Rouleau
2022-11-13 23:54         ` Stephen Berman
2022-11-14  3:48           ` Pierre Rouleau
2022-11-13  8:12 ` Andreas Schwab
2022-11-13 14:55   ` Pierre Rouleau
2023-12-20 12:41 ` bug#59232: Urban Engberg
2023-12-20 15:50   ` bug#59232: Dmitry Gutov
2023-12-20 17:38     ` bug#59232: Urban Engberg
2023-12-20 18:35       ` bug#59232: Dmitry Gutov
2023-12-20 21:36         ` bug#59232: Urban Engberg
2023-12-20 22:03           ` bug#59232: Dmitry Gutov
2023-12-20 22:50             ` bug#59232: Urban Engberg
2023-12-21  0:12               ` Dmitry Gutov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3207eb9-ed3e-9614-0a2f-2c8e0dc5c7a0@gutov.dev \
    --to=dmitry@gutov.dev \
    --cc=59232@debbugs.gnu.org \
    --cc=urban@engbergs.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.