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

From: Glenn Morris <[email-masked]>
Date: Tue, 26 Jun 2012 21:13:29 -0400

Stefan Monnier wrote:

> Does the patch below fix things?

Well no, because there are multiple `flet's in the file and that's not
the one giving the immediate error. Even if I replace every flet with
cl-flet, it still fails. (void-function tok+val) in vc-rcs-parse when
trying to define k-semi. Test case:

(cl-flet ((f1 (a) (+ a 1))
          (f2 (b) (+ (f1 b) 2)))
  (f2 1))

> --- 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)))