GNU bug report logs - #17257
24.3.90; ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Sun, 13 Apr 2014 09:13:02 UTC

Severity: normal

Merged with 17259, 17265, 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: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#17259: closed (ediff-set-fine-diff-properties-in-one-buffer
 uses dolist on a vector?)
Date: Mon, 14 Apr 2014 02:25:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 14 Apr 2014 11:24:19 +0900
with message-id <wlmwfoy7fw.wl%mituharu <at> math.s.chiba-u.ac.jp>
and subject line Re: bug#17257: 24.3.90; ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error
has caused the debbugs.gnu.org bug report #17257,
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.)


-- 
17257: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17257
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: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: 17257-done <at> debbugs.gnu.org
Subject: Re: bug#17257: 24.3.90;
 ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error
Date: Mon, 14 Apr 2014 11:24:19 +0900
Version: 24.4

>>>>> On Sun, 13 Apr 2014 22:05:50 -0400, Stefan Monnier <monnier <at> IRO.UMontreal.CA> said:

>> The value of `fine-diff-vector' was a vector of overlays, so dolist
>> couldn't be applied to it.

> Duh!  Sorry!  I shouldn't have replaced mapcar with dolist but with
> mapc.  Feel free to beat me to it,

Done.  Closing.

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp


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

Previous Next


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