Subject: 24.3.50; RCS annotate broken in vc-rcs.el r114131
From: Richard Copley <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Thu, 19 Sep 2013 15:16:49 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

For some files under RCS version control, `vc-annotate' now fails with
error `(wrong-type-argument integer-or-marker-p nil)'.

I think the problem is with the variable `b' whose dynamic binding
was used by `gather' and set by `incg' (local functions in
`vc-rcs-parse'), prior to r114131.

Sorry, I haven't been able to craft an example RCS master file that
reproduces the problem. The top of the stack trace looks like this.

Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
  buffer-substring-no-properties(nil 6747)
  (let ((x (buffer-substring-no-properties (cadr pairs) (car pairs))))
(message "%d %d %s" (cadr pairs) (car pairs) x) (setq acc (cons x acc)))
  (while pairs (let ((x (buffer-substring-no-properties (cadr pairs) (car
pairs)))) (message "%d %d %s" (cadr pairs) (car pairs) x) (setq acc (cons x
acc))) (setq pairs (cddr pairs)))
  (let ((pairs (cons e (append @-holes (list b)))) acc) (while pairs (let
((x (buffer-substring-no-properties (cadr pairs) (car pairs)))) (message
"%d %d %s" (cadr pairs) (car pairs) x) (setq acc (cons x acc))) (setq pairs
(cddr pairs))) (apply (quote concat) acc))

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2013-09-19 on 57172UHB
Bzr revision: 114395 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix c:/emacs/emacs-114395
 --enable-locallisppath=%emacs_dir%/../site-lisp 'CPPFLAGS=-I
 G:/usr/include -I C:/GnuWin32/include' 'LDFLAGS=-L G:/usr/lib -L
 C:/GnuWin32/lib''

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r - e - b <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win
w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment 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)