[Top][All Lists]

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

bug#19645: 25.0.50; Recent EIEIO changes broke helm: Lisp error: (cl-no-

From: Stefan Monnier
Subject: bug#19645: 25.0.50; Recent EIEIO changes broke helm: Lisp error: (cl-no-next-method helm--setup-source...
Date: Wed, 21 Jan 2015 14:49:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

>> I'm not sure how to preserve the compatibility with this mistake.

I just pushed a change which includes a hack to preserve this old behavior.

>      `:before' and `:after' specify execution order (i.e., when this
>      form is called).  If neither of these symbols are present, the
>      default priority is used (before `:after' and after `:before');
>      this default priority is represented in CLOS as `:primary'.

> I didn't specify :primary, because as I understand it is implicit if not
> mentionned, so IIUC I have to specify it now ?

Indeed you don't need to specify ":primary".  The problem is that for
the type of the object used in the call, there is only one method that
can be used, and it's a :before method.

Before/after methods are like before/after advice: they are executed
before/after the "main course".  In the case of methods, the "main
course" are the primary methods.  Adding an after/before method when
there's no primary, is like adding an after/before advice to an
undefined function: if you're lucky the "before" advice/method will be
run first, but when this "before" advice/method finishes, you'll
get an error that the main course in undefined.


reply via email to

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