unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Richard Copley <rcopley@gmail.com>
Cc: 15418@debbugs.gnu.org
Subject: bug#15418: 24.3.50; RCS annotate broken in vc-rcs.el r114131
Date: Tue, 05 Nov 2013 10:37:56 -0500	[thread overview]
Message-ID: <jwvd2mec1gz.fsf-monnier+bug#15418@gnu.org> (raw)
In-Reply-To: <CAPM58ojk46A8TegL0_9fq=coVGWH7E7yFeOreC8_te1yapZC7g@mail.gmail.com>

> Attached is a simple RCS master file that reproduces the issue.

Thanks.  I installed the patch below which fixes the problem at least on
this trivial file.  And sorry for taking so long.  Please confirm that
it fixes the problem in real life as well.


        Stefan


=== modified file 'lisp/vc/vc-rcs.el'
--- lisp/vc/vc-rcs.el	2013-10-04 23:47:00 +0000
+++ lisp/vc/vc-rcs.el	2013-11-05 15:25:06 +0000
@@ -1355,18 +1354,18 @@
                                 (funcall proc)
                               (buffer-substring-no-properties b e))))
          (k-semi (name &optional proc) (tok+val #'to-semi name proc))
-         (gather () (let ((pairs `(,e ,@@-holes ,b))
+         (gather (b e @-holes)
+                 (let ((pairs `(,e ,@@-holes ,b))
                           acc)
                       (while pairs
                         (push (buffer-substring-no-properties
                                (cadr pairs) (car pairs))
                               acc)
                         (setq pairs (cddr pairs)))
-                      (apply 'concat acc)))
-         (k-one@ (name &optional later) (tok+val #'to-one@ name
-                                                 (if later
-                                                     (lambda () t)
-                                                   #'gather))))
+                   (apply #'concat acc)))
+         (gather1 () (gather b e @-holes))
+         (k-one@ (name &optional later)
+                 (tok+val #'to-one@ name (if later (lambda () t) #'gather1))))
       (save-excursion
         (goto-char (point-min))
         ;; headers
@@ -1444,9 +1443,10 @@
               ;; only the former since it behaves identically to the
               ;; latter in the absence of "@@".)
               sub)
-          (cl-flet ((incg (_beg end)
-                          (let ((e end) @-holes)
+          (cl-flet ((incg (beg end)
+                          (let ((b beg) (e end) @-holes)
                             (while (and asc (< (car asc) e))
+                              (push (pop asc) @-holes)
                               (push (pop asc) @-holes))
                             ;; Self-deprecate when work is done.
                             ;; Folding many dimensions into one.
@@ -1454,7 +1454,7 @@
                             ;; O beauteous math! --the Unvexed Bum
                             (unless asc
                               (setq sub #'buffer-substring-no-properties))
-                            (gather))))
+                            (gather b e @-holes))))
             (while (and (sw)
                         (not (eobp))
                         (setq context (to-eol)
@@ -1470,7 +1470,7 @@
               ;; other revisions, replace the `text' tag+value with `:insn'
               ;; plus value, always scanning in-place.
               (if (string= context (cdr (assq 'head headers)))
-                  (setcdr (cadr rev) (gather))
+                  (setcdr (cadr rev) (gather b e @-holes))
                 (if @-holes
                     (setq asc (nreverse @-holes)
                           sub #'incg)






  parent reply	other threads:[~2013-11-05 15:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-19 14:16 bug#15418: 24.3.50; RCS annotate broken in vc-rcs.el r114131 Richard Copley
2013-09-19 21:26 ` Stefan Monnier
2013-09-24 22:47   ` Richard Copley
2013-09-25  0:55     ` Stefan Monnier
2013-09-25  7:08       ` Richard Copley
2013-10-14 16:14         ` Richard Copley
2013-10-14 22:33           ` Richard Copley
2013-10-15 21:09             ` Richard Copley
2013-10-16  3:05           ` Stefan Monnier
2013-11-05 10:09             ` Richard Copley
2013-11-05 15:37           ` Stefan Monnier [this message]
2013-11-06 10:56             ` Richard Copley
2013-11-06 11:19               ` Richard Copley
2013-11-06 13:46                 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='jwvd2mec1gz.fsf-monnier+bug#15418@gnu.org' \
    --to=monnier@iro.umontreal.ca \
    --cc=15418@debbugs.gnu.org \
    --cc=rcopley@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).