GNU bug report logs - #17265
24.4.50; Ediff navigation broken (list/vector type mismatch)

Previous Next

Package: emacs;

Reported by: Richard Copley <rcopley <at> gmail.com>

Date: Mon, 14 Apr 2014 14:22:03 UTC

Severity: normal

Merged with 17257, 17259, 17273, 17285, 17287, 17382, 17491

Found in versions 24.3.90, 24.4.50

Fixed in versions 24.3.91, 24.4

Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#17259: closed (ediff-set-fine-diff-properties-in-one-buffer
 uses dolist on a vector?)
Date: Sat, 19 Apr 2014 14:35:04 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 19 Apr 2014 10:34:34 -0400
with message-id <jwvlhv1tmmk.fsf-monnier+emacsbugs <at> gnu.org>
and subject line Re: bug#17265: 24.4.50; Ediff navigation broken (list/vector type mismatch)
has caused the debbugs.gnu.org bug report #17265,
regarding ediff-set-fine-diff-properties-in-one-buffer uses dolist on a vector?
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
17265: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17265
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ivan Shmakov <ivan <at> siamics.net>
To: submit <at> debbugs.gnu.org
Subject: ediff-set-fine-diff-properties-in-one-buffer uses dolist on a vector?
Date: Sun, 13 Apr 2014 09:54:13 +0000
Package:  emacs

	In edce85e3 [1], ediff-set-fine-diff-properties-in-one-buffer
	was edited to use dolist (was: mapcar) to iterate over the
	fine-diff-vector local variable, resulting now in errors like:

Debugger entered--Lisp error: (wrong-type-argument listp [#<overlay from 1210 to 1210 in  *XXX*> #<overlay from 1220 to 1269 in  *YYY*>])
  ediff-set-fine-diff-properties-in-one-buffer(A 0 nil)
  ediff-set-fine-diff-properties(0)
  ediff-make-fine-diffs(0 noforce)
  ediff-install-fine-diff-if-necessary(0)
  ediff-next-difference(1)
  call-interactively(ediff-next-difference nil nil)
  command-execute(ediff-next-difference)

	Replacing dolist with an equivalent mapc invocation has fixed
	the issue for me.

	If, OTOH, dolist is actually /supposed/ to work on non-list
	sequences, I’d like to suggest updating its documentation, which
	currently reads:

(defmacro dolist (spec &rest body)
  "Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
Then evaluate RESULT to get return value, default nil.

\(fn (VAR LIST [RESULT]) BODY...)"
  …)

[1] http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=edce85e3a164a57da09c564c4f2a8edc8f009df1

-- 
FSF associate member #7257


[Message part 3 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Richard Copley <rcopley <at> gmail.com>
Cc: Nicolas Richard <theonewiththeevillook <at> yahoo.fr>,
 17265-done <at> debbugs.gnu.org
Subject: Re: bug#17265: 24.4.50;
 Ediff navigation broken (list/vector type mismatch)
Date: Sat, 19 Apr 2014 10:34:34 -0400
> Yes, it's fixed on trunk now, thanks.

Thanks.

> I realized I had misread
> Stefan's mail after I replied. (I'm not too familiar with the branch
> structure. I just follow the trunk.)

Please try and follow `emacs-24' instead of `trunk' until Emacs-24.4 is
released, to help us find bugs in that code.


        Stefan


This bug report was last modified 11 years and 66 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.