Subject: vc and vc-mtn interaction breaks files opening

From: Václav Haisman <[email-masked]>
Date: Sat, 29 Mar 2008 09:39:52 +0100

When I try to C-x C-f a file the file opens but the buffer isn't brought
to front. Instead, the frame is split. Apparently, it is because of
the following error message:

vc-find-file-hook: Wrong type argument: stringp, nil

The full *Messages* log since start of Emacs is following:

("D:\\emacs-22.2\\bin\\emacs.exe")
Loading encoded-kb...done
Loading calendar...
Loading regexp-opt...done
Loading calendar...done
Loading paren...done
Loading cc-styles...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...
Loading help-mode...done
Loading cc-mode...
Loading advice...done
Loading cc-mode...done
Loading vc-mtn...done
Loading vc...done
vc-find-file-hook: Wrong type argument: stringp, nil

The *Backtrace*:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
   file-symlink-p(nil)
   vc-find-file-hook()
   run-hooks(find-file-hook)
   after-find-file(nil t)
   find-file-noselect-1(#<buffer imutex.cxx> "~/lockmgr/src/imutex.cxx" nil 
nil "~/lockmgr/src/imutex.cxx" (-16560 (33003 . 25103)))
   find-file-noselect("~/lockmgr/src/imutex.cxx" nil nil t)
   find-file("~/lockmgr/src/imutex.cxx" t)
   call-interactively(find-file)

Removing Mtn from vc-handled-backends "fixes" the problem.

In GNU Emacs 22.2.1 (i386-mingw-nt5.1.2600)
  of 2008-03-26 on RELEASE
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: CSY
   locale-coding-system: cp1252
   default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
   show-paren-mode: t
   encoded-kbd-mode: t
   tooltip-mode: t
   tool-bar-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   unify-8859-on-encoding-mode: t
   utf-translate-cjk-mode: t
   auto-compression-mode: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
f f e r - <down> <down> <down> <down> <down> <down>
<down> <down> <down> M-b M-b M-b M-b M-b <switch-frame>
<switch-frame> <switch-frame> <help-echo> <help-echo>
<help-echo> <switch-frame> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <switch-frame>
<down-mouse-1> <mouse-2> <help-echo> <help-echo> <down-mouse-1>
<mouse-movement> <mouse-1> <help-echo> <help-echo>
<help-echo> <switch-frame> <help-echo> <wheel-up> <double-wheel-up>
<escape> < C-s v c - h a n d l e d <right> <right>
<right> <right> <right> <right> <right> C-s C-s C-s
<up> <down> <help-echo> C-x 5 2 <switch-frame> <escape>
x c u s <tab> - g t <tab> <backspace> r <tab> <switch-frame>
<switch-frame> <backspace> <backspace> <backspace>
<backspace> <backspace> v a <tab> <switch-frame> <switch-frame>
<return> v c - <backspace> <backspace> <backspace>
<return> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <help-echo>
<help-echo> <down-mouse-1> <mouse-movement> <mouse-1>
<help-echo> <down-mouse-2> <mouse-2> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <down-mouse-1> <mouse-1> <help-echo> <help-echo>
<help-echo> <switch-frame> <down-mouse-1> <mouse-movement>
<mouse-1> C-x 5 2 <switch-frame> C-x C-f ~ / l o c
k <tab> m <tab> <tab> <tab> a <tab> c <tab> <return>
C-x C-f s r <tab> <tab> <tab> i c r <tab> . c <tab>
<return> C-x C-f <tab> <tab> p l a <tab> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> w <tab> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> i p <tab> . c <tab>
<return> <switch-frame> <switch-frame> <wheel-down>
<wheel-up> <double-wheel-up> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1>
<mouse-movement> <mouse-1> <help-echo> <help-echo>
<help-echo> <down-mouse-2> <mouse-2> <help-echo> <help-echo>
<help-echo> <help-echo> <down-mouse-2> <mouse-2> <help-echo>
<switch-frame> <switch-frame> <switch-frame> <help-echo>
<wheel-up> <help-echo> <help-echo> <switch-frame> <help-echo>
<wheel-down> <double-wheel-down> <triple-wheel-down>
<triple-wheel-down> <wheel-down> <wheel-up> <double-wheel-up>
<triple-wheel-up> <triple-wheel-up> <triple-wheel-up>
<wheel-up> <help-echo> <switch-frame> <switch-frame>
<switch-frame> <escape> x r e p o C-g C-g C-x 5 2 <switch-frame>
<escape> x r e <tab> p o <tab> r <tab> <return>

Recent messages:
Creating customization items ...done
Resetting customization items...done
Creating customization setup...done
Making completion list... [3 times]
byte-code: Beginning of buffer
Wrote d:/WilX/.emacs [2 times]
byte-code: Beginning of buffer
Quit [2 times]
Making completion list... [2 times]
Loading emacsbug...done