Subject: bug#5291 closed by Eli Zaretskii <[email-masked]> (Re: bug#5291: 23.1.91; "bzr status" FAILED)

From: [email-masked] (Emacs bug Tracking System)
Date: Sat, 09 Jan 2010 08:07:02 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#5291: 23.1.91; "bzr status" FAILED

It has been closed by Eli Zaretskii <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Eli Zaretskii <[email-masked]> by
replying to this email.

-- 
5291: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5291
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#5291: 23.1.91; "bzr status" FAILED
From: Eli Zaretskii <[email-masked]>
To: Dan Nicolaescu <[email-masked]>
Cc: [email-masked]
Date: Sat, 09 Jan 2010 10:05:44 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sun, 3 Jan 2010 12:10:06 -0800 (PST)
> From: Dan Nicolaescu <[email-masked]>
> Cc: [email-masked]
> 
> It seems that this is actually a combination of bzr "features": putting
> a temporary file in a versioned directory plus the fact that "bzr status" blocks 
> when a commit is in progress (i.e. a read lock blocks when a write lock
> is on).
> 
>   > It would be nice if I could tell Bazaar to put those bzr_log.FOO files
>   > under $TMPDIR, but there doesn't seem to be a way of doing that.
>   > Anyone?
>   > 
>   > Any ideas for how best to resolve this?
> 
> Not sure we want to do something in emacs about this, it looks like bzr
> needs fixing.

First, it turns out this happens on GNU/Linux as well, at least if one
invokes "bzr status" while "bzr ci" is waiting for emacsclient.

The solution, suggested by John Arbash Meinel on the Bazaar mailing
list, is to patch msgeditor.py, a bzr module, as shown in the patch
below.  This will cause Bazaar to create the bzr_log.* files in the
system temporary directory, so Emacs will not try to run "bzr status"
on it.

If you are on Windows, and installed Bazaar with a standalone
installer, then you will need to download from the Bazaar site the
sources of Bazaar that correspond to your installed version.  Then
locate library.zip, remove from it bzrlib/mzgeditor.pyo, and add the
patched bzrlib/mzgeditor.py.

If you are on Unix or GNU system, you will need to talk to your
sysadmin about replacing msgeditor with a patched version.

--- bzrlib/msgeditor.py~	2010-01-08 23:36:47.257578300 +0200
+++ bzrlib/msgeditor.py	2010-01-09 09:51:45.472750000 +0200
@@ -215,8 +215,9 @@
     """
     import tempfile
     tmp_fileno, msgfilename = tempfile.mkstemp(prefix='bzr_log.',
+#                                              dir='.',
                                                text=True)
-    msgfilename = osutils.basename(msgfilename)
+#   msgfilename = osutils.basename(msgfilename)
     msgfile = os.fdopen(tmp_fileno, 'w')
     try:
         if start_message is not None:

Subject: 23.1.91; "bzr status" FAILED
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Date: Sat, 02 Jan 2010 19:43:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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)

In GNU Emacs 23.1.91.1 (i386-mingw-nt5.1.2600)
 of 2009-12-31 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1255
  default enable-multibyte-characters: t

Major mode: Mail

Minor modes in effect:
  flyspell-mode: t
  desktop-save-mode: t
  show-paren-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  line-number-mode: t
  abbrev-mode: t

Recent input:
C-u - 7 C-x <tab> <up> <up> <right> <delete> <delete> 
<down> <down> <delete> C-x C-s C-x # C-x b * M e s 
s <tab> <return> C-a C-SPC C-e M-w C-x b <return> <C-prior> 
<C-prior> <C-prior> <C-prior> <C-prior> <C-prior> <C-prior> 
<C-prior> <C-prior> C-x k <return> C-x b I N B <tab> 
<return> <M-home> C-x k <return> C-x b <M-up> <up> 
<down> <down> <up> <up> <up> <M-right> - <tab> <return> 
<M-end> <help-echo> <help-echo> <help-echo> m C-y C-x 
C-x <delete> <delete> <delete> 4 6 6 8 <down> <switch-frame> 
<switch-frame> <right> R e : S-SPC C-y <right> <down> 
<down> <down> T h a n k s , SPC I S-SPC m a d e SPC 
t h e SPC a u t o - g e n e r a t e d SPC d o c SPC 
s t r i n g <C-left> <C-left> <C-left> <C-left> <left> 
SPC l i n e s SPC i n SPC t h e SPC t e m p l a t e 
SPC u s e d SPC f o r <M-right> s SPC s <backspace> 
<backspace> <up> <C-right> <C-right> <C-right> <C-right> 
SPC s h o r t e r M-q <down> . <down> <return> C-c 
C-s <help-echo> <help-echo> <help-echo> <switch-frame> 
m e m a c s - d e v e l @ g n u . o r g <down> <C-end> 
<return> C-y M-y M-y <up> <up> <up> <up> <up> " b z 
r SPC s t a t u s " S-SPC F A I L E D <down> <down> 
<down> <down> <return> <up> <up> <up> <up> <up> <up> 
<right> <right> <right> <right> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <delete> 
<delete> <delete> M-! C-g M-~ <switch-frame> <switch-frame> 
M-x r e p o r t - e m <tab> <return>

Recent messages:
Wrote d:/gnu/bzr/emacs/trunk/bzr_log.uuzkwa
vc-do-command: Running bzr status bzr_log.uuzkwa...FAILED (status 3)
Mark set [3 times]
Sending...
Added to d:/usr/eli/rmail/SENT.MAIL
Sending...done
Mark set [2 times]
Auto-saving...done
Quit
Modification-flag cleared

Load-path shadows:
None found.

Features:
(shadow emacsbug rmailmm vc-dispatcher add-log tar-mode mule-util
ebuff-menu electric vc-bzr help-mode view rmailout dabbrev
multi-isearch auth-source message ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums nnheader gnus-util netrc mm-util
mail-prsvr gmm-utils wid-edit mailheader canlock sha1 hex-util
hashcash smtpmail mailalias mailabbrev sendmail conf-mode newcomment
ld-script sh-script executable dired-x dired-aux dired tcl generic
nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc
rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc
xmltok sgml-mode arc-mode archive-mode jka-compr make-mode cc-mode
cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
regexp-opt gud comint ring parse-time vc-cvs org-wl org-w3m org-vm
org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html
org-exp org-exp-blocks org-agenda org-info org-gnus org-bibtex
org-bbdb org byte-opt bytecomp byte-compile advice help-fns
advice-preload org-footnote org-src org-list org-faces org-compat
org-macs time-date noutline outline easy-mmode info easymenu flyspell
ispell rmailsum rmail mail-utils desktop server filecache saveplace
generic-x paren battery time tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 disp-table ls-lisp w32-win w32-vars
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process multi-tty emacs)