Subject: bug#19312: 25.0.50; `vc-annotate-show-diff-revision-at-line' fails under Subversion

From: Richard Copley <[email-masked]>
Date: Mon, 8 Dec 2014 17:32:08 +0000

Visit a Subversion working file, type “C-x v g” (`vc-annotate’), and
when the annotate buffer is loaded, type "d"
(vc-annotate-show-diff-revision-at-line). The error backtrace is:

Debugger entered--Lisp error: (wrong-number-of-arguments (1 . 4) 5)
  vc-svn-diff(("c:/temp/test.txt") t "17246" #("17247" 0 5 (fontified
t invisible vc-annotate-annotation)) "*vc-diff*")
  apply(vc-svn-diff (("c:/temp/test.txt") t "17246" #("17247" 0 5
(fontified t invisible vc-annotate-annotation)) "*vc-diff*"))
  vc-call-backend(SVN diff ("c:/temp/test.txt") t "17246" #("17247" 0
5 (fontified t invisible vc-annotate-annotation)) "*vc-diff*")
  vc-diff-internal(t (SVN ("c:/temp/test.txt")) "17246" #("17247" 0 5
(fontified t invisible vc-annotate-annotation)))
  vc-annotate-show-diff-revision-at-line-internal(t)
  vc-annotate-show-diff-revision-at-line()
  funcall-interactively(vc-annotate-show-diff-revision-at-line)
  call-interactively(vc-annotate-show-diff-revision-at-line nil nil)
  command-execute(vc-annotate-show-diff-revision-at-line)

This is because `vc-svn-diff' takes 1-4 arguments:
  (defun vc-svn-diff (files &optional oldvers newvers buffer) [...])

...but is called with 5 from `vc-diff-internal':
  (vc-call-backend (car vc-fileset) 'diff files async rev1 rev2 buffer)

In GNU Emacs 25.0.50.1 (x86_64-w64-mingw32)
 of 2014-12-08 on 80461UHB
Repository revision: eb5b08bef5af19203b88d64b9052ad4ad5ea2eba
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix /c/emacs/emacs-20141207-211809
 --disable-dependency-tracking
 --enable-locallisppath=%emacs_dir%/../site-lisp --with-wide-int
 --build=x86_64-w64-mingw32 'CPPFLAGS=-I G:/usr/include -I
 C:/GnuWin32/include -march=native -mtune=native' 'LDFLAGS=-L G:/usr/lib
 -L C:/GnuWin32/lib''

Configured features:
XPM JPEG TIFF GIF PNG SOUND NOTIFY ACL ZLIB

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

Major mode: Annotate

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Annotating...
Redisplaying annotation...done (Spanned from 16412.1 to 14541.6 days old)
Annotating... done
Finding changes in c:/temp/test.txt...
apply: Wrong number of arguments: (1 . 4), 5

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils help-mode vc-annotate easymenu vc
cl-loaddefs cl-lib vc-dispatcher vc-svn pascal time-date tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32
ls-lisp disp-table w32-win w32-vars tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
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
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32notify w32 multi-tty emacs)

Memory information:
((conses 16 101520 5397)
 (symbols 56 18676 1)
 (miscs 48 54 73)
 (strings 32 15256 3499)
 (string-bytes 1 413455)
 (vectors 16 10403)
 (vector-slots 8 387550 5648)
 (floats 8 95 307)
 (intervals 56 6099 712)
 (buffers 976 14))