Subject: Re: bug#5291: 23.1.91; "bzr status" FAILED

From: Dan Nicolaescu <[email-masked]>
Date: Sat, 2 Jan 2010 14:17:30 -0800 (PST)

Eli Zaretskii <[email-masked]> writes:

  > > Date: Sat, 2 Jan 2010 12:47:00 -0800 (PST)
  > > From: Dan Nicolaescu <[email-masked]>
  > > Cc: [email-masked]
  > > 
  > > Eli Zaretskii <[email-masked]> writes:
  > > 
  > >   > I have set up Emacs to be the EDITOR for bzr via emacsclient (yes, I'm
  > >   > invoking bzr from the command line).  That works, but every time I
  > >   > commit a file to upstream, Emacs bitches with the following message in
  > >   > *Messages*:
  > >   > 
  > >   >   vc-do-command: Running bzr status bzr_log.uuzkwa...FAILED (status 3)
  > > 
  > > Do you get a backtrace if you set debug-on-error?
  > 
  > Yes, see below.
  > 
  > AFAICT, it shouldn't even try to run "bzr status" on this file, since
  > it's a temporary file used by bzr for the commit message.  But if it
  > somehow must run "bzr status", then it shouldn't signal an error when
  > it predictably fails.  But maybe I'm missing something.
  > 
  > Debugger entered--Lisp error: (error "Running bzr status bzr_log.ahvp69...FAILED (status 3)")
  >   signal(error ("Running bzr status bzr_log.ahvp69...FAILED (status 3)"))
  >   error("Running %s...FAILED (%s)" "bzr status bzr_log.ahvp69" "status 3")
  >   vc-do-command(t 0 "bzr" "d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69" "status")
  >   apply(vc-do-command t 0 "bzr" "d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69" "status" nil)
  >   vc-bzr-command("status" t 0 "d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-bzr-status("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-bzr-state("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-bzr-state-heuristic("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-bzr-registered("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   apply(vc-bzr-registered "d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-call-backend(Bzr registered "d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   #[(b) "\302\303	#\205\304	\305#\205\306\307\310\"\207" [b file vc-call-backend registered vc-file-setprop vc-backend throw found t] 4](Bzr)
  >   mapc(#[(b) "\302\303	#\205\304	\305#\205\306\307\310\"\207" [b file vc-call-backend registered vc-file-setprop vc-backend throw found t] 4] (RCS CVS SVN SCCS Bzr Git Hg Mtn Arch))
  >   byte-code("\303\304\"\305\306	\203	\307=\203\n\202	\nB\"\210)\310\304\307#\210\311\207" [file backend vc-handled-backends vc-file-getprop vc-backend mapc #[(b) "\302\303	#\205\304	\305#\205\306\307\310\"\207" [b file vc-call-backend registered vc-file-setprop vc-backend throw found t] 4] none vc-file-setprop nil] 4)
  >   vc-registered("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-backend("d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69")
  >   vc-after-save()
  >   basic-save-buffer()
  >   save-buffer(1)
  >   call-interactively(save-buffer nil nil)

Strange.
What exactly creates the d:/gnu/bzr/emacs/trunk/bzr_log.ahvp69 file?
Is your TEMP set to d:/gnu/bzr/emacs/trunk/ ?

I think that if you change:
                   (vc-bzr-command "status" t 0 file)
to:
                   (vc-bzr-command "status" t 3 file)
in vc-bzr-status
it should work, but I am not 100% sure that's TRTD.