Subject: bug#11780: 24.1.50; vc-annotate fails for files in RCS. ("cl.el" `flet' problem?)

From: Stefan Monnier <[email-masked]>
Date: Tue, 26 Jun 2012 20:56:01 -0400

> So there's a couple of things wrong with the new version:
> `x' used twice as a local variable.

That's an illusion: these are two different uninterned symbols (of the
same name).

> (symbol-function 'sw) not guarded by an (fboundp 'sw) check.

Indeed.

> The latter is the immediate source of the error AFAICS.

Does the patch below fix things?

        Stefan

=== modified file 'lisp/vc/vc-rcs.el'
--- lisp/vc/vc-rcs.el	2012-06-06 01:28:08 +0000
+++ lisp/vc/vc-rcs.el	2012-06-27 00:52:54 +0000
@@ -679,7 +679,7 @@
     ;; Apply reverse-chronological edits on the trunk, computing and
     ;; accumulating forward-chronological edits after some point, for
     ;; later.
-    (flet ((r/d/a () (vector pre
+    (cl-flet ((r/d/a () (vector pre
                              (cdr (assq 'date meta))
                              (cdr (assq 'author meta)))))
       (while (when (setq pre cur cur (cdr (assq 'next meta)))