Mercurial > hg
view contrib/vim/HGAnnotate.vim @ 2735:07026da25ed8
hbisect.py: don't rely on __del__ to write the current state.
This is yet another page of the "Thou shalt not do too much inside
__del__ methods" book, in the "demandload and __del__ don't go well
together" chapter.
The bisect extension is broken in 0.9.1:
$ hg bisect init
$ hg bisect bad
Fatal Python error: Interpreter not initialized (version mismatch?)
Aborted
(yes, I tripled checked my instalation to make sure the problem is not
there)
It's been broken since revision fe1689273f84 moved the import of the
binascii module into a demandload.
(In details: the first time that "hg bisect bad" (or good) is called,
there are still no revisions saved in .hg/bisect/*, so bisect.__init__
doesn't call hg.bin on anything. So, when we reach __del__, the
binascii module still hasn't been imported and we get that "nice"
message above.)
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Fri, 28 Jul 2006 21:20:41 -0300 |
parents | 61f2008cd6bf |
children |
line wrap: on
line source
" $Id: CVSAnnotate.vim,v 1.5 2002/10/01 21:34:02 rhiestan Exp $ " Vim syntax file " Language: CVS annotate output " Maintainer: Bob Hiestand <bob@hiestandfamily.org> " Last Change: $Date: 2002/10/01 21:34:02 $ " Remark: Used by the cvscommand plugin. Originally written by Mathieu " Clabaut if version < 600 syntax clear elseif exists("b:current_syntax") finish endif syn match cvsDate /\S\S\S \S\+ \d\+ \d\+:\d\+:\d\+ \d\+ [+-]\?\d\+/ contained syn match cvsName /^\s*\S\+ / contained nextgroup=cvsVer syn match cvsVer /\d\+ / contained nextgroup=cvsDate syn region cvsHead start="^" end=":" contains=cvsVer,cvsName,cvsDate if !exists("did_cvsannotate_syntax_inits") let did_cvsannotate_syntax_inits = 1 hi link cvsText String hi link cvsDate Comment hi link cvsName Type hi link cvsVer Statement endif let b:current_syntax="CVSAnnotate"