I don't see anything in the code that would keep [dsp(--[osc~] from triggering this "dsp" message to the signal object.

Indeed, when I specify A_CANT as the "dsp" arg type for [osc~] and recompile it still crashes.

So that may be the policy, but the design doesn't keep the message from being dispatched.

-Jonathan


On Monday, May 26, 2014 1:32 PM, Miller Puckette <msp@ucsd.edu> wrote:


No, the A_CANT will ensure that the message never gets sent to the
object (because typechecking fails)

You can of course send the message from C, but anyone's allowed to crash
Pd by introducing faulty C code :)

M

On Mon, May 26, 2014 at 10:23:36AM -0700, Jonathan Wilkes wrote:
> Is that by policy or design?
>
> In other words, if I send a msd [dsp crash_my_pd( to a signal object that defines its dsp method args using A_CANT, will it still crash?  (Not at a machine with Pd or I'd try it myself.)
>
> -Jonathan
>
>
> On Monday, May 26, 2014 1:06 PM, Miller Puckette <msp@ucsd.edu> wrote:

>
>
> Just to answer one sprcific question here...
> >
> > Lyon's book explaing what A_GIMME does, but not A_CANT. I checked m_pd.h a
> > bit but didn't make much out of it. It is there where the problem lies?
> >
>
> A_CANT is used when an object receives a message but the arguments can't be
> safely typechecked by Pd - so these messages are refued if sent by the patch,
> but friendly C code can call them using a lower-level mechanism.
>
> cheers
> Miller