emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#17259: closed (ediff-set-fine-diff-properties-in-o


From: GNU bug Tracking System
Subject: [debbugs-tracker] 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

Your message dated Mon, 14 Apr 2014 11:24:19 +0900
with message-id <address@hidden>
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
address@hidden)


-- 
17257: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17257
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: ediff-set-fine-diff-properties-in-one-buffer uses dolist on a vector? Date: Sun, 13 Apr 2014 09:54:13 +0000 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
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



--- End Message ---
--- Begin Message --- Subject: Re: bug#17257: 24.3.90; ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error Date: Mon, 14 Apr 2014 11:24:19 +0900 User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)
Version: 24.4

>>>>> On Sun, 13 Apr 2014 22:05:50 -0400, Stefan Monnier <address@hidden> 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
                                address@hidden


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]